Skip to content

Setup des Secrets

Objectif : Configurer les secrets pour Sanity et Cloudflare via CI/CD et .env
Statut : fait


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. Aller sur Sanity Dashboard
  2. Sélectionner le projet amn (ID: 4wa7mvsz)
  3. Settings → API → Tokens
  4. Créer un token “Read” avec permissions minimales
  5. Créer un token “Write” avec permissions complètes
  6. Copier les tokens
Terminal window
# Générer un secret aléatoire
openssl rand -base64 32

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
  1. Aller sur Cloudflare Dashboard
  2. My Profile → API Tokens
  3. Create Token → Custom Token
  4. Permissions :
    • Account → Cloudflare Pages → Edit
    • Account → Workers Scripts → Edit
  5. Compte : votre compte
  6. Créer et copier le token

  1. Aller sur le repository GitHub
  2. Settings → Secrets and variables → Actions
  3. 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

Terminal window
# Copier le fichier d'exemple
cp .env.example .env
.env
SANITY_PROJECT_ID=4wa7mvsz
SANITY_DATASET=development
SANITY_API_READ_TOKEN=your-read-token
SANITY_API_WRITE_TOKEN=your-write-token
SANITY_PREVIEW_SECRET=your-preview-secret
CLOUDFLARE_ACCOUNT_ID=your-account-id
CLOUDFLARE_API_TOKEN=your-api-token
ENVIRONMENT=dev

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)”
Terminal window
# Secrets dev
wrangler secret put SANITY_PROJECT_ID --env dev
wrangler secret put SANITY_DATASET --env dev
wrangler secret put SANITY_API_READ_TOKEN --env dev
wrangler secret put SANITY_PREVIEW_SECRET --env dev
# Secrets prod
wrangler secret put SANITY_PROJECT_ID --env prod
wrangler secret put SANITY_DATASET --env prod
wrangler secret put SANITY_API_READ_TOKEN --env prod
wrangler secret put SANITY_PREVIEW_SECRET --env prod

  • 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)