Ouvrage "WordPress, Joomla, Drupal"

Extraits
Présentation des fondamentaux
Approfondissement des volets théorique et technique

Modèle d'architecture fonctionnel de WordPress, Joomla et Drupal

Règles de fonctionnement des trois CMS

Règle 1. Les pages du site Web sont générées à partir de gabarits intégrant les éléments de structure matériels (mise en page) et logiques (navigation vs contenu, en-têtes des contenus, description des contenus) des pages.

Règle 2. Les gabarits sont générés de façon dynamique par des moteurs [de gabarits] (template engines), à partir des adresses des pages. (Ces adresses, qui proviennent du logiciel utilisé par l’utilisateur final [exemple : navigateur Firefox], sont transmises au CMS par le serveur qui héberge le site Web.)

Notion de « moteur de gabarits »

Cette notion désigne les composants [logiciels] qui, au sein des CMS, sont spécialement responsables de la présentation des contenus. Ces composants — les moteurs de gabarits — font appel à des technologies (HTML/CSS/JavaScript…) qu'ils utilisent pour :

  • décrire et structurer les contenus ;
  • définir le style des contenus ;
  • et enfin dynamiser la présentation des contenus.

Comme l'indique la règle 2 (voir supra), les moteurs de gabarits servent en effet à générer… des gabarits dont la fonction sera, somme toute, de standardiser la présentation des contenus.

Un seul et même moteur — associé à un CMS, pour un site donné — donnera la possibilité de générer plusieurs gabarits que l'on utilisera pour marquer les différents espaces (ou univers) à considérer, dans un même site : l'espace commercial, les services, le Blog, etc.

Règle 3. Les gabarits font nécessairement intervenir un bloc principal et des blocs périphériques de niveau 1 qui sont définis par le moteur de gabarits, et sur lesquels l’administrateur ne peut pas agir.

Règle 4. Les blocs de niveau 1 intègrent des blocs de niveau 2 [servant par exemple à intégrer les menus], la suppression d’un bloc de niveau 2 n’induit pas la suppression du bloc de niveau 1 parent.

Règle 5. Le bloc principal peut intégrer trois types de contenus :

  • Les contenus élémentaires présentés individuellement (exemple : un article).
  • Les contenus élémentaires intégrés dans des collections, que les outils présentent partiellement (exemple : une liste d’articles intégrés dans un Blog n’affichant que les accroches suivies d’un lien donnant accès au détail des contenus).
  • Les contenus générés à partir d’une extension (dans le cas d’une extension dédiée au e-commerce, il s’agira du catalogue des produits ou des services vendus par la boutique).

Remarque I. — La notion de collection regroupe sous un même chapeau, d’un côté les contenus élémentaires rattachés à une même rubrique, de l’autre, ceux qui sont décrits par un même mot-clé. Il est important de dissocier ces deux façons de regrouper les contenus, car elles renvoient à deux problématiques différentes, la classification des contenus et leur indexation.

Remarque II. — L’accroche des contenus élémentaires se définit soit en tant que résumé venant s’ajouter aux contenus soit en qu’extrait reprenant littéralement les premières lignes des contenus.

Règle 6. Les contenus peuvent être enrichis avec des extensions, un article peut ainsi intégrer n’importe quel service fourni par le CMS lui-même (intégration d’une photo dans un article) ou provenant d’une autre plateforme (Flickr).

Règle 7. Les blocs périphériques de niveau 2 servent à intégrer les menus. Ils peuvent aussi servir à intégrer des services – fournis par le CMS ou provenant de l’extérieur (exemple : l’authentification) – ou bien à afficher du texte, tout simplement. (La suppression ou le retrait des contenus se traduit par la suppression des blocs associés.)

Règle 8. Les menus font intervenir une collection de liens pointant vers les pages principales du site Web.

Attention ! La notion de sous-menu est « étrangère » aux trois CMS. Pour intégrer des sous-menus dans le menu principal, il suffit de créer UN SEUL MENU à l’intérieur duquel seront définis des liens de premier niveau, de deuxième niveau, de troisième niveau… C’est le moteur de gabarits utilisé qui se chargera de présenter sous la forme de sous-menus les liens de plus bas niveau.

Remarque. — Les trois CMS donnent la possibilité de définir plusieurs menus.

Notion de « format d’affichage »

Cette notion est relative à la façon de présenter le contenu principal des pages (à l'intérieur du bloc principal généré par les moteurs de gabarits). En plus du format d’affichage utilisé pour présenter les contenus de base, des articles par exemple, les CMS font intervenir d'autres formats, qui donneront la possibilité de traiter autrement :

  • l'affichage des rubriques — avec leurs sous-rubriques ;
  • l'affichage des rubriques (toujours) — que l'on utilisera ici comme point d'ancrage, pour introduire des articles ;
  • ou encore l'affichage des mots-clés que vous aurez associés à ces mêmes articles.

Le nombre de formats disponibles (ici nous n'en avons retenus que trois) dépendra de la puissance des outils utilisés ; et plus spécialement, de leur capacité à générer des formats personnalisables. Avec Drupal, l'utilisateur pourra créer lui-même ses propres formats ; avec WordPress et Joomla, il devra se contenter de formats prédéfinis.

La notion de format d'affichage n’a pas été intégrée dans le schéma de notre page, car les trois outils la traite à leur manière, selon une logique qui leur est propre :

  • Avec WordPress, les formats d’affichage sont déterminés par les liens, et de manière plus spécifique, dans le cas des liens pointant vers des articles, par le format appliqué à ces derniers.
  • Avec Joomla, les formats d’affichage à appliquer sont définis par les liens, au travers d’un paramètre appelé Type de lien de menu, dont la fonction est soit de surcharger soit de reprendre simplement les formats d’affichage appliqués par défaut.
  • Avec Drupal, les formats d’affichage sont définis par des vues.

On s’aperçoit donc que, selon l’outil considéré, la notion de format d’affichage sera traitée ou bien comme un attribut ou bien comme une entité :

  • comme un attribut « à deux étages » intervenant une première fois au niveau des liens puis une seconde fois au niveau des articles, avec WordPress ;
  • comme un attribut des contenus que les liens pourront surcharger, avec Joomla ;
  • comme une entité n’étant rattachée ni aux liens ni aux contenus, avec Drupal.

Remarque. — La notion d’attribut met l’accent sur le fait que la définition des formats d’affichage est intégrée dans la configuration des liens et des contenus ; la notion d’entité sur le fait que les formats d’affichage ont leur propre espace de gestion.