Comment utiliser Drush localement avec MAMP

· 3 min de lecture

Publication originale

Cet article a été publié à l'origine le 20 février 2008 sur The Standard, le blogue de Raincity Studios, sous la signature « Steve Krueger ». Cet article reflète le contexte et les outils de l'époque; certains liens et services mentionnés n'existent plus. Article traduit de l'anglais. La version anglaise est le texte original.

Voir l'original dans l'Internet Archive

La majorité d'entre nous, chez Raincity Studios, utilisons MAMP pour travailler localement sur nos projets ou comme environnement de test. Ayant découvert hier soir la merveille qu'est Drush, je suis allé l'essayer sur mon poste local.

Drush, vous dites?

« Drush est un interpréteur de commandes et une interface de script Unix pour Drupal, un véritable couteau suisse conçu pour faciliter la vie de ceux d'entre nous qui passent la plus grande partie de leurs heures de travail à pianoter à l'invite de commande. »

Drush vous permet de gérer, de mettre à jour et d'entretenir facilement vos modules en ligne de commande, sans avoir à garder un aide-mémoire CVS à portée de main.

Dans ce guide pas à pas, nous verrons comment faire fonctionner Drush sur votre poste local, en supposant que vous utilisez MAMP.

Pour commencer

Il vous faut à la fois une installation MAMP fonctionnelle et le projet Drush de drupal.org.

Le problème

En suivant les instructions fournies dans l'archive de Drush, j'ai rencontré un problème en essayant d'exécuter le fichier drush.php. À l'exécution, il renvoyait toute la structure HTML, comme si j'essayais de l'afficher dans un navigateur. C'est parce que PHP doit être compilé avec le mode CLI (interface en ligne de commande) activé. Ce mode permet d'exécuter des fichiers PHP en ligne de commande, et le mode CLI n'est que l'un des types de SAPI (System API) offerts. Pour en savoir plus sur les types de SAPI, visitez PHP.net.

Utiliser le PHP fourni avec MAMP

En examinant le fichier drush.php situé dans le dossier sites/all/modules/drush/, j'ai constaté qu'il faisait appel à la commande bash php, qui pointe vers la compilation PHP du système plutôt que vers celle de MAMP.

Premièrement, liez la commande bash php au PHP de MAMP :

$ sudo ln -f /Applications/MAMP/bin/php5/bin/php /usr/bin/php

L'option -f supprime le lien du fichier cible actuel, s'il existe, et le recrée avec le chemin fourni.

Deuxièmement, créez un lien vers drush.php dans un répertoire qui se trouve dans votre $PATH, par exemple (c'est une étape qui figure dans le fichier README.txt fourni avec l'archive de Drush) :

$ ln /path/to/drush.php /usr/bin/drush

Dans mon cas, c'était :

$ ln /Applications/MAMP/htdocs/d5.7/sites/all/modules/drush/drush.php /usr/bin/drush

Enfin, initialisez Drush en vous rendant tranquillement dans le répertoire racine de votre Drupal; dans mon cas, c'était :

$ cd /Applications/MAMP/htdocs/d5.7

/Applications/MAMP/htdocs/d5.7 $ drush

Usage: drush.php [options] <command> <command> ...

Options:
  -r <path>, --root=<path>    Drupal root directory to use (default: current directory)
  -l <uri> , --uri=<uri>    URI of the drupal site to use (only needed in multisite environments).....

Fonctionnalités supplémentaires

Drush offre d'autres fonctionnalités, comme la possibilité d'installer et de mettre à jour vos modules en ligne de commande au moyen de CVS, de wget ou de curl. D'autres modules sont requis ou suggérés pour activer ces fonctionnalités : le module Update Status, qui vérifie une fois par jour auprès de drupal.org s'il existe de nouvelles versions officielles de Drupal et des modules que vous utilisez, et CVS Deploy, qui aide les sites déployés directement à partir d'un espace de travail CVS. D'emblée, Update Status ne connaît pas l'état des modules qui n'ont pas été installés à partir d'une archive produite par drupal.org; c'est pourquoi nous utilisons CVS Deploy.

Un dernier exemple est le module provisioning, un ensemble d'extensions à Drush qui traite des sites entiers et des profils d'installation. Le module provisioning est l'interface dorsale de notre profil d'installation d'hébergement de masse hostmaster. Un exemple simple est fourni directement sur la page du projet provisioning; il montre comment installer un tout nouveau site à partir d'un profil d'installation :

drush.php provision install somesite.com

Le cadre provisioning, comme Drush, est lui aussi extensible; les sauvegardes, les mises à niveau et les retours en arrière seront donc éventuellement gérés de la même façon. Vous pouvez aussi utiliser simplement le cadre provisioning avec Drush pour automatiser votre flux de travail, sans utiliser le reste du cadre hostmaster.

Votre entreprise mérite d'être trouvée.

Parlez-nous de votre projet. Nous vous répondons en français ou en anglais, et nous nous déplaçons partout dans la MRC de Papineau.

Affichage

Vos choix restent dans ce navigateur. Rien n'est envoyé.

Taille du texte
100 %
Couleurs
Lecture
Autres aides
Accessibilité du site