Aller au contenu

Plan de migration

Vue d'ensemble

La migration de CMonChoix vers Platform V2 est réalisée progressivement.

L'objectif n'est pas de remplacer brutalement le plugin historique.

L'objectif est de construire une nouvelle Platform tout en garantissant la stabilité du site en production.

Chaque étape est validée avant de passer à la suivante.

La migration est volontairement incrémentale.


Principes

Le plan de migration respecte plusieurs principes.

  • aucune régression fonctionnelle ;
  • aucun changement massif ;
  • validation systématique ;
  • rollback possible ;
  • architecture cible prioritaire ;
  • suppression progressive du legacy.

Chaque étape produit une Platform plus propre que la précédente.


Vue globale

Documentation
        │
        ▼
Audit
        │
        ▼
Contracts
        │
        ▼
Domain Core
        │
        ▼
Read Services
        │
        ▼
Write Services
        │
        ▼
Modules
        │
        ▼
Pipeline
        │
        ▼
Runtime
        │
        ▼
WordPress Adapter
        │
        ▼
Suppression Legacy

Chaque étape prépare la suivante.


Phase 1 — Documentation

Objectif :

Construire une documentation suffisamment précise pour servir de référence pendant toute la migration.

Livrables :

  • Architecture
  • Contracts
  • Domain Core
  • Migration
  • ADR

Cette phase est pratiquement terminée.


Phase 2 — Audit

Objectif :

Comprendre parfaitement l'architecture historique.

Chaque dossier est analysé.

Chaque fichier est classifié.

Aucun composant n'est migré sans audit.

Cette étape permettra de distinguer :

  • la logique métier ;
  • les dépendances historiques ;
  • les patchs ;
  • les optimisations ;
  • les composants devenus inutiles.

Phase 3 — Contracts

Objectif :

Stabiliser les contrats de la Platform.

Les contrats définissent les interfaces entre les différents composants.

Ils doivent être finalisés avant toute migration importante.


Phase 4 — Domain Core

Le Domain Core devient la source unique de vérité.

Tous les concepts métier doivent progressivement y être centralisés.

Par exemple :

  • Canonical Identity ;
  • Resolver ;
  • Projection ;
  • Quality ;
  • Promotions ;
  • Helpers.

Aucun traitement métier ne doit contourner le Domain Core.


Phase 5 — Read Services

Les Read Services regroupent tous les traitements en lecture.

Ils permettent notamment :

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

Ils ne modifient jamais les données.


Phase 6 — Write Services

Les Write Services deviennent les seuls composants autorisés à modifier les données.

Ils remplacent progressivement les écritures dispersées dans l'ancien plugin.

Cette centralisation améliore :

  • la traçabilité ;
  • la sécurité ;
  • les possibilités de rollback.

Phase 7 — Modules

Chaque verticale devient un module indépendant.

Les anciens composants issus de :

  • includes/verticals
  • includes/application
  • runtime/vertical-normalizers

sont progressivement remplacés par :

platform/modules/<vertical>/

Chaque module respecte les mêmes contrats.


Phase 8 — Pipeline

Le Pipeline est progressivement simplifié.

Les règles génériques restent dans le Pipeline.

Les règles spécifiques sont déplacées vers les Modules.

Le Pipeline devient un orchestrateur de traitements plutôt qu'un ensemble de règles métier.


Phase 9 — Runtime

Le Runtime conserve uniquement les responsabilités d'orchestration.

Toute logique métier est déplacée ailleurs.

Le Runtime devient responsable de :

  • l'exécution ;
  • le scheduling ;
  • le monitoring ;
  • les états d'exécution.

Phase 10 — WordPress

WordPress devient uniquement une couche d'intégration.

Il expose :

  • le frontend ;
  • l'administration ;
  • les hooks ;
  • les commandes CLI ;
  • les points d'entrée HTTP.

Toute logique métier profonde appartient à la Platform.


Phase 11 — Suppression du legacy

La suppression intervient uniquement lorsque :

  • le composant est remplacé ;
  • les tests sont validés ;
  • les KPI sont identiques ;
  • le rollback est possible.

Aucun composant n'est supprimé simplement parce qu'il est ancien.


Critère de fin de migration

La migration sera considérée comme terminée lorsque :

  • Platform sera le seul moteur métier ;
  • WordPress ne sera plus qu'un adaptateur ;
  • les composants legacy auront disparu ;
  • les doublons auront été supprimés ;
  • chaque module respectera les Contracts ;
  • toute la documentation sera alignée avec l'architecture réelle.

Vision

Cette migration ne vise pas uniquement à moderniser le code.

Elle vise à construire une architecture capable d'évoluer pendant de nombreuses années sans recréer une nouvelle dette technique.

Chaque décision prise pendant cette migration doit être évaluée selon une seule question :

Cette décision rend-elle la Platform plus simple, plus cohérente et plus durable ?

Si la réponse est non, alors la décision doit être réévaluée.


Voir aussi

  • Présentation de la migration
  • Méthodologie
  • Classification des composants
  • Architecture
  • Domain Core
  • Pipeline
  • Runtime