Infrastructure globale
Statut
Document de cadrage DevOps — version initiale.
Objectif
Ce document décrit la vision d'infrastructure de DMV et les éléments visibles dans le workspace.
La cible doit rester simple, robuste, progressive, réversible et exploitable par une petite équipe.
Vue d'ensemble
DMV repose sur :
- une API Laravel centrale ;
- un site public Next.js ;
- un backoffice React/Vite ;
- une approche PWA/mobile-first ;
- plusieurs applications connectées : DMV, PlayLoop, AssoSuite, Mairie et futures apps ;
- une architecture progressive, capable de démarrer simplement puis de scaler.
État actuel visible
Le workspace contient un dossier deployment avec :
deployment/nginx.conf;deployment/supervisor.conf;deployment/deploy.sh;deployment/install.sh;deployment/crontab.txt;deployment/.env.production.example.
Ces fichiers confirment une cible d'exploitation API Laravel sur VPS Linux avec Nginx, PHP-FPM, Supervisor, Redis, cron et Certbot.
Le workspace contient aussi :
apipour le backend Laravel ;dmv-publicpour le frontend public Next.js ;dmv_backofficepour le backoffice React/Vite ;- des fichiers
.envou exemples d'environnement dans plusieurs apps ; - des éléments Supabase historiques ;
- des dépendances Cloudflare côté frontend public via Turnstile.
Architecture cible
| Couche | Rôle |
|---|---|
| Cloudflare | DNS, proxy, TLS, protection, cache statique et services edge si retenus. |
| Frontends | Interfaces publiques, backoffice et apps connectées. |
| API Laravel | Cœur métier, auth, droits, publications, IA Gateway cible. |
| PostgreSQL | Base relationnelle principale. |
| Redis | Cache, queues et traitements asynchrones. |
| Supervisor | Workers Laravel. |
| Cron | Laravel Scheduler. |
| Stockage | Médias, documents, backups et contenus PlayLoop. |
Principes
- Commencer simple.
- Documenter les choix opérationnels.
- Garder la logique métier côté API.
- Éviter les dépendances provider non réversibles.
- Séparer local, dev, staging et production.
- Automatiser sans rendre le système opaque.
- Observer avant d'optimiser.
État actuel vs cible
| Sujet | État actuel visible | Vision cible |
|---|---|---|
| API | Laravel avec scripts VPS. | API centrale mutualisée et monitorée. |
| Frontends | Next.js et React/Vite. | Déploiements séparés et traçables. |
| Cloudflare | Stratégique selon contexte ; config effective à confirmer. | DNS/proxy/cache/protection maîtrisés. |
| VPS | Scripts Debian, Nginx, PHP-FPM, Redis, Supervisor. | Base simple puis scaling par métriques. |
| Docker | Aucun Dockerfile ou compose projet visible. | Standardisation possible, non obligatoire. |
| CI/CD | Workflows projet non confirmés dans l'inspection locale hors dépendances. | Pipeline de tests/build/déploiement contrôlé. |
Risques et points à clarifier
- Environnement de production réel.
- Version PHP cible :
composer.jsondemande PHP 8.3, les scripts de déploiement utilisent PHP 8.2. - Rôle final de Supabase.
- Stratégie de sauvegardes.
- Stockage médias.
- Monitoring et alerting production.
- Déploiement des frontends.