Tous les cours

Attributs et familles

Ce que sont les attributs, à quoi servent les familles et pourquoi elles font bouger le taux de complétude.

Ce tutoriel a une vidéo dans d'autres langues : en espagnol · en anglais

Ce qu'est un attribut

Une donnée structurée du produit — couleur, taille, matière — qui alimente la description et les filtres de votre boutique. Il existe sept types :

  • Liste : une valeur d'un ensemble fermé (couleur : rouge).
  • Liste multiple : plusieurs valeurs du même ensemble.
  • Oui/Non.
  • Texte libre.
  • Nombre.
  • Date.
  • Mesure : un nombre avec une unité fixe (250 ml).

Familles

Une famille regroupe les attributs qui concernent un type de produit. Un tee-shirt et un sac à dos peuvent partager l'attribut couleur, et chaque famille décide s'il est obligatoire.

La famille est ce qui permet à Bruxel de savoir ce qui MANQUE à un produit : sans elle, il n'y a rien à quoi comparer.

Une catégorie peut porter une famille par défaut (dans son détail, « Famille par défaut ») : les produits sans famille qui y entrent — ou dans l'une de ses sous-catégories, qui l'héritent tant qu'elles n'en déclarent pas une — la reçoivent dans le même geste. Une famille déjà définie n'est jamais modifiée. Pour les produits déjà présents, la catégorie propose « Appliquer », qui laisse de côté ceux qui se trouvent dans des catégories aux familles différentes. Supprimer une famille la retire de ses catégories ; déplacer ou supprimer une catégorie ne change que ce qui sera assigné ensuite.

Groupes : la fiche en sections

Un groupe est une section de la fiche produit — Données de base, SAP, Merch, Ecomm — pour répartir le travail par équipe. Chaque attribut appartient à un groupe ou à aucun ; ceux sans groupe s'affichent en dernier, sous « Autres ». La fiche et la grille trient d'abord par groupe, puis par l'ordre de l'attribut.

Les groupes se créent et s'ordonnent dans la page des attributs, ou avec la colonne « group » du CSV de définitions, qui crée le groupe s'il n'existe pas. Le groupe de chaque attribut se choisit dans sa fiche, et seul un administrateur peut le déplacer.

Retirer un groupe ne supprime rien : ses attributs reviennent dans « Autres » et aucune valeur ne change. L'API publique renvoie le code du groupe sur chaque attribut.

Listes de valeurs partagées

Quand plusieurs attributs utilisent les mêmes valeurs — la couleur de l’étui et celle du produit, les teintes de deux gammes de maquillage —, une liste les écrit une seule fois. Elle se crée sur la page des attributs et chaque attribut de type liste la choisit sur sa fiche, dans « Liste partagée ».

En liant un attribut, les options qu’il avait déjà avec le même texte sont liées (même si seules les majuscules diffèrent), celles qui manquent sont créées et les siennes restent telles quelles. Ensuite, ajouter, renommer, traduire ou retirer une valeur dans la liste la change dans tous les attributs qui l’utilisent, et chaque produit concerné gagne une version dans son historique.

Une option qui vient d’une liste se modifie dans la liste, pas dans l’attribut. Retirer une valeur de la liste n’enlève rien à un produit : là où un produit l’utilise, elle reste comme option propre de l’attribut. Ne plus utiliser une liste, ou la supprimer, ne supprime pas non plus d’options.

Comment la complétude est calculée

Chaque produit totalise jusqu'à 100 points en quatre parties :

PartiePointsComment elle se remplit
Marque et catégorie25La moitié pour chacune.
Attributs25Attributs obligatoires de sa famille ayant déjà une valeur.
Contenu35Langues avec une description publiée, sur celles que vous avez configurées.
Image principale15Une image prête sur la fiche : l'image principale ou, si vous n'en avez marqué aucune, la première de la galerie. C'est celle que votre boutique reçoit comme image de base.
Si un produit n'a pas de famille — ou si sa famille n'en marque aucun comme obligatoire — les 25 points se répartissent entre tous les attributs définis dans le catalogue : en renseigner la moitié donne la moitié des points.

Remplir avec l'IA

Au lieu de remplir attribut par attribut, vous pouvez sélectionner des produits et demander à l'IA de les compléter à partir de ce qu'on sait déjà d'eux. Cela coûte des crédits et ne facture que ceux qu'elle parvient à remplir.

