Concepts et terminologie

La documentation Drupal 6 n'est plus maintenue et en cours de dépublication.


Consultez le guide utilisateur Drupal en français directement sur drupal.org.

Dans ce chapitre nous allons expliquer les principaux concepts de Drupal et préciser la terminologie employée par la communauté. Cela vous permettra de parcourir la suite du manuel en toute sérénité.

NB: ce signe ^ à coté de chaque titre de paragraphe vous permet de revenir au sommaire ci-dessous

Sommaire


Nœud (node) et type de contenu ^

Le nœud est l'élément central du modèle de contenu employé par Drupal. Dans sa version la plus simple, un nœud est un objet générique composé d’un titre et d’un contenu de type texte.

Toute la puissance de Drupal réside dans la possibilité de spécialiser un nœud en lui adjoignant des champs supplémentaires. C’est ainsi que l’on va créer ce que l’on appelle un nouveau type de contenu. Ainsi, chaque élément de contenu présent dans un site Drupal est un nœud et chaque nœud appartient à un type de contenu.

La distribution de base vient avec deux types de contenu (article et page). Ce sont des types de contenu génériques qui conviennent à de nombreuses situations. Cependant, vous aurez certainement besoin d'autres types de contenu. Drupal vous permet de les créer soit par l'intermédiaire de modules optionnels soit par l’utilisation d’un module indispensable appelé CCK.

Pour différencier un type de contenu, vous pouvez lui associer de nouveaux champs. Grâce à ses modules, Drupal dispose d’une multitude de champs qui vous permettront de stocker des éléments de contenu extrêmement variés : texte, chiffre, date, url, numéro de téléphone, image, vidéo, carte.

Exemple :

Pour votre site d’actualités, vous considérez que le contenu de type Article n’est pas suffisamment structuré, vous pouvez alors créer un nouveau type de contenu Article_Journal et lui adjoindre un sous-titre (champs texte) et une image principale (champ image).

Types de contenu standards ^

Les types de nœud par défaut de Drupal sont :

Article ^

Contenu court et/ou traitant d'un point précis (sans lien direct avec d'autres articles). Ils comportent un titre et un corps de texte, mais peuvent être étendus par d'autres modules. L'accroche fait également partie du corps. Les articles peuvent être utilisés dans un blog personnel ou dans un site d'actualités.

Page ^

Contenu plutôt statique ou page orpheline (typiquement la page de crédit du site, une page de présentation).

Quelle est la différence réelle entre une "page" et un "article" ?

Pour faire court : aucune. En réalité, il y en a une, mais c'est uniquement au niveau de l'affichage par défaut de ces pages sur le site. En effet, au contraire d’un article, une page n'affiche pas les informations de l'auteur et la date de publication, d’autre part, les commentaires sont désactivés par défaut. Ces paramètres d’affichage sont aisément modifiables ce qui fait que au final, d’un point de vue technique il n’y a aucune différence.

L’intérêt est ailleurs, la différentiation des types de contenu est un moyen à la disposition du concepteur pour bâtir un modèle de contenu adapté au besoin. Dans ce cas, cela permet de séparer strictement et de traiter différemment les informations statiques d’une « page » (C.G.V, à propos…) qui sont rarement mises à jour, des informations dynamiques d’un « article » dont la durée de vie est plus faible (nouvelles, promotions…)

Livre ^

Ensemble de nœuds liés entre eux par des liens hiérarchiques (parent, enfant, frère). Cette structure hiérarchique (un sommaire) est générée automatiquement à l’affichage d’un nœud de ce type. Comme son nom l'indique, ce contenu est adapté à un contenu structuré en chapitre et sous-chapitre, un contenu organisé autour d'une progression logique.

Un livre est un effort collectif d'écriture : les utilisateurs peuvent collaborer à l'écriture des pages du livre, positionner les pages dans le bon ordre, et passer en revue ou modifier les pages écrites précédemment.

Et si j'ai besoin d'autres types de contenu ? ^

Il est tout à fait possible dans Drupal de rajouter autant de type de contenu qu'on le souhaite. Pour ajouter de nouveaux champs, il faut néanmoins utiliser un module qui n'est pas livré avec la distribution de base, CCK, ou le programmer via un module personnel.

L’utilisation de CCK est intuitive et ne nécessite pas de connaissances en programmation : Il suffit de donner un nom (et quelques autres options) à un nouveau type de contenu pour qu'il soit directement exploitable. On peut lui ajouter autant de champs que nécessaire presque aussi simplement. Bien entendu, comme tous les modules Drupal, CCK est disponible librement sous licence GPL.

Commentaires ^

Les commentaires sont des éléments classiques d’un CMS communautaire et ont été popularisés par les blogs. C’est la base de l’interaction entre le(s) éditeur(s) d’un site et les lecteurs, car ils permettent à ces derniers de commenter le contenu en question.

Dans Drupal, les commentaires ont pour particularité de ne pas être des nœuds. Ce sont donc des éléments à part dans le modèle de contenu. Cette architecture a été retenue parce que plus performante et donc capable de gérer des milliers de commentaires. Concrètement, cela signifie qu'ils ne seront pas exploitables de la même façon que les autres contenus, mais on peut tout de même les personnaliser comme on le souhaite.

