Drush est une interface de ligne de commande et de scripting pour Drupal qui va vous permettre de réaliser de nombreuses tâches répétitives ou longue sur un site Drupal. Si vous êtes réfractaire à la ligne de commande, passez votre chemin...
L’intérêt principal sera la rapidité d'exécution comparativement à l'environnement graphique de votre site. Le gain n'est pas non plus phénoménal mais lors de la maintenance ou la construction d'un site vous vous rendrez vite compte de son intérêt. Ensuite si vous mettez un peu les mains dans le cambouis, l'écriture de script Drush vous permettra d'automatiser des tâches sur votre site et entre vos environnements (staging, pre-prod, prod...).
Drush sous *nix
De nombreuses distributions possèdent un paquet drush, ce ne sera pas la dernière version mais l'installation sera plus simple :
Debian
sudo apt-get install drush
CentOS
sudo yum install drush
OS X
brew install drush
Drush sous Windows
http://www.drush.org/drush_windows_installer
Il est conseillé d'installer git en parallèle si vous ne l'avez pas, cela permettra d'avoir une fenêtre de commande commune avec des commandes unix utiles.
https://code.google.com/p/msysgit/downloads/list
Premiers pas avec drush
Sous linux vous aurez maintenant accès à drush, par défaut celle-ci vous affichera la liste des commandes drush disponibles. Sous windows vous pouvez soit lancer le prompt fourni avec l'installer ou utiliser le bash git si ce dernier est installé.
Commandes Drush de base (avec leurs options utiles !)
se positionner dans le répertoire de votre site web (/var/www/drupal, ou EasyPHP\data\localweb\projects...)
Avoir un petit état des lieux
drush status
Télécharger un module ou un thème
drush dl NOM_PROJET AUTRE_PROJET ...
9a fonctionne évidement pour télécharger la dernière version de drupal, dans ce ca même pas besoin d'argument
drush dl
Activer un module (le -y permet même de le télécharger automatiquement)
drush -y en NOM_PROJET AUTRE_PROJET ...
Désactiver un module (le -y permet d'éviter le prompt)
drush -y dis NOM_PROJET AUTRE_PROJET ...
Récupérer un lien de connexion pour le super utilisateur du site (pour se connecter automatiquement, très pratique !)
drush uli
Vider tous les caches
drush -y cc all
Vider seulement le cache de theme (prendre en compte un override de tpl)
drush -y cc theme-registry
Vider seulement le cache de menu (prendre en compte un nouveau HOOK_menu ou un changement)
drush -y cc menu
Vous avez activer l'aggrégation css / js, vidage du cache après une petite modification
drush -y cc css-js
Lancer le cron, l'option -v vous donnera des informations détaillés sur ce qu'il se passe, très utile quand un cron ne veux pas se lancer et qu'on ne sait pas pourquoi
drush -v cron
Lister les modules actifs
drush pml --status=enabled
Avec le module complémentaire Backup migrate, faire un backup de la base de donnée
drush bb
Avec le module complémentaire Feature, voir la liste des features
drush fl
Version avec seuleemnt les features activés
drush fl --status=enabled
Avec le module complémentaire Feature et Diff, voir les changements d'une feature
drush fd NOM_FEATURE
Update d'une feature avec l'état actuel
drush -y fu NOM_FEATURE
Revert d'une feature pour revenir à l'état du code
drush -y fr NOM_FEATURE
Avec le module devel, réinstaller complètement un module (désactive, désinstalle et active)
drush dre NOM_MODULE
Il y en a bien sûr beaucoup d'autres mais celles-ci sont celles que j'utilise le plus souvent.