Différences entre les versions de « SPARQL Protocol and RDF Query Language/Travail pratique/Initiation à Eclipse »

m
Relecture
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 = ?0
}}
 
=== Pourquoi utiliser Eclipse ? ===
== Introduction ==
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, çasa puissance est inversement proportionnelproportionnelle à son ergonomie d'utilisation. Il faut un certain temps d'utilisation pour savoirarriver correctementà l'utiliser correctement.
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.
 
=== Durée du TP ===
 
'''2 heures'''
 
=== Matériel du TP ===
Il vous faut avoir fait au moins le TP PHP.
 
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 à toustout vraisvrai développeursdéveloppeur professionnels pour gagner beaucoup de tempsprofessionnel.
=== A savoir avant de commencer ===
=== Les débogueurs PHP ===
Il n’y a que 2 débogueurs pour PHP :
*Zend, qui est intégré dansà la suite de développement payante Zend (à condition d’avoirde disposer lesdes serveurs de productionsproduction également avec Zend sinon... bugs d’incompatibilités à prévoir)
*XDebugXdebug, qui est gratuit, mais qui est moins simple à installer
 
Nous installerons donc XDebug, car les étudiants ont un budget relativement limité pour ce genre de dépensedépenses.
 
=== Documentations ===
Il y a autant de manières d'installer XDebug qu'il y a de version de Linux.
 
Pour identifier, si l'installation suivante peut fonctionner avec votre version de Linux, vous devez d'abord connaître la version que vous utilisez, avec la commande suivante.
<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 dansfournis Googlepar un moteur de recherche quand vous recherchez :le nom de votre distribution Linux avec sa version et XDebug .
 
==== Ubuntu 10.04.3 ====
InstallerInstallez le composant php5-xdebug.
<source lang="bash">
sudo apt-get install php5-xdebug
</source>
 
AjouterAjoutez à la fin de ce fichier les lignes suivantes :
<source lang="text">
; configuration for php xdebug module
</source>
 
MettreMettez à jour votre configuration :.
<source lang="bash">
sudo service apache2 reload
</source>
 
VérifierVérifiez que XDebug est bien activé dans votre configuration PHP.
<source lang="bash">
php -r 'phpinfo();' | grep -e "xdebug support => enabled"
</source>
{{remarque|contenu=
Si vous avez un soucissouci, il y a de fortefortes chancechances que quelqu'un d'autre aait déjà eurencontré le votremême problème. <br/>
N'hésitez pas à chercher la solution via Googleun moteur de recherche ou à demander de l'aide sur les forums de développeurs PHP.
}}
 
</source>
 
VerifierVérifiez si votre version de JRE est 32 ou 3464 bits :
<source lang="bash">
java -d64 -version
 
