Livrable 29
Déploiement
Aucun coût en euros. Catégories seulement.
Cible produit (prod réelle future)
| Morceau | Intention | Note |
|---|---|---|
| App web | Hébergement managé, région UE | Aujourd'hui le chemin de cet environnement est Vercel |
| Postgres | Managé, UE, sauvegardes | Neon si c'est le Postgres fourni — PostGIS à vérifier, pas à supposer |
| Redis | Rate limit, cache Now, locks | Pas dans le sandbox. Ne pas simuler un cluster |
| Objets | Bucket UE, CDN | Médias. Absent tant que non créé |
| Jobs | Cron managé ou worker unique | Pas Kubernetes |
| Transactionnel UE | THIRD-PARTY non choisi | |
| Secrets | Gestionnaire de l'hébergeur | Pas de .env commité dans cet environnement |
Environnements : local, test, staging, production — bases et clés séparées. Le preview de travail n'est pas une prod.
Cet environnement
- Une app Vite / TanStack Start, port de preview imposé par la plateforme.
- Base embarquée si aucune
DATABASE_URL; Postgres injecté au déploiement. - Pas de Redis, pas de worker long, pas d'écriture disque durable côté serveur en prod.
- Donc : pas de file locale comme file de prod ; pas de tuiles générées sur le disque de la fonction.
CI (quand le code existe)
lint, typecheck, unit, tests de permission, build, migrations avant trafic. E2E sur le parcours critique. Pas de déploiement prod sans ces portes. Le détail d'outillage n'est pas inventé comme déjà vert.
Migrations
SQL versionné, expansif d'abord (ajouter colonne, backfill, puis contrainte). Rollback documenté par migration : au minimum « comment revenir », pas un down magique non testé.
Scaling
Interdit par défaut : Kafka, Kubernetes, dizaines de services. Autorisé : CDN, cache, read replica si une métrique le demande. Aucune métrique n'existe.
Coûts à surveiller (sans chiffres)
Tuiles et geocoding à la requête, base, sortie CDN, stockage images, tokens IA, e-mail, push, frais carte bancaire. Garde-fous : pas d'IA sans clic, plafond par session, tuiles statiques plutôt que raster à l'usage si le droit le permet, agrégats plutôt que logs infinis.
Alerte budget : à configurer chez l'hébergeur le jour où il y a une dépense. Pas une alerte fictive.
PWA
Manifest et service worker : shell offline + derniers lieux déjà chargés en cache. Pas une copie offline de toute la ville. Push : P1, permission séparée, THIRD-PARTY (navigateur + éventuellement un push service).
Disponibilité
Pas de SLO numérique dans ce document. Le jour du lancement : écrire l'objectif avec le contrat hébergeur, mesurer, sinon ne pas l'afficher sur un status page fantôme.
Décision
- Choix : une app UE, Postgres UE, providers optionnels dégradables, pas d'orchestration lourde.
- Risque : Vercel + PostGIS + cron est un assemblage à prouver, pas une architecture déjà validée.
IMPLEMENTED — NOT YET VALIDATEDà l'heure du premier déploiement. - Multi-ville : le même déploiement sert N villes. Pas un cluster par ville.