Tous les nœuds de Drupal peuvent recevoir des commentaires et on peut paramétrer la manière dont ceux-ci se comporteront. Ces réglages peuvent être différents pour chaque type de contenu ou même pour chacun des nœuds.

Catégories, vocabulaire, taxonomie, terme ^

La taxonomie est le concept qui permet la structuration des différents éléments de contenu d’un site Drupal. Très puissant et flexible il est parfois difficile à appréhender, car, tout en utilisant des mots issus du langage courant& (terme, vocabulaire et taxonomie), il leur attribue un sens un peu différent.

Le « terme » est l’étiquette qui va servir à désigner un regroupement de différents nœuds.

Un « vocabulaire » est un groupe de plusieurs « termes ».

La « taxonomie » va préciser le type de relation qui existe entre les termes d’un même vocabulaire.

  • La taxonomie libre : les termes peuvent être choisis sans contrainte
  • La taxonomie simple : un seul terme par contenu
  • La taxonomie multiple : plusieurs termes peuvent être choisis parmi une liste prédéfinie

Enfin une taxonomie peut définir des relations hiérarchiques entre les termes afin de définir des catégories et sous catégories.

Drupal permet donc de créer un vocabulaire pour chaque besoin de classification qu’il peut avoir dans un site. Par exemple, un site de recettes de cuisine pourra avoir un vocabulaire « Tag » de taxonomie libre pour classer les contributions des lecteurs avec des termes divers comme « épice » ou « facile » et avoir en même temps un vocabulaire « Région » de taxonomie simple pour classer la provenance des recettes avec des termes comme « Auvergne » ou « Bourgogne ».

Bloc (block) ^

Les blocs sont des éléments de contenu spécifiques. En général, ils sont utilisés pour afficher une information secondaire (commentaires récents), un contenu lié au contenu principal (profil de l’auteur de l’article) ou pour afficher des éléments de navigation (menu, formulaire de connexion). Certains modules définissent leurs propres blocs que vous pouvez ou non activer à votre guise. Vous pouvez également créer de nouveaux blocs via l'interface d’administration.

Chaque bloc possède une page de configuration qui vous permet de régler sa visibilité : selon les pages affichées, selon le visiteur ou encore selon une logique plus complexe régie par un code en PHP.

Le bloc peut être placé dans une région définie par le thème graphique du site. Le nombre et l’emplacement des régions sont fonction du thème utilisé. Par exemple le thème par défaut « Garland » définit les régions suivantes : haut de page, barre latérale gauche, barre latérale droite, contenu principal et pied de page. « Zen », un autre thème populaire, lui, définit des régions supplémentaires comme la partie supérieure du contenu ou inférieure du contenu.

Menu (menu) ^

Un menu est simplement une liste d’hyperliens vers des pages internes ou vers d’autres sites. Cette liste peut-être hiérarchisée afin de permettre de créer des menus et des sous-menus.

En général ils sont utilisés afin de créer des éléments de navigation pour les utilisateurs de votre site. Drupal crée par défaut un « menu primaire » (primary links) souvent utilisé pour la barre de navigation principale et un « menu secondaire » (secondary links) employé pour des liens de moindre importance. Une fois encore Drupal ne vous limite pas et vous pouvez créer autant de menus que votre site nécessite.

Lorsque l'on créé un menu, celui-ci génère automatiquement un bloc. Vous pouvez alors paramétrer l’emplacement de ce bloc pour que votre menu s’affiche à l’écran.

Utilisateur, rôles et droits ^

Chaque « utilisateur » du site est identifié lors de sa connexion. Les utilisateurs ont un « rôle » qui leur est assigné. Chaque « rôle » dispose d’un certain nombre de « droits ». L’ensemble des « droits » d’un rôle permet de spécifier ce qu’il est autorisé à faire sur le site.

Le nombre de rôle est illimité et peut donc être adapté finement au besoin du site. Par exemple, un site pourrait avoir les rôles suivants :

  • visiteur anonyme
  • administrateur,
  • webmestre,
  • rédacteur,
  • utilisateur authentifié...

Chaque utilisateur Drupal est associé à un ou plusieurs rôles, dans ce cas, les droits se cumulent.

Pour finir, sachez qu’il existe un certain nombre de modules qui permettent d’étendre les fonctionnalités de gestion des droits et des utilisateurs afin de permettre une gestion des droits d’accès encore plus fine (pour chaque utilisateur par exemple).

Thème (theme) ^

Comme tous les CMS modernes, l’architecture de Drupal est conçue de manière à séparer strictement la logique, le contenu et l’apparence d’un site. L’un des nombreux avantages de cette technique réside dans la possibilité de modifier totalement l’apparence d’un site sans avoir à toucher à la mécanique interne de l’application ou les données du contenu. Il est même tout à fait possible de faire cohabiter plusieurs thèmes dans une même installation et de laisser le choix du thème aux utilisateurs.

