Quel modèle de données pour le catalogue des sites e-commerce ?

Dans le e-commerce, on range les produits dans un catalogue.

Ce catalogue a une structure.

La première idée simple est de faire une structure calquée sur ce qu’on ferait dans un magasin physique : on classe les produits par type de produit.
C’est un modèle en arbre. La racine, c’est le site. Les produits sont rangés, par exemple, par catégorie, sous catégorie et rayon.
Dans ce modèle, un noeud peut avoir plusieurs fils mais n’a qu’un père.

Suivant les moteurs, on a plus ou moins de contrainte sur cet arbre : quelle hauteur maximum, minimum, les branches doivent elles avoir toutes la même longueur, …

Cela fonctionne, mais c’est dommage : on n’est pas dans un magasin physique.
Un même produit peut très bien être « rangé » à plusieurs endroits. Soit parce qu’on peut proposer plusieurs clés d’accès au catalogue, soit parce qu’on veut créer des rayons « marketing » : produits de saisons par exemple.

Certains moteurs e-commerce vous proposent de faire ça, en gardant la structure d’arbre initiale, mais en ajoutant des accès complémentaires.
On peut par exemple accéder aux produits par marque, en complément de l’accès de base.

Cela fonctionne, mais c’est encore limité. On peut aller plus loin.

On peut, par exemple, avoir un modèle en « graphe orienté » : chaque noeud, dans ce cas, peut avoir autant de père que l’on veut.

Certaines solutions e-commerce limite cette fonction au niveau des produits :
Dans ce cas, on crée un arbre, ou seuls les feuilles peuvent être associées à plusieurs branches.

D’autres solutions sont plus souple : un noeud intermédiaire peut être associé à plusieurs pères.

Enfin, on peut également trouver des solutions qui permettent de mixer les 2 : un produit peut avoir plusieurs pères, et chaque noeud intermédiaire peut lui même avoir plusieurs pères.

C’est super, parce que cela donne un grand pouvoir d’expression.

Petit détail à gérer : le duplicate content. En effet, dans ce type de représentation, le chemin pour aller vers un produit n’est plus unique.

C’est important cet histoire de modèle, parce qu’au bout du compte, cela conditionne ce que vous allez pouvoir faire avec votre boutique : les catégories que vous pourrez créer, ou pas, …

Autre élément à bien avoir en tête : ce modèle est conditionné par le moteur e-commerce. Une fois votre solution choisie, il faudra faire avec. On fait très difficilement évoluer ce modèle.

Alors, il est comment votre modèle de données pour votre catalogue ?