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