Ingestion des flux¶
Vue d'ensemble¶
L'ingestion des flux constitue le point d'entrée de la Platform CMonChoix.
Sa responsabilité est de récupérer les données publiées par les différents marchands et de les rendre disponibles pour les traitements suivants du Pipeline.
À cette étape, aucune interprétation métier n'est réalisée.
Les données sont considérées comme une représentation fidèle des informations fournies par chaque marchand.
L'objectif est uniquement de garantir leur disponibilité, leur traçabilité et leur intégrité.
Position dans le Pipeline¶
L'ingestion est la première étape de la chaîne de traitement.
Marchands
│
▼
Ingestion des flux
│
▼
Stage
│
▼
Normalisation
Toutes les étapes suivantes reposent sur la qualité de cette phase.
Responsabilités¶
L'ingestion est responsable de :
- récupérer les fichiers publiés par les marchands ;
- vérifier leur disponibilité ;
- enregistrer les métadonnées associées ;
- conserver une trace de chaque téléchargement ;
- transmettre les données au Stage.
Elle ne réalise aucun traitement métier.
Ce que l'ingestion ne fait jamais¶
L'ingestion ne doit jamais :
- classifier un produit ;
- modifier un prix ;
- corriger une catégorie ;
- enrichir une donnée ;
- construire une identité canonique ;
- produire une projection.
Toutes ces responsabilités appartiennent aux étapes suivantes du Pipeline.
Sources de données¶
La Platform peut intégrer plusieurs types de sources.
Par exemple :
- flux XML ;
- flux CSV ;
- flux JSON ;
- API partenaires ;
- exports propriétaires.
Quel que soit leur format, toutes les sources suivent ensuite le même Pipeline.
Intégrité¶
L'ingestion cherche à préserver les données d'origine.
Les informations reçues ne doivent pas être transformées avant leur passage dans le Stage.
Cette règle facilite :
- les audits ;
- les comparaisons ;
- les réexécutions ;
- les analyses d'incident.
Le Stage constitue ainsi une photographie fidèle du flux reçu.
Traçabilité¶
Chaque import doit pouvoir être retracé.
Les informations suivantes doivent notamment être conservées :
- origine du flux ;
- marchand ;
- date et heure d'import ;
- version éventuelle ;
- taille du fichier ;
- résultat du téléchargement.
Cette traçabilité facilite les investigations lorsqu'une anomalie est détectée.
Tolérance aux erreurs¶
Une erreur d'import ne doit pas compromettre l'ensemble de la Platform.
Lorsque cela est possible :
- l'erreur est isolée ;
- elle est journalisée ;
- le diagnostic est facilité ;
- les autres traitements restent indépendants.
Cette isolation améliore la robustesse du système.
Invariants¶
L'ingestion respecte plusieurs règles fondamentales.
Fidélité¶
Les données reçues sont conservées sans interprétation métier.
Déterminisme¶
Un même fichier produit toujours les mêmes données d'entrée pour le Pipeline.
Traçabilité¶
Chaque téléchargement est identifiable.
Isolation¶
Une erreur d'import ne doit pas contaminer les autres étapes du Pipeline.
Évolution¶
L'arrivée de nouveaux marchands ne doit pas modifier l'architecture générale du Pipeline.
L'ingestion doit rester une couche technique, indépendante des métiers et des verticales.
Toute logique métier doit être introduite ultérieurement, lors des phases de normalisation ou d'enrichissement.