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.
- Recenser les processus : cartographier les flux (achat, vente, stocks, comptabilité).
- 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).
- 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
- 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);
} - Déclarer le hook dans
localsetup.php:$setup['global_hooks'][] = 'custom/triggers/facture_notify.php'; - 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
- 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);).
- Mise à jour du serveur web (SSL, HSTS, CSP).
- Formation des équipes : 2 h de session live + supports (PDF).
- 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).
- 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
- Documentation officielle : https://www.dolibarr.org/doc/
- Community Forum : https://forum.dolibarr.org/ – Extensions marketplace : https://www.dolibarr.org/plugin-marketplace-en/
- Exemples de hooks :
class HooketeventAdddans la doc développeur. - Livres : Dolibarr ERP CRM – Guide de mise en oeuvre (édition 2024). —
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 ! 🚀