Difference between revisions of "Outils de développement - Composants optionnels"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Tag: 2017 source edit
 
(27 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{TemplateDocDev}}
 
{{TemplateDocDev}}
Cette page liste les composants et autres technologies supplémentaires que vous pourriez vouloir installer sur votre environnement de développement. Elles ne sont pas requises pour développer sur dolibarr ni pour réaliser des modules mais peuvent être utiles pour des travaux très particulier.
+
Cette page liste les composants et autres technologies supplémentaires que vous pourriez vouloir installer sur votre environnement de développement. Elles ne sont pas requises pour développer sur Dolibarr, ni pour réaliser des modules mais peuvent être utiles pour des travaux très particuliers.
  
== Si vous gérez d'autres projets sous SVN ==
+
==Si vous désirez faire des scripts en Perl==
* Installation du plugin SVN pour Eclipse: SubClipse.
 
Pour cela, utiliser la procédure '''Find And Install''' et ajouter l'URL de mise à jour:
 
  
http://subclipse.tigris.org/install.html
+
*Installation du plugin Eclipse pour Perl: EPIC
  
ou bien
+
Pour cela, utiliser la procédure '''Find And Install''' et ajouter l'URL de mise à jour: http://e-p-i-c.sourceforge.net/updates
* Installation du plugin SVN pour Eclipse: Subversive
 
http://community.polarion.com/projects/subversive/download/eclipse/2.0/ganymede-site/ - [required] Subversive SVN Connectors
 
  
http://community.polarion.com/projects/subversive/download/integrations/ganymede-site/ - [optional] Subversive Integrations
+
==Si vous désirez faire des scripts en Python==
  
== Si vous désirez faire des scripts en Perl ==
+
*Installation du plugin Eclipse pour PyThon: PyDev
* Installation du plugin Eclipse pour Perl: EPIC
 
Pour cela, utiliser la procédure '''Find And Install''' et ajouter l'URL de mise à jour: http://e-p-i-c.sourceforge.net/updates
 
  
== Si vous désirez faire des scripts en Python ==
 
* Installation du plugin Eclipse pour PyThon: PyDev
 
 
Pour cela, utiliser la procédure '''Find And Install''' et ajouter l'URL de mise à jour: http://pydev.org/updates
 
Pour cela, utiliser la procédure '''Find And Install''' et ajouter l'URL de mise à jour: http://pydev.org/updates
  
== Si vous êtes sous Windows ==
+
==Si vous êtes sous Windows==
  
* Notepad++ (pour ceux qui ne supportent pas java ou utilisent un vieux coucou trop faible pour Eclipse).
+
*Notepad++ (pour ceux qui ne supportent pas java ou utilisent un vieux coucou trop faible pour Eclipse).
  
* WinMerge (pour la comparaison de fichiers ou répertoires)
+
*WinMerge (pour la comparaison de fichiers ou répertoires)
  
* CygWin (pour la commande patch si vous préferez les lignes de commandes)
+
*CygWin (pour la commande patch si vous préferez les lignes de commandes)
  
 
A noter que Netbeans-PHP fonctionne efficacement avec Dolibarr.
 
A noter que Netbeans-PHP fonctionne efficacement avec Dolibarr.
  
== Si vous désirez faire du debuggage pas à pas ou du tunning (XDebug) ==
+
==Si vous désirez faire du debuggage pas à pas ou du tunning (XDebug)==
 +
 
 +
*Pour ajouter des infos de tuning page dans la console javascript à partir de Dolibarr 3.8, ajouter la variable d'environnement MAIN_SHOW_TUNING_INFO à 1 dans Apache. Pour cela, inclure la ligne suivante dans votre fichier apache.conf:
 +
 
 +
<syntaxhighlight lang="ini">
 +
SetEnv MAIN_SHOW_TUNING_INFO 1
 +
</syntaxhighlight>
  
* Pour ajouter des infos de tuning page dans la console javascript, ajouter la variable d'environnement DOL_TUNING à 1 dans Apache. Pour cela, inclure la ligne suivante dans votre fichier apache.conf:
+
*Pour du tuning à la ligne de code près, installer XDebug:
<source lang="ini">
 
