Grâce à sa structure modulaire, Drupal vous permet d’assembler un site Web selon vos goûts à partir de blocs de construction individuels.

Alors que des plates-formes comme WordPress reposent sur la facilité d’installation et de manipulation, même pour des personnes non formées, Drupal a toujours eu la force de pouvoir être adapté dans les moindres détails par les développeurs, ou même d’être étendu par des modules supplémentaires. C’est cette force qui fait de Drupal un outil puissant pour développer des solutions personnalisées à des défis uniques.

Une première étape importante dans la formation d’un simple concepteur de site ou de gestionnaire de contenu sur Drupal est la création de modules personnalisés. Alors que Drupal vous permet de construire un site web robuste avec des modules existants et des thèmes de la communauté Drupal, la possibilité d’étendre le choix des modules est tôt ou tard indispensable.

Cet article suppose que le développeur lui-même a accès à une installation Drupal existante et à son code source. Le site officiel drupal.org et d’autres sites tels que StackOverflow fournissent des ressources et des instructions pour configurer votre propre Drupal.

Une compréhension rudimentaire de PHP est également nécessaire pour écrire votre propre module.

QU’EST-CE QU’UN MODULE ?

Les modules sont utiles afin de permettre aux développeurs d’apporter autant de changements que possible à Drupal sans avoir à intervenir directement dans le code source du système central (« Core ») – ce qui permet d’effectuer les mises à jour sans aucun problème et sans gérer les conflits – Drupal s’engage à rendre le système aussi lisible et modifiable que possible dans les modules dits. Toutes les caractéristiques et tous les réglages qui vont au-delà de la fonctionnalité de base sont stockés dans ces modules.

Un module n’est rien de plus qu’un nouveau dossier sous le chemin « modules/ ». Par défaut, les développeurs stockent les modules fournis par la communauté dans le sous-chemin « modules/contribu » et leurs propres développements pour le site dans le sous-chemin « modules/custom ».

CRÉER LE MODULE DRUPAL : MANUELLEMENT

Pour entrer dans le monde des modules, il est particulièrement recommandé de créer le premier module entièrement à la main. Des informations détaillées et des instructions peuvent être trouvées sur drupal.org, mais ici nous présentons à nouveau les bases.

Tout d’abord, le nom du module doit être décidé. Il faut distinguer entre le « nom dans le code » (en minuscules, avec des soulignés au lieu d’espaces, sans caractères spéciaux) et le titre (lisible à l’œil nu). Pour notre exemple, nous allons travailler avec le nom « Example Module » (example_module).

Maintenant que nous avons le nom, nous allons créer notre dossier de modules basé sur celui-ci :

drupal/modules/custom/example_module

Dans le dossier du module, les informations doivent être stockées dans un certain format pour informer le système de l’existence du module. Cela inclut entre autres :

  • le titre du module
  • le numéro de version du module
  • le numéro de version du noyau Drupal auquel le module est destiné
  • une catégorisation des fonctions (par ex. « média »)
  • une description synthétique

    Ces informations sont stockées dans un fichier appelé « MODULENAME.info.yml ».
    Dans cet exemple « MODULENAME » représente le nom du module à créer, c’est-à-dire « example_module.info.yml ».

Ce fichier est au format YAML. Vous trouverez des informations détaillées sur cette page. Ce qui suit est un exemple de squelette d’un fichier info.yml :

Avec ce dossier et ce fichier le travail est déjà fait ! Bien que le module n’ait aucune fonction, vous pouvez maintenant le sélectionner dans la liste des modules de Drupal et l’allumer.

Bien que la création manuelle d’un module à des fins d’apprentissage soit importante, ce processus accompagne un développeur tout au long de sa vie avec Drupal.

Chaque fois qu’une nouvelle fonctionnalité ou un nouveau sujet est introduit, un nouveau module est généralement créé.

CRÉATION D’UN MODULE DRUPAL : DRUPALCONSOLE-GENERATOR

A long terme, la création manuelle peut devenir tout à fait inactive. Mais surtout les développeurs informatiques sont équipés pour automatiser et simplifier les processus manuels. C’est ici que DrupalConsole entre en jeu.

DrupalConsole est, avec Drush, l’un des deux grands outils terminaux d’un développeur Drupal. Alors que Drush est le standard éprouvé pour éviter une navigation fastidieuse à travers le backend Drupal et changer directement les paramètres ou initier des processus comme le cache clear, DrupalConsole est d’abord apparu comme un concurrent et un « nouveau standard » pour Drupal 8, mais est finalement devenu un ajout dont les fonctions ont un objectif différent de ceux de Drush.

Il est à noter que cette méthode convient aux développeurs formés et familiarisés avec la ligne de commande (terminal).

Les générateurs sont particulièrement précieux chez DrupalConsole. Il s’agit d’un ensemble de commandes qui permettent à un développeur de créer et de remplir des modèles de fichiers, de dossiers et de classes pour accélérer des processus importants tels que la création de modules, entités ou services personnalisés. Étant donné qu’une grande partie de ce travail est toujours le même, et que seuls les détails changent, un simple « assistant » permet au développeur de ne plus avoir à taper à la machine en répondant à une série de questions.

Une fois que vous avez installé DrupalConsole et que vous êtes dans le terminal de votre choix dans le dossier Drupal, il vous suffit de lancer l’outil avec la commande « drupal generate:module ».

Après un court temps de chargement, DrupalConsole pose une série de questions à remplir dans le module. Une fois que vous aurez répondu à ces questions, vous trouverez un tout nouveau dossier de module avec tout ce dont vous avez besoin pour commencer.