Best practices pour développer un module?

Bonjour,
Je vais poser une question qui semble ridicule, mais j’ai passé des heures à lire la documentation sans trouver la solution. Et je ne l’ai pas non plus trouvée sur ce forum.
Je suis sous linux (debian), et je cherche à développer des modules. Pour l’un, je compte m’appuyer sur le module builder, pour l’autre non.
Je suis sous dolibarr 10 (c’est la version utilisée par mon client).

Actuellement, mon dolibarr est installé dans le chemin « standard » : /var/www/dolibarr/…, avec un chown www-data:www-data.
Pour développer, j’ai le code d’un de mes module dans ma home, et j’ai fait un batch pour l’installer depuis mon IDE dans /var/www/dolibarr/htdocs/custom/nom_de_mon_module.
Mais cette technique ne marche pas si je veux me servir du module builder…

Quel setup est-on censé utiliser, pour pouvoir développer son module, tout en :

  • pouvant s’appuyer sur les générations automatique des fichiers sql et classes du module builder (je ne trouve pas le script en ligne de commande pour le faire, et je ne comprend pas l’utilisation de l’attribut «dirins» pour moduilbuilder/index.php)
  • pouvant utiliser un IDE pour éditer le code (dans mon cas, visual studio code)
  • pouvant utiliser git

J’ai essayé plusieurs solutions. Par ex, un lien symbolique de /var/www/dolibarr/htdocs/custom/mon_module vers ma home… Mais ça ne marchais pas (problèmes de droits, et je ne peux pas ajouter le user www-data dans le groupe de mon user pour des raisons de sécurité évidentes… mon pc servant aussi de serveur publique pour certains services).
J’ai essayé avec l’attribut dirins du module builder, en l’ajoutant à la main dans l’url. Mais php bloquait l’accès au dossier (soit des pb de droits users, soit le paramètre open_basedir).
J’imagine qu’on peut changer $dolibarr_main_document_root_alt dans la conf de dolibarr, pour le faire pointer vers un dossier de sa home, à condition d’y déplacer tous les modules ? Mais je risque de retomber sur la même problématique de droits d’accès ou d’open_basedir.

Bref, je me sens un peu bête de poser la question. J’ai dû passer à côté de quelque chose d’évident… Et pourtant j’ai cherché un moment… Et j’ai passé plus de temps sur ça que sur le développement des modules que je dois faire (à la base, j’ai accepté de faire ça pour une asso dont je suis proche, parce que ce n’était censé me prendre que 5j…). Quel setup utiliser pour développer des modules, sur un linux dont le serveur web sert aussi à de la prod ? (j’ai bien sûr fait en sorte que le dolibarr de dev ne soit pas accessible de l’extérieur, via la config apache).

Bonjour,
Mon setup:
Un dolibarr pour developper dans mon /home et lien symbolic dans le /var/www
Je fait des chown, chgrp et chown -R après generation du code avec le builder (normalement seulement besoin quelque fois aux debut du developement).
Je faites toutes code dans dolibarr folder avec xdebug plugin dans vscode.
Pour git j’ouvre deuxieme vscode dans folder module et fait git init.

Merci pour la réponse. Je viens de réessayer ce que j’avais déjà fait : faire un lien symbolique dans le dossier custom :

cd /var/www/dolibarr/htdocs/custom
sudo -u www-data ln -s /home/john/dev/dolibarr_modules/mon_module mon_module

Tous les fichiers dans /home/john/dev/dolibarr_modules/mon_module appartiennent à www-data:www-data.
Mais :

sudo -u www-data ls mon_module
ls: impossible d’accéder à ‹ mon_module ›: Permission non accordée

Je vais essayer en mettant tout dolibarr dans ma home, mais il y a peu de chances que ça marche.

Alors, ça ne marche pas parce que www-data n’a pas de droits sur ma home, et il est hors de question que je lui en donne.

En revanche, j’étais effectivement passé à coté d’une solution simple… Et je me sens effectivement ridicule de ne pas y avoir pensé… C’est dans l’autre sens qu’il faut travailler ! le lien symbolique est dans la home, et pointe vers /var/www/dolibarr/htdocs/custom/mon_module !