SetEnv DOL_TUNING 1
 
</source>
 
  
* Pour du tuning à la ligne de code près, installer XDebug:
+
===[[File:Logo_windows.png|24px]] In Windows===
=== [[File:Logo_windows.png|24px]] In Windows ===
 
* Télécharger le fichier dll '''php_debug_xxx.dll''' sur http://www.xdebug.org et stocker le dans le répertoire /ext de php. Ensuite activer le plugin.
 
  
* Modifier le ficiher php.ini ou xdebug.ini pour ajouter le paramètres suivant:
+
*Télécharger le fichier dll '''php_debug_xxx.dll''' sur http://www.xdebug.org et stocker le dans le répertoire /ext de php. Ensuite activer le plugin.
<source lang="ini">
+
 
 +
*Modifier le ficiher php.ini ou xdebug.ini pour ajouter le paramètres suivant:
 +
 
 +
<syntaxhighlight lang="ini">
 
  [xdebug]
 
  [xdebug]
 
  xdebug.remote_enable=on
 
  xdebug.remote_enable=on
Line 55: Line 51:
 
  xdebug.profiler_enable=0
 
  xdebug.profiler_enable=0
 
  xdebug.profiler_enable_trigger=1
 
  xdebug.profiler_enable_trigger=1
</source>
+
</syntaxhighlight>
  
=== [[File:Logo_ubuntu.png|24px]] In Ubuntu / Linux ===
+
===[[File:Logo_ubuntu.png|24px]] In Ubuntu / Linux===
* Installer le package '''php-xdebug''':
 
<source lang="bash">
 
sudo apt-get install php5-xdebug
 
</source>
 
  
* Modifier xdebug.ini pour ajouter les paramètres suivants après les lignes de type zend_extension=xxx (ou similaire):
+
*Installer le package '''php-xdebug''':
<source lang="ini">
+
 
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install php-xdebug
 +
</syntaxhighlight>
 +
 
 +
*Modifier xdebug.ini pour ajouter les paramètres suivants après les lignes de type zend_extension=xxx (ou similaire):
 +
 
 +
<syntaxhighlight lang="ini">
 
  ; With xdebug 2.1 and more
 
  ; With xdebug 2.1 and more
 
  xdebug.remote_enable=on
 
  xdebug.remote_enable=on
Line 80: Line 79:
 
  xdebug.auto_trace=0
 
  xdebug.auto_trace=0
 
  xdebug.trace_enable_trigger=1
 
  xdebug.trace_enable_trigger=1
</source>
+
</syntaxhighlight>
  
=== [[File:Eclipsephp.jpg|24px]] Eclipse configuration ===
+
===[[File:Eclipsephp.jpg|24px]] Eclipse configuration===
* Ouvrir Eclipse. Dans Window->Preferences->General->Web Browser, sélectionner navigateur externe, et choisir le navigateur par défaut de votre système.
 
  
* Aller dans la rubrique Window->Preferences->PHP->Debug, et positionner les options PHP Debugger à XDebug. Remarquer que la case “Stop a la première ligne” sur cette page doit également être active. Vous pourrez la modifier plus tard.  
+
*Ouvrir Eclipse. Dans Window->Preferences->General->Web Browser, sélectionner navigateur externe, et choisir le navigateur par défaut de votre système.
  
* Après avoir validé les changements, aller dans la vue PHP Debug prespective, puis aller dans le menu Debug Configurations… Ici, vérifier que le Server Debugger est positionné à XDebug, et que votre server PHP pointe sur http://localhost/ ou le chemin approprié au serveur. La zone de localisation des fichiers doit de plus pointer sur le fichier à débugger, relativement à votre workspace. Ce chemin doit être quelquechose comme /dolibarr/htdocs/index.php.
+
*Aller dans la rubrique Window->Preferences->PHP->Debug, et positionner les options PHP Debugger à XDebug. Remarquer que la case “Stop a la première ligne” sur cette page doit également être active. Vous pourrez la modifier plus tard.
  
