Aller au contenu

Principes

Les principes constituent les règles fondamentales qui guident toutes les décisions d'architecture de CMonChoix Platform.


Sommaire

  • Pourquoi des principes ?
  • Les principes fondamentaux
  • Séparation des responsabilités
  • Modularité
  • Réutilisabilité
  • Testabilité
  • Compatibilité
  • Industrialisation
  • Voir aussi

Pourquoi des principes ?

Une architecture n'est durable que si toutes les décisions techniques suivent les mêmes règles.

Les principes présentés dans ce document servent de référence lors de chaque évolution du projet.

Ils permettent d'éviter les régressions, les dépendances inutiles et les choix contradictoires.


Les principes fondamentaux

1. Une responsabilité unique

Chaque composant possède une responsabilité clairement définie.

Par exemple :

  • le Domain Core définit les concepts métier ;
  • les Vertical Modules apportent les règles spécifiques ;
  • le Pipeline transforme les données ;
  • le Runtime orchestre les traitements ;
  • le Frontend affiche les informations.

Une couche ne doit jamais réaliser le travail d'une autre.


2. Une seule source de vérité

Chaque information métier importante possède une seule source officielle.

Exemples :

Information Source
Canonical Identity Domain Core
Quality Score Domain Core
Promotions Promotions
Health Health
Projection Projection

Toute duplication est interdite sauf justification explicite.


3. Séparation des responsabilités

Les responsabilités doivent rester clairement isolées.

Feeds
    │
    ▼
Pipeline
    │
    ▼
Domain Core
    │
    ▼
Runtime
    │
    ▼
Frontend

Chaque couche ne connaît que ce qu'elle doit connaître.


4. Modularité

Chaque module doit pouvoir évoluer indépendamment.

Par exemple, une nouvelle verticale ne doit jamais nécessiter une modification du Domain Core.


5. Réutilisabilité

Tout composant générique doit pouvoir être partagé entre plusieurs verticales.

Une logique utilisée uniquement par une verticale n'a pas sa place dans le Core.


6. Testabilité

Chaque composant doit pouvoir être testé indépendamment.

Les Read Services permettent :

  • les audits ;
  • les comparaisons ;
  • les simulations ;
  • les rapports.

Sans modifier les données.


7. Compatibilité

Les migrations doivent rester progressives.

Le legacy continue de fonctionner tant que le nouveau système n'est pas entièrement validé.

Les wrappers et les shims assurent cette compatibilité.


8. Industrialisation

Toute évolution doit pouvoir être reproduite.

Les validations reposent systématiquement sur :

  • des KPI ;
  • des audits ;
  • des comparaisons avant/après ;
  • des sauvegardes ;
  • un rollback simple.

Ce que ces principes interdisent

Les principes interdisent notamment :

  • d'ajouter une règle métier dans le Frontend ;
  • de placer une logique de verticale dans le Domain Core ;
  • de recalculer une information déjà disponible ;
  • d'introduire une dépendance circulaire ;
  • de mélanger lecture et écriture ;
  • de modifier directement une donnée sans procédure adaptée.

Conclusion

Ces principes garantissent une architecture :

  • stable ;
  • maintenable ;
  • évolutive ;
  • réutilisable ;
  • industrialisable.

Ils constituent la base de toutes les décisions techniques prises dans CMonChoix Platform.


Voir aussi

  • Vision
  • Invariants
  • Dépendances
  • Identifier First
  • Domain Core