Comme sur Symfony, Drupal dispose maintenant de son outil Drupal Console. En complément de Drush, Drupal Console permet d’automatiser certaines tâches comme la génération de modules, de blocs, d’entités …
Installation de Drupal Console
Pour l’installation sous Linux, il suffit de suivre la procédure suivante :
# Run this in your terminal to get the latest project version:
curl https://drupalconsole.com/installer -L -o drupal.phar
# Or if you don't have curl:
php -r "readfile('https://drupalconsole.com/installer');" > drupal.phar
# Accessing from anywhere on your system:
mv drupal.phar /usr/local/bin/drupal
# Apply executable permissions on the downloaded file:
chmod +x /usr/local/bin/drupal
# Copy configuration files to user home directory:
drupal init --override
# Download, install and serve Drupal 8:
drupal chain --file=~/.console/chain/quick-start.yml
# Create a new Drupal 8 project:
drupal site:new drupal8.dev 8.0.0
# Lists all available commands:
drupal list
# Update DrupalConsole to the latest version:
drupal self-update
Pour vérifier que l’installation s’est bien déroulée, il suffit de taper la commande “drupal” et vous avez le résultat suivant :
Pour avoir un aperçu des commandes disponibles, il suffit de faire la commande suivant :
drupal list
Génération de module avec Drupal Console
Nous allons donc par exemple utiliser Drupal Console pour la génération d’un module. Pour cela, tapez la commande suivante :
drupal generate:module
La console vous posera donc une série de question afin d’obtenir les informations de votre module :
Génération de thèmes avec Drupal Console
Nous pouvons faire le même exercice avec la génération de thème.
drupal generate:theme
Et voici le résultat dans la console :
Conclusion
Drupal Console permet donc d’automatiser des tâches sous Drupal pendant la phase de développement. Il se présente un peu comme le couteau suisse du développeur Drupal 8 et permet de gagner du temps.
Le projet est très dynamique sur Github et de nombreuses autres fonctionnalités devraient arriver très bientôt.