Un CMS modulaire

Vous êtes ici pour suivre une série de tutoriaux Drupal pour débutants. Si vous cherchiez des articles plus poussés et/ou généraux, consultez le blog.
Dans cet article

Dans cet article, nous abordons une notion essentielle de votre CMS préféré : Drupal est un CMS modulaire ! Lorsque vous créerez votre site, pour chacun de vos besoins, vos deux réflexes principaux devront être :

  • Y'a-t-il un module Drupal qui fait ce que j'ai besoin ?
  • Avec les modules déjà installés, est-ce que je peux le faire ?

La réponse sera presque toujours OUI !

Drupal est donc modulaire certes, mais qu'est-ce que cela veut dire ?

Cela signifie que son architecture est conçue autour du concept de module (module). Drupal possède un très petit noyau, composé des fonctionnalités essentielles. A elles seules, elles définissent les mécanismes essentiels qui permettront aux modules de construire votre site. Le noyau Drupal ne crée donc pas votre site, mais en fourni les fondations. Pour votre culture, sachez que l'on retrouve entre autres dans le noyau :

  • Routing API : un mécanisme qui permet de définir la notion de chemin et d'URL vers des pages et des éléments du site. Par exemple à la page monsite.com/admin on trouvera le point d'entrée de la zone admin. A l'adresse monsite.com/node/1 on retrouvera notre article 1, etc..
  • Cache API : un mécanisme permettant - par la mise en place et la gestion de caches - d'améliorer les performances de votre site: il sera plus rapide.
  • Form API : un mécanisme définissant le concept de formulaire. Les modules pourront donc créer des formulaires de configuration, par exemple un formulaire pour écrire un article.
  • Database API : un mécanisme permettant d'interagir avec la base de données de notre site.
  • Gestion des modules : le mécanisme permettant aux modules d'exister et de s'intégrer à Drupal.
  • ...

Ce noyau est ensuite complété par des modules dit modules core (core modules). Ils définissent les fonctionnalités jugées les plus essentielles à un site web. Certains modules sont activés d'office car il est impossible de faire sans, d'autres restent optionnels. Voici quelques exemples:

  • Node (optionnel depuis Drupal 8) : Permet de soumettre du contenu au site et de l'afficher sur les pages. Il était jusque-là obligatoire car un site web sans pages (ne serait-ce qu'une page d'accueil), ce n'est pas possible. Dans Drupal 8, ce module est activé par défaut, mais laissé optionnel car cette version permet également de créer un système de Web Services REST sans réelles pages consultables (ce n'est pas important de le retenir si vous ne savez pas de quoi il s'agit !)
  • User (obligatoire) : Gère l'inscription des utilisateurs et le système d'identification. Il est obligatoire car il faut bien au moins définir qui est le propriétaire du site: le fameux superadmin ou user1.
  • Toolbar (optionnel) : Fournit une barre d'outils affichant les raccourcis vers les éléments principaux de l'administration du site. Ce module est optionnel, car bien que cela puisse être pénible, il est tout à fait possible de faire sans.
Drupal Core est l'ensemble composé du noyau et des modules core. C'est ce que l'on télécharge et installe lorsque l'on installe Drupal.
Illustration: construction modulaire d'un humain
Construisez votre site un peu comme un robot humanoïde, en ajoutant de nouveaux modules

A titre d'exemple, si Drupal était un CMS pour la création d'un être humain, voici comment il pourrait être vu:

  • Un petit noyau pourrait être la définition des notions de bases comme muscles, organes, nerfs et autres.
  • Ensuite des modules core vont utiliser la notion de muscle pour créer un biceps, d'organe pour fournir un poumon, la notion de cerveau pour créer un centre de gestion, la notion de nerfs pour commander les muscles en fonction d'informations du cerveau, etc..
  • Le module Anatomie serait un module core obligatoire. Il définirait une architecture générale de notre humain, c'est à dire l'ensemble des éléments qui sans eux ne font pas un humain "complet". Deux bras, deux jambes, une tête. ..
  • Le module Cheveux pourrait être un module core, car un humain a des cheveux. Mais il serait toutefois facultatif, car même sans cheveux, un humain est un humain.
  • Le module Piano serait un module contributif qui ferait de votre humain un virtuose du piano. Il n'est pas dans le core car suivant ce que vous voulez faire de votre humain, savoir jouer du piano n'est pas nécessaire. Vous devrez donc l'installer séparément.
L'une des grandes forces de Drupal est sa quantité phénoménale de modules contributifs (modules) pouvant être installés pour répondre à quasiment n'importe quel besoin imaginable.

L'ensemble des modules Drupal peut être trouvé à l'adresse: https://drupal.org/project/modules.

En résumé

A ce stade, il n'est nécessaire de retenir que trois choses :
  • De nouvelles fonctionnalités peuvent être ajoutées grâce à des modules.
  • Les modules Drupal peuvent être trouvés ici: https://drupal.org/project/modules
  • Il y a déjà un module Drupal pour pratiquement tout, il faut juste le trouver !

Ajouter un commentaire

Votre nom sera affiché publiquement avec votre commentaire.
Votre email restera privé et n'est utilisé que pour vous notifier de l'approbation de ce commentaire.
Sur internet, vous pouvez être qui vous voulez. Soyez quelqu'un de bien :)