Utiliser Drush make pour télécharger vos modules

Utiliser Drush make pour télécharger vos modules

11 Nov 2010 |  Drupal

Toujours dans la lignée de mes posts sur Drush voici Drush Make, une extension de ce dernier. Ce nouvel outil est ce que j’appellerais un “one-shot” puisqu’il ne vous servira qu’une fois, lors de l’installation de votre projet.

En effet drush make permet la création d’un fichier ayant pour extension .make contenant toute une sélection de choses à télécharger pour votre projet tels que des modules, des thèmes, des librairies Javascript/flash ou encore des fichiers provenant de dépots Git (et j’en oublie). Il vous suffira par la suite d’exécuter le lancement de ce fichier via des commandes drush pour que tout ce qui soit listé dedans soit téléchargé dans le répertoire de votre projet.

Drush make, mais pour quoi faire?

Vous allez me dire “oui mais créer ce fichier pour ne s’en servir qu’une seule fois, je n’en vois pas trop l’utilité “, et effectivement il faut creuser un peu pour comprendre. Je suis sûr qu’au moins 60% des modules que vous utilisez sur chacun de vos projets sont toujours les mêmes et qu’à chaque fois vous les retéléchargez? Tout l’intérêt de drush make réside dans la réutilisation de ces fichiers, ce qui vous évitera les oublis de modules et vous fera gagner du temps par la suite.

Installation de Dush Make

Pour utiliser Drush Make vous devez avoir installé Drush au préalable. Ensuite c’est simple vous n’avez qu’à télécharger et extraire l’archive et à par exemple placer le contenu de celle-ci dans un répertoire nommé .drush dans le dossier de votre utilisateur.

Notez que c’est toujours le même répertoire que l’on utilise pour drush, que ce soit pour les alias de sites, ou encore pour créer des commandes drush.

Une fois le projet en place, exécutez la commande drush pour visualiser les nouvelles commandes disponibles (make, generate-makefile, convert-makefile, verify-makefile).

Dush Make en pratique ?

Deux solutions s’offrent à vous, soit vous codez votre fichier .make à la main et dans ce cas rendez-vous dans le fichier readme.txt qui explique clairement comment faire, soit vous le générez via les commandes Drush fournies. Cette dernière méthode est utile lorsque vous voulez un fichier contenant tous les modules utilisés pour votre projet.

Voici un petit exemple de ce que cela peut donner avec ce fichier nommé init_projet.make:

; Core version
core = 6.x

; API version
api = 2

; Core project
projects[] = drupal

; Modules
projects[admin_menu][subdir] = "contrib"
projects[devel][subdir] = "contrib"
projects[token][subdir] = “contrib”

projects[cck][subdir] = "contrib"
projects[link][subdir] = "contrib"
projects[email][subdir] = "contrib"
projects[date][subdir] = "contrib"

projects[views][subdir] = "contrib"
projects[views][version] = 2.11

projects[wysiwyg][subdir] = "contrib"
projects[imce_wysiwyg][subdir] = "contrib"
projects[imce][subdir] = "contrib"

projects[image][subdir] = "contrib"
projects[imagecache][subdir] = "contrib"
projects[imageapi][subdir] = "contrib"
projects[imagefield][subdir] = "contrib"
projects[filefield][subdir] = "contrib"

projects[pathauto][subdir] = "contrib"
projects[globalredirect][subdir] = "contrib"
projects[nodewords][subdir] = "contrib"
projects[page_title][subdir] = "contrib"
projects[xmlsitemap][subdir] = "contrib"

; Themes
projects[basic][subdir] = "contrib"
projects[rootcandy][subdir] = "contrib"
projects[seven][subdir] = "contrib"

; Librairies
libraries[tinymce][download][type] = "get"
libraries[tinymce][download][url] = "http://downloads.sourceforge.net/project/tinymce/TinyMCE/3.2.7/tinymce_3_2_7.zip"
libraries[tinymce][directory_name] = "tinymce"

libraries[jquery_ui][download][type] = "get"
libraries[jquery_ui][download][url] = "http://jquery-ui.googlecode.com/files/jquery-ui-1.7.3.zip"
libraries[jquery_ui][directory_name] = jquery.ui
libraries[jquery_ui][destination] = modules/jquery_ui

Dans ce fichier j’ai choisit de placer mes modules et mes thèmes dans un répertoire nommé contrib, si vouz voulez simplement les placer dans le répertoire module vous n’avez pas besoin de définir la proprité subdir juste projects[] = “views”

Ensuite c’est simple, il suffit d’ouvrir un terminal et d’exécuter la commande drush make pour lancer le téléchargement de ce qu’il y a dans le fichier

$ drush make /chemin/de/mon/fichier/project_init.make

Une fois lancé vous avez le temps d’aller prendre un café car le téléchargement de tout ce qu’il y a dans votre fichier peut être long :)

Avec Drush make vous avez maintenant un moyen simple pour télécharger tout ce dont vous avez besoin pour vos projets. Pourquoi ne pas créer un fichier .make d’initialisation de projet ou un fichier en fonction de taches spécifiques, comme le référencement, la gestion d’images ou encore pour l’administration… Maintenant imaginez vous combiner drush, drush make et les profils d’installation, vous obtenez ainsi un moyen simple, efficace et rapide pour déployer vos projets.

Pour plus d’infomations sur drush make je vous invite à lire la documentation fournie avec celui-ci. Si vous voulez en savoir plus sur les profils d’installation, allez faire un tour sur le site de Julien Dubois qui nous en fait une belle présentation.

Julien Dubreuil

Vous avez une idée, un projet web à réaliser ?

Ensemble, mettons en oeuvre sa réussite. Je vous accompagne dans vos projets, depuis l'élaboration du cahier des charges jusqu'à la mise en production. Pour plus d'information n'hésitez pas à me contacter.

Contactez-moi