Le thème employé par défaut est appelé "Garland". Bien entendu, il existe de nombreux thèmes disponibles librement sous licence GPL. Vous en trouverez une liste presque exhaustive sur http://drupal.org/project/Themes Cependant la plupart de vos projets nécessiteront de créer votre propre thème, dans ce cas vous pourrez soit le créer de toute pièce soit partir d’un des thèmes de base comme « Zen » afin de gagner en productivité et bénéficier d’une structure de base de grande qualité.

Les thèmes Drupal sont des ensembles de fichiers qui modifient l'affichage par défaut de votre site. Pour simplifier le travail de mise en page et en style, Drupal permet d'utiliser plusieurs « moteurs de template » (engines) qui codifient les instructions d’affichage. Par défaut, c'est le moteur PHPtemplate qui est utilisé mais d’autres comme SMARTY sont disponibles si vous le souhaitez.

L’affichage par défaut est intercepté et modifié (override) par le thème sélectionné à deux niveaux :

  • La structure XHTML par défaut peut être interceptée afin de modifier la nature, l’ordre et le balisage sémantique des informations affichées
  • Les styles CSS par défaut peuvent être interceptés afin de modifier l’apparence et la mise en page de ces mêmes informations

Pour réaliser son propre thème, se reporter au manuel du designer

Cœur ou base (Core) ^

Core est un terme anglophone désignant le cœur, l'élément central...

Dans Drupal, le cœur est en fait la distribution officielle qui est livrée avec un certain nombre de modules et de thèmes standards. Parmi les modules livrés dans le cœur, tous ne sont pas activés par défaut. En fait, seul un petit nombre de modules sont strictement nécessaires au fonctionnement de Drupal. Le cœur de Drupal est donc léger. La contrepartie est qu’il ne permet de réaliser que des applications simples, limitées en nombre de fonctionnalités. Ce fait est d’ailleurs source de confusion pour le débutant qui mesure la richesse fonctionnelle de Drupal à l’un de ces modules de base. En fait une grande partie de la puissance de Drupal est apportée par ses modules optionnels.

Module (module) ^

On pourrait comparer le concept de module à celui de plugin ou greffon. Un module est une brique logicielle s'ajoutant à votre application pour étendre ses fonctionnalités ou modifier celles existantes.

Il est très simple d'activer ou non un module dans Drupal : une simple case à cocher suffit.

En pratique, un module est une bibliothèque de fonctions php qui s'interfacent avec les modules déjà présents par le biais des hameçons.

Hameçon (Hook) ^

Un hameçon est un point d'entrée dans le processus logique de votre site. Il permet aux modules de modifier le fonctionnement de l’application sans avoir à modifier les fichiers standards.

Cela présente un énorme avantage : lorsque une mise à jour de Drupal est disponible, vous pouvez l'installer sans perdre vos modifications.

Formulaire (form) ^

Il y a plusieurs types de formulaires dans Drupal :

  • formulaires de saisie de contenu
  • formulaires d’administration des modules

Pour la saisie de contenu, le formulaire est généré automatiquement lorsque vous créez un nœud, il permet à l’éditeur d’écrire les contenus de son site. Les formulaires d’administration des modules permettent aux administrateurs de paramétrer le fonctionnement de Drupal et de ses modules.

Tout formulaire Drupal peut être étendu / modifié par d'autres modules et également avoir son propre gabarit.

Vue (view) ^

Les vues ne font pas partie de la distribution de base de Drupal mais sont disponibles sous la forme d’un module optionnel : Views. Nous évoquons tout de même ce concept ici car Views est l’un des modules qui constituent la panoplie indispensable de tout administrateur Drupal.

Une vue permet d’afficher une liste de nœuds, d’utilisateurs ou de commentaires en fonction de critères de tris, de filtres ou encore d’arguments plus complexes. Par exemple, vous pouvez créer une vue pour afficher « les derniers articles », « les derniers inscrits » ou, plus compliqué « 12 commentaires au hasard parmi ceux qui ne sont pas validés et qui sont associés à des contenus de type X de l’auteur Y ».

Le module, qui peut-être complété par de nombreux autres modules, permet de représenter les vues de multiples façons : vue complète du nœud ou simplement son accroche, tableau, liste, calendrier, carte géographique…

Le tout avec une interface claire et intuitive, elle permet d'obtenir une vue sans programmation et très rapidement.

Panneau (panel) ^

Comme pour Views, Panels fait parti des modules indispensables de Drupal.

Avec ce module, il est possible de réunir dynamiquement, sans écrire une ligne de code, différents éléments de contenus sur une seule page... Par exemple, vous pouvez faire une page d’accueil complexe comme sur les sites portails en quelques clics.

Un panneau peut contenir des nœuds, des profils d’utilisateur, des commentaires, des blocs, des vues et même d’autres panneaux. Comme il définit des contextes propres à chaque panneau, Panel sait gérer l’affichage de contenus connexes en fonction de l’auteur, la taxonomie, le groupe qui est affiché…

 

Commentaires