Le code dans votre boutique

Chaque attribut a un code dans Bruxel, dérivé de son nom. Si votre boutique (Adobe Commerce) le connaît sous un autre attribute_code, saisissez-le dans la fiche de l'attribut, sous « Code dans votre boutique » : le CSV de téléchargement pour Adobe Commerce et l'API publique utilisent ce code comme nom de colonne, et l'import de votre boutique retrouve l'attribut sans que vous renommiez les colonnes à la main.

Il n'accepte que des lettres, des chiffres et le tiret bas, et ne peut pas se répéter entre deux attributs de votre organisation (ce seraient deux colonnes identiques). Laissez-le vide pour revenir au code Bruxel. Les sélections de colonnes des Téléchargements et les canaux enregistrés ne changent pas : ils continuent d'utiliser le code.

Importer des attributs depuis un CSV

Si vos attributs sont déjà définis dans une feuille, inutile de les saisir un par un : dans « Importer des attributs (CSV) », vous envoyez un fichier avec une ligne par attribut et Bruxel vous montre ce qu'il ferait avant de toucher à quoi que ce soit. Le modèle téléchargeable contient une ligne d'exemple par type.

  • Colonnes : code (facultatif ; dérivé du nom s'il est vide), name, type (select, multiselect, boolean, text, number, date, metric), unit (metric uniquement), filterable (oui/non), external_code (le code dans votre boutique), values (séparées par |, select et multiselect uniquement) et label_en, label_fr, label_pt pour les libellés par langue. Les en-têtes acceptent majuscules, accents et leur nom en espagnol.
  • Un attribut qui existe déjà est reconnu par son code et mis à jour : nom, filtrable, code dans votre boutique, libellés et nouvelles valeurs. Un attribut inexistant est créé. Rien n'est supprimé : ni attributs, ni valeurs absentes du fichier, ni libellés d'autres langues.
  • Ce qui ne peut pas être appliqué est signalé ligne par ligne avec son motif (type invalide, unité manquante, code externe en double) et les autres lignes continuent. Un changement de type qui laisserait des valeurs incohérentes est signalé et non appliqué.
Envoyer deux fois le même fichier ne change rien : la seconde vérification indique « sans changement » sur toutes les lignes. Limite : 1 Mo par fichier.

Règles pour les valeurs

Un attribut de sélection ou de texte peut porter des règles qui s'exécutent, dans l'ordre, sur chaque valeur entrante : convertir une unité (nombre + unité → nombre × facteur + autre unité), remplacer un texte par un autre, interdire un motif ou en exiger un. Le cas typique : une taille mêlant onces et millilitres — avec « convertir oz → ml, facteur 29.5735 » un « 1.7 OZ » entre comme « 50 ml », et avec « interdire oz » ce qui n'a pu être converti est refusé avec le message que vous écrivez.

Bruxel n'embarque aucune table de conversion : « oz » peut être une masse ou un volume, donc c'est vous qui confirmez le facteur (des raccourcis remplissent le formulaire). Les règles s'appliquent à ce qui entre par la page des attributs, par l'import d'attributs et par l'API. Pour ce qui était déjà enregistré, « Vérifier les valeurs actuelles » montre ce que deviendrait chaque valeur et « Appliquer » le fait : si deux options deviennent identiques, elles sont fusionnées et leurs produits passent à celle qui reste.

Les motifs sont des expressions régulières bornées : sans groupes répétés ni rétro-références, et mesurées à l'enregistrement ; un motif trop coûteux est refusé. Les règles ne s'appliquent pas aux nombres, mesures, dates ni oui/non, qui valident déjà leur forme.

Règles de saisie : quand un champ est demandé et d'où il vient

En plus des règles des valeurs, tout attribut —de tout type— peut avoir des règles de saisie. Elles se configurent sur sa fiche, dans « Règles », avec des sélecteurs d'attribut, de structure et de catégorie, et c'est un opérateur ou un administrateur qui les modifie :

  • Demandé quand… : si la condition est remplie (par exemple, « importé ou national » vaut Importé) et que le champ est vide, la fiche le signale à côté du champ et l'import le rapporte ligne par ligne. Il ne fait que prévenir : le produit s'enregistre et s'importe quand même.
  • Masqué quand… : il sert au formulaire d'arrivée du fournisseur, qui n'affichera pas le champ tant que la condition est remplie. La fiche et la grille l'affichent toujours.
  • Déduit de… : le système fixe la valeur à partir d'une valeur fixe, d'un autre attribut (avec une table : « quand il vaut loyalty, mettre ZMYP ; sinon, ZMOD »), d'un code de la catégorie ou d'un code de la marque. Il peut s'appliquer toujours ou seulement quand une condition est remplie.
  • Comparer à un autre : sur un nombre ou une mesure, il prévient quand la comparaison avec un autre attribut n'est pas respectée (le prix de vente inférieur au prix d'achat, le poids net supérieur au poids brut).

