Drupal 8

Les bases de la création d’un module Drupal 8

Dans ce tutoriel, nous allons voir la base de la création d’un module Drupal 8. Il sera très simple, le but étant de découvrir la structure et les fichiers nécessaires à un module.

Aperçu de la structure d’un site

Avant de créer un module, regardons déjà la structure d’un projet Drupal.

  • Drupal - architecture dossiersLe dossier core regroupe comme son nom l’indique le cœur du CMS, avec toutes les classes par défaut de celui-ci. On n’y touchera jamais sous peine de générer des erreurs ou de perdre ses modifications après une mise à jour.
  • Dans le dossier modules, nous allons créer notre module, par contre par convention, tous vos modules devront être créé dans le dossier custom et ceux installés dans contrib.
  • On trouvera dans le dossier profiles les fichiers pour personnaliser l’installation de Drupal
  • Le dossier sites contient généralement les fichiers hébergés sur votre site ainsi que sa configuration.
  • Le dossier themes lui contiendra les thèmes pour le design de votre site
  • Le dossier vendor est généré/actualisé avec Composer et contiens tous les outils nécessaires au fonctionnement du site et des modules. Vous n’y toucherai pas directement.

Création du module Drupal

Dans le dossier modules, si le dossier contrib n’existe pas, créez-le, puis créer le dossier de votre module (dans mon cas tuto_module).

Drupal utilise le YAML pour formater les différents fichiers de configuration. Nous allons voir la structure de ceux-ci par la suite. Par convention, les différents fichiers commenceront par le nom de votre module. Une des contraintes du YAML, c’est l’indentation.

En effet, si vous mettez un espace de trop, votre fichier ne sera pas bon et générera des erreurs.

tuto_module.info.yml

Ce fichier va permettre d’identifier votre module dans la liste des modules de votre site.

name (requis) correspond au nom de votre qui sera affiché dans la liste.
type (requis) sera évidemment de type module.
description sera affiché en même temps que le nom dans la liste.
package permet de grouper plusieurs modules dans la liste.
core (requis) est la version de Drupal requise pour utiliser votre module.

Voilà, avec ça on a créé un module. on aurait pu aller plus loin dans la configuration en ajoutant une ligne dependencies.

Ces lignes permettent de dire que pour faire fonctionner notre module, nous avons besoin du module Block installé et activé sinon il ne fonctionnera pas.
Cela vous permets d’éviter les erreurs si les autres modules que vous utilisez ne sont pas activés.

Si on va dans Extensions/Installer un nouveau module, vous devriez trouver dans la liste ceci :

Drupal 8 - Installation ModuleOn peux constater que l’on retrouve bien les informations que nous avons saisis.

Nous avons maintenant les bases pour créer notre module d’exemple.

Conclusion

L’avantage du développement avec Drupal 8 est qu’il bénéficie de la structure du Framework Symfony 2. Cela permets de produire des modules un minimum structurés sans se perdre dans les fichiers.

Dans le prochain tutoriel, nous aborderons la notion de Controller et de Route pour créer un module qui fait quelque chose.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *