700
modifications
m (Robot : Changement de type cosmétique) |
m (Relecture) |
||
{{Travail pratique présentation
{{ébauche informatique}}▼
| objectif1 = installer Eclipse
| objectif2 = installer XDebug
| objectif3 = faire du débogage pas à pas dans un site Web PHP avec Eclipse
| durée = 2 heures
| matériel1 = un serveur Web Linux avec PHP.
}}
<div style="float:right; padding: 0 0 0 1em;">__TOC__</div>
{{Travail pratique
| titre = Initiation à Eclipse
| précédent = [[../Initiation à PHPUnit/]]
| suivant = [[../Faire un serveur SPARQL/]]
| niveau =
}}
Dans ce TP, nous allons installer Eclipse, ainsi que certains composants de [[w:Débogueur|débuggage]].<br/>▼
▲=== Pourquoi utiliser Eclipse ? ===
Eclipse est l'un des logiciels les plus utilisés pour faire du développement Web et il est gratuit.<br/>▼
▲Dans ce TP, nous allons installer Eclipse ainsi que certains composants de [[w:Débogueur|débuggage].
Malheureusement,
▲Eclipse est l'un des logiciels les plus utilisés pour faire du développement Web et il est gratuit.
▲Malheureusement, ça puissance est inversement proportionnel à son ergonomie d'utilisation. Il faut un certain temps d'utilisation pour savoir correctement l'utiliser.
Ce TP a pour objectif de vous en montrer les avantages mais aussi de vous faire gagner du temps sur l'installation du débuggeur qui est indispensable à tous vrais développeurs professionnels pour gagner beaucoup de temps.▼
▲Ce TP a pour objectif de vous en montrer les avantages, mais aussi de vous faire gagner du temps sur l'installation du débuggeur, qui est indispensable à
=== Les débogueurs PHP ===
Il n’y a que 2 débogueurs pour PHP :
*Zend, qui est intégré
*
Nous installerons donc XDebug, car les étudiants ont un budget relativement limité pour ce genre de
=== Documentations ===
Il y a autant de manières d'installer XDebug qu'il y a de version de Linux.
Pour identifier
<source lang="bash">
lsb_release -a
</source>
L'installation suivante sera faite avec la version Ubuntu 10.04.3. Si ce n'est pas votre version, n'hésitez pas à comparer cette installation avec les résultats
==== Ubuntu 10.04.3 ====
<source lang="bash">
sudo apt-get install php5-xdebug
</source>
<source lang="text">
; configuration for php xdebug module
</source>
<source lang="bash">
sudo service apache2 reload
</source>
<source lang="bash">
php -r 'phpinfo();' | grep -e "xdebug support => enabled"
</source>
{{remarque|contenu=
Si vous avez un
N'hésitez pas à chercher la solution via
}}
</source>
<source lang="bash">
java -d64 -version
{{remarque|contenu=
Il est possible que votre PC
Si vous voulez cependant installer un JRE 64 bits, vous devrez probablement l'installer manuellement.
=== Eclipse ===
En fonction de la version de votre JRE, 32 ou
* http://download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/index.php#PlatformRuntime
</source>
On passe dans le répertoire où votre navigateur
<source lang="bash">
cd {directory where your browser downloaded the package to}
</source>
On fabrique le répertoire bin dans notre répertoire home, qui sera utilisé pour lancer Eclipse :
<source lang="bash">
mkdir ~/bin
</source>
<source lang="text">
export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
</source>
Pour finir, on va créer un
#
#créer
#indiquer le nom : Eclipse
#indiquer le chemin du script (command) : /home/<your username>/opt/eclipse/eclipse
Eclipse s'ouvre et vous demande de préciser votre espace de travail, '''indiquer un autre répertoire que ~/projets'''. Cela évite un certain nombre de problèmes de configuration.
=== Configurer la source des mises
Dans Eclipse :
#
# cliquer que le bouton "Add...".
# renseigner les champs avec le nom
Vous pouvez maintenant installer les
=== Installer le
Dans Eclipse :
#Aller dans le menu : Help > Install New Software.
#Choisir le site (Work with) : "Indigo -- http://download.eclipse.org/releases/".
#Attendre que la liste soit mise à jour (attendez que le mot pending disparaisse
#Aller ensuite dans langages de programmation.
#Cocher la liste PHP Development Tools (PDT).
#Cliquer sur
#Cocher Accepter les licences.
#Cliquer sur
Après l'installation, Eclipse vous demande de redémarrer :
* cliquer sur "redémarrer maintenant"
=== Installer le
#
# Choisir le site (Work with) : "Indigo -- http://download.eclipse.org/releases/" .
# Attendre que la liste soit mise à jour (attendez que le mot pending disparaisse
# Aller ensuite dans "Web, XML, JavaEE...".
# Cocher "Eclipse Web Developer Tools".
# Cliquer sur
# Cocher Accepter les licences.
# Cliquer sur
Après l'installation, Eclipse vous demande de redémarrer :
* Cliquer sur "
== Ouvrir votre projet PHP dans Eclipse ==
Nous avons, dans le projet précédent, utilisé PHPUnit et créé l'arborescence de fichier du projet nommé MonCV.
Nous allons ouvrir ce projet et le configurer.
#Ouvrer PHP > projet PHP.
La
#Donner un nom au projet : MonCv.
#Cocher :
#Rechercher la racine du répertoire
#cliquer sur Terminer (Finish).
== Configurer la construction du projet ==
Nous allons utiliser
A chaque modification d'un fichier dans le projet, le script build.xml sera
Pour ce faire :
#Faire un clic droit sur le projet
#sélectionner Propriétés
#sélectionner
#cliquer sur Nouveau pour afficher la boîte de dialogue "Choisir le type de configuration"
#sélectionner Programme
La boîte de dialogue pour créer une configuration s'est affichée :
#Donner un nom, par exemple : Phing build.xml
#
#
##Cliquer sur le bouton Browse WorkSpace
##Sélectionner la racine où se trouve le fichier build.xml, ici MonCV
Maintenant, on indique les moments d’exécution :
#Aller dans l'onglet Rafraîchir (Refresh).
#Cocher la case
#Cocher
#Aller
#Cocher l'auto-construction (During auto-build).
Cliquer finalement sur le bouton OK pour refermer la
== Configurer le débogueur ==
=== Indiquer le serveur
Nous utiliserons le serveur Web que nous avons installé dans un précédent TP pour déboguer notre projet.
#Via le
#Ouvrir le noeud : PHP > PHP Servers
#Créer un nouveau serveur : MonCV
#Donner son domaine (base url) : http://moncv
#Donner la racine sur le disque du service Web (local Web root): /var/www/moncv
#Aller dans l'onglet Mapping
#Cliquer sur Nouveau
##Dans
##Cocher
##Trouver la racine des sources, c'est-à-dire le répertoire src. Vous devez avoir comme résultat : MonCV/src
#Cliquer sur OK jusqu'à ce que toutes les
=== Indiquer le débogueur ===
# Via le
# Cliquer sur le noeud : PHP > Debug
# Dans la liste "PHP Debugger", choisir "
# Cliquer sur
# Cliquer sur OK pour fermer la fenêtre
== Débugguer une page Web ==
=== Créer une page
Nous allons créer une page PHP dans le répertoire src :
#
# Nouveau > PHP File
# Indiquer comme nom de fichier : index.php
</source>
Sauvegarder
=== Insérer un point d'arrêt ===
Un point d'arrêt est un point placé à un endroit spécifique d'un programme qui permet d'indiquer à un débogueur d'arrêter l'exécution lorsqu'il atteindra cet endroit.
C'est très pratique pour voir à cet endroit la valeur des variables ou
Le pas
Pour insérer un point d'arrêt, il suffit de double
'''Exercice''' : double
Ce point d'arrêt nous sera utile dans l'exercice suivant.
=== Créer un profil de débogage ===
Un site Web est composé de plusieurs fichiers PHP qui peuvent être autant de
Si vous débuggez une page php particulière, il vous faudra créer un profil de débuggage pour cette page.
A chaque fois que vous voudrez débugger une page, vous pourrez réutiliser le profil de cette page que vous avez créé.
Nous allons créer un profil de débuggage pour la page index.php.
▲# Via le Menu : Run > Debug configurations
# Dans le menu contextuel, choisir Nouveau▼
▲# Cliquer bouton droit sur PHP Web Page
▲# Dans le menu contextuel choisir Nouveau
# Donner un nom : index.php
# Indiquer le fichier PHP à
# Décocher : Break at first line (sinon le débuggeur s'arrêtera dès la première ligne)
# Décocher Auto-generate pour indiquer manuellement l'url index.php sur le serveur
# Modifier l'
# Cliquer sur
# Cliquer sur
{{remarque|contenu= Si la configuration de XDebug s'est bien passée, vous devez lire devant server Debugger :
Si ce n'est pas le cas, indiquez XDebug et le serveur moncv}}
Eclipse a plusieurs modes d'affichage. Il y en a un pour PHP et un pour débugger. Eclipse vous demandera souvent de passer d'un mode à un autre automatiquement.
Pour revenir manuellement à un de ces modes, vous pouvez faire, dans le menu : Window > Open Perspective > PHP ou Debug.
{{remarque|contenu=
Un bug, en anglais, signifie
}}
Nous allons lancer le
# En haut de l'écran (dans la toolbar), il y a un insecte avec un triangle, cliquer sur le triangle.
#
# Eclipse vous propose de passer en mode Debug : accepter.
Vous pouvez voir maintenant (si tout
* Zone Debug (en haut à gauche) : '''un carré rouge qui vous permet d'arrêter le
* Zone Debug (en haut à gauche) : '''un triangle vert qui vous permet de poursuivre l’exécution'''
* Zone Debug (en haut à gauche) : des flèches
* Zone Fichier (au milieu à gauche) : vous voyez le fichier avec une flèche
* Zone navigateur (en bas)
Vous découvrirez en jouant avec
Vous
{{remarque|contenu=
'''Débugger sans environnement de développement'''
:1) Vous pouvez afficher des erreurs survenant dans une page directement dans le résultat HTML de cette page en rajoutant le code suivant dans les premières lignes du programme
▲Vous pouvez afficher des erreurs survenant dans une page directement dans le résultat HTML de cette page en rajoutant le code suivant dans les premières lignes du programme. (à retirer du programme ensuite)
<source lang="php">
if (!ini_get('display_errors')) {
:2) Vous pouvez aussi modifier ce paramètre d'affichage directement dans le fichier php.ini (rarement possible chez des hébergeurs PHP)
Modifier le fichier php.ini :
<source lang="text">
</source>
Rappel
:3) Pour finir, la méthode la plus simple durant un débuggage à l'aveugle avec un serveur
Utiliser la commande suivante pour faire défiler les logs en temps réel :
[[Catégorie:SPARQL Protocol and RDF Query Language]]
{{Bas de page
| leçon = TP SPARQL
| précédent = [[../Initiation à PHPUnit/]]
| suivant = [[../Faire un serveur SPARQL/]]
}}
|