Table des matières
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.
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.
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.
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 !
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.
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.
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.