mardi 24 août 2010

Eclipse + Yii : mise en place d'un environnement de développement


1. Eclipse IDE

Télécharger la dernière version d'Eclipse - Choisir la distribution Eclipse for PHP Developers. Dans mon cas il s'agira donc de la version windows 32 bits (eclipse-php-helios-win32.zip - 143.5 Mo - version 3.6).
Une fois le téléchargement terminé, l'installation d'Eclipse consiste simplement à décompression du fichier Zip. Nous allons donc créer le répertoire c:\ide et y décompresser l'archive.
Voilà, Eclipse est installé, il se trouve dans le répertoire c:\ide\eclipse Pour le lancer, il suffit d'éxécuter :
> c:\ide\eclipse\eclipse.exe
Lors du premier lancement d'Eclipse, vous devez choisir un répertoire qui sera utilisé comme 'espace de travail' (en anglais, workspace). Dans cet exemple j'ai choisi de créer un répertoire c:\project pour cela. Tous les projets qui seront ensuite créés depuis Eclipse dans cet espace de travail, le seront donc dans ce répertoire.
L'objet de cet article n'étant pas l'apprentissage de l'utilisation d'Eclipse, je vous laisse découvrir les fonctions disponibles par vous même, pour me concentrer sur le développement PHP.

2. Les Plugins Eclipse

Cette version comporte déjà un certain nombre de fonctionnalités qu'il va nous falloir configurer. Par ailleurs, vous pouvez installer vos plugins favoris pour palier aux manques que vous constaterez. Personnellement, je me suis contenté de rajouter les plugins suivants :
  • Subclipse : la version compatible avec Eclipse 3.6 est la 1.6.x (installation)
  • RSE (Remote System Explorer) : cette fonction permet d'accèder à des sytèmes externes par FTP, sftp/ssh etc ... En gros, sans quitter Eclipse vous pourrez naviguer sur votre serveur Web par FTP. RSE fait partie de la version d'Eclipse que nous venons d'installer, mais il ne prend pas en charge les protocoles qui nous intéressent (FTP, sftp/ssh), on va donc télécharger ce plugin et l'installer (cette fois à la main, pas de lien direct depuis Eclipse).
Concernant l'installation des plugins Eclipse, je suis tombé par hasard sur une méthode qui m'a semblé bien astucieuse et pratique : les fichiers link
Le principe est simple :

  • créer le répetoire c:\ide\eclipse-plugins où tous les plugins seront stockés
  • télécharger le plugin a installer (par exemple RSE - fichier : RSE-runtime-3.2.zip)
  • créer le répertoire c:\ide\eclipse-plugin\RSE-3.2 et y décompresser RSE-runtime-3.2.zip.
  • créer le répertoire c:\ide\eclipse\links
  • créer le fichier c:\ide\eclipse\links\mes_plugins.link (le nom importe peu, mais l'extension doit être .link)
  • ouvrir le fichier link et y ajouter la ligne suivante : path=C:/ide/eclipse-plugins/RSE-3.2
  • sauver et fermer
Ensuite on relance Eclipse et Ô magie ! .. le Remote System Explorer nous propose les protocoles FTP, sftp/ssh etc ... Cette façon d'installer des plugins est décrite en détail dans cet article (en anglais). Les avantages de cette méthode sont multiples :
  1. la désinstallation d'un plugin est simple : supprimez le fichier link, ou la référence au plugin dans un fichier link comportant plusieurs références. (amusez-vous à enlever un plugin installé directement dans Eclipse, vous comprendrez)
  2. Plusieurs version d'Eclipse peuvent utiliser les mêmes plugins immédiatement
  3. la gestion de version de plugins est simplifiée.


Bon, revenons à nos moutons. Nous avons donc Eclipse prêt à l'emploi et l'arborescence ci-dessus.Il est temps d'installer Yii.

3. Yii Framework

J'ai choisi de placer Yii dans le répertoire c:\project\lib, mais vous faites comme vous voulez. Après avoir téléchargé la dernière version de Yii (à ce jour, il s'agit de la yii-1.1.3), décompressez-la dans le répertoire c:\project\lib. Vous obtenez alors les répertoires suivants :


  • C:\project\lib\php\yii-1.1.3.r2247 : racine de l'installation
  • C:\project\lib\php\yii-1.1.3.r2247\demos : sites de démonstration (blog, hangman - jeu du pendu-, helloworld, phonebook -demo SOAP -)
  • C:\project\lib\php\yii-1.1.3.r2247\framework : classes composant le noyau (core) de Yii
  • C:\project\lib\php\yii-1.1.3.r2247\requirements : vérifications des pré-requis
Lorsqu'une nouvelle version de Yii sera disponible, il suffira de la copier elle aussi dans le répertoire c:\project\lib\php, ce qui nous permettra facilement de passer d'une version à l'autre.

4. Apache

L'installation d'Apache (WampServer) et d'un environnement complet de tests est détaillée dans cet article.
Notre espace de travail se trouve dans C:\project, c'est là que nos projets Yii seront créés. C'est donc là que se trouveront nos fichiers PHP et par conséquent, notre serveur Web (Apache) doit pouvoir servir des fichiers placés dans ce répertoire. Pour cela, il est pratique de créer un alias qui va pointer vers le répertoire c:\projects. WampServer permet cela très facilement directement depuis le menu utilisateur (Apache > Alias Directories > + Add an alias ). Notre alias va s'appeler 'project' et il pointera vers le répertoire c:\project.
Une fois l'opération terminée (WampServer se relance automatiquement une fois l'Alias créé), allons faire un tour à l'adresse suivante :

