1. Introduction Dolibarr est un ERP/PGI (Gestionnaire de PME) open‑source très léger, idéal pour les petites et moyennes entreprises ainsi que pour les projets de prototypage. Lorsqu’on le déploie en environnement de production, il ne suffit pas de le faire fonctionner : il faut garantir la stabilité du processus de fabrication, l’intégrité des données et la sécurité du système contre les menaces internes et externes.
Cet article propose un guide complet : architecture de référence, étapes de mise en production, bonnes pratiques de fabrication, puis focus sur la sécurité (hardening, sauvegarde, audit…).
2. Architecture de référence pour un déploiement production
| Composant | Rôle | Recommandation |
|---|---|---|
| Serveur web | Exposition de l’interface web | Apache 2.4 ou Nginx + PHP 8.2 (ou version supérieure) |
| Base de données | Stockage persistant des données | MySQL 8.0 / MariaDB 10.11 ou PostgreSQL 15, avec replication si HA requise |
| Cache (optionnel) | Accélération des requêtes | Redis ou Memcached |
| File upload | Gestion des pièces jointes (factures, bons de commande) | Stockage local chiffré ou service d’objets (S3 compatible) |
| Backup | Sauvegarde régulière | Outils mysqldump, pg_dump, scripts rsnapshot ou solutions cloud |
| Monitoring | alertes & métriques | Prometheus + Grafana ou Zabbix |
| Reverse proxy / TLS | Chiffrement HTTPS et protection DDoS | HAProxy / Nginx + Let’s Encrypt (ou certificat interne) |
| Conteneurisation (optionnelle) | Déploiement reproductible | Docker + Docker‑Compose ou Kubernetes (Helm chart fourni) |
Tip : En environnement de production, séparez strictement le réseau de gestion (admin) du réseau métier (consultation & écriture). Utilisez des VLAN ou des sous‑réseaux VPN dédiés.
3. Étapes clés de mise en production
-
Installation de base
- Créez un compte système dédié (
dolibarr). - Installez les paquets serveur (Apache/Nginx, PHP, DB).
- Téléchargez la dernière version stable (ex.
dolibarr-20.0.5.tgz) et décompressez‑la dans/var/www/dolibarr. 2. Configuration de la base « `sql
CREATE DATABASE dolibarr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘dolibarr_user’@’%’ IDENTIFIED BY ‘StrongPass!23’;
GRANT ALL PRIVILEGES ON dolibarr.* TO ‘dolibarr_user’@’%’ IDENTIFIED BY ‘StrongPass!23’;
FLUSH PRIVILEGES; - Activez le mode strict SQL (
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION).
- Créez un compte système dédié (
-
Installation de Dolibarr
cp php.ini.sample php.ini # ajustez display_errors=Off, expose_php=Off
php -r "copy('install/index.php','/var/www/dolibarr/');"
chown -R www-data:www-data /var/www/dolibarr- Lors du wizard, choisissez “Production” (mode
prod).
- Lors du wizard, choisissez “Production” (mode
-
Sécurisation de l’interface
- Activez HTTPS (certificat valide, HSTS, TLS 1.3).
- Restreignez l’accès en IP (ex.
Allow from 10.0.0.0/8). - Désactivez les modules non utilisés (ex.
disable_plugins = ...).
-
Paramétrage de la société
Configuration > Entreprise→ définissez la devise, les taxes, les paramètres comptabilité.- Activez les modules de production : Article (manufacturing), Stock, Bon de commande, Carnet de suivi des lots.
- Mise en place du backup
- Planifiez une sauvegarde incrémentale quotidienne + une sauvegarde complète hebdomadaire.
- Exemple de script (
/etc/cron.d/dolibarr-backup) :0 2 * * * root /usr/local/bin/dolibarr_backup.sh >> /var/log/dolibarr_backup.log 2>&1
4. Bonnes pratiques de fabrication
4.1 Gestion des articles et du processus de fabrication
| Action | Recommandation | Pourquoi |
|---|---|---|
| Création d’un article | Utilisez un code unique (ex. ART-0001). |
Évite les collisions et facilite le suivi. |
| Références de sous‑assemblage | Déclarez les relations BOM (Bill Of Materials). | Permet le tracé des lots en cas de défaut. |
| Gestion des lots | Activez la traçabilité (numéro de lot, date de fabrication). | Conformité aux exigences ISO 9001, rappel produit rapide. |
| Planification de la production | Proposez le module “Work Orders” pour créer des ordres de fabrication planifiées. | Synchronisation avec le planning de la chaîne. |
| Contrôle de la qualité | Intégrez des check‑lists à chaque étape (pré‑production, post‑production). | Réduction des non‑conformités. |
| Stocks de sécurité | Calculez les re‑approvisionnements (SS) = Mo + Zs selon la politique adoptée. | Limite les ruptures tout en évitant les sur‑stocks. |
4.2 Processus de changements (change management)
- Versionnage des configurations – Export/Import de fichiers
llx_...via le module “Export/Import”. - Environnement de test – Clonez la base de production dans un serveur dédié (
dolibarr_test). - Validation – Faites valider par le service QA avant déploiement en prod.
4.3 Audits internes réguliers
- Contrôle de cycle de vie des articles (création → désactivation). – Vérification des seuils de stock (critères ABC).
- Analyse des écarts entre planifié et réalisé (rapport “Production vs. Réel”).
5. Approche sécurité : sécuriser Dolibarr en production
5.1 Authentification & gestion des accès
| Élément | Meilleure pratique |
|---|---|
| Mots de passe | Politiques : minimum 12 caractères, caractères spéciaux, expiration tous les 90 jours. Utilisez un gestionnaire de mots de passe. |
| Authentification forte | Activez le module “Two‑Factor Authentication” (2FA) via TOTP (Google Authenticator, Authy). |
| Rôles & permissions | Ne donnez jamais le rôle Admin à des comptes opérationnels. Créez des rôles “ManufacturingManager”, “StockOperator”. |
| Limitation d’IP | Restreignez l’accès à l’interface d’administration (/admin) aux seules IP du réseau interne ou du VPN. |
| Lockout | Activez la fonction d’attente après X tentatives échouées (ex. fail2ban sur /var/www/dolibarr/htdocs/login.php). |
5.2 Hardening du serveur
- Configuration du web server
# Désactiver les listes de répertoires Options -Indexes
# Désactiver les fichiers .htaccess
AllowOverride None
# Désactiver l’exécution de scripts dans les répertoires uploads
<Directory "/var/www/dolibarr/upload">
php_admin_value expose_php off php_admin_flag engine off
</Directory> -
SSL/TLS
- Utilisez TLS 1.3 uniquement, désactivez TLS 1.0/1.1.
- Activez HSTS (
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"). - Activez Perfect Forward Secrecy (cipher suite
TLS_AES_256_GCM_SHA384). 3. Sécurisation de la base - Activez le chiffrement au repos (MySQL 8.0
innodb_encrypt_tables=ON). - Limitez l’accès réseau du serveur DB à
127.0.0.1ou au réseau interne viabind-address.
- Patch & mise à jour – Automatisez les mises à jour via
unattended-upgrades(Ubuntu) ouyum-cron(CentOS).- Planifiez un cadrage de validation avant d’appliquer une mise à jour en prod (test sur l’environnement de staging).
5.3 Protection des données sensibles
| Donnée | Action |
|---|---|
| Informations clients / fournisseurs | Dé-personnalisez les champs (RGPD). Utilisez le module “Chiffrement des champs” (disponible via plugin). |
| Données comptabilité | Sauvegardez les backups sur des volumes chiffrés (LUKS ou AWS KMS). |
| Logs | Centralisez via rsyslog ou Graylog avec rotation quotidienne et chiffrement. |
| Uploads | Restreignez les types MIME autorisés (image/png, application/pdf), limitez la taille (ex. 5 Mo). |
| Sauvegardes | Conservez au moins 3‑copies (local, off‑site, cloud) avec vérification d’intégrité (hash SHA‑256). |
5.4 Surveillance & réponse aux incidents
-
Logging
- Activez le module “Audit Trail” de Dolibarr (
$conf['log_status'] = 'on'). - Conservez les logs pendant minimum 12 mois (exigence légale).
- Activez le module “Audit Trail” de Dolibarr (
-
IDS/IPS – Déployez OSSEC ou Wazuh sur le serveur ; créez des règles spécifiques pour bloquer les tentatives d’injection SQL ou XSS.
- Incident Response Playbook – Phase 1 – Containment: Isoler le serveur, désactiver les comptes compromis.
- Phase 2 – Eradication: Supprimer les fichiers malveillants, appliquer les patches.
- Phase 3 – Recovery: Restaurer à partir de sauvegarde vérifiée, monitorer les systèmes.
- Phase 4 – Post‑mortem: Documenter les causes racines, mettre à jour les procédures.
6. Exemple de mise en production « fabrication de pièces mécaniques »
-
Environnement
- 2 serveurs Docker :
dolibarr-app(PHP‑FPM + Nginx) +dolibarr-db(PostgreSQL). - Reverse‑proxy
traefikgère le TLS et le routage (dolibarr.local).
- 2 serveurs Docker :
-
Déploiement
git clone https://github.com/Dolibarr/dolibarr.git /opt/dolibarr
cp .env.example .env # Mise à jour du .env avec DB_PASSWORD et SPRING_APPLICATION_JSON docker-compose up -d
docker exec -it dolibarr-app php bin/console doctrine:database:create
docker exec -it dolibarr-app php bin/console doctrine:schema:update --force -
Configuration de la chaîne de production
- Article “Pignon 20‑T” – BOM :
[Pignon 20‑T] → [Roulement 5‑mm]– Lot N° 20250403‑A (fabrication du 03/04/2025) - Ordre de fabrication créé le 05/04/2025 → Work Order → statut En cours → Terminé → Statut de contrôle qualité = OK.
- Article “Pignon 20‑T” – BOM :
- Sécurité appliquée
- Accès admin uniquement depuis
10.10.0.0/16(VPN). - 2FA activée pour les responsables de production. – Backup quotidien chiffré sur Backblaze B2, rotation 30 jours.
- Accès admin uniquement depuis
7. Checklist de mise en production (à cocher)
| ✅ | Action |
|---|---|
| 1 | Serveur web configuré en HTTPS (TLS 1.3) avec HSTS. |
| 2 | Database chiffrée, accès limité à réseau interne. |
| 3 | Chiffrement des mots de passe, 2FA activée. |
| 4 | Rôles limités (pas d’admin par défaut). |
| 5 | Plugins désactivés ou uniquement nécessaires pour la fabrication. |
| 6 | Sauvegarde automatisée + test de restauration. |
| 7 | Monitoring (Prometheus/Grafana) configuré avec alertes. |
| 8 | Logs centralisés et conservés selon la politique de rétention. |
| 9 | Scan de vulnérabilités externe (OWASP ZAP ou Nessus). |
| 10 | Documentation des procédures de changement et d’incident. |
8. Conclusion
Dolibarr, lorsqu’il est correctement architected, configuré et opéré selon des bonnes pratiques de fabrication et de sécurité, devient une plateforme robuste pour gérer les processus de production d’une entreprise. En combinant :
- Une architecture redondante et monitorée,
- Une gestion fine des articles, des lots et des ordres de fabrication,
- Une politique d’authentification forte et de contrôle d’accès,
- Des sauvegardes et des plans de reprise d’activité testés,
les organisations peuvent tirer parti de la flexibilité de Dolibarr tout en garantissant la continuité de leurs activités de production et en séguardant efficacement leurs données sensibles.
À retenir : la sécurité n’est jamais « finie ». Revoyez régulièrement votre posture (au moins semestriellement), testez vos backups et assurez-vous que chaque changement passe par un environnement de validation avant d’être déployé en production.
Bonne mise en place et bon développement ! 🚀
— Sources & liens utiles
- Documentation officielle Dolibarr : https://www.dolibarr.org
- Guide de sécurisation des applications PHP (OWASP)
- ISO 27001 – Annex A Controls (pour les politiques d’accès)
- Helm chart Dolibarr (pour Kubernetes) – https://github.com/bitnami/charts/tree/main/bitnami/dolibarr
— Si vous avez besoin d’un script d’automatisation ou d’une aide plus détaillée à une étape précise, n’hésitez pas à me le préciser.