# ADR 001 — Hébergement frontend : Cloudflare Pages **Statut :** Accepté **Date :** 2026-04-17 **Décideur :** Hermann --- ## Contexte Le frontend Expria V2 doit être hébergé sur une plateforme de distribution statique. Trois options étaient envisagées : Vercel, Cloudflare Pages, et un VPS. Contraintes à prendre en compte : - L'audience cible est majoritairement en Afrique du Nord (Algérie, Maroc) et en Afrique centrale (Cameroun), avec une part importante au Canada. Presque 100% mobile. - Le DNS de `expria.app` est actuellement géré chez Vercel. - Le backend tourne déjà sur Render Frankfurt (EU). - Le projet est maintenu par un fondateur non-technique, avec assistance IA. - Les revenus sont encore nuls ou quasi nuls — les coûts d'infrastructure doivent rester à zéro. ## Options envisagées ### Option A — Vercel - Avantages : DNS déjà configuré chez Vercel, auto-deploy GitHub natif sans config, edge nodes à Paris et Francfort. - Inconvénients : tarif gratuit limité en bande passante si le produit décolle, verrouillage progressif dans l'écosystème Vercel (edge functions, middleware), fondateur a déjà exprimé un veto personnel contre Vercel suite à frictions passées. ### Option B — Cloudflare Pages - Avantages : CDN mondial (287+ points de présence, y compris Casablanca et Le Caire), tier gratuit généreux (builds illimités, bande passante illimitée), cohérent avec la recommandation initiale d'`ARCHITECTURE.md` backend §2, découplé du DNS (on peut migrer le DNS sans changer l'hébergement). - Inconvénients : déploiement via Wrangler CLI légèrement moins transparent que Vercel, auto-deploy GitHub nécessite une config initiale. ### Option C — VPS (dans la continuité du backend) - Avantages : un seul fournisseur, contrôle total. - Inconvénients : fait perdre tout le bénéfice CDN (les utilisateurs africains rapatrient les assets depuis Frankfurt), charge opérationnelle (nginx, certificats, mise à jour OS), gaspille les ressources VPS. ## Décision **Cloudflare Pages** pour l'hébergement frontend. Configuration cible : - Source : dépôt GitHub `germannoff/expria-frontend` - Build command : `npm run build` - Output directory : `dist` - Domaine : `expria.app` (CNAME depuis le DNS Vercel vers Cloudflare Pages, le DNS reste chez Vercel jusqu'à nouvel ordre) - Déploiement : auto-deploy à chaque push sur `main` (configuration Cloudflare Pages ↔ GitHub) ## Conséquences **Positives :** - Coût zéro quelle que soit la montée en charge initiale. - Latence optimisée pour l'audience cible (CDN proche des utilisateurs africains). - Cohérent avec le document de référence backend `ARCHITECTURE.md` §2. - Indépendance vis-à-vis de Vercel (DNS reste séparé de l'hébergement). **Négatives :** - Une commande CLI supplémentaire (`wrangler`) à connaître pour les déploiements manuels d'urgence. Mitigation : l'auto-deploy GitHub résout ce point à 95%. - Si le fondateur doit un jour déployer manuellement sans accès au terminal, il devra passer par le dashboard Cloudflare Pages. **À revisiter si :** - L'audience bascule massivement vers un continent non couvert par Cloudflare (improbable). - Cloudflare Pages impose des limites qui contraignent le produit (scénarios edge à étudier si on ajoute du server-side rendering plus tard). ## Références - `ARCHITECTURE.md` backend §2 et §9 (recommandation initiale Cloudflare Pages) - `TECH_DEBT.md` TD-04 (déploiement manuel — rendu caduc par la réactivation du compte GitHub le 2026-04-17)