Aller au contenu principal

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 :

  • api pour le backend Laravel ;
  • dmv-public pour le frontend public Next.js ;
  • dmv_backoffice pour le backoffice React/Vite ;
  • des fichiers .env ou exemples d'environnement dans plusieurs apps ;
  • des éléments Supabase historiques ;
  • des dépendances Cloudflare côté frontend public via Turnstile.

Architecture cible

CoucheRôle
CloudflareDNS, proxy, TLS, protection, cache statique et services edge si retenus.
FrontendsInterfaces publiques, backoffice et apps connectées.
API LaravelCœur métier, auth, droits, publications, IA Gateway cible.
PostgreSQLBase relationnelle principale.
RedisCache, queues et traitements asynchrones.
SupervisorWorkers Laravel.
CronLaravel Scheduler.
StockageMé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 visibleVision cible
APILaravel avec scripts VPS.API centrale mutualisée et monitorée.
FrontendsNext.js et React/Vite.Déploiements séparés et traçables.
CloudflareStratégique selon contexte ; config effective à confirmer.DNS/proxy/cache/protection maîtrisés.
VPSScripts Debian, Nginx, PHP-FPM, Redis, Supervisor.Base simple puis scaling par métriques.
DockerAucun Dockerfile ou compose projet visible.Standardisation possible, non obligatoire.
CI/CDWorkflows 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.json demande 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.