Drupal 10 : Les outils

Vous en avez marre de répéter les mêmes tâches manuellement ? Vous cherchez à gérer vos modules et leurs dépendances de façon efficace ? Vous souhaitez générer du code à partir de recettes prédéfinies ? Découvrez l'outillage de Drupal !

Cet article a été initialement rédigé pour Drupal 8 mais son contenu est toujours d'actualité pour Drupal 9 et Drupal 10.

N'hésitez pas à nous contacter ou à vous inscrire à notre formation «Drupal pour les développeurs et développeuses» pour en savoir plus !

La communauté Drupal a toujours cherché à améliorer le confort de ses participants. Cela a donné naissance à plusieurs outils gravitant autour de Drupal et de son code. Il y en a pour tous les goûts, de simplytest.me (service en ligne pour évaluer un ensemble de modules Drupal) à Dreditor (script enrichissant drupal.org pour les contributeurs) en passant par Drupal For Firebug ou Devel (outils pour faciliter la vie du développeur).

Drush

Au milieu de tous ces outils trône Drush, véritable compagnon du développeur, ce script PHP à utiliser dans un shell est une boîte à outils essentielle au quotidien. Pour ceux qui ne connaissent pas Drush, sachez que c’est un indispensable permettant de manipuler Drupal depuis la ligne de commande. Il fonctionne sous Linux, Mac et Windows. On peut lancer une installation, une sauvegarde, vider les caches, changer un mot de passe, créer du contenu, lancer des migrations, télécharger et activer des modules, etc. Enfin, les commandes sont extensibles par les modules ce qui ouvre énormément de possibilités.

Notez que la commande la plus utilisée drush clear-cache all (et son alias drush cc all) n’existe plus, elle est remplacée par la commande drush cache-rebuild (et son alias drush cr).

Drush make

Cette commande utilise un “makefile”, qui est un fichier décrivant une installation, où trouver les modules ou les librairies, quelle version prendre, etc pour construire un Drupal automatiquement. C’est très utile pour faciliter la création de distribution ou faire du déploiement continu.

Aujourd'hui "drush make" a été totalement remplacé par "composer" (voir plus bas) et son développement a donc été suspendu.

Drupal Console

L’adoption du développement orienté objet dans Drupal nécessite d’écrire du code un peu plus verbeux. Symfony utilise un composant nommé Console permettant d’automatiser la génération de ce code via la ligne de commande. Drupal a étendu cet outil à ses composants et il est donc possible de s’en servir pour générer du code à partir de template pour pas mal d'éléments de Drupal (des pages, des formulaires, des entités, des blocs, etc). Cette Console peut aussi servir à activer des modules, vider les caches, lancer des migrations…

Cela fait un peu doublon avec Drush. D’ailleurs la Console Drupal peut même lancer des commandes Drush. Il faut tout de même savoir que les équipes de Drush et de Drupal Console travaillent de concert et il semble aujourd’hui que Drush se dédie à devenir le couteau suisse d’un Drupal existant, alors que la Console Drupal servira surtout durant le développement pour générer du code, lancer des tests, etc...

Malgré des avantages importants notamment pour l'exécution de commandes de génération de code en mode non-interactif, Drupal Console est progressivement abandonné en faveur de Drush. Celui-ci a su maintenir sa base de fonctionnalités essentielles compatible avec les nouvelles versions de Drupal et de PHP tout en reprenant un à un les points forts de Drupal Console comme via la commande drush generate (EN).

Composer

Composer est un outil de gestion de paquets et de dépendances d’un projet venant du monde PHP. Il est utilisé dans de nombreux projets PHP dont Drupal à partir de la version 8. C’est une sorte de drush make (mais en mieux) qui peut télécharger pour vous la version spécifique des librairies à l’aide d’un simple fichier de configuration composer.json tout en gérant les dépendances récursives.

Il s’occupe aussi de générer les fichiers autoload.php permettant à l’application de charger automatiquement les classes des librairies téléchargées quand elles sont appelées.

Ressources associées

Votre commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
Votre adresse servira à afficher un Gravatar et à vous notifier des réponses. Votre commentaire sera anonymisé si ce billet est dépublié pendant plus de 3 mois.
Pour lutter contre le spam notre système enregistre votre adresse IP et votre adresse e-mail si vous la partagez.
Nous vous invitons à consulter notre politique de confidentialité pour comprendre les traitements faits de ces données et comment les rectifier.

À propos de Julien

Co-fondateur - Scrum master & Expert technique

Utilisateur de Drupal depuis 2008, j’ai fait mes armes comme développeur chez Commerce Guys puis me suis mis à encadrer les nouveaux arrivants avant de donner des formations, participer aux avant ventes et accompagner les équipes au passage à Scrum.

Je suis impliqué dans la communauté française de Drupal depuis 2009, j’ai été tour à tour président puis vice-président de l’association Drupal France et francophonie entre 2011 et 2013.