Drupal
07/07/2014

Tutoriel : environnement de travail pour utiliser Drupal / Panopoly et Omega4 sous Mac OSX

image
Voici un tutoriel pour disposer d'un environnement adéquat pour utiliser Drupal / Panopoly et Omega4 sous Mac OSX.

Voici un tutoriel pour disposer d'un environnement adéquat pour utiliser Drupal / Panopoly et Omega4 sous Mac OSX.

Installation

Pour que tout fonctionne correctement, il nous faut :
1. Une pile Apache / Mysql / Php qui sera fournie par MAMP.
2. L'utilitaire Drush quasi-indispensable pour travailler rapidement avec Drupal et déployer un sous-thème Omega sans efforts.
3. Un environnement ruby (pour Sass et Compass). Pour faciliter les choses, nous allons utiliser RVM qui permet de travailler simplement avec plusieurs versions de ruby / gemsets sur la même machine.

MAMP

MAMP est une pile LAMP packagée dans une seule application Mac OSX. C'est bien pratique pour installer tout l'environnement nécessaire sans toucher à la configuration par défaut de Mac OSX.

Sous Windows, il existe WAMP, XAMP, etc. MAMP est l'équivalent pour Mac OSX.

Installation

Il est disponible à l'adresse suivante : http://www.mamp.info. Il s'installe comme n'importe quelle application Mac.

A la fin de l'installation vous disposez dans le répertoire /Applications de votre ordinateur, d'un répertoire MAMP .

Il contient l'application elle-même qui permet de lancer / arrêter votre serveur web local ainsi que plusieurs sous-répertoires.

C'est le sous-répertoire htdocs qui contiendra vos applications PHP.

Ex : si vous décompressez une installation de drupal dans /Applications/MAMP/htdocs/drupal, elle sera joignable à l'adresse : http://localhost:8888/drupal/

Configuration

Par défaut, la configuration PHP/MySQL de MAMP est un peu faiblarde pour Drupal. Il faut faire quelques modifications pour ne pas avoir de messages d'erreur à l'installation de Drupal et surtout de Panopoly.

php.ini

Il faut modifier le fichier php.ini qui se trouve dans :
/Applications/MAMP/conf/php5.5.10 . Recherchez la ligne MEMORY_LIMIT et passez sa valeur à 196M minimum.
ex : memory_limit = 196M

MySQL

Créez un fichier my.cnf dans /Applications/MAMP/conf/
Renseigner les informations suivantes :

[mysqld]
max_allowed_packet = 32M

N'oubliez pas d'arrêter et relancer MAMP pour ques ces modifications soient prises en compte.

RVM

OSX est fourni par défaut avec une version de Ruby, mais ce n'est pas forcémment celle requise par Omega. Pour vous évitez bien des prises de tête, le mieux est d'installer RVM.

Il permet de faire cohabiter plusieurs versions différentes de Ruby sur votre machine, ainsi que différents Gemsets pour chacune d'entre-elles.

Omega est fournir avec un fichier caché RVM qui indique à ce dernier la version requise pour fonctionner sans problèmes ainsi que les différentes gems à installer. Nous verrons comment faire à la fin de notre installation.

Installation

La démarche est très bien décrite sur http://rvm.io.

1. Ouvrir son terminal
2. Taper la commande : curl -sSL https://get.rvm.io | bash -s stable
3. Se laisser guider.
4. Quitter le terminal et le ré-ouvrir pour que tout soit pris en compte.

Drush

La façon la plus simple que j'ai pu trouver pour installer drush (et le faire cohabiter avec MAMP) simplement est de passer par le gestionnaire de paquet pour OSX : brew |

http://brew.sh.

Installation

NB : Je ne sais plus très bien mais je crois qu'X-code est requis par Brew. Pour l'installer :

http://itunes.apple.com/us/app/xcode/id497799835. Il faut aussi que Ruby soit installé (donc installer RVM avant).
1. Ouvrir un terminal
2. Taper la comande : ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
3. Taper ensuite la commande brew install drush
4. En cas de pépins, installer git : brew install git et revenir au point 3 (si Git était requis).

Mise en place

Pour tester que tout fonctionne bien, on peut installer un drupal 7, quelques modules avec drush et utiliser drush omega-wizard pour automatiquement déployer un sous-thème Omega.

Installation de Drupal 7

1. Télécharger la dernière version de D7 sur http://drupalfr.org
2. Décompresser le fichier dans un sous-répertoire de /Applications/MAMP/htdocs (ex : drupal7)
3. Lancer MAMP
4. Se connecter à PhpMyAdmin : http://localhost:8888/phpMyAdmin/?lang=fr
5. Créer une nouvelle base de données pour votre site (ex : Drupal7)
6. Se rendre à l'adresse : http://localhost:8888/drupal7 pour commencer l'installation
7. Renseignez votre BDD fraîchement créee (drupal7), le username et le mot de passe mysql sont root / root.
8. Normalement votre site est dispo en local !

Ajout de quelques modules et d'Omega 4 avec drush

C'est là que la fête commence...

1. Ouvrir son terminal et se rendre à la racine de son installation drupal 7. Ex : cd /Applications/MAMP/htdocs/drupal7
2. Lancer la commande drush en views library token jquery_update ckeditor pathauto omega et répondre "Y" (yes) à toutes les questions.

Quelques explications (plus d'infos sur http://drush.ws) :

La commande en (enable) permet d'activer un ou plusieurs modules mis à la suite et séparés par un espace. Si le module n'est pas trouvé, elle vous propose de le télécharger.
C'est plus rapide que la commande dl qui va seulement télécharger les modules.

Création d'un sous-thème Omega

Il y a une commande magique pour cela : drush omega-wizard à lancer à la racine de son installation.

Si cette commande n'est pas reconnue, il faut peut-être vider le cache de drush avec la commande drush cc drush et la relancer.
Ce Wizard va vous guider pas à pas.
1. Donner un nom à notre nouveau thème
2. Un nom système (pas d'accents, d'espaces...)
3. Choisir le thème parent (Omega en l'occurence et pas Ohm)
4. L'emplacement de notre nouveau thème (laisser par défaut)
5. Si l'on veut télécharger les lirairies js manquantes (ô que oui)
6. Si l'on veut garder le starterkit (je réponds oui)

Un workflow 4 étoiles avec Omega-guard

Omega est livré avec de nouvelles commandes drush. Nous avons déjà vu omega-wizard qui permet de créer facilement un sous-thème. Il y a aussi omega-guard qui va écouter vos changements de fichiers scss et js et compiler le tout proprement dans les répertoires css et js de votre nouveau thème Omega.

Mais avant, il faut que votre installation de Ruby soit complète.

1. Se déplacer à la racine de votre nouveau thème. Ex : cd sites/all/themes/monnouveautheme/
2. Normalement RVM devrait vous faire une alerte pour dire que la version requise de Ruby n'est pas installée. Il vous donne la commande pour se faire, ex : rvm install 1.9.3-p547
3. Cela peut être un peu long le temps qu'il installe et compile les sources...
4. A la fin, lancer la commande : bundle install qui va automatiquement installer toutes les gems ruby nécessaires (Compass, Sass etc.).
5. Vous pouvez enfin lancer la commande : drush omega-guard et choisir le thème à écouter
6. Laissez votre terminal ouvert pour avoir les messages d'erreurs en live.