La page qui s'affiche est générée par Yii. Elle résume l'état de l'installation en terme d'extensions PHP disponibles ainsi que de la version du language (PHP 5.1 ou supérieur).

5. Intégration Yii - Eclipse

Avant de pouvoir créer notre premier projet Yii dans Eclipse et bénéficier d'un environnement de développement complet, il reste quelques petites configurations à faire.

Création d'un serveur PHP
Par défaut, Eclipse utilise l'adresse http://localhost pour éxécuter les fichiers PHP que nous allons créer dans nos projets, mais cela ne correspond pas à notre environnement. En effet, dans l'étape précédente, nous avons créé un alias qui pointe directement sur notre répertoire de projet. Eclipse devrait donc plutôt utiliser l'adresse http://localhost/project. Ajoutons donc un serveur PHP :
  • Windows > Preferences > PHP > PHP Servers + [New] - on va l'appeler 'Project PHP Web Server' et lui donner l'URL http://localhost/project. Après l'avoir rajouté, nous le définirons comme serveur par défaut.
Client PHP
Nous allons maintenant indiquer à Eclipse où se trouve l'interpréteur PHP qu'il devra utiliser pour par exemple, la détection à la volée des erreurs de syntaxes. Nous utiliserons PHP 5.2.11 que nous avions installé lors d'un précédent article.
  • Windows > Preferences > PHP > PHP Executables + [Add...]
  • Name : PHP 5.2.11
  • Executable Path : C:\wamp\bin\php\php5.2.11\php.exe
  • PHP ini file (optional) : (laisser vide. On utilisera le php.ini par défaut)
  • SAPI Type : CLI
  • PHP Debugger : XDebug (cela seulement si XDebug a été installé - encore une fois, cette partie a été détaillée dans un article précédent)
  • [Finish]
Librairies Yii
Pour terminer, nous allons informer Eclipse que le framework Yii doit être accessible en tant que librairie utilisateur lors de la création d'un nouveau projet.
  • Windows > Preferences > PHP > PHP Libraries + [New...]
  • User library name : Yii 1.1.3
  • [OK]
  • sélectionnez ensuite 'Yii 1.1.3' dans la liste 'defined user libraries' et cliquez sur [Add External Folder...]
  • Séelctionnez ensuite le répertoire C:\project\lib\php\yii-1.1.3.r2247\framework
  • [OK]
  • [OK] (ferme la fenêtre de préférences
Debug
Pour être complet, notre environnement doit également permettre le débugage de nos applications PHP (notre environnement de test est celui qui a été installé lors d'un article précédent). La seule petite chose que nous devons modifier est le numéro de port utilisé par XDebug. Par défaut, XDebug s'installe sur le port 10000, mais Eclipse utilise le port 9000 ... si on ne fait rien, c'est pas demain que ces deux là vont pouvoir communiquer !
  • Windows > Preferences > PHP > Debug > Installed Debuggers
  • Sélectionnez XDebug
  • [Configure]
  • Debug Port : 10000
  • [OK]
Par sécurité vous pouvez également modifier le port de Zend Debugger en le mettant à 10001 par exemple. En résumé, le port de XDebug configuré ici doit être le même que celui configuré dans le fichier C:\wamp\bin\apache\Apache2.2.11\bin\php.ini par le paramètre xdebug.remote_port.

5. HelloWorld

Ca y est, c'est l'heure de créer notre premier projet Eclipse !! ... quel suspens ! Allé, c'est parti :
  • File > New ... > PHP Project
  • Project Name : helloWorld
  • [Next > ]
  • Sélectionnez l'onglet Libraries puis cliquez sur [Add Library ...]
  • Sélectionnez 'User Library' puis cliquez sur [Next >]
  • .. et là, on retrouve la librairie que nous avions rajouté à Eclipse. Cochez donc Yii 1.1.3
  • [Finish]
  • [Finish] pour ferme l'assistant de création de projet
Si ce n'est pas déjà fait, passez en perspective PHP pour voir apparaître votre projet helloWorld dans le panneau 'PHP Explorer'.
Le projet helloWorld sélectionné, cliquez sur le bouton droit de la souris pour obtenir le menu contextuel, puis choisissez 'New ... > PHP File'. Notre premier fichier s'appellera index.php (c'est original).

Ok, c'est tout pourri comme programme, mais le but étant de tester un peu l'installation que l'on vient de terminer, ça fera l'affaire. Exécutons ce superbe bout de code:
  • Sélectionnez le fichier index.php + bouton droit de la souris
  • Run as > PHP Web Page
Le navigateur Interne d'Eclipse apparaît et affiche le résultat de notre script. Tentons le débugage maintenant.
  • Sélectionnez le fichier index.php + bouton droit de la souris
  • Debug as > PHP Web Page
La Perspective dédié au debugage PHP apparaît (si vous l'autorisez) et le script est bloqué sur la première ligne du script : tout fonctionne correctement !!

6. Conclusion

Voilà, nous venons d'installer tout un environnement de développement pour PHP et Yii. Je vous laisse explorer par vous même les nombreuses fonctionnalités offertes par Eclipse (la saisie assistée vous permettra notamment d'accéder rapidement aux Méthode fournies par les classes Yii). Bien sûr cet environnement peut être amélioré par des plugins Eclipses, des raccourcis claviers, des modèles tout prêt, des outils extenres, etc ... mais cela est une autre histoire... et peut être un autre article.

1 commentaire: