Comment s’installer un environnement de développement PHP complet sous Windows ?

Pour développer dans de bonnes conditions, il faut avoir un environnement d’exécution, un éditeur riche et un debugger. Chaque langage, y compris PHP, a ses outils. Pourtant, beaucoup de développeurs en PHP travaillent à l’ancienne : édition du code avec Notepad++, upload du fichier modifié via FTP sur le serveur distant, vérification du résultat sur le site distant, et… pas de debugger pour analyser les problèmes.

Si vous voulez réaliser vos développements à partir de Windows, cet article va vous expliquer quoi installer et comment le configurer. Cela ne vous empêchera pas en fin de compte d’envoyer vos résultats sur un site distant qui, lui, tourne sous Linux. Et en plus, tout est gratuit ! Analyse.

Au sommaire de ce dossier :

  • Les logiciels nécessaires
  • Téléchargez et installez Xampp
  • Sécurisez Xampp
  • Configurez plusieurs sites sur votre ordinateur
  • Rendez vos sites accessibles sur Internet
  • Administrez votre base de données
  • Téléchargez et installez le débugger Xdebug
  • Téléchargez et installez Netbeans

Les logiciels nécessaires

Vous devez tout d’abord télécharger les logiciels nécessaires :

  • Xampp pour les serveurs Apache, PHP et Mysql,
  • Netbeans pour l’éditeur riche,
  • Xdebug pour le debugger.

C’est tout ce dont vous avez besoin.

Nota : ces logiciels peuvent être téléchargés et installés dans leur version Mac OS si vous êtes plutôt adepte des produits Apple.

Téléchargez et installez Xampp

Aujourd’hui, c’est la version 1.7.4 qui est disponible. Si vous lisez cet article dans quelques mois, il vous sera certainement proposé une version supérieure. Le principe de Xampp ne change pas d’une version à l’autre. Seules les versions des applications qu’elle contient sont mises à jour.

Vous trouverez Xampp sur http://www.apachefriends.org/fr/xampp-windows.html

La version 1.7.4 propose les versions :

  • Apache 2.2.17
  • MySQL 5.5.8
  • PHP 5.3.5
  • phpMyAdmin 3.3.9
  • FileZilla FTP Server 0.9.37
  • Tomcat 7.0.3

Apache est le serveur http et https. MySQL gère des bases de données. La version 5.3 de PHP vous permettra de faire de la programmation orientée objet native et vous bénéficierez également des espaces de nom. PhpMyAdmin est là pour administrer votre base de données MySql.

FileZilla FTP serveur peut vous être utile si vous voulez installer un serveur FTP sur votre machine de développement. Nous ne rentrerons pas dans les détails de son installation.

Tomcat ne vous servira pas à grand-chose pour PHP. C’est un moteur pour exécuter du Java. Il existe d’autres extensions pour exécuter du Perl de l’ASP ou du Python.  Ce n’est pas l’objet de cet article.

Téléchargez l’installeur de 66 Mo et suivez ce qu’ils appellent la méthode A.

Vous devez installer Xampp sur la racine de votre disque, c:\xampp ou d:\xampp si vous avez un disque d. Je considèrerais que vous faites l’installation sur le disque d. Lors de l’installation, vous pouvez d’ores et déjà indiquer que vous voulez installer Apache et MySql en tant que service (et FileZilla si vous voulez vous en servir). Si vous ne le faites pas là, vous pourrez le faire plus tard. Les services permettent le démarrage automatique des serveurs.

Si vous rencontrez un problème d’installation, c’est que très probablement une autre application tourne déjà sur votre ordinateur et utilise les ports utilisés par Apache et MySql. Identifiez-la, désinstallez-la et recommencez l’installation.

Une fois l’installation terminée, vous pouvez lancer le Xampp control Panel qui sera affiché comme ceci :

La case à cocher Svc sur la gauche indique que les applications tournent sous forme de services, c’est-à-dire qu’elles seront automatiquement lancées au démarrage de Windows. Si elles ne sont pas cochées, il est temps de le faire. Sinon, vous devrez lancer les serveurs à chaque redémarrage.

Sécurisez Xampp

Bien que nous ne mettions en place qu’une version de développement, il est nécessaire de sécuriser chaque serveur. Cliquez tout d’abord sur le bouton Admin du serveur Apache. Une page est lancée sur votre navigateur dont l’adresse est localhost. Localhost, c’est le petit nom donné à la machine locale. Votre serveur fonctionne déjà !

Après avoir sélectionné la langue, allez voir le Statut. Vos services sont bel et bien actifs. Mais si vous allez du côté de la sécurité, vous verrez que rien n’est sécurisé.

Il va falloir sécuriser chaque serveur. Heureusement, c’est simple. Cliquez sur le lien en dessous du tableau : http://localhost/security/xamppsecurity.php

Dans Mysql section, choisissez un mot de passe puis cliquez sur « password changing ».

Maintenant dans Xampp directory protection, indiquez un user et un mot de passe. Mon conseil : choisissez comme user « root » et comme mot de passe celui que vous avez choisi pour Mysql. Pour allez sur la page suivante, vous devez de nouveau vous authentifier avec le user et le mot de passe que vous venez juste de choisir.

Cliquez maintenant sur sécurité. Vous verrez que vos applications sont sécurisées. Pour sécuriser le FTP serveur, il faut aller dans l’administration FTP à partir du Xampp control panel.

Concernant le safe mode de PHP, vous pouvez le laisser tel quel. Seules les personnes qui ont réellement besoin du safe mode pourront l’activer.

Profitez des différents mini-sites proposés en revenant à la page d’accueil http://localhost. Il y a en effet quelques exemples d’applications intéressants pour les débutants. Vous pouvez maintenant ajouter vos propres créations dans le répertoire « d:\xampp\htdocs ».

Configurez plusieurs sites sur votre ordinateur

Pour ma part, je n’aime pas le répertoire « htdocs ». Je préfère utiliser le répertoire « www ». C’est une question de goût. Il peut être intéressant de configurer plusieurs sites sur votre ordinateur si vous travaillez sur plusieurs projets et que vous souhaitez qu’ils soient bien distincts.

Vous pourrez y accéder ainsi :

Comment faire ?

Utilisez un éditeur de texte comme Notepad++ que vous pourrez télécharger à cette adresse http://sourceforge.net/projects/notepad-plus/. Notepad, Wordpad, Word ou Openoffice ne sont pas des éditeurs de texte et ne doivent surtout pas être utilisés.

Ouvrez le fichier de configuration d’Apache : « D:\xampp\apache\conf\httpd.conf ».

Vous verrez deux occurrences de « htdocs ». Si vous voulez que votre site soit dans le répertoire « www », changez simplement « htdocs » par « www ». Cela correspond au répertoire qui stockera les fichiers du serveur principal qui répondra à l’adresse http://127.0.0.1.

Pour ajouter sitea et siteb, vous devez insérer les lignes suivantes à la fin du fichier :

<Directory "d:/xampp/www.sitea">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
<Directory "d:/xampp/www.siteb">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost *:80>
   ServerName sitea.localhost
   DocumentRoot "d:/xampp/www.sitea"
</VirtualHost>
<VirtualHost *:80>
   ServerName siteb.localhost
   DocumentRoot "d:/xampp/www.siteb"
</VirtualHost>

Pour que vos modifications soient prises en compte, après avoir enregistré le fichier, vous devez arrêter et relancer votre serveur Apache. Ceci se fait directement à partir de Xampp control panel.

Malheureusement, cette modification ne suffit pas. Vous devez expliquer à votre ordinateur que « sitea.localhost » et « siteb.localhost » correspondent à votre ordinateur, ce qui n’est pas le cas sans paramétrage. Vous devez modifier un fichier système qui ne peut être modifié qu’avec des droits administrateur. Lancez Notepad++ en tant d’administrateur. Pour se faire, retrouvez votre programme dans le menu et au lieu de cliquer gauche, faites clic droit puis « Exécuter en tant qu’administrateur ». Ouvrez le fichier « C:\Windows\System32\drivers\etc\hosts » et ajoutez les lignes suivantes :

127.0.0.1       sitea.localhost
127.0.0.1       siteb.localhost

Vous pouvez maintenant essayer les deux adresses. Elles fonctionnent si vous avez bien entendu pensé à créer les répertoires choisis.

Rendez vos sites accessibles sur Internet

Pour l’instant, votre site local n’est accessible qu’en local. Si vous voulez qu’il soit accessible à partir d’Internet, vous allez devoir faire quelques manipulations supplémentaires.

Allez sur http://www.mon-ip.com/ pour afficher votre adresse IP. C’est une série de 4 nombres séparés par des points écrits en rouge et en gros sur ce site. Recopiez ces 4 nombres dans la barre d’adresse de votre navigateur et chargez la page. Si votre site s’affiche, c’est qu’il est déjà accessible sur Internet. S’il ne s’affiche pas, c’est que votre ordinateur n’est pas directement connecté à Internet et/ou votre pare-feu Windows bloque le site.

Dans « Panneau de configuration », sélectionnez « Autoriser un programme via le Pare-Feu Windows ». Si vous ne voyez pas « Apache HTTP server » dans la liste, modifiez les  paramètres et autorisez un autre programme « D:\xampp\apache\bin\httpd.exe ». Assurez-vous également qu’il est coché.

Lancez « Invites de commande » et tapez « ipconfig /all ». Ce petit logiciel vous permet d’afficher votre adresse IPv4, une série de 4 nombres séparés par des points. Vous devez ensuite indiquer au boitier fourni par votre fournisseur d’accès à Internet que toutes les requêtes qui arrivent sur le port 80 pour http, 443 pour https, 3306 pour MySql et 21 pour FTP doivent être transmises à votre ordinateur. Vous devez ouvrir au minimum le port 80. Les autres, uniquement si vous en avez besoin.

Prenons l’exemple de Free. Vous devez aller sur votre console client. Allez sur http://free.fr puis « Mon compte ». Connectez-vous et allez dans « Internet » et « Configurer mon routeur ».

Dans « Redirections de ports », indiquez le port 80, le protocole tcp, l’adresse IP de votre ordinateur qui commence certainement par 192.168 et qui vous est indiquée dans ipconfig, et enfin le port 80.

Vous devez également vous assurer qu’à chaque redémarrage, votre ordinateur ne changera pas d’adresse IP. Ceci peut se produire si plusieurs ordinateurs sont connectés à votre réseau. Dans ce cas, dans « Baux DHCP permanents », remettez l’adresse IP de votre ordinateur et saisissez son adresse Mac, composés de 6 nombres hexadécimaux (de 0 à 9 et de a à f) séparés par des deux points. Cette valeur est appelée Adresse physique dans ipconfig et ses nombres sont séparés par des tirets. Envoyez, relancez votre Freebox et le tour est joué !

Nota : seul le site principal est accessible d’Internet. Les « sitea » et « siteb » ne peuvent l’être sans une configuration plus complexe à réaliser qui sort du cadre de cet article.

Administrez votre base de données

L’administration de votre base de données se fait avec « phpMyAdmin », un logiciel inclus dans Xampp. Pour y accéder, il suffit d’aller à l’adresse http://localhost/phpmyadmin/.

Entrez votre login et votre mot de passe. Vous y êtes. Pour une fois, c’est très simple !

Avec phpMyAdmin, vous pouvez créer des bases de données, des tables, rechercher, insérer et supprimer des données, ajouter des utilisateurs, sauvegarder et restaurer vos données.

Téléchargez et installez le débugger Xdebug

Un debugger est un outil qui permet d’arrêter l’exécution de votre programme pour connaître les valeurs des variables de votre programme au moment de cet arrêt et continuer pas à pas son exécution pour comprendre ce qui se passe. Utiliser un debugger, c’est gagner des heures pour comprendre pourquoi le programme qu’on a fait ne marche pas.

Xdebug doit s’installer sur le serveur. Vous aurez également besoin d’un logiciel client pour l’utiliser. L’installation de Xdebug est assez amusante. Mais vous devez tout d’abord créer un petit programme PHP qui nous servira ensuite pour tester le debugger.

Écrivez le script index.php comme suit avec Notepad++ :

