Aller au contenu

Domaine Feed — réception des publications marchands

Statut

Capacité métier officielle de CMonChoix Platform.

À quoi sert le domaine Feed ?

Le domaine Feed décrit la frontière d'entrée des publications marchands dans CMonChoix.

Son rôle est simple : recevoir et tracer ce qu'un marchand a publié, sans encore essayer d'interpréter les produits.

C'est important, car une donnée brute doit rester identifiable et vérifiable avant que les couches suivantes commencent à la normaliser, l'enrichir ou la rattacher à un produit canonique.

Exemple concret

Supposons qu'un marchand publie un fichier contenant 50 000 offres.

Le domaine Feed doit permettre de répondre à des questions comme :

  • de quel marchand vient cette publication ?
  • quelle source l'a fournie ?
  • quand a-t-elle été importée ?
  • quel import a pris cette publication en charge ?
  • l'import a-t-il réussi, échoué ou été partiellement exploitable ?

En revanche, ce domaine ne doit pas encore décider si Samsung Galaxy S26 256 Go Noir correspond à tel ou tel produit canonique.

Cette interprétation vient plus tard.

Position dans le flux global

Publication du marchand
        ↓
Domaine Feed
        ↓
Import traçable et lot brut
        ↓
Stage
        ↓
Normalisation / enrichissement
        ↓
Résolution produit
        ↓
Projection

Le domaine Feed constitue donc la porte d'entrée métier de la publication marchande.

Ce que le domaine Feed possède

Il est responsable de :

  • l'identification de la source ;
  • la réception d'une publication ;
  • l'identification d'un import ;
  • la traçabilité de l'import ;
  • la définition du lot brut importé ;
  • la description explicite du résultat de l'import.

Ce qu'il ne doit jamais faire

Le domaine Feed ne doit pas contenir :

  • de résolution d'identité produit ;
  • de règles de normalisation ;
  • d'enrichissement produit ;
  • de construction de projection ;
  • de logique d'affichage ;
  • de logique propre à WordPress ;
  • d'orchestration Runtime ;
  • de détails d'infrastructure.

Pourquoi ? Parce que le Feed doit préserver ce qui a été reçu avant toute interprétation. Si l'import modifie déjà silencieusement les données, il devient impossible de distinguer ce que le marchand a réellement envoyé de ce que CMonChoix a déduit ensuite.

Les quatre invariants principaux

Un invariant est une règle qui doit rester vraie en permanence.

Le domaine Feed impose notamment :

  1. chaque import est identifiable de manière unique ;
  2. chaque lot brut reste fidèle à la publication reçue ;
  3. la traçabilité de l'import est obligatoire ;
  4. le résultat de l'import reste explicite.

Voir Invariants du domaine Feed.

Que signifie « Value Object » ?

Un Value Object est un petit objet métier défini par sa valeur plutôt que par une identité propre et mutable.

Dans le domaine Feed, les principaux Value Objects sont :

  • MerchantImportId : identifie un import ;
  • MerchantImportMetadata : décrit le contexte de traçabilité ;
  • MerchantImportResult : décrit le résultat de l'import.

Voir Value Objects du domaine Feed.

Exemple de diagnostic

Si une synchronisation affiche plus tard une donnée incohérente, il peut être utile de revenir jusqu'au domaine Feed pour répondre à une question fondamentale :

Est-ce que cette information était déjà présente dans la publication du marchand, ou est-elle apparue pendant une transformation ultérieure ?

La séparation du Feed permet justement de faire cette distinction.

Ordre de lecture conseillé

  1. cette page ;
  2. Invariants ;
  3. Value Objects ;
  4. Pipeline pour comprendre ce qui arrive après l'entrée du feed.

Pour une reprise du projet

Si un import marchand pose problème, ne commence pas par modifier les règles produit.

Vérifie d'abord :

  1. quelle source est concernée ;
  2. quelle publication a été reçue ;
  3. quel import l'a traitée ;
  4. quel résultat d'import a été enregistré ;
  5. si le lot brut est fidèle à la publication.

Si ces éléments sont corrects, le problème se situe probablement dans une couche située après le domaine Feed.

Décision d'architecture

Décision : FOUNDATION

Cette page reste le point d'entrée officiel du domaine Feed pour la capacité de réception des publications marchands.