Bienvenue sur le blog Versusmind! Je m’appelle Lionel Comarin, et serai votre guide dans le monde merveilleux de Sitecore, une plateforme qui fait de plus en plus parler d’elle en ce moment. Ce premier billet consistera en une présentation du module CMS de Sitecore: Sitecore Experience Accelerator, et de certains de ses concepts.
Sitecore, plus qu’un CMS
SXA est le CMS, ou Content Management System inclus dans Sitecore. Jusque-là, rien d’original. Ce qui le différencie des autres, c’est la personnalisation du contenu, non seulement pour le visiteur, mais également pour le gestionnaire de contenu et le développeur. Il s’agit également d’un outil puissant pour connaître ses visiteurs. En effet, il suit non seulement le chemin parcouru par le visiteur sur le site Sitecore, mais peut également mettre en place des “points de passage” menant à l’établissement d’un profil et la mise en avant de certains contenus.
En premier lieu, voyons l’élément clé qui est à la base de Sitecore : l’item.
L’item pour Sitecore
L'”Item” est l’unité de contenu de base d’un site SiteCore. Cela peut être une page, un texte ou une image par exemple. Il est constitué de champs [field] ayant un type [type]. Le type détermine ce qu’il sera possible, pour un auteur, de mettre dans ce champ (texte d’une ou plusieurs lignes, image, …). Chaque champ est organisé selon des sections de champs [field section], dont le type est déterminé par son modèle de données [data template].
Le modèle de données, lui, définit les champs de sections et les types des champs des items se basant sur lui. Mais parlons de ce modèle d’une manière plus approfondie.
Le modèle de données
Un modèle de données, comme son nom l’indique, est un modèle pour les différentes données qu’il sera possible d’implémenter dans les items le prenant comme modèle de base. Tous les items construits sur ce modèle possèderont les mêmes champs. De plus, si ce modèle est modifié, cela prend effet immédiatement sur tous les items qui lui sont liés. Il est possible de modifier son icône, afin de reconnaître plus facilement les items qui en héritent.
Chaque modèle hérite du modèle standard, nommé Standard Template. Il est possible de construire de nouveaux modèles héritant des modèles précédemment créés. Ainsi, ces modèles possèderont non seulement les sections de champs des modèles dont ils héritent, mais également les champs que vous ajouterez.
Les données au sein de l’item
La première façon d’implémenter des données dans les champs de l’item est avec les valeurs standard[standard values] . Ces valeurs, regroupées sous un fichier qui est toujours nommé “_standard values”, sont directement liées aux champs de l’item lors de sa création. Cela vaut pour tous les items héritant du modèle de données auxquelles appartiennent les valeurs standards. La deuxième façon est de remplir les champs manuellement. Il est bien évidemment possible d’écraser les valeurs standards ainsi. Le fait de casser l’héritage de données sur un enfant n’est pas reporté sur le parent, ni sur ses frères.
Les jetons[tokens] sont également une manière de peupler les champs avec des données. Indiqués dans les valeurs standards, ils prennent en compte différents paramètres de l’item et les remplacent avec la donnée demandée (par exemple, $name sera le nom de l’item). Vous pouvez bien évidemment créer vos propres jetons.
Enfin, il existe des options d’insertion[insert options], qui définissent quels sont les items enfants qui sont autorisés pour un item donné pour un créateur de contenu. Elles sont là pour réduire le risque d’une erreur humaine. Ces options sont généralement définies dans les valeurs standard, et peuvent bien évidemment être écrasées.
En conclusion
L’item est l’unité de base de Sitecore. Toute l’architecture du CMS gravite autour de lui, il est donc important de savoir le manipuler correctement, autant pour éviter la redondance que pour faciliter la maintenance du site dont il fait partie. Un item étant géré par plusieurs personnes, le développeur a la responsabilité de le rendre accessible à tous de deux manières:
En donnant un nom indiquant clairement ce que doit contenir le champ
En donnant un type approprié, ce qui limite les erreurs humaines
Et n’oubliez pas: une bonne gestion des valeurs standard peut faire gagner beaucoup de temps!
Le prochain article parlera de la mise en forme de l’item, ou layout. On y verra comment créer un layout, une comparaison entre les liaisons statiques et dynamiques et la mise en place de sources de données.
À savoir
Le nom de l’item est celui qui apparaîtra dans l’URL. Il est donc important de conserver un nom correct, sans espace ou caractères illégaux pour l’URL. Il est possible de renommer l’item après sa création, deconfigurer Sitecore pour modifier l’URL ou d’écrire votre propre solution afin de renommer l’item.