Chapitre 4. Installer Zend Framework

Table des matières

4.1. Introduction
4.2. Avant d'installer le Framework
4.3. Obtenir Zend Framework
4.3.1. Téléchargement d'une archive compressée
4.3.2. Checkout depuis Subversion
4.3.3. Téléchargement comme paquet d'une Distribution Linux
4.3.4. Téléchargement d'un Nightly Build
4.4. Après l'installation

4.1. Introduction

Les quelques derniers chapitres étaient principalement orientés théorie, donc ça fera du bien de faire quelque chose d'un peu plus concret. Après tout, il n'y a pas tant de choses avec lesquelles je puisse vous marteler le cerveau avant de poursuivre avec le spectacle ! Je sais que les livres avec quantités de points théoriques peuvent être difficile à lire, mais, admettons-le, il peut être de bon de garder ce que nous avons vu dans un coin de votre esprit.

Quand j'ai commencé à écrire ce chapitre à propos de l'installation de Zend Framework, je me suis plaint sur Twitter que Zend Framework serait plus simple à installer si quelqu'un créait un paquet PEAR (c'est quelque chose que symfony et ezComponents font, par exemple). Au vu des réponses, on dirait que c'est une idée que Zend considère, et qui rendra certainement quelques sections de ce chapitre obsolète si elle se concrétise.

4.2. Avant d'installer le Framework

Avant d'installer Zend Framework, il va falloir que vous disposiez d'un environnement de développement complètement fonctionnel. Lors de l'écriture de ce livre, je travaille sous Linux Ubuntu 9.04 (the Jaunty Jackalope), Apache 2.2, MySQL 5.0.65, et PHP 5.2.6 - autrement dit, une plate-forme LAMP typique, installée depuis les serveurs de paquets d'Ubuntu. N'importe quel équivalent sous Windows en utilisant des versions similaires d'Apache, MySQL et PHP serait tout aussi utilisable. Pour ce livre, je me permet de supposer que vous utilisez au minimum le serveur Web Apache, et le système de base de données MySQL. Si vous voulez utiliser IIS et MSSQL, je ne vous en empécherai pas, mais notez que quelques étapes dans les prochains chapitres demanderont quelques adaptations pour pouvoir être appliquées à ces systèmes. Lorsque ce sera nécessaire, tout au long de ce livre, je mentionnerai les instructions spécifiques à Windows en-dessous de celles destinées à Linux.

Installer ces logiciels est quelque chose que je n'expliquerai pas : Internet regorge de guides d'installation pour à peu près n'importe quel système et scénario envisageable, et vous pouvez tout à fait utiliser votre moteur de recherche préféré pour obtenir des informations à ce sujet. Le manuel PHP est un bon point de départ, mais vous pouvez aussi utiliser le système d'installation et de mises à jour de votre distribution Linux (comme aptitude pour Ubuntu), ou même utiliser un système tout-en-un pour Windows, comme XAMPP, pour que cette installation soit effectuée en moins d'étapes.

4.3. Obtenir Zend Framework

Actuellement, vous pouvez obtenir Zend Framework de plusieurs manières différentes. Cela dit, soyez prudent : certaines méthodes ont tendance à être quelque peu... risquées.

4.3.1. Téléchargement d'une archive compressée

Le plus simple est de télécharger la version la plus récente depuis http://framework.zend.com/download/latest. Au moment où j'écris ceci, la version la plus récente est la 1.9.1. Vous devrez ensuite extaire l'archive téléchargée vers un répertoire, comme le bureau de votre OS. Nous verrons bientôt la structure des fichiers décompressés.

Une fois que vous avez téléchargé et décompressé les fichiers du Framework, il peut être intéressant de passer un peu de temps à regarder comment ils sont organisés. De fait, Zend Framework regroupe quatre collections de classes utiles : Standard, Standard Incubator, Extras, et Extras Incubator. Le groupe le plus important est Standard : c'est l'ensemble principal que nous utiliserons. Cela complexifie un brin les choses, puisque l'étape principale de toute configuration est de savoir quoi ajouter à l'include_path de PHP, que vous ayez l'intention de le modifier au sein du fichier de configuration php.ini, ou de le modifier via un appel à set_include_path() lorsque vous créez une nouvelle application. Voila où trouver chacune de ces quatre collections, en chemins relatifs par rapport au répertoire où vous avez extrait Zend Framework :

Standard : /library
Standard Incubator : /incubator/library
Extras : /extras/library
Extras Incubator : /extras/incubator/library

Chacun de ces emplacements contient un répertoire nommé soit Zend, soit ZendX. Le suffixe "X" identifie les composants additionnels (eXtra) pour lesquelles Zend n'offre pas de support officiel (cette absence de support ne les empêche absolument pas d'être très utiles !). C'est ces chemins (en absolu à partir de la racine de votre système de fichiers ou de la lettre de votre lecteur) que vous aurez éventuellement besoin d'ajouter à l'include_path de PHP. Par exemple, en admettant que j'aie copié les fichiers du Framework vers /usr/share/php/zf, le chemin complet à ajouter à mon include_path pour Extras Incubator serait /usr/share/php/zf/extras/incubator/library. Cela devrait suffire pour vous permettre d'éditer le fichier php.ini si vous le désirez (ce qui ne serait pas une mauvaise idée), et je vous montrerai plus tard comment gérer l'include_path PHP pour une application Zend Framework si vous ne souhaitez pas apporter de modifier au fichier php.ini.

Avec les informations fournies ci-dessus, c'est maintenant à vous de copier les fichiers extraits vers un emplacement plus permanent. Sous Ubuntu, j'utilise /usr/share/php/zf, mais n'importe quel emplacement fera l'affaire. Essayez juste de ne pas oublier où vous avez installé le Framework !

4.3.2. Checkout depuis Subversion

Si vous préférez être proche du rythme de développement de trunk, ou conserver une version à jour par rapport à la branche de la version courante, vous pouvez aussi "extraire" ("checkout") le Framework depuis son serveur subversion, à l'URL suivante : http://framework.zend.com/svn/framework/. Subversion est un système de contrôle de versions, que les développeurs utilisent pour disposer d'un serveur central pour le code source qu'ils développent. Son principal avantage est qu'il permet à un grand nombre de développeurs de travailler sur le même code source sans avoir à passer leur temps à échanger des notes, ou à attendre leur tour de modifier un fichier.

J'aurais tendance à suggérer que vous passiez par la création d'un emplacement particulier, comme /usr/share/php/zf, et que vous extrayiez les sources vers ce répertoire. Le seul problème avec subversion est qu'il y a un grand nombre (et par grand nombre, j'entend un nombre réllement ahurissant) de fichiers si vous incluez toutes les branches et tous les tags. Pour ne récupérer depuis subversion que les fichiers nécessaires, vous allez devoir effectuer quatre extractions, en ne pointant que vers les emplacements des quatre collections principales, dont les URLs sont :

Standard : http://framework.zend.com/svn/framework/standard/trunk/library/
Standard Incubator : http://framework.zend.com/svn/framework/standard/incubator/library/
Extras : http://framework.zend.com/svn/framework/extras/trunk/library/
Extras Incubator : http://framework.zend.com/svn/framework/extras/incubator/library/

Si utiliser le trunk pour chacune d'entre elles n'est pas votre affaire, vous pouvez choisir d'utiliser la branche de la version qui vous intéresse pour les quatres ensembles.

La manière la plus simple est de créer le répertoire père, comme d'habitude ; par exemple, /usr/share/php/zf, et de lancer la commande svn checkout à l'intérieur de celui-ci, en faisant référence à quatre répertoires nommés d'après les noms des collections, comme standard, standard_incubator, extras, et extras_incubator.

A tout moment, lorsque vous voulez mettre à jour à la dernière version du code de développement, vous n'avez qu'à lancer la commande svn update pour chacun de ces quatre répertoires.

4.3.3. Téléchargement comme paquet d'une Distribution Linux

Il existe aussi une troisième option : obtenez le Framework depuis le serveur de mises à jour de votre distribution Linux, en utilisant apt-get ou aptitude (Si vous utilisez une distribution dérivée de Debian). Je ne recommande vraiment pas cette solution, car vous risquez de vous retrouver avec une version du Framework qui a été distribuée il y a des mois de cela, et qui ne sera plus à jour. C'est à la limite du dangereux, si vous obtenez une version avec un problème de sécurité important (et c'est possible). Sous Ubuntu, vous utiliseriez simplement une commande de ce type :

sudo aptitude install zend-framework

N'envisagez l'utilisation de cette solution, cela dit, que si vous êtes certain que la dernière version du Framework est disponible depuis les serveurs de mise à jour de votre distribution. Au moment où j'écris ces lignes, il semblerait que ça ne soit pas le cas.

4.3.4. Téléchargement d'un Nightly Build

Je ne décrirai pas cette solution en détail, puisqu'elle ne fonctionne actuellement pas sur le site de Zend Framework. A l'avenir, toutefois, cela vous permettrait d'obtenir la version nocturne la plus récente sans avoir à passer par subversion.

4.4. Après l'installation

Voila à peu près tout ce qu'il y avait à dire à propos de l'installation de Zend Framework. La seule chose potentiellement difficile est qu'il faut se souvenir que le code source est distribué sous forme de quatre paquets distincts, qui devront chacun être ajoutés à l'include_path de PHP séparément lorsque cela sera nécessaire. Si modifier le fichier php.ini ne vous pose pas de problème, vous pouvez l'éditer dès maintenant. Si vous faites cela, je vous suggère d'ordonner les chemins inclus de manière à ce que ceux en rapport avec les Incubators soient positionnés en dernier. Cela permettra de s'assurer que les classes et composants de l'Incubator ne prennent pas le pas sur les autres, tout en rendant disponible tout nouveau composant qui serait ajouté à l'incubateur. Cet ordonnement de l'include_path permet aussi une optimisation mineure des performances, comme décrit dans une des annexes de ce livre.