Gagner du temps avec les commandes Drush

Drush signifie DRUpal SHell. C'est un utilitaire qui permet d'agir sur un site Drupal avec des lignes de commandes entrées dans la console.

L'utilisation de Drush permet un gain de temps considérable lors des tâches répétitives effectuées à chaque nouveau développement de site (installation du site avec ou sans profil, installation des modules, mises à jour, vidange du cache...).

Par exemple, pour installer un module de la manière classique, il faut :

  • 1) aller chercher le lien du module sur drupal.org
  • 2) aller sur "installer un nouveau module" sur le site en développement, coller le lien puis cliquer sur "Installer"
  • 3) ...attendre...
  • 4) cliquer sur "activer le module installé"
  • 5) sélectionner et activer le module dans la liste
  • 6) ...attendre...
  • 7) module installé !

Pas mal d'attente et de clics plus tard, le nouveau module est enfin installé. Ça fonctionne très bien, pas de problème.

Mais lorsque l'on a des dizaines de modules à installer comme pour un site e-commerce par exemple, et qu'en plus le délais est très serré, ces phases d'installation ne font qu'augmenter inutilement le stress en nous faisant poireauter devant l'écran.
En utilisant Drush, 2 lignes de commande et quelques secondes auraient suffit pour installer ce nouveau module.

Avec l'environnement de développement Quickstart, une machine virtuelle Ubuntu configurée spécialement pour le développement de site Drupal, on peut même installer un site Drupal tout frais en 1 seule ligne !

 

Commandes Drush utiles

 

Afficher l'aide et la liste des commandes Drush

Afficher l'aide :

drush help

Afficher l'aide pour une commande spécifique :

drush help nom_de_la_commande

 

Installer un module

Attention : il faut être dans le répertoire du site à modifier avant d'éxécuter ces commandes.

Télécharger le module :

drush dl module_name

Activer le module :

drush en module_name -y

Désactiver le module :

drush dis module_name -y

Mettre à jour le core et les modules :

drush up -y

Le "-y" à la fin de la ligne permet de répondre directement "oui" lorsque la console nous demandera confirmation pour l'action.

 

Maintenance du site

Vider les caches :

drush cc

Vider tous les caches :

drush cc all

Lancer la tâche CRON :

drush cron

Créer une archive de sauvegarde :

drush arb

Restaurer une archive :

drush arr

Déployer/synchroniser un site :

drush rsync @production @developpement

Pour cette dernière commande, un article plus long serait nécessaire. En attendant, plus d'infos sont disponibles sur drupal.org : utiliser Drush pour déployer et synchoniser un site Drupal.

 

Installer un site Drupal tout "frais" avec Quickstart

Installer un nouveau site :

drush qsc monsite.dev

Cette commande va :

  • 1) Créer le site-alias Drush (voir Drush site-alias)
  • 2) Configurer le DNS pour monsite.dev
  • 3) Créer une base de données (et un utilisateur)
  • 4) Télécharger la dernière version de Drupal sur drupal.org et la déposer dans un répertoire monsite_dev
  • 5) Configurer Apache pour ce nouveau site
  • 6) Lancer l'installeur

A la fin de ce processus, le site est prêt et accessible à l'adresse http://monsite.dev.

On peut aussi automatiser l'installation des modules dès cette première étape en utilisant un "makefile". C'est un fichier contenant une liste de modules et de librairies.

drush qsc monsite.dev --makefile=makefile.make

On peut générer le makefile à partir d'un site existant (utile lorsque l'on développe des sites aux fonctionnalités similaires) avec la command make-generate ou bien on peut utiliser l'outil en ligne drushmake.me.

Enfin, une dernière commande qui permet de supprimer un site (alias, répertoire et base de données) :

drush qsd monsite.dev