Nouveau module pour dupliquer votre dolibarr (instance de tests ou preprod)

Bonjour,
je vous informe de l’arrivée prochaine d’un nouveau module qui vous simplifiera peut-être la vie si vous voulez avoir un dolibarr de tests (préprod dans notre jargon) syncho avec votre dolibarr officiel de prod.

Le constat est le suivant:

  1. j’installe un dolibarr, je l’utilise pour devis/facture, rien de plus
  2. et puis j’ai envie de tester des modules (que ça soit des modules du coeur ou des modules du dolistore). Par exemple j’ai envie de farfouiller le module ‹ projets › que je n’ai jamais utilisé … ou la compta avancée mais je n’ai pas envie de faire ça sur mon dolibarr réel car je ne veux pas tout casser (bonne idée).
  3. alors j’installe un dolibarr de tests / bricolage mais il est neuf, vide … je bricole mais c’est pas très parlant
  4. pour qu’il ne soit pas tout vide j’ai envie d’importer la base de données de mon dolibarr normal, ça devient compliqué (il faut penser à aller piocher les clés dans le conf.php, faire un dump sql, éventuellement copier le dossier documents puis passer les modules en mode « tests ») …

Vous me voyez venir ? J’y bosse depuis des mois en fait, l’idée est assez simple: un module installé sur vos 2 dolibarr et un bouton « synchroniser » à sens unique de la prod vers la preprod. Après la synchro le module du côté préprod désactive les choses dangereuses (mails, taches planifiées, modules de paiement en mode test etc.) … et je me sens plus libre de tester tout ce que je veux.

C’est aussi cette idée qui nous sert à mettre des répliquas de dolibarr sur des serveurs distants dans le cadre de PRA sur des installations « service haut de gamme » … jusqu’à présent c’était à base de ssh / rsync etc. mais là on bascule côté php applicatif et ça permet de s’affranchir de contraintes techniques liées à l’hébergement …

Alors, ça vous intéresse ? ou fausse bonne idée ?

7 « J'aime »

Bonjour :slightly_smiling_face:
Utile pour les montées de versions effectivement :+1:

Bonjour Éric,
Très bonne idée, et si tu as besoin de contributeurs ou de testeurs, je suis sûr que @altairis-noe et @altairis-benjamin seront ravis de t’épauler :wink:
Quelques questions, suggestions qui me viennent rapidement :

  • Est ce que les 2 dolibarrs peuvent être sur des machines différentes ?
  • possibilité de choisir des modules à ne pas activer par défaut sur la preprod ? (genre synchro ecommerce)

Hello,

Sur notre offre « zen » c’est justement l’objectif : avoir un dolibarr en prod sur « notre » serveur et proposer au client d’avoir un dolibarr « bricolage » chez lui ou alors un dolibarr « répliqué de la prod disponible pour basculer dessus en cas d’incendie du datacenter » chez lui (ou chez un autre hébergeur)

C’est la que ça devient intéressant :slight_smile: pour l’instant je ne gère que les modules que je connait mais l’idée est clairement la : passer stripe en mode « test », désactiver un module fait aussi partie de la liste … même si pour l’instant ça n’est pas implémenté !

Très chouette idée, effectivement. À suivre avec attention.

Si on peut contribuer, on est prêts à jouer :slight_smile:

Bonjour,

Voilà quelque chose qui pourrait nous faire gagner beaucoup de temps !

Comme l’a dit @altatof, je me tiens disponible si besoin de tester/contribuer. Avec grand plaisir !

Bonsoir @erics,

Avant de réinventer la roue et te lancer, un conseil, appelle Patrice chez nous car on a le module dolireplic qui est en passe d’être finalisé sur le sujet.

Bonne soirée

ha ben ça c’est con … c’est terminé en fait … j’étais en train de faire la petite vidéo de démo:

3 « J'aime »

Bonsoir
Très bonne idée
Je pense pouvoir aussi passer un peu de temps pour tester si besoin
Cordialement
Eric

Quelques infos (techniques) complémentaires:

  • le module doit être installé sur le dolibarr source et le dolibarr de destination
  • sur le dolibarr source (prod) il s’appuie sur l’API REST et apporte des entrées complémentaires sur l’API pour permettre au client (dolibarr de destination) de se connecter pour télécharger
  • c’est donc nativement orienté réseau
  • il fait le transfert du dernier backup sql, donc il s’appuie aussi sur le module de tâche planifiées et de la sauvegarde périodique de la base de données
  • il fait aussi le transfert (sur option) des documents
  • idem pour les modules complémentaires

Après avoir téléchargé le fichier sql de backup de la base de données il le restaure puis il applique une série d’instructions (qui seront personnalisables via l’admin) : passage en mode test des modules tels que stripe/stancer/paypal, modification de la conf « mail » pour que tous les mails partent à une seule adresse etc.

Pour la 1ere version je vais rester assez ferme sur les contraintes : serveur linux obligatoire comme serveur de destination, commande exec/shell_exec ou system autorisée pour pouvoir lancer le mysql restaure en ligne de commande, base de données uniquement mysql et fichier compressé uniquement gzip …

À terme tout ceci sera aussi proposé via une tâche planifiée pour pouvoir périodiquement et automatiquement alimenter votre preprod avec les données issues de la prod…

Et si vous voulez sponsoriser la r&d ça se passe ici → Soutien R&D – Cap-REL* j’ai ajouté la possibilité de faire varier le montant :slight_smile:

Bonjour,

Pour information : l’utilisation de données de production de Dolibarr (donc de données personnelles) dans une base de test n’est pas autorisé par la réglementation RGPD. Cela ne répond pas à la finalité initiale de collecte de ces données personnelles.

Voir https://lincnil.github.io/Guide-RGPD-du-developpeur/#Attention_aux_données_de_test !

2 « J'aime »

100% d’accord je propose de changer le nom « test » en « sauvegarde » et tout est plus facile à imaginer en ce sens puisqu’il s’agit bien de ça :slight_smile:

(et au passage si vous voulez ouvrir un fil « RGPD-Dolibarr » ça serait précieux)

Éric

1 « J'aime »

Ce n’est pas une question de dénomination, mais une question d’usage.

C’est bien ce que je dis, vous avez bien le droit de faire une copie de sauvegarde de vos données dans le cadre de votre PRA tout de même … non ?

Ce n’est pas l’usage premier du module que vous décrivez dans votre message initial.
Ceci dit, vous êtes libre de faire ce que vous voulez. Je ne fait que soulever un point juridique.

Mais vraiment je vous en remercie c’est très important et j’aurais du présenter ce projet comme tel dès le début … dans le cas de la partie « test » je note d’ajouter un anonymiseur de données après la restauration des données. Par contre si c’est un dolibarr répliquas « cadre PRA » (que je mentionne aussi dès le 1er message et qui est notre cadre actuel de nos clients) on ne lancera pas cette moulinette d’anonymisation.

D’ailleurs quand je parle de RGPD dans Dolibarr c’est pas pour rien, on est souvent en porte-a-faux entre plein de choses (juste un exemple: obligation de conservation des archives, obligation d’anonymisation des données)…

2 « J'aime »

Pour les tests il existe https://fakerjs.dev/ pour avoir des datas

1 « J'aime »

Et dolibarr est livré avec des données de tests aussi (voir le dossier dev) :slight_smile:

1 « J'aime »

sauf si ça a changé les données de tests fournies sont difficilement exploitables voire utiles (société basée en Inde pour commencer)

beau boulot, bravo @erics !