Normalisation¶
Vue d'ensemble¶
La normalisation transforme les données hétérogènes provenant des marchands en une représentation commune exploitable par le Domain Core.
Cette étape constitue la frontière entre les données d'origine et le modèle interne de la Platform.
Son objectif n'est pas de résoudre les produits, mais de préparer les informations qui permettront ensuite de construire une Canonical Product Identity fiable.
La qualité de la normalisation conditionne directement la qualité de l'ensemble du Pipeline.
Position dans le Pipeline¶
Ingestion
│
▼
Stage
│
▼
Normalisation
│
▼
Enrichissement
│
▼
Domain Core
La normalisation intervient immédiatement après le Stage.
Objectifs¶
La normalisation poursuit plusieurs objectifs.
Elle doit notamment :
- harmoniser les données issues des différents marchands ;
- supprimer les différences de représentation ;
- préparer les informations utilisées par le Domain Core ;
- produire un modèle cohérent quelle que soit la source des données.
Cette étape ne cherche pas encore à déterminer si deux offres représentent le même produit.
Pourquoi normaliser ?¶
Chaque marchand possède sa propre manière de décrire un produit.
Par exemple :
- les noms de marques peuvent varier ;
- les capacités peuvent être exprimées différemment ;
- les couleurs utilisent des libellés commerciaux variés ;
- les catégories suivent des taxonomies différentes.
Sans normalisation, le Domain Core devrait gérer toutes ces variations.
La normalisation réduit cette complexité.
Responsabilités¶
La normalisation est notamment responsable de :
- l'harmonisation des identifiants ;
- la normalisation des marques ;
- la préparation des références constructeur ;
- la standardisation des unités ;
- la normalisation des catégories ;
- la préparation des attributs métier.
Chaque transformation doit rester déterministe.
Ce que la normalisation ne fait jamais¶
La normalisation ne doit jamais :
- fusionner deux produits ;
- choisir un candidat ;
- résoudre une identité ;
- construire une projection ;
- appliquer une règle d'affichage.
Ces responsabilités appartiennent au Domain Core et au Runtime.
Déterminisme¶
La normalisation doit toujours produire le même résultat pour une même donnée d'entrée.
Cette propriété permet :
- les audits ;
- les simulations ;
- les comparaisons ;
- les Virtual Patch ;
- les validations.
Le comportement doit être reproductible.
Relation avec les Vertical Modules¶
Le Pipeline contient les mécanismes généraux de normalisation.
Lorsqu'un domaine métier nécessite une logique spécifique, celle-ci est apportée par le Vertical Module concerné.
Par exemple :
- Smartphone ;
- Photo ;
- Gaming ;
- Printer.
Cette organisation évite de spécialiser inutilement le Pipeline.
Contrôle qualité¶
La normalisation prépare les données utilisées par les composants Quality et Health du Domain Core.
Une normalisation incomplète peut entraîner :
- une baisse du score de qualité ;
- des ambiguïtés de résolution ;
- des projections incorrectes.
La qualité de cette étape est donc essentielle.
Traçabilité¶
Chaque donnée normalisée doit pouvoir être reliée :
- à sa valeur d'origine ;
- au marchand ;
- au flux importé ;
- à la règle de normalisation appliquée.
Cette traçabilité facilite les audits et les investigations.
Exemple¶
Deux marchands décrivent le même smartphone.
Le premier indique :
Apple Iphone16ProMax 256Go Black Titanium
Le second :
APPLE iPhone 16 Pro Max 256 GB Titane Noir
La normalisation harmonise ces représentations afin que le Domain Core puisse les comparer sur une base commune.
Elle ne décide pas encore qu'il s'agit du même produit.
Invariants¶
La normalisation respecte les principes suivants.
Neutralité¶
Elle prépare les données.
Elle ne prend aucune décision métier.
Déterminisme¶
Une même entrée produit toujours la même sortie.
Traçabilité¶
Chaque transformation reste explicable.
Réutilisation¶
Les règles communes sont partagées entre toutes les verticales.
Les règles spécifiques restent confinées dans les Vertical Modules.
Évolution¶
La normalisation évoluera progressivement avec l'apparition de nouvelles verticales et de nouveaux marchands.
Toute évolution devra préserver :
- la stabilité du Pipeline ;
- la compatibilité avec le Domain Core ;
- la reproductibilité des traitements ;
- la traçabilité complète des transformations.
La normalisation constitue ainsi l'une des fondations techniques de la Platform.