====== NetBeans - Configuration ====== ===== Exécution pas-à-pas en PHP ===== Comme l'architecture web fait intervenir de multiples serveurs, l'exécution en mode pas-à-pas nécessite la mise en œuvre d'un logiciel intermédiaire supplémentaire. En effet, il faut bien un outil qui permette de commander les opérations à distance. \\ \\ Sur le marché, il existe deux outils : **Zend debugger** et **XDebug**. Nous utiliserons le second qu'il faut activer, paramétrer et lier à notre IDE : ==== Activation et paramétrage ==== Tout d'abord, il faut disposer de la librairie XDebug dans le sous-dossier **ext** de PHP. Le fichier se nomme **php_xdebug.dll** et il est à choisir selon la version de PHP. Voir vos ressources sur le Bureau Windows. \\ \\ Ensuite, il faut ajouter les lignes suivantes à la fin du fichier **.\xampp\php\php.ini** que l'on peut atteindre via le **Control Panel** de Xampp (bouton Config d'Apache) : [XDebug] zend_extension=xdebug xdebug.start_with_request=trigger xdebug.mode=debug xdebug.client_host=localhost xdebug.client_port=9003 xdebug.idekey="netbeans-xdebug" Il est nécessaire de redémarrer Apache pour prendre en compte la nouvelle configuration. A titre de vérification, on pourra aller dans le **Dashboard de Xampp** et afficher **PHPInfo**. Dans la page de résultat, la recherche de __XDebug__ doit mener à une indication de son __n° de version__. Le paramétrage qui précède vaut pour une version 3 de XDebug. Pour une version 2, il faut un autre paramètrage. ==== Lier à l'IDE ==== |\\ \\ Dans NetBeans, aller dans le menu **Tools/Options/PHP/Debugging** et vérifier les : \\ \\ * Debugger port * Session Id * Stop at First Line conformément au paramétrage fait précédemment | {{ bloc2:prog:gen:netbeans-xdebug.jpg?400 |NetBeans debugging}} | ===== Pilote JDBC ===== * Obtenir le fichier JAR (__J__ava __Ar__chive) pour JDBC souhaité, puis : | \\ \\ * Dans le dossier **Source Packages** du projet, créer un dossier nommé **lib**, s’il n’existe pas déjà ; * Y déposer le fichier jar (Copier/Coller, Glisser/Déposer , etc.) ; | {{ bloc2:prog:gen:netbeans-jdbc-libfolder.jpg?200 | Dossier lib}}| | \\ \\ \\ \\ \\ \\ \\ \\ * Sur le dossier **Libraries** du projet, faire un clic droit et choisir **Add JAR/Folder**. Dans la boite de dialogue, **rechercher** le fichier jar dans le projet et **valider**. Le pilote doit apparaitre comme un élément de Libraries. | {{ bloc2:prog:gen:netbeans-jdbc-libraries.jpg?200 | Dossier Libraries}}{{ bloc2:prog:gen:netbeans-jdbc-addjar.jpg?400 | Add Jar}} | ===== Versioning ===== NetBeans est capable d’accepter différents clients SVN du moment qu’ils fournissent un fonctionnement en « **mode commande** » (CLI) ou **JavaHL**. Soit le client est mis en place dans un dossier standard que NetBeans trouvera seul et il n’y aura rien à faire, soit il est positionné dans un dossier que NetBeans ne trouve pas seul et il faudra alors dans les paramètres de l’IDE indiquer la localisation du client SVN (**Tools / Options / Team / Versioning / Subversion / Path to SVN executable file**). Dans NetBeans, les fonctionnalités de versioning sont accessibles au travers : * Du menu Team ; * Des menus contextuels (Versioning et/ou Team). ==== Alimenter le dépôt à partir d'un projet existant ==== * Par **clic droit sur le projet**, sélectionner **Versioning / Import into Subversion repository …** * Choisir **l'url** du répertoire de dépôt. * Laisser le nom du projet comme nom du répertoire à créer dans le dossier **trunk** du dépôt. * Saisir le **commentaire** « Initial import », puis valider. Seul le sous-répertoire est créé, avec un nouveau numéro de révision. ==== Construire une copie de travail à partir d'un dépôt ==== * Par le menu **Team / Subversion / Checkout …**, * **Localiser** le dépôt et fournir les **informations de connexion** ; * Choisir le **dossier** à copier ; * Changer éventuellement le nom du projet (par défaut le nom du sous-répertoire choisi) * Par défaut, c'est la dernière révision (**HEAD version**) qui sera extraite ==== Gérer les mises à jour, publications et les différentes versions ==== Une fois la copie de travail extraite, on intervient sur ce projet comme sur tout projet dans l’IDE. Les opérations de versioning sont accessibles par clic droit dans le menu Subversion. On peut librement choisir d’appliquer ces opérations, soit au projet entier, soit à un dossier seulement, soit à un fichier isolé, selon l’objet sur lequel on applique le clic droit. ==== Visualisation de l’état du versioning dans l’EDI ==== Le lien suivant décrit les mises en forme, codes couleurs et icônes qui sont utilisés dans NetBeans pour éclairer l’état des différents fichiers d’un projet au regard du versioning : [[https://netbeans.apache.org/kb/docs/ide/subversion.html#_editing_sources]] ===== PHP Doc ===== Pour générer l'auto-documentation du code en environnement PHP, il faut disposer d'un outil dédié hors NetBeans. Pour cela, **phpDocumentor** est conseillé. Ce produit se présente sous la forme d'un fichier PHAR (__PH__P __Ar__chive) et il suffit d'indiquer à NetBeans où le trouver : |\\ \\ \\ \\ Dans le menu **Tools / Options / PHP / Frameworks & Tools / phpDocumentor**|{{:bloc2:prog:gen:netbeans-config-phpdoc.png?400|phpDocumentor}}| A partir de là, le menu contextuel du projet "**Générer la documentation**" sera pleinement opérant et la documentation sera produite dans un dossier qu'il reste à indiquer à la demande. Pourtant, en l'état, sur un projet CodeIgniter (ou tout autre framework), l'auto-documentation s'opérera sur l'ensemble du projet. Y compris les sources du framework. Pour limiter au strict nécessaire, on pourra s'appuyer sur un fichier de configuration à nommer **phpdoc.dist.xml** et à placer **à la racine du projet** sur la base de l'exemple suivant : phpDocumentor .phpdoc php Dans ce fichier de configuration, éventuellement à adapter, le dossier de stockage de la documentation est placé à la **racine du projet** et il est nommé **.phpdoc**. Le nom du dossier commençant par un point, il sera ignoré par le versioning. Ce qui est une bonne idée. Enfin, pour que le fichier XML soit pris en compte, il faut indiquer sa présence dans les propriétés du projet dans l'onglet **Documentation**.