À l’ère du travail hybride, les solutions ERP/CRM comme Dolibarr deviennent le spine numérique des organisations. Lorsque les équipes sont réparties entre le bureau et le domicile, les performances de la plateforme peuvent se dégrader de manière critique, impacting directement la productivité. Cet article propose un cadre structuré pour diagnostiquer, mesurer et optimiser les performances de Dolibarr dans un contexte hybride.
Pourquoi le contexte hybride est un défiunique pour Dolibarr ?
Le modèle hybride exacerbe des facteurs de latence et de congestion qui peuvent passer inaperçus en environnement bureautique mono-site :
- Latence réseau variable : Les connexions à domicile (Wi-Fi, partage de bande passante) ajoutent des délais aux requêtes HTTP/API.
- Concurrence des ressources : Les pics d’utilisation simultanée (ex: fin de mois pour la compta) peuvent saturer les serveurs ou les bases de données.
- Expérience utilisateur disparate : Un commercial en déplacement ne subit pas les mêmes temps de réponse qu’un assistant au siège.
- Complexité de l’infrastructure : Accès via VPN,.reverse proxy, ou solutions cloud (type OVH, Scaleway) ajoutent des couches d’échanges.
Étape 1 : Le diagnostic performance – Une approche méthodique
A. Mesurer l’expérience utilisateur réelle (RUM – Real User Monitoring)
- Outils simples : Intégrez des outils comme Google PageSpeed Insights, WebPageTest ou Lighthouse pour mesurer les Core Web Vitals (LCP, FID, CLS) sur les pages clés de Dolibarr (listes de contacts, bons de commande, factures).
- Focus hybride : Testez depuis différents réseaux (4G/5G, Wi-Fi domestique, fibre entreprise). Une différence de LCP > 2s entre deux configurations est un indicateur fort de problème réseau ou de cache inadapté.
- Point de vigilance : Le module "Agenda" ou "Projets" peut paraître réactif au bureau mais devenir lent à distance à cause d’appels AJAX fréquents.
B. Analyser la pile technique côté serveur
-
Serveur Web (Apache/Nginx) :
- Vérifiez les logs d’accès (
access_log) pour identifier les pics de requêtes et les temps de réponse (%Dou%Tdans le format de log). - Utilisez
mod_status(Apache) oustub_status(Nginx) pour voir les connexions actives et les requêtes en attente. - Hybride : Une hausse anormale de requêtes provenant de plages IP externes (VPN des téléworkers) peut indiquer une mauvaise configuration de cache ou des appels redondants.
- Vérifiez les logs d’accès (
-
Base de données (MySQL/MariaDB/PostgreSQL) :
- Activez et analysez le slow query log (
long_query_time = 1par défaut). - Exécutez
SHOW PROCESSLIST;pendant les heures de forte activité pour identifier les requêtes bloquantes ou longues. - Point clé : Les requêtes sur les tables
llx_societe,llx_projet,llx_facturesont souvent critiques. Vérifiez les index (SHOW INDEX FROM table;).
- Activez et analysez le slow query log (
- PHP ( environnement Dolibarr) :
- Vérifiez la configuration
opcache.enable=1et sa mémoire (opcache.memory_consumption). Sans OPcache, chaque page doit recompiler le code PHP, un désastre en environnement distribué. - Utilisez des profilers comme Xdebug (en dev) ou Blackfire pour identifier les fonctions PHP gourmandes.
- Vérifiez la configuration
C. Analyser le réseau et l’infrastructure
- Traceroute / MTR depuis un poste distant vers le serveur Dolibarr pour identifier les sauts de latence ou les pertes de paquets.
- VPN : Si l’accès passe par un VPN, testez la bande passante et la latence directement vs via le VPN. Un VPN surchargé ou mal configuré peut doubler les temps de réponse.
- CDN / Cache : Pour les assets statiques (images, CSS, JS), un CDN (Cloudflare, etc.) est indispensable en mode hybride. Vérifiez les en-têtes de cache (
Cache-Control,Expires).
Étape 2 : Comparaison des configurations – On-premise vs Cloud vs Hébergé
| Critère | On-premise (Serveur interne) | Cloud Public (OVH, AWS, etc.) | Hébergement mutualisé/Spécialisé |
|---|---|---|---|
| Latence réseau | Variable selon la localisation des équipes. Le bureau = excellente, téléworker = dépend de sa connexion + VPN. | Potentiellement meilleure si le datacenter est proche des utilisateurs. À vérifier avec des tests RUM. | Souvent médiocre depuis l’extérieur (partage de ressources, IP partagée). |
| Scalabilité | Limitée par la硬件 physique. À planifier (mise à niveau CPU/RAM/SSD). | Très bonne. possibilité d’ajuster ressources (vertical) et load balancer (horizontal). | Nulle ou très limitée par le contrat. |
| Maintenance/Coût | Coût humain élevé (admin système), mais contrôle total. | Coût prévisible (abonnement), maintenance externalisée (mises à jour OS/DB parfois). | Coût bas, mais performance imprévisible ("noisy neighbor"). |
| Bon pour hybrides | Oui, si : IT compétent, bande passante stable, et serveur sur site près des bureaux. | Souvent le meilleur choix pour équipes géographiquement dispersées (choisir région proche). | Déconseillé pour plus de 10 utilisateurs hybrides, sauf pour de la consultation légère. |
| Control total | Maximum. On peut tout optimiser (kernel, DB, PHP). | Moyen. Accès root/SSH selon l’offre (VPS vs PaaS). | Minimal. Seul le paramétrage Dolibarr est accessible. |
Recommandation clé : Pour des équipes hybrides stables (>50% de temps à distance), privilégiez une instance cloud (type VPS) dans une région géographique centrale pour vos utilisateurs. Évitez l’hébergement mutualisé bas de gamme.
Étape 3 : Plan d’optimisation ciblé pour le hybride
-
Cache, cache, cache :
- Activez le cache OPcache (PHP) et configurez-le avec une haute mémoire.
- Utilisez un reverse proxy cache (Varnish) en frontal Dolibarr. Il peut servir des pages entières statiques (comme le portal public) sans toucher à PHP/DB, réduisant drastiquement la charge.
- Pour Dolibarr 15+, le cache d’objets natif (
$dolibarr_main_cache) peut être pointé vers Redis ou Memcached (beaucoup plus rapide que fichier) pour partager le cache entre les processus PHP.
-
Base de données :
- Passez à MariaDB 10.6+ ou MySQL 8.0 pour les améliorations de performances.
- Ajoutez des index manquants sur les colonnes de
WHERE,JOINetORDER BYfréquentes. La tablellx_element_element(liens entre objets) est souvent mal indexée. - séparer les reads/writes : Si la charge est élevée, envisagez une réplication simple (un serveur principal pour écriture, un second pour lecture).
-
Front-end & Réseau :
- Minifiez et fusionnez les assets CSS/JS via le module
dolibarr_压缩ou en pré-production. - Activez la compression Gzip/Brotli sur le serveur web.
- Configurez HTTP/2 (ou HTTP/3) pour réduire la latence des multiples requêtes parallèles.
- Désactivez les modules Dolibarr inutiles depuis la page d’administration (
Accueil -> Configuration -> Modules). Chaque module actif charge du code PHP et des assets.
- Minifiez et fusionnez les assets CSS/JS via le module
- Paramètres Dolibarr spécifiques :
- Dans
conf.php, ajustezmain_db_character_setetmain_db_collationpour correspondre à votre DB (souventutf8mb4). - Pour les listes longues, réduisez
main_limit_sizesi besoin, mais attention aux impacts UX. - Désactivez le mode "debug" en production (
$dolibarr_main_prod = 1;). Il alourdit considérablement les pages.
- Dans
Étape 4 : Surveillance continue et alerting
Mettre en place un monitoring proactif est crucial pour anticiper les problèmes avant qu’ils n’affectent les équipes.
- Stack simple : NetData ou Grafana + Prometheus + Node Exporter sur le serveur. Cela donne en temps réel : CPU, RAM, I/O disque, requêtes HTTP/s, processus PHP.
- Alertes sur :
- Temps de réponse 95e percentile HTTP > 2s.
- CPU du serveur > 70% pendant 5 min.
- Nombre de requêtes lentes en DB (> 5s) > 10/min.
- Espace disque < 15%.
- Utilisez les logs Dolibarr : Le fichier
dolibarr.log(si activé) peut contenir des erreurs PHP fatales ou warnings.
Checklist rapide de diagnostic hybride
- [ ] Test RUM depuis 3 réseaux différents (bureau, domicile, 4G).
- [ ] Slow query log activé en DB, avec analyse hebdomadaire.
- [ ] OPcache configuré et rempli à > 80% (
opcache_get_status()). - [ ] Reverse proxy (Varnish/Nginx cache) en place avec règles de cache pour les pages anonymes ou peu dynamiques.
- [ ] CDN configuré pour tous les assets statiques (dossier
documents/,js/,css/). - [ ] VPN : Le trafic Dolibarr bénéficie-t-il de la priorité ? La bande passante est-elle suffisante ?
- [ ] Version Dolibarr : Êtes-vous sur une version LTS stable (ex: 16.x) ? Les versions majeures apportent souvent des optimisations.
- [ ] Modules inutiles désactivés.
- [ ] Monitoring avec alertes sur les métriques clés.
Conclusion : La performance comme avantage compétitif
Pour les équipes hybrides, Dolibarr n’est pas qu’un outil : c’est le système nerveux de l’entreprise. Une plateforme lente génère de la frustration, des erreurs de saisie et une perte de temps colossale. Un diagnostic régulier, une comparaison objective des configurations (on-premise vs cloud) et l’application des optimisations cache/base de données sont non négociables.
En adoptant cette approche structurée, vous transformez Dolibarr d’un simple ERP en une plateforme agile et réactive, qui permet à vos équipes, où qu’elles soient, de se concentrer sur leur cœur de métier, et non sur l’attente d’une page qui se charge.
Article rédigé par un expert en infrastructure open source. Pour toute analyse approfondie (audit de logs, benchmark), consultez un intégrateur Dolibarr certifié.