* Vérifiez la section URL pour voir si elle pointe correctement – si non, vérifier que la case “Auto-Generate” est bien décochée, et entrer manuellement le bon chemin. Appliquer les changement et fermer la fenêtre de dialogue.
+
*Après avoir validé les changements, aller dans la vue PHP Debug prespective, puis aller dans le menu Debug Configurations… Ici, vérifier que le Server Debugger est positionné à XDebug, et que votre server PHP pointe sur http://localhost/ ou le chemin approprié au serveur. La zone de localisation des fichiers doit de plus pointer sur le fichier à débugger, relativement à votre workspace. Ce chemin doit être quelquechose comme /dolibarr/htdocs/index.php.
  
* Vous devriez maintenant être prêt pour lancer du debug de Dolibarr. Cliquer sur Run->Debug ou F11 pour activer le debug, Eclipse devrait basculer sur la vue Debug, et la page devrait commencer à se charger dans le navigateur externe. Si la case “Break at First Line” a bien été cochée précédemment, alors le programme aura stoppé à la première ligne. Vous pouvez alors faire du pas à pas sur les lignes de code successives en utilisant les boutons de la barre de Debug d'Eclipse. Eventuellement, vous pouvez placer des point d'arrêts à différents endroits du code pour y stopper l'exécution du code.
+
*Vérifiez la section URL pour voir si elle pointe correctement – si non, vérifier que la case “Auto-Generate” est bien décochée, et entrer manuellement le bon chemin. Appliquer les changement et fermer la fenêtre de dialogue.
 +
 
 +
*Vous devriez maintenant être prêt pour lancer du debug de Dolibarr. Cliquer sur Run->Debug ou F11 pour activer le debug, Eclipse devrait basculer sur la vue Debug, et la page devrait commencer à se charger dans le navigateur externe. Si la case “Break at First Line” a bien été cochée précédemment, alors le programme aura stoppé à la première ligne. Vous pouvez alors faire du pas à pas sur les lignes de code successives en utilisant les boutons de la barre de Debug d'Eclipse. Eventuellement, vous pouvez placer des point d'arrêts à différents endroits du code pour y stopper l'exécution du code.
  
  
 
Ensuite pour analyser les fichiers de profiling générés par XDebug, il faut appeler l'url avec XDEBUG_PROFILE=1 pour générer le fichier profiling puis installer KCacheGrind (Linux) ou WinCacheGrind (Windows) pour l'analyser.
 
Ensuite pour analyser les fichiers de profiling générés par XDebug, il faut appeler l'url avec XDEBUG_PROFILE=1 pour générer le fichier profiling puis installer KCacheGrind (Linux) ou WinCacheGrind (Windows) pour l'analyser.
  
== Pour développer ou utiliser les contrôles Qualité (PHPUnit, PHPCodeSniffer, PHPCpd, PHPDepends) ==
+
===Visual Studio Code (VSCode)===
=== Depuis Eclipse ===
+
Pour fonctionner sous VSCode, la configuration XDebug se fait par un fichier client, par exemple avec le port 9000 :
La meilleure méthode est d'installer les PHP Tools integration (PTI) pour Eclipse, en utilisant l'URL suivante via l'interface d'installation de plugins Eclipse:  
+
=====Configuration dans l'IDE=====
 +
Fichier de projet : .vscode/launch.json
 +
 
 +
Pour plus d'informations, visitez : [https://go.microsoft.com/fwlink/?linkid=830387 la documentation de l'éditeur]
 +
 
 +
<syntaxhighlight lang="json" line="1" start="1">
 +
{
 +
// Utilisez IntelliSense pour en savoir plus sur les attributs possibles.
 +
// Pointez pour afficher la description des attributs existants.
 +
// Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
 +
"version": "0.2.0",
 +
"configurations": [
 +
{
 +
"name": "Écouter pour Xdebug",
 +
"type": "php",
 +
"request": "launch",
 +
"port": 9000,
 +
"pathMappings": {
 +
"/vagrant/dolibarr/": "${workspaceRoot}"
 +
},
 +
"log": true
 +
}
 +
]
 +
}
 +
</syntaxhighlight>
 +
 
 +
Noter à la ligne '''13''' la clé est le chemin du serveur web qui correspond à la racine du projet (dans cet exemple, le dossier racine Dolibarr).
 +
 
 +
