Configuration Wrangler Globale
Type de ressource : Configuration Wrangler (Monorepo / Services Cloudflare)
Fichier source :wrangler.toml(racine) etservices/[worker-name]/wrangler.toml
Statut : [Actif / Déprécié / En développement]
1. Vue dâensemble
Section titled â1. Vue dâensembleâ1.1. Description
Section titled â1.1. Descriptionâ[Description concise du rĂŽle de cette configuration Wrangler dans lâorchestration des services Cloudflare du monorepo]
1.2. Objectif
Section titled â1.2. Objectifâ- [Objectif principal : ex. centraliser la configuration de dĂ©ploiement de tous les Workers et bindings du monorepo]
- [BĂ©nĂ©fice pour lâarchitecture : ex. cohĂ©rence entre environnements, gestion unifiĂ©e des secrets]
1.3. PérimÚtre concerné
Section titled â1.3. PĂ©rimĂštre concernĂ©â- Services couverts : [Liste : middleware, form-handler, cms-webhook-receiver, media-upload, media-cleanup, sanity-backup]
- Environnements : [Production / Staging / Preview]
- Type de configuration : [Wrangler.toml / Secrets / Variables dâenvironnement / Bindings]
2. Architecture du Monorepo
Section titled â2. Architecture du Monorepoâ2.1. Structure du dĂ©pĂŽt
Section titled â2.1. Structure du dĂ©pĂŽtââââ apps/â âââ web/ # Projet Front-End Astro (Couche 02)âââ services/â âââ middleware/ # Worker Middleware Globalâ â âââ src/â â â âââ index.tsâ â âââ wrangler.tomlâ â âââ package.jsonâ âââ form-handler/ # Microservice formulairesâ â âââ src/â â â âââ index.tsâ â âââ wrangler.tomlâ â âââ package.jsonâ âââ cms-webhook-receiver/ # Microservice webhooksâ â âââ src/â â â âââ index.tsâ â âââ wrangler.tomlâ â âââ package.jsonâ âââ media-upload/ # Microservice upload prĂ©signĂ©â â âââ src/â â â âââ index.tsâ â âââ wrangler.tomlâ â âââ package.jsonâ âââ media-cleanup/ # Microservice cron nettoyageâ â âââ src/â â â âââ index.tsâ â âââ wrangler.tomlâ â âââ package.jsonâ âââ sanity-backup/ # Microservice cron sauvegardeâ âââ src/â â âââ index.tsâ âââ wrangler.tomlâ âââ package.jsonâââ package.json # Scripts monorepoâââ wrangler.toml # Configuration racine (optionnelle)âââ README.md2.2. Composants impliquĂ©s
Section titled â2.2. Composants impliquĂ©sâ| Composant | RĂŽle | Type |
|---|---|---|
wrangler.toml (racine) |
Configuration globale (optionnelle) | Config |
services/*/wrangler.toml |
Configuration par service | Config |
| Cloudflare Secrets | Variables sensibles injectées | Runtime |
| Cloudflare Dashboard | Gestion manuelle des ressources | UI |
| CI/CD Pipeline | Déploiement automatisé | Infrastructure |
3. Configuration par service
Section titled â3. Configuration par serviceâ3.1. Worker middleware (Middleware Global)
Section titled â3.1. Worker middleware (Middleware Global)âname = "global-middleware"main = "src/index.ts"compatibility_date = "2026-09-01"compatibility_flags = ["nodejs_compat"]
# Variables non-sensibles[vars]ALLOWED_ORIGIN = "https://votresite.com"
# Secrets (injectés via wrangler secret put)# - SANITY_PREVIEW_SECRET
[env.production]vars = { ALLOWED_ORIGIN = "https://votresite.com" }
[env.staging]vars = { ALLOWED_ORIGIN = "https://staging.votresite.com" }3.2. Worker form-handler (Traitement des Formulaires)
Section titled â3.2. Worker form-handler (Traitement des Formulaires)âname = "form-handler"main = "src/index.ts"compatibility_date = "2026-09-01"
[vars]CRM_ENDPOINT_URL = "https://api.moncrm.com/v1/leads"
# Queue Producer[[queues.producers]]queue = "form-submissions-queue"binding = "SUBMISSIONS_QUEUE"
# Secrets (injectés via wrangler secret put)# - TURNSTILE_SECRET_KEY# - CRM_API_KEY
[env.production]vars = { CRM_ENDPOINT_URL = "https://api.moncrm.com/v1/leads" }
[env.staging]vars = { CRM_ENDPOINT_URL = "https://staging-api.moncrm.com/v1/leads" }3.3. Worker cms-webhook-receiver (Récepteur Webhooks)
Section titled â3.3. Worker cms-webhook-receiver (RĂ©cepteur Webhooks)âname = "cms-webhook-receiver"main = "src/index.ts"compatibility_date = "2026-09-01"
[vars]BUILD_HOOK_URL = "https://api.cloudflare.com/client/v4/accounts/XXX/pages/projects/YYY/deploy-hooks/ZZZ"
# KV Namespace (Debouncing)[[kv_namespaces]]binding = "WEBHOOK_LOCK_KV"id = "your-kv-namespace-id"preview_id = "your-preview-kv-namespace-id"
# Secrets (injectés via wrangler secret put)# - SANITY_WEBHOOK_SECRET
[env.production]vars = { BUILD_HOOK_URL = "https://api.cloudflare.com/client/v4/accounts/XXX/pages/projects/YYY/deploy-hooks/ZZZ" }
[env.staging]vars = { BUILD_HOOK_URL = "https://api.cloudflare.com/client/v4/accounts/XXX/pages/projects/YYY-staging/deploy-hooks/ZZZ" }3.4. Worker media-upload (Upload Présigné)
Section titled â3.4. Worker media-upload (Upload PrĂ©signĂ©)âname = "media-upload"main = "src/index.ts"compatibility_date = "2026-09-01"
[vars]R2_ACCOUNT_ID = "your-account-id"R2_BUCKET_NAME = "pub-medias"R2_PUBLIC_DOMAIN = "pub-medias.votredomaine.com"
# R2 Bucket Binding[[r2_buckets]]binding = "R2_BUCKET"bucket_name = "pub-medias"preview_bucket_name = "pub-medias-staging"
# Secrets (injectés via wrangler secret put)# - R2_ACCESS_KEY_ID# - R2_SECRET_ACCESS_KEY# - CLOUDFLARE_STREAM_API_TOKEN# - CLOUDFLARE_ACCOUNT_ID
[env.production]vars = { R2_BUCKET_NAME = "pub-medias" }
[env.staging]vars = { R2_BUCKET_NAME = "pub-medias-staging" }3.5. Worker media-cleanup (Nettoyage Cron)
Section titled â3.5. Worker media-cleanup (Nettoyage Cron)âname = "media-cleanup"main = "src/index.ts"compatibility_date = "2026-09-01"
[vars]SANITY_PROJECT_ID = "your-project-id"SANITY_DATASET = "production"R2_PUBLIC_DOMAIN = "pub-medias.votredomaine.com"
# R2 Bucket Binding[[r2_buckets]]binding = "R2_BUCKET"bucket_name = "pub-medias"
# Cron Trigger (hebdomadaire, dimanche 3h00)[triggers]crons = ["0 3 * * 0"]
# Secrets (injectés via wrangler secret put)# - SANITY_READ_TOKEN
[env.production]vars = { SANITY_DATASET = "production" }
[env.staging]vars = { SANITY_DATASET = "staging" }3.6. Worker sanity-backup (Backup Cron)
Section titled â3.6. Worker sanity-backup (Backup Cron)âname = "sanity-backup"main = "src/index.ts"compatibility_date = "2026-09-01"
[vars]SANITY_PROJECT_ID = "your-project-id"SANITY_DATASET = "production"
# R2 Bucket Binding (Bucket dédié aux backups)[[r2_buckets]]binding = "R2_BACKUP_BUCKET"bucket_name = "backups-sanity"
# Cron Trigger (quotidien, 2h00)[triggers]crons = ["0 2 * * *"]
# Secrets (injectés via wrangler secret put)# - SANITY_ADMIN_TOKEN
[env.production]vars = { SANITY_DATASET = "production" }
[env.staging]vars = { SANITY_DATASET = "staging" }4. Gestion des secrets
Section titled â4. Gestion des secretsâ4.1. Matrice des secrets par service
Section titled â4.1. Matrice des secrets par serviceâ| Service | Secret | Description | Rotation |
|---|---|---|---|
middleware |
SANITY_PREVIEW_SECRET |
Secret de validation preview | 90 jours |
form-handler |
TURNSTILE_SECRET_KEY |
Clé secrÚte Turnstile | 90 jours |
form-handler |
CRM_API_KEY |
Clé API CRM | 90 jours |
cms-webhook-receiver |
SANITY_WEBHOOK_SECRET |
Secret validation HMAC webhook | 90 jours |
media-upload |
R2_ACCESS_KEY_ID |
ClĂ© dâaccĂšs R2 | 90 jours |
media-upload |
R2_SECRET_ACCESS_KEY |
Clé secrÚte R2 | 90 jours |
media-upload |
CLOUDFLARE_STREAM_API_TOKEN |
Token API Stream | 90 jours |
media-cleanup |
SANITY_READ_TOKEN |
Token lecture Sanity | 90 jours |
sanity-backup |
SANITY_ADMIN_TOKEN |
Token admin Sanity (export) | 90 jours |
4.2. Commandes dâinjection
Section titled â4.2. Commandes dâinjectionâ# Injection des secrets pour le service middlewarewrangler secret put SANITY_PREVIEW_SECRET --env production --config services/middleware/wrangler.tomlwrangler secret put SANITY_PREVIEW_SECRET --env staging --config services/middleware/wrangler.toml
# Injection des secrets pour le service form-handlerwrangler secret put TURNSTILE_SECRET_KEY --env production --config services/form-handler/wrangler.tomlwrangler secret put CRM_API_KEY --env production --config services/form-handler/wrangler.toml
# Injection des secrets pour le service cms-webhook-receiverwrangler secret put SANITY_WEBHOOK_SECRET --env production --config services/cms-webhook-receiver/wrangler.toml
# Injection des secrets pour le service media-uploadwrangler secret put R2_ACCESS_KEY_ID --env production --config services/media-upload/wrangler.tomlwrangler secret put R2_SECRET_ACCESS_KEY --env production --config services/media-upload/wrangler.tomlwrangler secret put CLOUDFLARE_STREAM_API_TOKEN --env production --config services/media-upload/wrangler.toml
# Injection des secrets pour le service media-cleanupwrangler secret put SANITY_READ_TOKEN --env production --config services/media-cleanup/wrangler.toml
# Injection des secrets pour le service sanity-backupwrangler secret put SANITY_ADMIN_TOKEN --env production --config services/sanity-backup/wrangler.toml4.3. RÚgles de sécurité
Section titled â4.3. RĂšgles de sĂ©curitĂ©â- â Les secrets ne sont jamais commitĂ©s dans Git
- â
Les secrets sont injectés via
wrangler secret put(chiffrĂ©s par Cloudflare) - â Rotation recommandĂ©e tous les 90 jours
- â Les secrets sont spĂ©cifiques Ă chaque environnement (production/staging)
- â Les secrets ne sont jamais loggĂ©s dans les Workers
4.4. Vérification des secrets
Section titled â4.4. VĂ©rification des secretsâ# Liste des secrets d'un servicewrangler secret list --config services/form-handler/wrangler.toml --env production
# Suppression d'un secretwrangler secret delete SECRET_NAME --config services/form-handler/wrangler.toml --env production5. Scripts npm du monorepo
Section titled â5. Scripts npm du monorepoâ5.1. Scripts de dĂ©ploiement
Section titled â5.1. Scripts de dĂ©ploiementâ// package.json (racine){ "name": "monorepo-cloudflare", "private": true, "scripts": { "deploy:all": "npm run deploy:middleware && npm run deploy:form-handler && npm run deploy:cms-webhook-receiver && npm run deploy:media-upload && npm run deploy:media-cleanup && npm run deploy:sanity-backup",
"deploy:middleware": "wrangler deploy --config services/middleware/wrangler.toml --env production", "deploy:form-handler": "wrangler deploy --config services/form-handler/wrangler.toml --env production", "deploy:cms-webhook-receiver": "wrangler deploy --config services/cms-webhook-receiver/wrangler.toml --env production", "deploy:media-upload": "wrangler deploy --config services/media-upload/wrangler.toml --env production", "deploy:media-cleanup": "wrangler deploy --config services/media-cleanup/wrangler.toml --env production", "deploy:sanity-backup": "wrangler deploy --config services/sanity-backup/wrangler.toml --env production",
"deploy:staging": "npm run deploy:middleware:staging && npm run deploy:form-handler:staging && ...",
"deploy:middleware:staging": "wrangler deploy --config services/middleware/wrangler.toml --env staging", "deploy:form-handler:staging": "wrangler deploy --config services/form-handler/wrangler.toml --env staging",
"dev:middleware": "wrangler dev --config services/middleware/wrangler.toml", "dev:form-handler": "wrangler dev --config services/form-handler/wrangler.toml", "dev:cms-webhook-receiver": "wrangler dev --config services/cms-webhook-receiver/wrangler.toml", "dev:media-upload": "wrangler dev --config services/media-upload/wrangler.toml", "dev:media-cleanup": "wrangler dev --config services/media-cleanup/wrangler.toml --test-scheduled", "dev:sanity-backup": "wrangler dev --config services/sanity-backup/wrangler.toml --test-scheduled" }}5.2. Scripts de gestion des secrets
Section titled â5.2. Scripts de gestion des secretsâ// package.json (racine) - suite{ "scripts": { "secrets:list": "wrangler secret list --config services/form-handler/wrangler.toml", "secrets:rotate": "node scripts/rotate-secrets.js", "secrets:audit": "node scripts/audit-secrets.js" }}6. Configuration des environnements
Section titled â6. Configuration des environnementsâ6.1. Matrice des environnements
Section titled â6.1. Matrice des environnementsâ| Environnement | Usage | URL | DĂ©clenchement |
|---|---|---|---|
production |
Production publique | https://votresite.com |
Merge sur main |
staging |
Pré-production | https://staging.votresite.com |
Push sur staging |
preview |
Preview par PR | https://[pr-id].preview.votresite.com |
Pull Request |
6.2. Variables dâenvironnement par environnement
Section titled â6.2. Variables dâenvironnement par environnementâ| Variable | Production | Staging | Preview |
|---|---|---|---|
CRM_ENDPOINT_URL |
https://api.moncrm.com/v1/leads |
https://staging-api.moncrm.com/v1/leads |
https://staging-api.moncrm.com/v1/leads |
R2_BUCKET_NAME |
pub-medias |
pub-medias-staging |
pub-medias-preview |
SANITY_DATASET |
production |
staging |
staging |
ALLOWED_ORIGIN |
https://votresite.com |
https://staging.votresite.com |
https://*.preview.votresite.com |
BUILD_HOOK_URL |
[URL prod] | [URL staging] | - |
6.3. RÚgles de déploiement
Section titled â6.3. RĂšgles de dĂ©ploiementâ- â
La branche
maindĂ©clenche le dĂ©ploiement en production - â
La branche
stagingdĂ©clenche le dĂ©ploiement en staging - â Les Pull Requests dĂ©clenchent des environnements de preview Ă©phĂ©mĂšres
- â Les secrets sont spĂ©cifiques Ă chaque environnement
- â Les bindings (KV, R2, Queue) peuvent ĂȘtre partagĂ©s ou isolĂ©s selon le besoin
7. Bindings Cloudflare
Section titled â7. Bindings Cloudflareâ7.1. Matrice des bindings par service
Section titled â7.1. Matrice des bindings par serviceâ| Service | KV | R2 | Queue | Service |
|---|---|---|---|---|
middleware |
- | - | - | - |
form-handler |
- | - | SUBMISSIONS_QUEUE |
- |
cms-webhook-receiver |
WEBHOOK_LOCK_KV |
- | - | - |
media-upload |
- | R2_BUCKET |
- | - |
media-cleanup |
- | R2_BUCKET |
- | - |
sanity-backup |
- | R2_BACKUP_BUCKET |
- | - |
7.2. Création des ressources
Section titled â7.2. CrĂ©ation des ressourcesâ# CrĂ©ation des namespaces KVwrangler kv:namespace create "WEBHOOK_LOCK_KV" --config services/cms-webhook-receiver/wrangler.toml --env productionwrangler kv:namespace create "WEBHOOK_LOCK_KV" --config services/cms-webhook-receiver/wrangler.toml --env staging
# Création des buckets R2wrangler r2 bucket create pub-mediaswrangler r2 bucket create pub-medias-stagingwrangler r2 bucket create backups-sanity
# Création des Queueswrangler queues create form-submissions-queue --env productionwrangler queues create form-submissions-queue --env staging7.3. Lifecycle Rules R2
Section titled â7.3. Lifecycle Rules R2â| Bucket | RĂšgle | Action | RĂ©tention |
|---|---|---|---|
pub-medias |
Suppression temp/ |
Delete | 7 jours |
backups-sanity |
Purge automatique | Delete | 30 jours |
8. CI/CD et déploiement
Section titled â8. CI/CD et dĂ©ploiementâ8.1. Pipeline de dĂ©ploiement
Section titled â8.1. Pipeline de dĂ©ploiementâname: Deploy Cloudflare Workerson: push: branches: [main, staging] pull_request: branches: [main]
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20'
- name: Install dependencies run: npm ci
- name: Deploy to Staging if: github.ref == 'refs/heads/staging' run: npm run deploy:staging env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
- name: Deploy to Production if: github.ref == 'refs/heads/main' run: npm run deploy:all env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}8.2. Rollback
Section titled â8.2. Rollbackâ# Liste des dĂ©ploiementswrangler deployments list --config services/form-handler/wrangler.toml
# Rollback vers une version précédentewrangler deployments rollback --deployment-id=[id] --config services/form-handler/wrangler.toml8.3. Tests manuels
Section titled â8.3. Tests manuelsâ# Test local d'un servicenpm run dev:form-handler
# Test d'un Cron Triggerwrangler dev --config services/media-cleanup/wrangler.toml --test-scheduled
# Test d'un endpointcurl -X POST http://localhost:8787/ \ -H "Content-Type: application/json" \ -d '{"email": "test@example.com", "message": "Test"}'9. Monitoring et observabilité
Section titled â9. Monitoring et observabilitĂ©â9.1. Logs en temps rĂ©el
Section titled â9.1. Logs en temps rĂ©elâ# Logs d'un service spĂ©cifiquewrangler tail form-handler --env production
# Logs avec filtrewrangler tail cms-webhook-receiver --env production --format pretty
# Logs de tous les services (via Cloudflare Dashboard)# Dashboard â Workers & Pages â [Service] â Logs9.2. MĂ©triques clĂ©s
Section titled â9.2. MĂ©triques clĂ©sâ| Service | MĂ©trique | Seuil dâalerte | Canal |
|---|---|---|---|
middleware |
Taux dâerreur 5xx | > 1% sur 5 min | PagerDuty |
form-handler |
Ăchecs CRM | > 2% sur 5 min | Slack |
cms-webhook-receiver |
Signatures invalides | > 5 consécutifs | Email Sécurité |
media-cleanup |
Safety Lock déclenché | 1 événement | Slack |
sanity-backup |
Ăchec du Cron | 1 Ă©chec | PagerDuty |
9.3. Cloudflare Logpush
Section titled â9.3. Cloudflare Logpushâ# Configuration Logpush (via Dashboard ou API)# Dashboard â Workers & Pages â [Service] â Logs â Logpush# Destination : Datadog / Axiom / S310. DĂ©bogage et troubleshooting
Section titled â10. DĂ©bogage et troubleshootingâ10.1. ProblĂšmes courants
Section titled â10.1. ProblĂšmes courantsâ| SymptĂŽme | Cause probable | Solution |
|---|---|---|
| âBinding not foundâ | Binding mal configurĂ© | VĂ©rifier le wrangler.toml et redĂ©ployer |
| âSecret not foundâ | Secret non injectĂ© | ExĂ©cuter wrangler secret put |
| âService unavailableâ | Worker non dĂ©ployĂ© | VĂ©rifier le dĂ©ploiement avec wrangler deployments list |
| Cron non déclenché | Configuration triggers.crons incorrecte |
Vérifier la syntaxe cron (5 champs) |
| Erreur de compatibilité | compatibility_date trop ancien |
Mettre Ă jour vers 2026-09-01 |
| Erreur de mémoire (OOM) | Chargement de gros fichiers en RAM | Utiliser le streaming HTTP |
10.2. Commandes de debug
Section titled â10.2. Commandes de debugâ# VĂ©rification de la configurationwrangler deploy --dry-run --config services/form-handler/wrangler.toml
# Inspection des bindingswrangler kv:key list --binding=WEBHOOK_LOCK_KV --config services/cms-webhook-receiver/wrangler.toml
# Inspection des objets R2wrangler r2 object list pub-medias --prefix medias/
# Test d'un Cron Triggerwrangler dev --config services/media-cleanup/wrangler.toml --test-scheduled11. Bonnes pratiques
Section titled â11. Bonnes pratiquesâ11.1. Architecture
Section titled â11.1. Architectureâ- â
Séparer la configuration par service (un
wrangler.tomlpar Worker) - â
Centraliser les scripts de déploiement dans le
package.jsonracine - â Utiliser des environnements distincts (production/staging/preview)
- â Documenter les bindings et secrets dans ce fichier
- â
Versionner les
wrangler.tomldans Git (sauf les secrets)
11.2. Sécurité
Section titled â11.2. SĂ©curitĂ©â- â Ne jamais commiter les secrets dans Git
- â
Utiliser
wrangler secret putpour injecter les secrets - â Rotation rĂ©guliĂšre des secrets (tous les 90 jours)
- â Valider les permissions des tokens API (principe du moindre privilĂšge)
- â Auditer les accĂšs aux ressources Cloudflare
11.3. Performance
Section titled â11.3. Performanceâ- â
Utiliser
compatibility_daterĂ©cent pour bĂ©nĂ©ficier des optimisations - â Minimiser le nombre de bindings par Worker
- â Utiliser le streaming HTTP pour les gros volumes
- â Mettre en cache les donnĂ©es frĂ©quemment lues (KV)
11.4. Maintenance
Section titled â11.4. Maintenanceâ- â Documenter les changements de configuration dans ce fichier
- â Tester les dĂ©ploiements en staging avant production
- â Surveiller les mĂ©triques aprĂšs chaque dĂ©ploiement
- â Automatiser les dĂ©ploiements via CI/CD
- â Maintenir un rollback plan en cas de problĂšme
12. Ăvolutions et roadmap
Section titled â12. Ăvolutions et roadmapâ12.1. AmĂ©liorations planifiĂ©es
Section titled â12.1. AmĂ©liorations planifiĂ©esâ- [Ăvolution 1 : ex. Migration vers Wrangler v4]
- [Ăvolution 2 : ex. Ajout de Durable Objects pour les sessions]
- [Ăvolution 3 : ex. ImplĂ©mentation de Workflows pour les traitements longs]
- [Ăvolution 4 : ex. Centralisation des logs via Logpush vers Datadog]
12.2. Limitations connues
Section titled â12.2. Limitations connuesâ- â Les secrets ne peuvent pas ĂȘtre versionnĂ©s dans Git
- â Les bindings KV ont des limites de taille (25 MB par clĂ©)
- â Les Cron Triggers ont une granularitĂ© minimale dâune minute
- â Les Queues ont une limite de 10 MB par message
13. Ressources liées
Section titled â13. Ressources liĂ©esâ- Documentation Wrangler : CLI Reference
- Documentation Wrangler : Configuration
- Documentation Cloudflare Workers : Getting Started
- DAT L3 : §6 - Structure Monorepo, Wrangler & Configuration
- DAT L3 : §7 - Monitoring, Observabilité & Alerting
- Services concernés :
services/middleware/wrangler.tomlservices/form-handler/wrangler.tomlservices/cms-webhook-receiver/wrangler.tomlservices/media-upload/wrangler.tomlservices/media-cleanup/wrangler.tomlservices/sanity-backup/wrangler.toml
- Fichiers concernés :
wrangler.toml(racine, optionnel)package.json(scripts monorepo).github/workflows/deploy-workers.yml
14. Historique des modifications
Section titled â14. Historique des modificationsâ| Date | Version | Description | Auteur |
|---|---|---|---|
| YYYY-MM-DD | 1.0 | Création initiale | [Nom] |
| YYYY-MM-DD | 1.1 | [Modification] | [Nom] |
---
**Points clés de ce template :**- Documente la configuration complÚte du monorepo Cloudflare (tous les Workers)- Détaille la structure du dépÎt et l'organisation par service- Inclut la matrice complÚte des secrets et leur injection- Fournit les scripts npm pour le déploiement et le développement local- Couvre la gestion des environnements (production/staging/preview)- Documente les bindings Cloudflare (KV, R2, Queue) par service- Inclut le pipeline CI/CD et les commandes de rollback- Sépare clairement les bonnes pratiques par catégorie (architecture, sécurité, performance, maintenance)