Outils de développement


Tout environnement de développement peut être utilisé. Toutefois voici une liste d'outils fortement recommandés pour leur complétude, leur qualité et la productivité du développement qu'ils apportent. Ils sont utilisés par la plupart des développeurs principaux de Dolibarr. Notons que toutes ces solutions sont gratuites et OpenSource.

Eclipsephp.jpg Pour tout développeur

Voici le socle de travail recommandé, toutefois tout outil respectant les standards Web, PHP, Mysql peuvent faire l'affaire.

Un serveur AMP

  • Apache, MariaDB et PHP

Sur Linux: Ces 3 produits sont disponibles dans toutes distributions.

Sur Windows: Installez [1] (base MariaDB, Apache et PHP tout clé en main). Ce serveur WAMP offre le trio MariaDB + Apache + PHP, avec possibilité de basculer de version pour n'importe lequel de ces composants d'un simple clic).

Chrome ou Firefox et plugins

  • Chrome

A télécharger depuis le site http://www.chrome.com

  • Firefox avec les plugins:
    • Firebug + Firecookie + FirePHP,
    • HTML Validator,
    • User agent switcher pour simuler des accès depuis un smartphone
    • Selenium IDE
    • Cert Viewer Plus si vous comptez faire des tests en HTTPS,
    • QuickProxy si vous voulez basculer rapidement votre navigateur vers des utilitaires Proxy (WebScarab)...

A télécharger depuis le site http://www.firefox.com

Un outil d'accès aux bases de données

Exemple:

IDE (Eclipse, VSCode) et plugins

Eclipse

Installation d'Eclipse

Nous recommandons la version suivante d'Eclipse:

https://eclipse.org/pdt/

Sinon toute version disponible sur le site Eclipse fait l'affaire.

Une fois Eclipse installé, il est recommandé de modifier/vérifier les paramètres suivants:

  • Window - Preferences - General - Workspace - Text file encoding -> UTF8
  • Window - Preferences - General - Workspace - New text file line delimiter -> Unix
  • Window - Preferences - General - Compare/Patch - Ignore white spaces -> Yes
  • Window - Preferences - General - Editor - Text editors - Tab delimiter length -> 4
  • Window - Preferences - General - Editor - Text editors - Insert spaces for tab -> No
  • Window - Preferences - General - Editor - File Association -> Add *.lang associated to "Text Editor"
  • Note: You can also disable Windows - Preferences - Java - Editor - Content Assist - Auto Activation

And if PDT is installed (see later):

  • Window - Preferences - PHP - Code Style - Formatter - Tab policy -> Tab
  • Window - Preferences - PHP - Code Style - Formatter - Default indentation for wrapped line -> 1
  • Window - Preferences - PHP - Code Style - Formatter - Default indentation for array initializer -> 0
  • Window - Preferences - PHP - Editor - Typing - Uncheck "When Pasting Adjust Indentation" (keeping this option checked create corruption of text files by adding bad end of line characters)
  • Window - Preferences - PHP - Code Style - Formatter - Use the profile provided into dev/setup/eclipse/PSR-12 [built-in].xml as Eclipse syntax formatter.
  • Note: You can also disable Windows - Preferences - PHP - Editor - Content Assist - Auto Activation
Installation du plugin Eclipse pour PHP: PDT.

Avec certaines installations d'Eclipse, PDT peut etre installé depuis Help -> Install new software et choisir PDT. Si PDT n'est pas présent, si vous avez installé la version Eclipse ci-dessus, il suffit d'utiliser la procédure Help -> Install new software -> Add -> pour installer le package complémentaire:

https://download.eclipse.org/releases/xxx - xxx = version

Or from the GUI of any Eclipse =>Install New Software =>Work With Kepler => Wait until list display =>General Purpose Tools Check PHP development tools (PDT)=>Install

Une fois PDT installé, il faut aussi le configurer dans Eclipse comme défini dans le chapitre Outils_de_développement_-_Composants_optionnels#Depuis_Eclipse.

Configurer Eclipse pour récupérer les sources

Une fois qu'Eclipse est installé, vous pouvez vous connecter au repository GIT pour y récupérer les dernières versions de développement.

Pour cela, voir la page FAQ Récupérer, mettre à jours les sources GIT du projet.

Codium

Codium est la version Libre de VSCode, la documentation suivante s'appliquera donc probablement à vscode.

Modules complémentaires

Voici la liste des modules complémentaire conseillés:

  • PHP Intelephense
  • phpdoc-comment
  • PHPUnit
  • PHP CS Fixer
Stubs ou extraits de codes

Si vous développez des modules complémentaires pour dolibarr vous apprécierez d'avoir les définitions des fonctions et autres objets de dolibarr sans avoir à sourcer l'arborescence complète de dolibarr...

Tout ceci se passe par la récupération des stubs depuis https://packagist.org/packages/caprel/dolibarr-stubs.

Une fois le stub téléchargé / ou installé en suivant la doc pensez à ajouter le fichier dolibarr-stubs dans la liste des stubs de votre codium, éditez le fichier ~/.config/VSCodium/User/settings.json

"intelephense.stubs": [
 "apache",
 "intl",
 "standard",
 "/media/erics/stockage/tmp/dolibarr/stubs",
],
"intelephense.environment.includePaths": [
 "/media/erics/stockage/tmp/dolibarr/stubs",
],


VSCode

Voir les instructions d'installation de l'éditeur.

Git Hooks

Installer le hook git Pre-commit

L'utilisation de ce hook git est essentiel pour vérifier la syntaxe des fichiers qui sont commité et pouvoir annuler celui-ci si la syntaxe est mauvaise. Si phpcs et phpcbf sont installés, les erreurs de formatage de code peuvent être modifiées automatiquement. Voici comment faire:

Allez dans /dev/setup/git/hooks de votre dépôt local, copiez le fichier pre-commit dans le dossier .git/hooks se trouvant a la racine de votre dépôt git local et rendez-le exécutable.

Ensuite, il est nécessaire d'éditer le fichier pre-commit présent dans .git/hooks du projet Dolibarr pour modifier la variable DIRPHPCS afin d'ajouter le chemin des outils phpcs et phpcbf (le laisser vide si les outils sont déjà disponibles dans la variable PATH).

Ce type de hook est utilisé lorsqu'on utilise l'invité de commande mais aussi lorsque qu'un commit est créé avec un IDE commun (exemple Eclipse et Virtual Studio Code). Une fois installé, le hook démarrera lors de votre prochain commit pour reformater votre code, pour que votre code corresponde toujours aux règles de syntaxe de codage. Si tout le monde active ce hook, tout le monde utilisera la même règle de syntaxe de codage, il est donc fortement recommandé de l'activer si vous le pouvez.

Computer.png Optionnel

Vous pouvez aussi installer des composants optionnels pour avoir le support de technologies suplémentaires. Voir la page Outils de développement - Composants optionnels.