Aller au contenu

Projection Builder Contract

Le contrat Projection Builder définit comment une Canonical Identity est transformée en une représentation exploitable par une couche consommatrice.

Une projection n'est jamais une nouvelle vérité métier. Elle est une vue construite à partir de la Canonical Identity.


Sommaire

  • Rôle
  • Pourquoi ce contrat ?
  • Entrées
  • Sorties
  • Responsabilités
  • Types de projections
  • Cycle de construction
  • Contraintes
  • Garde-fous
  • Exemples
  • État actuel
  • Voir aussi

Rôle

Le Projection Builder transforme une Canonical Identity en une représentation adaptée à un besoin précis.

Il ne modifie jamais l'identité.

Il la présente sous une forme exploitable.


Pourquoi ce contrat ?

Les consommateurs d'une identité ne recherchent pas tous les mêmes informations.

Par exemple :

  • le Frontend souhaite afficher une fiche produit ;
  • le moteur SEO souhaite construire des URLs ;
  • un comparateur souhaite afficher des différences ;
  • un export souhaite produire un fichier normalisé.

Tous utilisent la même Canonical Identity mais des projections différentes.


Entrées

Le Projection Builder peut recevoir :

  • Canonical Identity ;
  • Variants ;
  • Attributs normalisés ;
  • Quality Score ;
  • Promotion ;
  • Health Report ;
  • Métadonnées de contexte.

Sorties

Une projection peut produire :

  • un titre ;
  • une description ;
  • des attributs affichables ;
  • une structure SEO ;
  • une structure de comparaison ;
  • une représentation API ;
  • une représentation d'audit.

Responsabilités

Le Projection Builder est responsable de :

  • construire une vue cohérente ;
  • conserver la stabilité des champs ;
  • normaliser les formats de sortie ;
  • masquer les détails internes inutiles.

Il n'est pas responsable de :

  • résoudre une identité ;
  • modifier des données métier ;
  • recalculer un score ;
  • appliquer une règle de verticale.

Types de projections

Plusieurs familles de projections peuvent coexister.

Projection Frontend

Destinée à l'affichage utilisateur.


Projection SEO

Destinée aux URLs, balises et contenus indexables.


Projection Comparaison

Destinée aux comparateurs produits.


Projection Export

Destinée aux exports externes.


Projection Audit

Destinée aux Read Services.


Projection API

Destinée aux futurs services externes.


Cycle de construction

Canonical Identity
        │
        ▼
Projection Builder
        │
        ▼
Projection
        │
        ├── Frontend
        ├── SEO
        ├── API
        ├── Audit
        └── Export

Contraintes

Une projection doit toujours :

  • être déterministe ;
  • être reproductible ;
  • être stable ;
  • rester indépendante du Frontend.

Deux appels identiques doivent produire exactement la même projection.


Garde-fous

Le Projection Builder ne doit jamais :

  • modifier la Canonical Identity ;
  • créer une nouvelle identité ;
  • recalculer les règles métier ;
  • masquer un conflit ;
  • appliquer une policy de verticale.

Les Vertical Modules peuvent enrichir les données disponibles, mais jamais modifier le fonctionnement générique du Projection Builder.


Exemple Smartphone

Canonical Identity :

Apple
iPhone 16 Pro
256 Go
Titanium Black

Projection Frontend :

Apple iPhone 16 Pro 256 Go - Titane noir

Projection SEO :

/apple/iphone-16-pro-256-go-titane-noir/

Exemple Photo

Canonical Identity :

Canon
EF-S
55-250 mm
f/4-5.6 IS STM

Projection Frontend :

Canon EF-S 55-250 mm f/4-5.6 IS STM

Projection Comparaison :

Monture : EF-S
Focale : 55-250 mm
Ouverture : f/4-5.6

État actuel

Les projections existent aujourd'hui sous plusieurs formes dans CMonChoix.

Le Projection Builder a pour objectif de les unifier progressivement autour d'un contrat commun, partagé par toutes les verticales.

Le comportement reste entièrement compatible avec le runtime historique tant que la migration n'est pas terminée.


Voir aussi