{{remarque|contenu=
Il est possible que votre PC aait un processeur 64 bits, mais que votre version de JRE soit de 32 bits. Cela n’empêchera pas Eclipse 32bits32 bits de fonctionner.
 
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 64bits64 bits, vous choisirez la dernière version de "Eclipse platformRuntime" x86 ou x86_64 : (ceCe lien est celui donné par la : [http://wiki.eclipse.org/PDT/Installation#From_Update_Site documentiondocumentation Eclipse de aoûtd’août 2011])
* http://download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/index.php#PlatformRuntime
 
</source>
 
On passe dans le répertoire où votre navigateur àa enregistrerenregistré le package Eclipse, on le décompresse et on le déplace dans le répertoire ~/opt.
<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>
 
CopierCopiez ce texte dans ce fichier :
<source lang="text">
export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
</source>
 
Pour finir, on va créer un raccourcieraccourci pour le mettre sur notre bureau :
#cliquer boutonclic droit sur votre bureau
#créer raccourcieun raccourci (ou create launcher)
#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- à- jour et des pluginsplug-ins d'Eclipse ===
Dans Eclipse :
# Alleraller dans le menu : Help > Install New Software.
# cliquer que le bouton "Add...".
# renseigner les champs avec le nom : Indigo et l'adresse http://download.eclipse.org/releases/indigo.
 
Vous pouvez maintenant installer les pluginsplug-ins PHP et Web.
 
=== Installer le pluginplug-in PHP ===
 
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 suivantSuivant deux fois.
#Cocher Accepter les licences.
#Cliquer sur terminerTerminer.
 
Après l'installation, Eclipse vous demande de redémarrer :
* cliquer sur "redémarrer maintenant"
 
=== Installer le pluginplug-in Web ===
 
# Alleraller 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 "Web, XML, JavaEE...".
# Cocher "Eclipse Web Developer Tools".
# Cliquer sur suivantSuivant deux fois.
# Cocher Accepter les licences.
# Cliquer sur terminerTerminer.
 
Après l'installation, Eclipse vous demande de redémarrer :
* Cliquer sur "redémarrerRedémarrer maintenant".
 
== 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 boiteboîte de dialogue nouveau"Nouveau projet" s'ouvre.
#Donner un nom au projet : MonCv.
#Cocher : créerCréer un projet de sources existantes.
#Rechercher la racine du répertoire créercréé dans le TP précédent : ~/projets/moncv .
#cliquer sur Terminer (Finish).
 
== Configurer la construction du projet ==
Nous allons utiliser phingPhing pour construire le projet automatiquement pourafin de permettre de le débugger.
 
A chaque modification d'un fichier dans le projet, le script build.xml sera exécuteexécuté pour les tests unitaires et déployerdéployé sur le serveur Web (/var/www/moncv) que nous avons configuré dans un précédent TP.
 
Pour ce faire :
#Faire un clic droit sur ​​le projet
#sélectionner Propriétés
#sélectionner "Constructeurs"(builder)
#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
#DonnerIndiquer l'emplacement de l'exécutable (Location) : /usr/bin/phing
#DonnerIndiquer l'emplacement d’exécution (Working directory) :
##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 rafraîchir"Rafraîchir les ressources" (Refresh ressoucesresources upon each completion).
#Cocher : "Espace de travail en entier" (The entire Workspace).
#Aller maintenant dans l'onglet Options (Build Options).
#Cocher l'auto-construction (During auto-build).
 
Cliquer finalement sur le bouton OK pour refermer la boiteboîte de dialogue.
 
== Configurer le débogueur ==
=== Indiquer le serveur utiliserutilisé pour débugger ===
Nous utiliserons le serveur Web que nous avons installé dans un précédent TP pour déboguer notre projet.
 
#Via le Menumenu : Window > Preferences
#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
#Faire nouveau
##Dans cheminChemin sur le serveur, mettreindiquer : /var/www/moncv
##Cocher cheminChemin dans l'espace de travail
##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 boitesboîtes de dialogues soient fermées
 
=== Indiquer le débogueur ===
# Via le Menumenu : Window > Preferences
# Aller dans le Menu : Window > Preferences
# Cliquer sur le noeud : PHP > Debug
# Dans la liste "PHP Debugger", choisir "XDebug“XDebug"
# Cliquer sur appliquerAppliquer (Apply)
# Cliquer sur OK pour fermer la fenêtre
 
== Débugguer une page Web ==
 
=== Créer une page webWeb ===
 
Nous allons créer une page PHP dans le répertoire src :
# Cliquer boutonClic droit sur le répertoire src dans Eclipse
# Nouveau > PHP File
# Indiquer comme nom de fichier : index.php
</source>
 
Sauvegarder en faisant, dans le Menumenu : File > Save (ou Ctrl + s )
 
=== 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 encore pour commencer à faire de l'exécution pas à pas dans le code.<br />
Le pas -à -pas permet d'avancer dans le code "commande par commande". Le pas à pasIl permet de voir exactement ce qui exécuterest exécuté par le programme.
 
Pour insérer un point d'arrêt, il suffit de double -cliquer sur le numéro de ligne où vous souhaitez que le programme s'arrête. Un point bleu doit apparaître dans la marge, ce qui indique le point d'arrêt.
 
'''Exercice''' : double -cliquer sur le numéro de ligne où se trouve la fonction phpinfo. se<br trouve./>
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 pointpoints d'entrée dans votre site.
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 Menumenu : Run > Debug configurations
 
# Cliquer boutonClic droit sur PHP Web Page
# 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 à executerexécuter en cliquant sur le bouton cheminChemin et trouver le fichier index.php (ce qui doit donner : /MonCv/src/index.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'URLurl '''/MonCv/src/index.php''' en laissant juste '''index.php'''
# Cliquer sur appliquerAppliquer (Apply) pour sauver
# Cliquer sur fermerFermer (closeClose)
 
{{remarque|contenu= Si la configuration de XDebug s'est bien passée, vous devez lire devant server Debugger : XDebugXdebug, et devant PHP server : moncv.
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 insecte ou encore une erreur dans du code informatique. Le même mot signifie aussi insecte. C'est la raison pour laquelle, dans Eclipse, tout ce qui touche au mode Debug est représenté par un insecte.
}}
 
Nous allons lancer le débugagedébuggage :
# En haut de l'écran (dans la toolbar), il y a un insecte avec un triangle, cliquer sur le triangle.
# choisirChoisir index.php, qui est le profil que nous avons créé.
# Eclipse vous propose de passer en mode Debug : accepter.
 
Vous pouvez voir maintenant (si tout cs'est bien passé) :
* Zone Debug (en haut à gauche) : '''un carré rouge qui vous permet d'arrêter le débugagedébuggage'''
* Zone Debug (en haut à gauche) : '''un triangle vert qui vous permet de poursuivre l’exécution'''
* Zone Debug (en haut à gauche) : des flèches jaunejaunes qui vous permettent de faire du pas -à -pas de différents types
* Zone Fichier (au milieu à gauche) : vous voyez le fichier avec une flèche bleubleue
* Zone navigateur (en bas), : c'est le navigateur par défaut (qu'on peut modifier dans les préférences) où vous pouvez voir le résultat de l'exécution, c'est-à-dire une page webWeb.
 
Vous découvrirez en jouant avec éclipseEclipse les millesmille et une fonctionfonctions disponibledisponibles.
 
Vous avezdisposez maintenant de l'environnement de développement qui va nous permettre de développer un service Web, mais surtout de suivre la leçon sur SPARQL.
 
{{remarque|contenu=
'''Débugger sans environnement de développement'''
 
Il faut savoir que laLa [[w:Loi de Murphy|Loi de Murphy]] s'applique aussi en informatique et qu'il vous faut savoir débugger ou analyser un problème même sans Eclipse.
 
: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. (à retirer du programme ensuite) :
 
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,: on trouve le fichier php.ini via la commande '''php --ini'''
 
 
:3) Pour finir, la méthode la plus simple durant un débuggage à l'aveugle avec un serveur etest d'ouvrir une console pour voir les logs d'erreurs d'Apache.
 
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
{{ébauche | idfaculté = informatique}}
| précédent = [[../Initiation à PHPUnit/]]
| suivant = [[../Faire un serveur SPARQL/]]
}}
700

modifications