Déployer Dolibarr : interfaçage Checklist en 30 jours

Guide pratique pour intégrer, configurer et exploiter le ERP/CRM open‑source Dolibarr en un mois


1. Introduction

Dolibarr est une solution ERP/PGI (Gestionnalité de PME) open‑source écrite en PHP/MySQL, conçue pour automatiser la comptabilité, la gestion commerciale, les stocks, la facturation, etc.
Sa modularité et son moteur d’interfaçage (API, hooks, modules) permettent de l’adapter rapidement aux processus métiers tout en gardant un code lisible et maintenable.

Déployer Dolibarr en 30 jours avec un focus sur l’interfaçage (connexion à d’autres systèmes, échange de données, personnalisation) suivant une checklist détaillée garantit :

  • Une mise en production rapide et fiable.
  • Une traçabilité complète des changements.
  • Un système évolutif qui pourra être enrichi ultérieurement. —

2. Objectifs du déploiement

Objectif Description Résultat attendu
Installation Mettre en place l’environnement technique (serveur, base de données, dépendances). Dolibarr fonctionnel en mode production.
Personnalisation Adapter les champs, menus et workflows aux besoins spécifiques. Interfaces utilisateurs alignées sur les processus métiers.
Intégration Connecter Dolibarr aux ERP, CRM, solutions de paiement, API tierces, etc. Flux de données automatisés, pas de saisie redondante.
Test & Validation Vérifier la conformité fonctionnelle et la stabilité. Sign-off des parties prenantes avant le go‑live.
Documentation & Transfert Formaliser les procédures d’exploitation et de maintenance. Utilisateurs autonomes, support interne.


3. Planning 30 jours – Vue d’ensemble

Semaine Thématiques Livrables clés
S1 Analyse fonctionnelle & planning détaillé Cahier des charges fonctionnel, planning détaillé.
S2 Installation & mise en environnement de dev Environnement local + serveur de dev fonctionnel.
S3 Personnalisation & création des modules Champs, menus, modèles de documents configurés.
S4 Interfaçage (API, hooks) & tests d’intégration Connecteurs développés, jeux de tests automatisés.
S5 Tests globals, validation et documentation Rapport de tests complet, manuel d’utilisation.
S6 Go‑live & support post‑déploiement Environnement de prod, suivi de la première semaine.


4. Checklist détaillée – Jour par jour

Jour 1–5 – Analyse & cadrage 1. Kick‑off projet : réunion avec les représentants métier, IT et le prestataire.

  1. Recenser les processus : cartographier les flux (achat, vente, stocks, comptabilité).
  2. Rédiger le cahier des charges fonctionnel :

    • Champs obligatoires / optionnels.
    • Types de documents (facture, devis, bon de commande).
    • Exigences d’interfaçage (ex. connexion à la boutique e‑commerce, CRM, ERP tiers).
  3. Définir le périmètre d’interfaçage :

    • API internes (ex. paiement Stripe, transporteur Colissimo).
    • API externes (ex. ERP SAP, CRM HubSpot). 5. Planifier les jalons : tableau Gantt avec dates clés et responsables.

Jour 6–12 – Installation & configuration serveur

Action Détails
Préparer l’infrastructure Serveur Linux (Ubuntu 22.04 ou équivalent), Apache/Nginx, PHP 8.2+, MySQL 8+ ou MariaDB.
Créer le virtual host dolibarr.local pointant vers le répertoire source.
Installer dépendances php, php-mysql, php-gd, php-xml, php-mbstring, apache2-mod_rewrite.
Récupérer Dolibarr Téléchargement de la dernière version stable (ex. 23.0.4).
Décompresser & config cp -r dolibarr/ /var/www/dolibarr/. Créer la base dolibarr_prod.
Permissions chown -R www-data:www-data /var/www/dolibarr && chmod -R 755 /var/www/dolibarr.
Configuration du fichier conf.php $setup['dol_version_check'] = 0; (désactiver les checkouts automatiques).
Test de base Accéder à http://dolibarr.local/index.php → page d’accueil.

Jour 13–15 – Configuration de base (modules)

  • Activer les modules nécessaires (ex. propal, order, invoice, stock).
  • Définir les catégories de clients/fournisseurs.
  • Configurer les types de comptes (chartes comptables) via le menu Administration → Comptabilité → Plan comptable. – Paramétrer taxes & taux (TVA intra‑UE, TVA externe, etc.).
  • Créer lesotypes de paiement (ex. CB, virement).
  • Configurer les comptes bancaires (format RIB).
  • Activer le moteur de recherche (Full‑Text) si utilisé.

Jour 16–20 – Personnalisation fonctionnelle

Action Méthode
Ajouter des champs personnalisés Menu → Paramètres → Champs. Créer des champs (ex. "code_projet", "client_type").
Modifier les formulaires Utiliser le module de personnalisation (Custom fields) ou éditer les fichiers de templates (/htdocs/custom).
Créer/supprimer des menus Administration → Menus. Ajuster les libellés pour refléter la terminologie métier.
Définir les workflows Exemple : validation de devis → commande → facture. Utiliser les étapes de validation du module Commandes.
Configurer les modèles de documents Paramètres → Imprimantes → choisir le template PDF (ex. twig ou Smarty).
Tester les flux internes Créer un devis test, passer par chaque étape (validation, approbation, facturation).

Jour 21–25 – Interfaçage et APIs #### 2.5.1. Architecture d’interfaçage

[ Outils externes ] ──► REST/GraphQL API ──► Dolibarr ──► Webservices internes
▲ │
│ ▼
└─► Webhooks / Cron jobs ◄───── Hooks Dolibarr