Personne ne saisit un attribut déduit tant que sa règle s'applique, pas même le propriétaire : la fiche et la grille l'affichent avec un cadenas et l'API répond que le système fixe la valeur. Il se recalcule seul quand on écrit son origine, à l'import, quand on catégorise le produit et quand sa marque change, dans la même version de l'historique que le changement qui l'a déplacé. Une nouvelle règle, ou un code de catégorie ou de marque qui a changé, ne réécrit pas ce qui existait : dans « Règles », « Appliquer à l'existant » compte combien de produits changeraient et les applique par tours de mille.

Un attribut n'a qu'une seule déduction, et un attribut déduit n'est jamais l'origine ni la condition d'un autre. Quand la condition d'une déduction n'est plus remplie, la valeur que la règle avait mise est retirée et le champ est libre. Supprimer un attribut ou une option qu'une règle nomme est refusé tant qu'on ne l'a pas retiré de la règle ; les renommer réécrit les règles toutes seules.

Convertir une liste en mesure

Si les options d'une liste sont des mesures écrites en texte (« 50 ml », « 1.7 OZ », « 100 g »), « Convertir en mesure » les passe dans des attributs de type Mesure. Depuis le détail de la liste, « Examiner les options » regroupe les options selon l'unité qu'elles portent et indique combien de produits utilisent chaque groupe ; vous choisissez ensuite la destination de chaque mesure et confirmez.

  • Chaque mesure (volume, poids, longueur) va dans un attribut de mesure que vous avez déjà ou dans un nouveau, créé sur le moment. Le nombre est enregistré converti dans l'unité de la destination, arrondi à 4 décimales.
  • « oz » peut être un volume (un parfum) ou un poids (un rouge à lèvres), et la liste ne dit pas lequel. C'est vous qui décidez : l'envoyer vers l'une des deux mesures ou le laisser tel quel ; par défaut, il reste. Si votre catalogue a une colonne qui distingue les produits —la catégorie, par exemple—, vous pouvez décider par valeur : les parfums en volume, les rouges à lèvres en poids.
  • Les options qui ne sont pas une mesure —sans unité reconnaissable, ou à zéro comme « 0.00 OZ »— ne sont pas déplacées et sont listées à part.
La liste est conservée avec ses options et ses produits : le CSV qui en sort aujourd'hui ne change pas tant que vous ne modifiez pas la colonne de votre canal. Un produit qui avait déjà une valeur dans la destination la conserve. Chaque produit converti est enregistré dans son historique. Convertir demande le rôle d'opérateur, et une destination protégée, celui d'administrateur.

Changer le code d'un attribut

Le code est dérivé du nom à la création de l'attribut et devient ensuite son identité : il nomme la colonne dans le CSV pour Adobe Commerce (s'il n'y a pas de code dans votre boutique), il est la source des colonnes de vos canaux enregistrés et la route de l'API publique. C'est pourquoi il ne pouvait pas changer jusqu'ici. Depuis la fiche de l'attribut, « Changer le code » vous montre comment il sera normalisé, si un autre attribut l'utilise déjà et quels canaux changent de source, et vous ne confirmez qu'ensuite.

Les canaux enregistrés se mettent à jour seuls (leur colonne pointe vers le nouveau code ; l'en-tête que vous avez écrit ne change pas). Ce qui ne se met PAS à jour seul : les intégrations qui appellent l'API publique avec l'ancien code reçoivent 404, et un CSV d'attributs portant l'ancien code créerait un nouvel attribut. À vous de les changer.