Setup des Secrets
Objectif : Configurer les secrets pour Sanity et Cloudflare via CI/CD et .env
Statut : fait
1. Secrets Sanity
Section titled “1. Secrets Sanity”1.1. Récupérer les informations Sanity
Section titled “1.1. Récupérer les informations Sanity”| Variable | Description | Source |
|---|---|---|
SANITY_PROJECT_ID |
ID du projet Sanity | Dashboard Sanity → Settings → API |
SANITY_DATASET |
Dataset (development/production) | Sanity CLI |
SANITY_API_READ_TOKEN |
Token lecture | Dashboard Sanity → Settings → API → Tokens |
SANITY_API_WRITE_TOKEN |
Token écriture | Dashboard Sanity → Settings → API → Tokens |
SANITY_PREVIEW_SECRET |
Secret preview | Généré aléatoirement |
1.2. Générer les tokens API Sanity
Section titled “1.2. Générer les tokens API Sanity”- Aller sur Sanity Dashboard
- Sélectionner le projet
amn(ID: 4wa7mvsz) - Settings → API → Tokens
- Créer un token “Read” avec permissions minimales
- Créer un token “Write” avec permissions complètes
- Copier les tokens
1.3. Générer le secret preview
Section titled “1.3. Générer le secret preview”# Générer un secret aléatoireopenssl rand -base64 322. Secrets Cloudflare
Section titled “2. Secrets Cloudflare”2.1. Récupérer les informations Cloudflare
Section titled “2.1. Récupérer les informations Cloudflare”| Variable | Description | Source |
|---|---|---|
CLOUDFLARE_ACCOUNT_ID |
ID du compte Cloudflare | Dashboard Cloudflare → Workers & Pages → Account ID |
CLOUDFLARE_API_TOKEN |
Token API Cloudflare | Dashboard Cloudflare → My Profile → API Tokens |
2.2. Créer un token API Cloudflare
Section titled “2.2. Créer un token API Cloudflare”- Aller sur Cloudflare Dashboard
- My Profile → API Tokens
- Create Token → Custom Token
- Permissions :
- Account → Cloudflare Pages → Edit
- Account → Workers Scripts → Edit
- Compte : votre compte
- Créer et copier le token
3. Injection via CI/CD (GitHub Actions)
Section titled “3. Injection via CI/CD (GitHub Actions)”3.1. Ajouter les secrets dans GitHub
Section titled “3.1. Ajouter les secrets dans GitHub”- Aller sur le repository GitHub
- Settings → Secrets and variables → Actions
- Ajouter les secrets suivants :
| Secret | Valeur |
|---|---|
SANITY_PROJECT_ID |
ID du projet Sanity |
SANITY_DATASET |
development |
SANITY_API_READ_TOKEN |
Token lecture Sanity |
SANITY_API_WRITE_TOKEN |
Token écriture Sanity |
SANITY_PREVIEW_SECRET |
Secret preview généré |
CLOUDFLARE_ACCOUNT_ID |
ID du compte Cloudflare |
CLOUDFLARE_API_TOKEN |
Token API Cloudflare |
3.2. Mettre à jour les pipelines CI/CD (FAIT)
Section titled “3.2. Mettre à jour les pipelines CI/CD (FAIT)”Les pipelines utilisent maintenant les secrets GitHub Actions :
- CI : injection des variables d’environnement pour les tests
- Deploy dev : injection des variables + déploiement Cloudflare Pages
- Deploy prod : injection des variables + déploiement manuel Cloudflare Pages
4. Injection locale (.env)
Section titled “4. Injection locale (.env)”4.1. Créer le fichier .env
Section titled “4.1. Créer le fichier .env”# Copier le fichier d'exemplecp .env.example .env4.2. Remplir les variables
Section titled “4.2. Remplir les variables”SANITY_PROJECT_ID=4wa7mvszSANITY_DATASET=developmentSANITY_API_READ_TOKEN=your-read-tokenSANITY_API_WRITE_TOKEN=your-write-tokenSANITY_PREVIEW_SECRET=your-preview-secret
CLOUDFLARE_ACCOUNT_ID=your-account-idCLOUDFLARE_API_TOKEN=your-api-token
ENVIRONMENT=dev4.3. Ajouter .env au .gitignore
Section titled “4.3. Ajouter .env au .gitignore”Déjà fait dans le .gitignore.
5. Injection via Wrangler (Workers) (VIA SCRIPT inject_secret_to_cloudflare.sh)
Section titled “5. Injection via Wrangler (Workers) (VIA SCRIPT inject_secret_to_cloudflare.sh)”5.1. Secrets pour Workers Cloudflare
Section titled “5.1. Secrets pour Workers Cloudflare”# Secrets devwrangler secret put SANITY_PROJECT_ID --env devwrangler secret put SANITY_DATASET --env devwrangler secret put SANITY_API_READ_TOKEN --env devwrangler secret put SANITY_PREVIEW_SECRET --env dev
# Secrets prodwrangler secret put SANITY_PROJECT_ID --env prodwrangler secret put SANITY_DATASET --env prodwrangler secret put SANITY_API_READ_TOKEN --env prodwrangler secret put SANITY_PREVIEW_SECRET --env prod6. Checklist de validation
Section titled “6. Checklist de validation”- Tokens API Sanity générés (Read + Write)
- Secret preview généré
- Token API Cloudflare généré
- Secrets ajoutés dans GitHub Actions
- Fichier .env créé localement
- Secrets Wrangler injectés (dev + prod)
7. Ressources
Section titled “7. Ressources”- Sanity API Tokens : https://www.sanity.io/docs/api
- Cloudflare API Tokens : https://developers.cloudflare.com/api/tokens/create/