• Aucun résultat trouvé

[PDF] Cours de base pour apprndre NetBeans | Formation informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Cours de base pour apprndre NetBeans | Formation informatique"

Copied!
8
0
0

Texte intégral

(1)

Ce tutoriel vous indique comment configurer NetBeans pour PHP sous Windows avec : - L’extension Xdebug

- Le framework PEAR

- L'outil de génération de documentation ApiGen

- Les frameworks d’analyse de code source Code Sniffer et PMD - Le framework de tests unitaires PHPUnit

NetBeans est un EDI (Environnement de Développement Intégré ou IDE en anglais pour Integrated Development Environment) open source développé à l'origine par Sun Microsystems mais repris depuis 2010 par Oracle Corporation.

Ce type d'environnement regroupe un ensemble d'outils dédiés au développement de logiciels. NetBeans supporte les langages Java, PHP, C/C++, Fortran, JavaScript, Python et Ruby. Site officiel : https://netbeans.org/

1. L’extension Xdebug

1.1 Présentation

Xdebug est une extension pour PHP qui permet le débogage et le profilage de code par une exécution pas à pas des instructions.

Exemple d'exécution d'un script sans et avec Xdebug activé : Script exécuté

<?php

for ($x = 1; $x < 3 ; $x++) { // Pour l'exécution pas à pas ;) }

echo $x; echo $y;

?>

Sans Xdebug Avec Xdebug

Cette installation concerne la version 7.4 de NetBeans. Elle a été réalisée sous Windows 7 Professionnel 64bits avec WAMP Server 2.4 64 bits (Apache 2.4.4 et PHP 5.4.12).

La connaissance de ces environnements est nécessaire pour suivre ce tutoriel (création et paramétrage d’un projet sous NetBeans, ligne de commande sous Windows, modification des fichiers de configuration de WAMPServer).

(2)

1.2 Configuration

Xdebug est déjà préconfiguré avec cette version de WampServer. Il suffit donc de « l’activer » en modifiant son paramétrage.

Site officiel : http://xdebug.org/ 1.2.1 Activation

 Vérifier que vous ayez bien le fichier

php_xdebug-2.2.3-5.4-vc9-x86_64.dll

dans le dossier

C:\wamp\bin\php\php5.4.12\zend_ext

 Ouvrir le fichier

php.ini

depuis l'application WampServer et ajouter la ligne qui apparait en vert à la fin du fichier : ; XDEBUG Extension zend_extension = "c:/wamp/bin/php/php5.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll" [xdebug] xdebug.remote_enable = off xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "c:/wamp/tmp" xdebug.show_local_vars = on

 Redémarrer le service Apache pour une prise en compte des nouveaux paramètres.  Vérifier que vous obtenez bien le résultat attendu dans le paragraphe 1.1.

1.2.2 Intégration à NetBeans

 Modifier et ajouter les lignes qui apparaissent en vert dans la section Xdebug du fichier

php.ini

: ; XDEBUG Extension zend_extension = "c:/wamp/bin/php/php5.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll" [xdebug] xdebug.remote_enable = on xdebug.remote_handler = dbgp xdebug.remote_host = localhost xdebug.remote_port = 9000 xdebug.profiler_enable = off xdebug.profiler_enable_trigger = off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "c:/wamp/tmp" xdebug.show_local_vars = on

(3)

1.3 Mise en œuvre

 Ouvrir NetBeans et lancer l'exécution du script (cf. §1.1) en mode débogage : (ou <

Ctrl> +

F5

)

 La barre des outils dédiée au débogage est activée :

 Après deux clics sur l'icône on obtient la trace suivante :

2. Le "framework" PEAR

2.1 Présentation

PEAR (PHP Extension and Application Repository) est une collection de bibliothèques d'outils développés en PHP. Elle peut être assimilée à un framework. Ce type de bibliothèque propose un ensemble de composants logiciels pouvant être exploités librement et personnalisés.

Site officiel : http://pear.php.net/

2.2 Installation

 Télécharger le fichier

go-pear.phar

sur http://pear.php.net/go-pear.phar et l’enregistrer dans le dossier

C:\wamp\bin\php\php5.4.12

.

Veiller à bien télécharger ce fichier même s’il est présent dans l’arborescence.

 Lancez une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire

C:\wamp\bin\php\php5.4.12

 Lancer l’installation de PEAR : > php go-pear.phar

 Pour toutes les questions qui suivront, taper la touche entrée pour répondre avec les valeurs proposées par défaut.

Suite à cette installation, un fichier

Pear_ENV.reg

est créé dans le répertoire

C:\wamp\bin\php\php5.4.12

 Double-cliquer sur ce fichier depuis l’explorateur afin de finaliser l'installation PEAR.  Les outils abordés par la suite dans ce tutoriel (ApiGen, Code Sniffer, PMD et PHPUnit) s’appuient sur cette bibliothèque qu’il faut donc installer.

(4)

3. Générateur ApiGen

3.1 Présentation

ApiGen est un outil de génération automatique de documentation de code PHP qui s'appuie sur des composants logiciels de la bibliothèque PEAR.

Alternative à phpDocumentor, il est recommandé sous NetBeans. Site officiel : http://apigen.org/

La convention d’écriture des commentaires est PHPDoc (adaptation de JAVADoc). Cette syntaxe est utilisée par PEAR ainsi que par l’outil de modélisation DIA.

Site officiel : http://www.phpdoc.org/docs/latest/references/phpdoc/index.html Exemples de commentaires : http://pear.php.net/manual/fr/standards.sample.php 3.2 Installation

 Ouvrir une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire

C:\wamp\bin\php\php5.4.12

et lancer les commandes suivantes :

> pear config-set auto_discover 1

> pear install pear.apigen.org/apigen

 Configurer l’EDI (Menu : Outils/Options/PHP/Onglet « ApiGen »)

 Cette version nécessite une mise à jour du chemin vers Texy1 :

 Ouvrir le fichier

C:\wamp\bin\php\php5.4.12\apigen

avec Notepad++ et modifier le chemin vers le script

texy.php

comme surligné en vert :

3.3 Mise en œuvre

 Créer un dossier dans lequel la documentation sera générée. Exemple :

1 Texy est une bibliothèque PHP dédiée à la mise en forme de pages WEB. Bien vérifier la présence du .bat en fin de fichier !

(5)

 Depuis l’explorateur de projet de NetBeans, faire un clic droit sur le projet et choisir la fonctionnalité de génération de documentation :

Sélectionner le dossier précédemment créé :

Exemple de résultat :

Le code d’une classe La documentation générée (extraits) <?php

/**

* Projet Tuto NetBeans *

* Classe de démonstration pour la génération de documentation.

*

* @author Nicolas Defaÿ * @license CC by-nc-sa * @version 1.0 * */ class Chaise { /** * La couleur de la chaise * * @var string * @access private */ private $couleur; /** * Le constructeur de Chaise *

* @param string $uneCouleur * @access public

*/

public function __construct($uneCouleur) {

$this->couleur = $uneCouleur; }

/**

* Retourne la couleur de la chaise *

* @access public * @return string */

public function getCouleur() {

return $this->couleur; }

} ?>

(6)

4. Les frameworks Code Sniffer et PMD

4.1 Présentation

CodeSniffer est un analyseur de code qui intègre les conventions de codage de plusieurs standards (PEAR, ZEND...). Il analyse également le code JavaScript et les feuilles de style (CSS). Il est possible de définir ses propres conventions.

Site officiel : http://www.squizlabs.com/php-codesniffer

PMD (PHP Mess Detector) est à la base un framework d’analyse de code source Java. Il existe également pour PHP et s’intègre facilement sous NetBeans.

Cet outil vérifie la qualité du code (respect des conventions d’écriture, complexité, code mort...) Site officiel : http://phpmd.org/

