Fil d'Ariane
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
- Le site de Drush http://www.drush.org/en/master/ (EN)
- Le site de Drupal Console http://drupalconsole.com (EN)/
- Une introduction à Drush et Drupal Console (EN)
- Le site de Composer https://getcomposer.org/ (EN)
- Une introduction à Composer (EN) par Bojan Živanović
Votre commentaire
À 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.