<?php
   $a = 0 ;
   echo $a ;
   $a = 5 ;
   echo $a ;
   phpinfo();
?>

Installez-le sur votre site et chargez la page http://localhost/. Copiez le contenu de la page affichée.

Allez sur le site de Xdebug : http://www.xdebug.org/find-binary.php. Collez le contenu dans la zone de saisie de texte. Cliquez sur Analyser et suivez les instructions pour l’installation de Xdebug. Amusant non ?

Vérifiez dans le php.ini que les lignes suivantes sont décommentées et saisies comme telles :

xdebug.remote_enable = on
 xdebug.remote_handler = "dbgp"
 xdebug.remote_host = "localhost"
 xdebug.remote_port = 9000

Rechargez la page index.php pour vérifier que l’installation s’est bien passée. À gauche du logo « Zend Engine 2 », vous devez lire « with Xdebug ».

Téléchargez et installez Netbeans

Netbeans est l’un des meilleurs éditeurs de texte. Contrairement à Notepad++ qui ne traite que des fichiers uniques, vous allez pouvoir indexer tout votre site et naviguer dans ses pages plus rapidement. C’est également un client pour utiliser votre debugger.

Nota : Eclipse est également très connu. Il fournit peu ou prou les mêmes services. Ensuite, c’est une histoire de goûts.

Vous trouverez Netbeans sur http://netbeans.org/downloads/index.html

La version actuellement disponible est la 7.0.  Téléchargez la version française pour Windows supportant le PHP. Cette version pèse 47 Mo.

Créez un nouveau projet PHP avec des sources existantes. Indiquez le chemin de votre site, la version de PHP que vous comptez utiliser et l’encoding de vos pages. Ne négligez pas le choix de l’encoding. C’est quelque chose de primordial. Tous vos fichiers seront édités avec cet encoding. UTF-8 est le plus universel. Mais par défaut, PHP supporte plutôt le ISO-8859-1. N’hésitez pas à lire l’article « PHP et UTF-8 : les frères ennemis font la paix » pour en savoir plus. Sélectionnez « Run as : Local Web Site», « Project Url : http://localhost/ » et «Index file : index.php» puis créez le projet.

Dans « Sources files », ouvrez le fichier « index.php ». Cliquez sur le nombre 2 qui apparaît au début de la seconde ligne du fichier. Le nombre est remplacé par un carré rouge et la ligne est surlignée en rouge. C’est un point d’arrêt. A l’exécution du script, le debugger s’arrêtera à cette ligne.

Cliquez sur la deuxième icône représentant une flèche verte (à gauche dans l’image ci-après). Elle permet le démarrage du debugger. La page commence à se charger et le debugger s’arrête à la ligne rouge.

De nouvelles icônes apparaissent. Le carré rouge pour arrêter le débugger. La flèche verte pour reprendre l’exécution du programme jusqu’au prochain point d’arrêt. Les quatre flèches suivantes pour avancer ligne à ligne dans le programme.

En plaçant le curseur sur $a, vous pouvez consulter sa valeur courante. En bas de l’écran, en cliquant sur « Variables », vous pouvez voir toutes les variables courantes et leurs valeurs, notamment les superglobales. Vous pouvez modifier la valeur d’une variable et reprendre l’exécution normale de votre programme. Vous pouvez également consulter la pile des appels pour comprendre comment le programme est arrivé jusque là.

Vous êtes fin prêts pour développer et debugger correctement en PHP !

Si vous voulez débugger une autre page que la page d’accueil du site, vous devez effectuer une toute dernière opération. Dans « Fichier / Project Properties / Run Configuration / Advanced », cliquez sur « Ask every time ». Ainsi, vous pourrez à chaque fois indiquer la page que vous voulez tester.

Il y a plein d’autres bonnes choses à connaitre dans Netbeans comme la possibilité d’afficher l’ensemble des méthodes de chaque fichier ou accéder directement au corps d’une fonction appelée d’un simple clic. Ce sera l’occasion d’un prochain article…

Franck Beulé
Chef de projet Agile, expert des technologies de l’Internet et en ergonomie du Web

 

Ajoutez un commentaire