2.5.2. Méthodes d’interfaçage courantes

Méthode Cas d’usage Implémentation rapide
Webhooks (Dolibarr → externe) Envoyer une notification lorsqu’une facture est émise. Utiliser le hook eventAfterCreateInvoice dans /custom/posts/ → HTTP POST.
REST API externe Synchroniser les devis avec un CRM. Créer un module /custom/inc/rest/ exposant /api/v1/devis → renvoie JSON.
Cron jobs Export quotidien des stocks vers un ERP SAP. Créer un script /tools/export_sales.php appelé par cron.d tous les jours.
Modules PHP Accéder à la DB ou aux modèles natifs. Utiliser les classes du core ($db, new Facture) ou inclure global.lib.php.
FTP/SFTP Déposer les bons de commande générés pour un transporteur. Script PHP exec("lftp ...") ou bibliothèque phpseclib.

2.5.3. Exemple concret – Webhook de création de facture

  1. Créer le fichier /custom/triggers/facture_notify.php
    <?php
    // charge core
    require_once '/var/www/dolibarr/htdocs/class/facture.class.php';
    // hook after creation
    add_event_list('CREATE_FINANCE', 'notify_email', $_POST, '', '');
    function notify_email($hook_name, $hook_vars){
    $facture_id = $hook_vars['id'];
    $facture = new Facture();
    $facture->fetch($facture_id);
    // appel HTTP POST vers l'API tierce
    $post_data = http_build_query([
    'id' => $facture->id,
    'label' => $facture->label,
    'date' => $facture->date_vente,
    'total' => $facture->total_ht,
    ]);
    curl_setopt($ch, CURLOPT_URL, 'https://api.partenaire.example.com/invoices');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_exec($ch);
    curl_close($ch);
    }
  2. Déclarer le hook dans localsetup.php :
    $setup['global_hooks'][] = 'custom/triggers/facture_notify.php';
  3. Tester via le UI : créer une facture → vérifier le POST reçu par l’endpoint externe.

Jour 26–28 – Tests, validation & recette

Test Objectif Méthode
Unitaires (hooks) S’assurer que chaque fonction déclenchée renvoie le bon statut HTTP. Utiliser PHPUnit sur les dossiers custom/tests.
Intégration Vérifier le flux complet (dév → facture → paiement → comptabilisation). Scénario complet sur l’interface de test avec jeux de données réalistes.
Performance Mesurer temps de réponse sous 100 requêtes simultanées. ab -n 100 -c 10 http://dolibarr.local/index.php/main/searchForm.php.
Sécurité Vérifier les droits d’accès (ACLs) et l’injection SQL. Scanneur OWASP ZAP, revues de code.
Recette métier Validation fonctionnelle par les utilisateurs finaux. Tableau de critères prévu dans le cahier des charges, feedback en réunion.

Jour 29–30 – Mise en production & documentation

  1. Sauvegarde de la base de test → restauration sur le serveur prod. 2. Activer le mode production :

    • $conf->global->set('commercial_gestion', 1);
    • Désactiver les debugs ($conf->global->set('debugmode', false);).
  2. Mise à jour du serveur web (SSL, HSTS, CSP).
  3. Formation des équipes : 2 h de session live + supports (PDF).
  4. Documentation :

    • Manuel d’installation (prérequis, scripts).
    • Guide d’administration (hooks, logs, backups).
    • Catalogue des interfaçages (APIs, webhooks, cron).
    • Plan de reprise (backups quotidiens, rollback).
  5. Go‑live : mise en disponibilité à 08:00 h, suivi de 24 h avec équipe support.


5. Bonnes pratiques pour l’interfaçage avec Dolibarr

Domaine Astuce Explication
Modularité Créez des modules isolés (custom/...) plutôt que d’éditer les fichiers du cœur. Facilite les mises à jour futures et évite les conflits.
Versionnage Git‑initiez le répertoire custom/ et poussez les changements sur un repo privé. Historisation claire, rollback simple.
Sécurité Toujours sanitiser les entrées, utilisez les méthodes $db->quote() et $db->execute. Protection contre injection SQL et XSS.
Gestion des erreurs Retournez des codes HTTP clairs (200 OK, 400 Bad Request, 500). Les systèmes publics comprennent la nature de l’échec.
Idempotence Rendre les appels idempotents (ex. même payload → même état). Redémarrage de cron sans duplication.
Logging Utilisez le logger interne $log->addLog ou un fichier dedicated (/var/log/dolibarr_interfaces.log). Traçabilité et debug rapide.
Tests automatisés Intégrez les hooks dans vos pipelines CI (GitHub Actions, GitLab CI). Déploiement continu fiable.
Documentation API Générez un Swagger/OpenAPI à partir des annotations PHP pour rendre l’API auto‑documentée. Adoption facilitée par les équipes tierces.


6. Ressources complémentaires

7. Conclusion

En suivant la checklist présentée, vous pouvez déployer Dolibarr – et surtout interfacer celui-ci avec vos systèmes externes – en 30 jours sans surprise majeure.
Cette approche structurée garantit :

  • Rapidité de mise en œuvre grâce à un planning précis.
  • Qualité et sécurité via des tests automatisés et des bonnes pratiques de codage. – Souplesse future grâce à une architecture modulaire et documentée.

En adoptant cette méthode, votre organisation pourra exploiter pleinement le potentiel de Dolibarr tout en conservant la maîtrise sur les échanges de données avec vos partenaires et systèmes existants.

« Le secret de la réussite d’un ERP ? Une implémentation bien planifiée, des interfaces claires et un suivi rigoureux. »

Bonne implémentation ! 🚀

Publications similaires