@SimBaIT il n’y a pas de docker dans cette histoire normalement, enfin, s’il y a qqpart un truc qui parle de docker il faut me le dire c’est que j’ai fait une erreur dans mes copier/coller et nombreux tests car oui j’ai fait un ‹ passage › par docker pour avancer de manière itérative 
En fait il faut voir les tests à deux niveaux:
- tests unitaires
- tests d’intégration
tests unitaires
Les tests unitaires sont ceux qui permettent de valider qu’une fonction fait bien ce qu’il faut, par exemple si j’ai cette fonction
function somme($a,$b) {
return $a+$b;
}
les tests unitaires vont tenter de faire 1+1 et vérifier que ça fait bien 2 … et si on améliore on peut ajouter un test 0.1+0.2 pour vérifier que ça fait 0.3 car le test précédent n’est que sur des entiers sans décimales et ainsi de suite, j’espère que c’est assez clair …
tests d’intégration
ceux là sont plus pêchus : ils demandent à avoir un dolibarr utilisable, par exemple si je veux pouvoir tester l’ajout de lignes dans un objet facture pour voir le résultat des arrondis des totaux et les résultats des calculs de tva … je donne cet exemple car c’est exactement ce qui m’a motivé à passer tant de temps sur ce sujet : pour le module de facture électronique ! il faut s’assurer que le résultat affiché dans le pdf est le même que celui calculé par les outils qui produisent le xml (car oui les vérifications côté points d’accès « refont » les calculs inverses et il faut que ça tombe juste)
et là … comment faire pour utiliser les objets et fonctions dolibarr ? il faut un dolibarr
ok s’il faut un dolibarr il faut aussi un … mysql … et là ça commence à devenir sacrément lourdingue, la « solution » est généralement … docker qui permet d’avoir tout d’un coup mais ça pèse lourd : l’image dolibarr sur docker hub pèse 296Mo et surtout sur nos « machines » ça demande de la ram, du cpu, de l’énergie etc.
je me suis demandé s’il serait possible d’avoir une version légère avec un sqlite au lieu d’un mysql pour pouvoir gagner en temps, en poids, en impact global
bien sûr l’idée est que lorsqu’on a passé tous les tests avec sqlite on puisse ensuite lancer un vrai test avec un dolibarr+mysql (docker) mais comme dans la majorité des cas la version « sqlite » suffit pour débusquer les problèmes d’intégration ça évite de lancer des centaines de fois docker+mysql …
est-ce que c’est plus clair ?