4.2 Installation

 Ouvrir une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire

C:\wamp\bin\php\php5.4.12 et lancer les commandes suivantes :

> pear install PHP_CodeSniffer

> pear channel-discover pear.phpmd.org

> pear channel-discover pear.pdepend.org

> pear install --alldeps phpmd/PHP_PMD

 Ignorer l’avertissement concernant php_bin et l’erreur relative au fichier imagick.dsp  Configurer l’EDI (Menu : Outils/Options/PHP/Onglet « Code Analysis »)

4.3 Mise en œuvre

 Depuis NetBeans, ouvrir le fichier à tester et lancer l'analyse du code : Menu Source/Inspect... Bien vérifier la

présence du .bat en fin de fichier !

(7)

Exemple de résultat obtenu en utilisant la classe abordée en 3.3 :

 Les erreurs affichées concernent le non respect des conventions d’écriture du code. Elles sont générées par Code Sniffer (configuré pour PEAR).

 Ajouter une propriété quelconque dans la classe Chaise et relancer l’analyse du code :

 Ici, l’analyse réalisée par PMD fait ressortir la non-utilisation de la propriété ajoutée dans le code.

5. Le framework PHPUnit

5.1 Présentation

PHPUnit est un framework de tests unitaires développé pour le langage PHP. Il est basé sur JUnit, une référence en termes de tests unitaires pour Java. Il propose également un générateur de squelettes de classes destinées aux tests.

PHPUnit s’intègre très facilement sous NetBeans. Site officiel : http://phpunit.de/

5.2 Installation

 Ouvrir une console (avec les droits d’un administrateur) puis placez-vous dans le répertoire

C:\wamp\bin\php\php5.4.12 et lancer les commandes suivantes :

> pear channel-discover pear.phpunit.de

> pear install --alldeps phpunit/PHPUnit

(8)

 Configurer l’EDI (Menu : Outils/Options/PHP/Onglet « Unit Testing »)

5.3 Mise en œuvre

 Créer un dossier dans lequel les squelettes de classe seront générés. Exemple :

 Dans l'explorateur de projet, faire un clic droit sur le script à tester et choisir la fonctionnalité de génération de gabarit de test :

Sélectionner le dossier précédemment créé :

 Le cas échéant, c

hoisir l'utilitaire PHPUnit dans la fenêtre qui suit :

Remarque :

Un dossier nommé à été rajouté au projet. C’est un alias du dossier précédemment créé.

Exemple de résultat obtenu en utilisant la classe abordée en 3.3 :

Bien vérifier la présence du .bat en fin de fichier !

Références

Documents relatifs

The approach specificities lie on the use of the environment spherical representation, environment structure extraction descriptor GIST adapted to the spherical representation

l'accompagnent dans ses représentations médiévales sont précieuses pour confirmer ou éclairer l'iconographie et nous permettre d'être assurés de l'intention de

L'analyse du four lui-même même montre certaines similarités avec ceux de la région de Sisatchanalai et Suphanburi (Thaïlande) mais les auteurs hésitent à étendre leur comparaison

Block diagram of the proposed system (left to right): pitch contours are extracted from an audio signal, a classifier is used to score the contours and remove those below a

Xavier P HILIPPE , « La motivation des décisions de la Cour constitutionnelle sud africaine: essai d’analyse de la construction d’une jurisprudence de protection des

Dans cette histoire mettant en scène l'exécution des projets de deux complices libertins, la marquise de Merteuil et le vicomte de Valmont, les lettres ne sont plus

In contrast to the modest prescribing rate of opioid analgesics by UK dentists, in the US, 12% of all immediate release opioid analgesic prescriptions are written by dentists (just

C’est d’ailleurs Nicolas Barthélemy lui-même qui nous y pousse, dans un poème adressé au grand humaniste Érasme en 1532 : « Je suis maître d’un collège monastique, prieur