Aller au contenu principal

ENG-001.1 — Audit de DMV Core

EpicEPIC-001 — Restructuration de DMV Core
IDENG-001.1
PrioritéP0
StatutRapport produit
ResponsableArchitecture
ExécutionCodex
LivrableRapport d'audit DMV Core

Objectif

Produire un audit complet de l'implémentation actuelle de DMV Core.

Cette mission ne modifie aucun code.

Son objectif est de comparer l'implémentation actuelle avec l'architecture cible afin de préparer la migration.

À l'issue de cette mission, nous devons disposer d'une cartographie complète du backend.

Hors périmètre

Cette mission ne doit pas :

  • modifier du code ;
  • déplacer des fichiers ;
  • créer de nouveaux modules ;
  • modifier l'API ;
  • modifier la base de données.

Elle consiste uniquement à observer et documenter.

Références

Cette mission doit s'appuyer sur :

  • la documentation d'architecture DMV ;
  • les ADR validées ;
  • les RFC validées ;
  • la roadmap d'ingénierie.

L'architecture cible est considérée comme la référence.

Travail demandé

1. Cartographie des modules

Identifier tous les modules présents dans DMV Core.

Pour chacun :

  • emplacement ;
  • responsabilité ;
  • dépendances ;
  • interfaces publiques ;
  • événements ;
  • accès aux données.

2. Cartographie des Bounded Contexts

Pour chaque Bounded Context défini dans l'architecture :

  • existe-t-il ?
  • est-il complet ?
  • est-il fragmenté ?
  • est-il mélangé avec un autre contexte ?
  • est-il absent ?

Produire un tableau récapitulatif.

3. Ownership des données

Lister toutes les tables métier.

Pour chacune :

  • contexte propriétaire ;
  • lectures externes ;
  • écritures externes ;
  • conformité.

4. Dépendances

Identifier :

  • dépendances entre modules ;
  • dépendances circulaires ;
  • accès directs aux repositories d'un autre contexte ;
  • services partagés ;

Classer :

  • conforme ;
  • à corriger.

5. Événements métier

Lister :

  • événements existants ;
  • producteurs ;
  • consommateurs.

Comparer avec les RFC.

Identifier les événements manquants.

6. API

Cartographier :

  • contrôleurs ;
  • endpoints ;
  • modules appelés.

Identifier les incohérences.

7. Platform Services

Identifier les services qui devraient devenir des Platform Services.

  • Authorization ;
  • Notification ;
  • Search ;
  • Storage ;
  • Geocoding ;
  • Files.

Évaluer leur état actuel.

8. Violations architecturales

Identifier :

  • logique métier dans Controllers ;
  • logique métier dans Requests ;
  • logique métier dans Policies ;
  • logique métier dans Jobs ;
  • dépendances interdites.

Pour chaque violation :

  • localisation ;
  • gravité ;
  • recommandation.

9. Dette technique

Identifier :

  • TODO ;
  • Legacy ;
  • duplications ;
  • code mort ;
  • Helpers inutiles ;
  • Abstractions inutiles.

10. Plan de migration

Découper la restructuration en missions d'implémentation.

Chaque proposition doit être :

  • indépendante ;
  • testable ;
  • réversible ;
  • mergeable.

Livrables attendus

Rapport d'audit

Description complète de l'état actuel de DMV Core.

Tableau des Bounded Contexts

ContextÉtat actuelÉtat ciblePriorité

Tableau des violations

ÉlémentGravitéRecommandation

Plan des Pull Requests

PRObjectifDépendancesPriorité

Score de conformité

Attribuer un score argumenté concernant :

  • Architecture ;
  • Bounded Contexts ;
  • Ownership ;
  • API ;
  • Events ;
  • Platform Services.

Puis un score global.

Critères d'acceptation

La mission est terminée lorsque :

  • tous les modules sont cartographiés ;
  • tous les Bounded Contexts sont évalués ;
  • toutes les violations sont identifiées ;
  • le plan de migration est produit ;
  • aucun code n'a été modifié.

Définition de Done

  • Audit terminé.
  • Rapport produit.
  • Cartographie validée.
  • Plan de migration validé.

Cette mission ne produit aucun changement fonctionnel.