=====Configuration dans le php.ini du serveur web=====
 +
 
 +
En plus de ce qui est écrit plus haut, ajouter à la section xdebug de php.ini :
 +
 
 +
<syntaxhighlight lang="ini">
 +
xdebug.remote_autostart = true
 +
</syntaxhighlight>
 +
 
 +
==Pour développer ou utiliser les contrôles Qualité (PHPUnit, PHPCodeSniffer, PHPCpd, PHPDepends)==
 +
===Depuis Eclipse===
 +
Le plugin PTI pour utiliser PHPUnit et PHPCodesniffer est maintenant abandonnée.
 +
 
 +
*Pour utiliser PHPUnit, ceci est disponible en standard dans une installation de base d'Eclipse.
 +
 
 +
*Pour utiliser PHPCodesniffer, vous pouvez créer une entrée "External Tools" avec une configuration de ce type
 +
 
 +
[[Image:Setup_phpcs.png]]
 +
 
 +
===En ligne de commande manuelle===
 +
====Installer PHPUnit====
 +
 
 +
*Télécharger l'archive de la version sur http://pear.phpunit.de/get/ et dézipper le contenu dans un répertoire inclus dans le paramètre include_path de votre fichier de configuration php.ini.
 +
*Donner les permissions de s'exécuter (chmod +x phpunit sur Linux).
 +
*Le module xdebug est également requis si vous voulez faire du reporting de couverture de tests.
 +
 
 +
'''NOTE :''' Les tests Selenium ne fonctionnent qu'avec PHPUnit 4, installé avec ''composer install''.
 +
 
 +
====Exécuter les tests PHPUnit====
 +
 
 +
*Aller dans le répertoire '''/test''' des sources. Reportez vous au fichier '''README''' pour connaitre la procédure pour lancer un ou plusieurs tests PHPUnit.
 +
 
 +
====Installer les autres outils====
 +
 
 +
*Référez vous à la documentation des différents outils (PHPCodeSniffer, PHPCpd, PHPDepends) pour leur installation et utilisation en ligne de commande. Par exemple, pour installer ou mettre à jour PHPCodeSniffer:
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo pear upgrade PHP_CodeSniffer
 +
</syntaxhighlight>
 +
Les librairies pear seront installées dans '''/usr/share/php/PHP''' mais pour les prendre en compte avec Eclipse PTI, il faut ajouter une entrée "PHP" sur '''/usr/share/php''' et configurer PHPCheckstyle pour utiliser cette entrée.
 +
 
 +
==Pour développer ou utiliser les tests Selenium==
 +
 
 +
===Depuis Google Chrome et la ligne de commande===
 +
Suivre ces étapes pour agencer un environnement de test Selenium pour vos modules.
 +
 
 +
====Prérequis====
 +
Sur votre poste de développement / machine de test :
 +
 
 +
*Vous avez téléchargé selenium-server-standalone.jar en version 2.53.1 (ou dernière version de Selenium 2)
 +
**https://github.com/SeleniumHQ/selenium/releases/download/selenium-2.53.1/selenium-server-standalone-2.53.1.jar
 +
*Vous avez téléchargé chromedriver pour la version 83 de Google Chrome WebDriver
 +
**https://chromedriver.storage.googleapis.com/index.html?path=83.0.4103.14/
 +
**Le fichier binaire ''chromedriver'' est extrait et est exécutable (chmod +x)
 +
 
 +
====Agencement====
 +
Commencer par lancer le serveur Selenium en spécifiant le chemin vers l'exécutable ''chromedriver.''
 +
 
 +
p. ex :<syntaxhighlight lang="bash">
 +
~/Développement/selenium$ java -jar -Dwebdriver.chrome.driver=/home/[votre_usager]/chromedriver-linux64/chromedriver selenium-server-standalone-2.53.1.jar
 +
</syntaxhighlight>
 +
[[File:Capture d’écran de 2023-08-03 14-55-34.png|thumb]]
 +
 
 +
 
 +
 
 +
