ADR-006 — Domain without WordPress¶
Statut¶
Accepted.
Contexte¶
Le legacy contient une logique métier de haute valeur dans includes/platform/domain-core.
Cette logique est encore encapsulée dans un contexte WordPress :
- garde
ABSPATH; - chargements
require_once; - fonctions globales procédurales ;
- absence d'interfaces explicites.
Cela ne remet pas en cause la qualité métier, mais empêche le Domain d'être totalement indépendant.
Décision¶
Le Domain de CMonChoix Platform V2 doit être indépendant de WordPress.
Le Domain ne doit jamais dépendre de :
- WordPress ;
- SQL ;
- Runtime ;
- Pipeline ;
- Frontend ;
- Admin ;
- CLI ;
- HTTP ;
- Docker ;
- fichiers système.
Règles¶
Le Domain expose des concepts, policies et domain services.
Il ne gère jamais :
- son chargement ;
- son bootstrap ;
- son stockage ;
- son affichage ;
- ses appels réseau ;
- son exécution WordPress.
Cible¶
Les fonctions procédurales legacy seront progressivement transformées en responsabilités explicites :
- Candidate Factory ;
- Canonical Identity Factory ;
- Candidate Selection Policy ;
- Identity Resolver ;
- Projection Builder ;
- Quality Evaluator ;
- Conflict Policies.
Conséquences¶
Le code legacy n'est pas modifié immédiatement.
La migration se fera responsabilité par responsabilité.
Le legacy reste source de connaissance.
La Platform cible devient indépendante, testable et portable.
Classification¶
- Logique métier legacy : KEEP / MIGRATE
- Couplage WordPress : REWRITE
ABSPATHdans Domain cible : INTERDITrequire_oncedans Domain cible : INTERDIT- fonctions globales dans Domain cible : À remplacer progressivement