Aller au contenu

Présentation du Pipeline

Vue d'ensemble

Le Pipeline constitue la chaîne de transformation des données de la Platform CMonChoix.

Sa mission est de convertir des données marchandes hétérogènes en une représentation métier cohérente, exploitable par le Domain Core puis par le reste de la Platform.

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

Aucune étape ne doit empiéter sur les responsabilités d'une autre.

Cette séparation permet de faire évoluer le Pipeline progressivement tout en conservant un comportement déterministe.


Objectifs

Le Pipeline poursuit quatre objectifs principaux :

  • transformer les données brutes des marchands ;
  • construire une représentation normalisée des produits ;
  • produire une Canonical Product Identity stable ;
  • préparer les projections utilisées par le Runtime et le Frontend.

Le Pipeline ne contient aucune logique d'affichage.

Il prépare exclusivement les données.


Position dans l'architecture

Le Pipeline fait le lien entre les flux marchands et le Domain Core.

Marchands
      │
      ▼
Téléchargement des feeds
      │
      ▼
Stage
      │
      ▼
Normalisation
      │
      ▼
Enrichissement
      │
      ▼
Domain Core
      │
      ▼
Projection
      │
      ▼
Runtime
      │
      ▼
Frontend

Chaque étape enrichit progressivement les données sans remettre en cause les traitements déjà réalisés.


Philosophie

Le Pipeline applique un principe simple :

Chaque étape résout un problème unique.

Par exemple :

  • le téléchargement récupère les données ;
  • le Stage les conserve sans interprétation ;
  • la normalisation harmonise leur représentation ;
  • le Domain Core construit l'identité ;
  • la Projection prépare les données destinées à la lecture.

Cette décomposition facilite les audits et les évolutions.


Les grandes étapes

Téléchargement

Le Pipeline commence par récupérer les flux transmis par les marchands.

Chaque source conserve son format d'origine.

À ce stade, aucune logique métier n'est appliquée.


Stage

Les données brutes sont ensuite stockées dans une zone de travail.

Cette étape permet :

  • de conserver une copie fidèle des informations reçues ;
  • de faciliter les audits ;
  • de rejouer un traitement si nécessaire.

Le Stage constitue la source de référence des données importées.


Normalisation

La normalisation transforme les représentations propres à chaque marchand en un modèle commun.

Par exemple :

  • les formats sont harmonisés ;
  • les identifiants sont normalisés ;
  • les catégories sont rapprochées ;
  • les valeurs sont converties lorsque cela est nécessaire.

Cette étape ne cherche pas encore à identifier les produits.


Enrichissement

L'enrichissement complète les informations disponibles.

Il peut notamment :

  • compléter certains attributs ;
  • améliorer les identifiants ;
  • préparer les données utilisées par le Domain Core.

Les enrichissements restent déterministes.

Ils ne doivent jamais masquer les données d'origine.


Construction de l'identité

Le Domain Core construit ensuite une Canonical Product Identity.

Cette étape constitue le cœur fonctionnel de la Platform.

Elle repose sur :

  • les identifiants normalisés ;
  • les candidats ;
  • le Resolver ;
  • les règles génériques du Core ;
  • les éventuelles règles spécifiques des Vertical Modules.

Projection

Une fois l'identité construite, le Pipeline prépare une projection stable.

Cette projection constitue le contrat de lecture utilisé par :

  • le Runtime ;
  • le Frontend ;
  • les futurs consommateurs.

Le Frontend ne consulte jamais directement les données intermédiaires.


Invariants

Le Pipeline respecte plusieurs règles fondamentales.

Responsabilités clairement séparées

Chaque étape possède un objectif unique.

Une étape ne doit jamais reproduire le travail d'une autre.


Déterminisme

À données identiques, le Pipeline doit produire le même résultat.

Cette propriété facilite les audits, les simulations et les comparaisons.


Aucune logique de présentation

Le Pipeline prépare les données.

Il ne décide jamais de leur affichage.

Les choix d'interface appartiennent exclusivement au Frontend.


Traçabilité

Chaque transformation doit pouvoir être expliquée.

Il doit être possible de comprendre :

  • d'où provient une donnée ;
  • quelles transformations elle a subies ;
  • quelle étape a produit le résultat observé.

Industrialisation

Le Pipeline est développé selon la même méthode que le reste de la Platform.

Chaque évolution importante est précédée par :

  • des audits ;
  • des simulations ;
  • un Virtual Patch lorsque nécessaire ;
  • une validation des KPI.

Cette approche garantit une évolution progressive sans remettre en cause les traitements déjà validés.


Évolution

Le Pipeline continuera de s'enrichir avec l'arrivée de nouvelles verticales et de nouveaux marchands.

Son architecture restera néanmoins fondée sur les mêmes principes :

  • séparation des responsabilités ;
  • transformations déterministes ;
  • composants faiblement couplés ;
  • validation systématique avant toute évolution.

Cette stabilité est essentielle à la maintenabilité de la Platform.


Voir aussi