Documentation officielle du projet

Configurer GitHub

Cette page part d’un dépôt déjà créé sur GitHub. Toute la configuration de production se trouve dans Settings → Secrets and variables → Actions : les valeurs sensibles vont dans Secrets, les URLs et identifiants publics dans Variables.

Ne mets jamais un secret dans Variables

Les variables sont visibles dans les logs et interfaces GitHub. Les tokens, clés privées et secrets OAuth doivent rester dans Repository secrets.

1. Ouvrir les paramètres Actions

  1. Ouvre le dépôt.Va dans Settings → Secrets and variables → Actions.
  2. Reste au niveau Repository.Le workflow n’utilise pas d’Environment GitHub distinct pour la production.
  3. Prépare deux onglets.Utilise Secrets pour les dix valeurs sensibles, puis Variables pour les URLs et identifiants.

2. Créer les dix Repository secrets

Dans l’onglet Secrets, clique sur New repository secret pour chaque ligne.

Nom exact Valeur Source
CLOUDFLARE_ACCOUNT_ID ID du compte cible Cloudflare → page d’accueil du compte
CLOUDFLARE_API_TOKEN Token de déploiement Guide Cloudflare
ANALYTICS_READ_TOKEN Token de lecture Analytics Guide Cloudflare
DISCORD_APPLICATION_ID Application ID Discord → General Information
DISCORD_PUBLIC_KEY Public Key Discord → General Information
DISCORD_TOKEN Bot Token Discord → Bot
DISCORD_CLIENT_SECRET Client Secret OAuth2 Discord → OAuth2
ANALYTICS_HASH_KEY 64 caractères hexadécimaux Générateur de secrets
INSTALL_STATE_SECRET 64 caractères hexadécimaux Générateur de secrets
ADMIN_SESSION_SECRET 64 caractères hexadécimaux Générateur de secrets

GITHUB_TOKEN est fourni automatiquement par GitHub Actions : ne le crée pas.

3. Créer les variables indispensables

Dans l’onglet Variables, clique sur New repository variable.

Nom exact Valeur de production conseillée
SITE_INSTALL_API_URL https://bot.zevent.app/
DISCORD_INSTALL_CALLBACK_URL https://bot.zevent.app/discord/install/callback
DISCORD_EVENT_WEBHOOK_URL https://bot.zevent.app/discord/events
DISCORD_CUSTOM_INSTALL_URL https://zevent.app/install
ADMIN_DISCORD_GUILD_ID ID du serveur Discord officiel
ADMIN_OWNER_USER_IDS Ton ID utilisateur Discord
ADMIN_TEST_GUILD_ID ID du serveur Discord de test
ADMIN_TEST_CHANNEL_IDS IDs des salons de test séparés par des virgules

4. Ajouter les variables d’URL

Ces valeurs ont des défauts dans le workflow, mais les déclarer rend la production explicite.

Service Variables Valeur
Site SITE_API_URL https://api.zevent.app/
Site SITE_PREVIEW_API_URL https://api.zevent.app/
Site SITE_SUPPORT_URL Invitation permanente du support
Site SITE_INVITE_URL URL d’installation Discord directe, si elle est conservée en plus de la page /install
Site SITE_ZEVENT_URL https://zevent.fr/
Site SITE_GDOC_URL https://zevent.gdoc.fr/
Site SITE_CONTACT_EMAIL Adresse de contact légale
Admin ADMIN_APP_URL https://admin.zevent.app/
Admin ADMIN_API_URL https://admin-api.zevent.app/
Admin ADMIN_OAUTH_REDIRECT_URL https://admin-api.zevent.app/oauth/callback
Admin ADMIN_ALLOWED_ORIGINS Origine de DOCS_ADMIN_URL, sans slash final

5. Ajouter les variables optionnelles

Noms des projets Pages et contrôle d’accès admin
CLOUDFLARE_PAGES_PROJECT zevent-bot-site
CLOUDFLARE_ADMIN_PAGES_PROJECT zevent-bot-admin
CLOUDFLARE_DOCS_PAGES_PROJECT zevent-bot-docs
ADMIN_VIEWER_ROLE_IDS Rôles en lecture seule
ADMIN_TESTER_ROLE_IDS Rôles autorisés à l’espace Aperçu & test
ADMIN_OPERATOR_ROLE_IDS Rôles opérateurs
DOCS_SITE_URL https://zevent.app/
DOCS_SUPPORT_URL Invitation permanente du support
DOCS_BOT_URL https://bot.zevent.app/
DOCS_API_URL https://api.zevent.app/
DOCS_ADMIN_URL https://admin.zevent.app/
DOCS_ADMIN_API_URL https://admin-api.zevent.app/

6. Lancer le déploiement

  1. Ouvre Actions.Sélectionne le workflow « Deploy Cloudflare stack ».
  2. Clique sur Run workflow.Choisis la branche prod. Un lancement manuel force tous les composants.
  3. Lis le résumé.Les jobs de validation doivent précéder le provisionnement, les migrations et les déploiements.
  4. Corrige une valeur à la fois.Après modification d’un Secret ou d’une Variable, relance le workflow manuellement.
Branches utilisées

master déploie la preview du site public. prod déploie la stack de production.