Ensuite, renseigner l'adresse de votre instance à tester dans le fichier de test (variable $base_url). et modifiez les paramètres $dol_admin_user et $dol_admin_password de sorte que ça corresponde à un identifiant valide, et modifier la fonction authenticate() du fichier de test pour utiliser ces variables ($login->value(self::$dol_admin_user); etc. ).
 +
 
 +
Enfin, exécuter la commande phpunit, sur le fichier de test à exécuter. Il faut utiliser le fichier binaire fourni avec Dolibarr. Alors, le test sera exécuté dans Selenium avec Chrome WebDriver sur votre instance.
 +
 
 +
L'instance n'a pas besoin d'être sur votre poste de développement.
 +
 
 +
P. ex. :<syntaxhighlight lang="bash">
 +
~/dolibarr-dev/htdocs/custom/monmodule/test$ ../../../includes/bin/phpunit ./phpunit/functionnal/MonModuleFunctionalTest.php
 +
</syntaxhighlight>
 +
 
  
http://www.phpsrc.org/eclipse/pti/
+
ModuleBuilder de Dolibarr créé déjà pour nous les méthodes de base pour tester un nouveau module et ses pages de configuration.
  
En faisant cela, l'installation et l'exécution de tests PHPUnit ou des autres outils est directement intégré à votre Eclipse.  
+
Enfin, vous voudrez vous assurer que le module Dolibarr Barre de débogue soit désactivé afin que l'outil automatisé puisse cliquer sur les boutons en bas de page.
  
Modifier la configuration dans Eclipse (Windows-Preferences-PHPTools-PHPCodeSniffer) pour ajouter un répertoire de standard vers '''dev/codesniffer'''.
 
  
Modifier la configuration dans Eclipse (Windows-Preferences-PHPTools-PHPUnit) comme sur la copie écran suivante (cliquer pour zoomer):
+
Bons tests !
  
[[File:Eclipse setup PHPUnit.png|100px]]
+
===Depuis Firefox===
 +
====Installer le plugin pour Firefox Selenium IDE====
  
Si vous n'installez pas PTI, il faut réaliser une installation et exécution en manuel en ligne de commande.
+
*Télécharger le fichier du plugin Selenium IDE pour Firefox.
 +
*L'ajouter dans Outils - Modules complémentaires de Firefox.
  
=== En ligne de commande manuelle ===
+
====Exécuter les tests Selenium====
==== Installer PHPUnit ====
 
* Télécharger l'archive de la version sur http://pear.phpunit.de/get/ et dézipper le contenu dans un répertoire inclus dans le paramètre include_path de votre fichier de configuration php.ini.
 
* Préparer le script phpunit:
 
** Sur Linux: Renommer le script phpunit.php script en phpunit et remplacer la chaine @php_bin@ dans ce fichier avec le chemin complet de la ligne de commande de l'interpréteur PHP (en général /usr/bin/php).
 
** Sur Windows: Remplacer la chaine @php_bin@ dans le fichier phpunit.bat avec le chemin complet de la ligne de commande de l'interpréteur PHP et remplacer la chaine @bin_dir@ avec le répertoire de PHPUnit.
 
** Modifier votre PATH pour inclure le répertoire contenant phpunit.
 
** Donner les permissions de s'exécuter (chmod +x phpunit sur Linux).
 
* Préparer le script PHPUnit/Util/PHP.php:
 
** Remplacer la chaine @php_bin@ dans ce fichier avec le chemin complet de la ligne de commande de l'interpréteur PHP (en général /usr/bin/php).
 
* Le module xdebug est également requis si vous voulez faire du reporting de couverture de tests.
 
  
==== Exécuter les tests PHPUnit ====
+
*Aller dans le menu Outils - Selinum IDE de firefox.
* Aller dans le répertoire '''/test''' des sources. Reportez vous au fichier '''README''' pour connaitre la procédure pour lancer une campagne de tests.
+
*Ouvrir le fichier de tests xml
 +
*Executer le test.
  
==== Installer les autres outils ====
+
==Pour générer la documentation Doxygen==
* Référez vous à la documentation des différents outils (PHPCodeSniffer, PHPCpd, PHPDepends) pour leur installation et utilisation en ligne de commande.
 
  
== Pour développer ou utiliser les tests Selenium ==
+
*Installer Doxygen disponible sur http://www.doxygen.org (ou par le package doxygen sous Ubuntu).
=== Depuis Firefox ===
+
*Installer le plugin Eclipse en ajoutant l'url source http://download.gna.org/eclox/update/ dans l'outil de mise à jour Eclipse puis configurer Eclipse pour indiquer l'emplacement de Doxygen (Window-Preferences-Doxygen).
==== Installer le plugin pour Firefox Selenium IDE ====
 
* Télécharger le fichier du plugin Selenium IDE pour Firefox.
 
* L'ajouter dans Outils - Modules complémentaires de Firefox.
 
  
==== Exécuter les tests Selenium ====
+
==Pour ajouter le support asciidoc à Eclipse==
* Aller dans le menu Outils - Selinum IDE de firefox.
 
* Ouvrir le fichier de tests xml
 
* Executer le test.
 
  
== Pour générer la documentation Doxygen ==
+
Ajouter l'URL http://download.eclipse.org/mylyn/snapshots/nightly/docs/ dans les Install repositories. Puis installer le package '''Mylyn Docs - Mylyn Wikitext Extras'''
* Installer Doxygen disponible sur http://www.doxygen.org (ou par le package doxygen sous Ubuntu).
 
* Installer le plugin Eclipse en ajoutant l'url source http://download.gna.org/eclox/update/ dans l'outil de mise à jour Eclipse puis configurer Eclipse pour indiquer l'emplacement de Doxygen (Window-Preferences-Doxygen).
 

Latest revision as of 22:33, 17 September 2024

Cette page liste les composants et autres technologies supplémentaires que vous pourriez vouloir installer sur votre environnement de développement. Elles ne sont pas requises pour développer sur Dolibarr, ni pour réaliser des modules mais peuvent être utiles pour des travaux très particuliers.

Si vous désirez faire des scripts en Perl

  • Installation du plugin Eclipse pour Perl: EPIC

Pour cela, utiliser la procédure Find And Install et ajouter l'URL de mise à jour: http://e-p-i-c.sourceforge.net/updates

Si vous désirez faire des scripts en Python

  • Installation du plugin Eclipse pour PyThon: PyDev

Pour cela, utiliser la procédure Find And Install et ajouter l'URL de mise à jour: http://pydev.org/updates

Si vous êtes sous Windows

  • Notepad++ (pour ceux qui ne supportent pas java ou utilisent un vieux coucou trop faible pour Eclipse).
  • WinMerge (pour la comparaison de fichiers ou répertoires)
  • CygWin (pour la commande patch si vous préferez les lignes de commandes)

A noter que Netbeans-PHP fonctionne efficacement avec Dolibarr.

Si vous désirez faire du debuggage pas à pas ou du tunning (XDebug)

  • Pour ajouter des infos de tuning page dans la console javascript à partir de Dolibarr 3.8, ajouter la variable d'environnement MAIN_SHOW_TUNING_INFO à 1 dans Apache. Pour cela, inclure la ligne suivante dans votre fichier apache.conf:
SetEnv MAIN_SHOW_TUNING_INFO 1
  • Pour du tuning à la ligne de code près, installer XDebug:

Logo windows.png In Windows

  • Télécharger le fichier dll php_debug_xxx.dll sur http://www.xdebug.org et stocker le dans le répertoire /ext de php. Ensuite activer le plugin.
  • Modifier le ficiher php.ini ou xdebug.ini pour ajouter le paramètres suivant:
 [xdebug]
 xdebug.remote_enable=on
 xdebug.remote_handle=dbgp
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.show_local_vars=off
 xdebug.profiler_output_dir=c:/temp
 xdebug.profiler_append=0
 xdebug.profiler_enable=0
 xdebug.profiler_enable_trigger=1

Logo ubuntu.png In Ubuntu / Linux

  • Installer le package php-xdebug:
sudo apt-get install php-xdebug
  • Modifier xdebug.ini pour ajouter les paramètres suivants après les lignes de type zend_extension=xxx (ou similaire):
 ; With xdebug 2.1 and more
 xdebug.remote_enable=on
 xdebug.remote_handle=dbgp
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.show_local_vars=off
 xdebug.profiler_output_dir=/tmp
 xdebug.profiler_append=0
 xdebug.profiler_enable=0
 xdebug.profiler_enable_trigger=1
 ; Add also this for xdebug 2.2 and more
 xdebug.show_mem_delta=1
 xdebug.trace_output_dir=/tmp
 xdebug.auto_trace=0
 xdebug.trace_enable_trigger=1

Eclipsephp.jpg Eclipse configuration

  • Ouvrir Eclipse. Dans Window->Preferences->General->Web Browser, sélectionner navigateur externe, et choisir le navigateur par défaut de votre système.
  • Aller dans la rubrique Window->Preferences->PHP->Debug, et positionner les options PHP Debugger à XDebug. Remarquer que la case “Stop a la première ligne” sur cette page doit également être active. Vous pourrez la modifier plus tard.
  • Après avoir validé les changements, aller dans la vue PHP Debug prespective, puis aller dans le menu Debug Configurations… Ici, vérifier que le Server Debugger est positionné à XDebug, et que votre server PHP pointe sur http://localhost/ ou le chemin approprié au serveur. La zone de localisation des fichiers doit de plus pointer sur le fichier à débugger, relativement à votre workspace. Ce chemin doit être quelquechose comme /dolibarr/htdocs/index.php.
  • Vérifiez la section URL pour voir si elle pointe correctement – si non, vérifier que la case “Auto-Generate” est bien décochée, et entrer manuellement le bon chemin. Appliquer les changement et fermer la fenêtre de dialogue.
  • Vous devriez maintenant être prêt pour lancer du debug de Dolibarr. Cliquer sur Run->Debug ou F11 pour activer le debug, Eclipse devrait basculer sur la vue Debug, et la page devrait commencer à se charger dans le navigateur externe. Si la case “Break at First Line” a bien été cochée précédemment, alors le programme aura stoppé à la première ligne. Vous pouvez alors faire du pas à pas sur les lignes de code successives en utilisant les boutons de la barre de Debug d'Eclipse. Eventuellement, vous pouvez placer des point d'arrêts à différents endroits du code pour y stopper l'exécution du code.


Ensuite pour analyser les fichiers de profiling générés par XDebug, il faut appeler l'url avec XDEBUG_PROFILE=1 pour générer le fichier profiling puis installer KCacheGrind (Linux) ou WinCacheGrind (Windows) pour l'analyser.

Visual Studio Code (VSCode)

Pour fonctionner sous VSCode, la configuration XDebug se fait par un fichier client, par exemple avec le port 9000 :

Configuration dans l'IDE

Fichier de projet : .vscode/launch.json

Pour plus d'informations, visitez : la documentation de l'éditeur

 1 {
 2 // Utilisez IntelliSense pour en savoir plus sur les attributs possibles.
 3 // Pointez pour afficher la description des attributs existants.
 4 // Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
 5 "version": "0.2.0",
 6 "configurations": [
 7 {
 8 "name": "Écouter pour Xdebug",
 9 "type": "php",
10 "request": "launch",
11 "port": 9000,
12 "pathMappings": {
13 "/vagrant/dolibarr/": "${workspaceRoot}"
14 },
15 "log": true
16 }
17 ]
18 }

Noter à la ligne 13 la clé est le chemin du serveur web qui correspond à la racine du projet (dans cet exemple, le dossier racine Dolibarr).

Configuration dans le php.ini du serveur web

En plus de ce qui est écrit plus haut, ajouter à la section xdebug de php.ini :

xdebug.remote_autostart = true

Pour développer ou utiliser les contrôles Qualité (PHPUnit, PHPCodeSniffer, PHPCpd, PHPDepends)

Depuis Eclipse

Le plugin PTI pour utiliser PHPUnit et PHPCodesniffer est maintenant abandonnée.

  • Pour utiliser PHPUnit, ceci est disponible en standard dans une installation de base d'Eclipse.
  • Pour utiliser PHPCodesniffer, vous pouvez créer une entrée "External Tools" avec une configuration de ce type

Setup phpcs.png

En ligne de commande manuelle

Installer PHPUnit
  • Télécharger l'archive de la version sur http://pear.phpunit.de/get/ et dézipper le contenu dans un répertoire inclus dans le paramètre include_path de votre fichier de configuration php.ini.
  • Donner les permissions de s'exécuter (chmod +x phpunit sur Linux).
  • Le module xdebug est également requis si vous voulez faire du reporting de couverture de tests.

NOTE : Les tests Selenium ne fonctionnent qu'avec PHPUnit 4, installé avec composer install.

Exécuter les tests PHPUnit
  • Aller dans le répertoire /test des sources. Reportez vous au fichier README pour connaitre la procédure pour lancer un ou plusieurs tests PHPUnit.
Installer les autres outils
  • Référez vous à la documentation des différents outils (PHPCodeSniffer, PHPCpd, PHPDepends) pour leur installation et utilisation en ligne de commande. Par exemple, pour installer ou mettre à jour PHPCodeSniffer:
sudo pear upgrade PHP_CodeSniffer

Les librairies pear seront installées dans /usr/share/php/PHP mais pour les prendre en compte avec Eclipse PTI, il faut ajouter une entrée "PHP" sur /usr/share/php et configurer PHPCheckstyle pour utiliser cette entrée.

Pour développer ou utiliser les tests Selenium

Depuis Google Chrome et la ligne de commande

Suivre ces étapes pour agencer un environnement de test Selenium pour vos modules.

Prérequis

Sur votre poste de développement / machine de test :

Agencement

Commencer par lancer le serveur Selenium en spécifiant le chemin vers l'exécutable chromedriver.

p. ex :

~/Développement/selenium$ java -jar -Dwebdriver.chrome.driver=/home/[votre_usager]/chromedriver-linux64/chromedriver selenium-server-standalone-2.53.1.jar
Capture d’écran de 2023-08-03 14-55-34.png


Ensuite, renseigner l'adresse de votre instance à tester dans le fichier de test (variable $base_url). et modifiez les paramètres $dol_admin_user et $dol_admin_password de sorte que ça corresponde à un identifiant valide, et modifier la fonction authenticate() du fichier de test pour utiliser ces variables ($login->value(self::$dol_admin_user); etc. ).

Enfin, exécuter la commande phpunit, sur le fichier de test à exécuter. Il faut utiliser le fichier binaire fourni avec Dolibarr. Alors, le test sera exécuté dans Selenium avec Chrome WebDriver sur votre instance.

L'instance n'a pas besoin d'être sur votre poste de développement.

P. ex. :

~/dolibarr-dev/htdocs/custom/monmodule/test$ ../../../includes/bin/phpunit ./phpunit/functionnal/MonModuleFunctionalTest.php


ModuleBuilder de Dolibarr créé déjà pour nous les méthodes de base pour tester un nouveau module et ses pages de configuration.

Enfin, vous voudrez vous assurer que le module Dolibarr Barre de débogue soit désactivé afin que l'outil automatisé puisse cliquer sur les boutons en bas de page.


Bons tests !

Depuis Firefox

Installer le plugin pour Firefox Selenium IDE
  • Télécharger le fichier du plugin Selenium IDE pour Firefox.
  • L'ajouter dans Outils - Modules complémentaires de Firefox.
Exécuter les tests Selenium
  • Aller dans le menu Outils - Selinum IDE de firefox.
  • Ouvrir le fichier de tests xml
  • Executer le test.

Pour générer la documentation Doxygen

  • Installer Doxygen disponible sur http://www.doxygen.org (ou par le package doxygen sous Ubuntu).
  • Installer le plugin Eclipse en ajoutant l'url source http://download.gna.org/eclox/update/ dans l'outil de mise à jour Eclipse puis configurer Eclipse pour indiquer l'emplacement de Doxygen (Window-Preferences-Doxygen).

Pour ajouter le support asciidoc à Eclipse

Ajouter l'URL http://download.eclipse.org/mylyn/snapshots/nightly/docs/ dans les Install repositories. Puis installer le package Mylyn Docs - Mylyn Wikitext Extras