Engineering Handbook
Guide de référence officiel pour tous les développements de l'écosystème DMV.
| Statut | Actif — v1.0 — 2026-06-27 |
| Priorité | P0 |
| Responsable | Sylvain |
Périmètre
Ce handbook s'applique à tous les projets DMV présents et futurs :
- dmv-public — Site public Next.js
- dmv-workspace — Mon Espace (Next.js)
- api — API Laravel
- Coach, AssoSuite, PlayLoop — Applications futures
Principe directeur
Simplicité avant sophistication. Un moteur unique plutôt que plusieurs implémentations. Ce qui ne peut pas être maintenu pendant 3 ans ne doit pas être créé.
Handbook
| Document | Rôle | Priorité |
|---|---|---|
| Standards | Code, qualité, architecture | P0 |
| Playbook Git | Branches, commits, PR | P0 |
| Playbook CI | GitHub Actions, pipelines | P0 |
| Playbook Testing | Stratégie de tests | P1 |
| Playbook Playwright | Tests E2E, parcours critiques | P1 |
| Playbook Security | Sécurité CI/CD, dépendances, secrets | P0 |
| Playbook Monitoring | Surveillance post-déploiement | P1 |
| Playbook Backup | Sauvegardes et restauration | P0 |
| Playbook Release | Déploiement, rollback | P0 |
Checklists
| Document | Rôle |
|---|---|
| Release Checklist | Vérifications avant chaque mise en production |
| Onboarding Checklist | Mise en place d'un nouveau développeur |
| Server Checklist | Configuration d'un nouveau serveur |
Epics
| Document | Rôle |
|---|---|
| EPIC-001 — Restructuration DMV Core | Pilotage du chantier de restructuration backend autour des Bounded Contexts |
Specs
| Document | Rôle |
|---|---|
| ENG-001.1 — Audit DMV Core | Audit et plan de restructuration backend avant migration DMV Core |
| ENG-001.1 — Rapport d'audit DMV Core | Résultat de l'audit DMV Core, violations et plan de PR |
| ENG-001.2 — Contrats inter-contextes | Introduction des contrats publics entre Bounded Contexts |
| ENG-001.2 — Rapport d'implémentation | Contrats créés, bindings Laravel et validations de PR-001 |
| ENG-001.3 — Découplage Actor → Monetization | Suppression de l'écriture directe d'Actor dans actor_subscriptions (PR-002) |
| ENG-001.3 — Rapport d'implémentation | Contrat ensureFreeSubscription(), arbitrage architecte et validations de PR-002 |
| ENG-001.4 — Territory Bounded Context | Spécification : mise en conformité de Territory (écritures croisées vers Actor et données municipales), arbitrages à valider |
| ENG-001.4 — Rapport d'implémentation | Contrats ActorWriter::applySireneRefresh() / ActorReader::findById|findBySiret|findBySiren, tests et validations |
| ENG-001.5 — Extraction de Municipal Management | Spécification : cartographie du métier municipal fragmenté (Mairie/Territory/Admin/Actor), découpage de PR proposé, arbitrages à valider |
Templates GitHub Actions
Copier dans .github/workflows/ du projet cible.
| Template | Usage |
|---|---|
| frontend-ci.yml | CI Next.js — lint, typecheck, build |
| backend-ci.yml | CI Laravel — Pint, PHPStan, tests |
| playwright.yml | Tests E2E Playwright |
| security.yml | Détection secrets, audit dépendances |