Dolibarr : comment réussir Letʼs Encrypt orienté performance

Introduction : Pourquoi coupler Dolibarr et Let’s Encrypt ?

Dolibarr, l’ERP/CRM open source apprécié des TPE/PME, est souvent déployé sur des serveurs aux ressources limitées. Son association avec Let’s Encrypt, l’autorité de certification proposant des certificats SSL/TLS gratuits, représente une opportunité double :

  1. Sécuriser les accès administrateur et les données sensibles
  2. Améliorer les performances grâce aux protocoles modernes (HTTP/2, TLS 1.3)

Mais attention : une mauvaise configuration peut nuire à la réactivité de votre Dolibarr. Voici comment réussir cette intégration orientée performance.


1. Les prérequis fondamentaux

Vérifier l’environnement serveur

  • PHP 7.4+ (OPcache activé) – Dolibarr 15+ nécessite au moins PHP 7.2
  • Support TLS 1.2/1.3 dans votre serveur web (Apache/Nginx)
  • Accès root/sudo pour installer Certbot ou acme.sh

Éviter les pièges courants

  • Ne pas installer Let’s Encrypt sur un serveur déjà saturé
  • Vérifier la compatibilité avec votre version Dolibarr (via dolibarr/htdocs/install/check.php)


2. Installation et configuration optimisée

Étape 1 : Automation totale du renouvellement

Le secret performance : le renouvellement automatique sans downtime.

# Avec Certbot (recommandé)
sudo certbot --apache -d votredomaine.fr --non-interactive --agree-tos --email admin@votredomaine.fr
# OU avec acme.sh (plus léger)
curl https://get.acme.sh | sh
acme.sh --issue -d votredomaine.fr --webroot /var/www/html/ --force

Astuce performance : Configurer le cron job pour éviter les pics de charge :

# Exécution aléatoire entre 2h et 4h du matin
0 2 * * * /usr/bin/certbot renew --quiet --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

Étape 2 : Optimisations serveur web

Pour Apache :

# Dans le VirtualHost (ports.conf ou sites-available)
Protocols h2 http/1.1
SSLCompression off
SSLSessionTickets off
# Activer OCSP stapling (réduit la latence de vérification)
SSLUseStapling on
SSLStaplingCache "shmcb:/var/run/ocsp(128000)"

Pour Nginx :

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers off;
# HTTP/2 activé automatiquement avec ssl on


3. Optimisations Dolibarr spécifiques

Configuration dolibarr.php

// Maintenant que HTTPS est activé, forcer les URLs sécurisées
$dolibarr_main_url_root = 'https://votredomaine.fr';
$dolibarr_main_prod = 1; // Mode production (cache activé)
// Optimisations cache
$dolibarr_main_cache_data = 1; // Cache des données
$dolibarr_main_cache_images = 1; // Cache images
$dolibarr_main_autoreload_cache = 0; // Pas de rechargement inutile

Vider le cache Dolibarr après installation SSL

cd /path/to/dolibarr/htdocs
rm -rf cache/*


4. Optimisations croisées performance/sécurité

A. HTTP/2 et multiplexage

  • Let’s Encrypt + configuration moderne = HTTP/2 activé
  • Avantage : multiplexage des requêtes → chargement plus rapide de l’interface Dolibarr
  • Tester avec : curl -I --http2 https://votredomaine.fr

B. Réduction de la latence TLS

  • OCSP stapling : évite la requête externe pour vérifier le certificat
  • Session resumption : les utilisateurs reconnectés en 1 RTT (Round Trip Time)
  • TLS 1.3 : 1-RTT seulement, chiffrement plus rapide

C. Mixed Content : l’ennemi silencieux

Après activation HTTPS, Dolibarr peut charger des ressources en HTTP. Solution :

  1. script de correction automatique dans htdocs/conf/extra.inc.php :
    // Forcer les URLs absolues en HTTPS
    $dolibarr_main_url_root = str_replace('http://', 'https://', $dolibarr_main_url_root);
  2. Extension navigateur "Why No Padding?" pour détecter les contenus mixtes


5. Surveillance et maintenance

Monitoring du certificat

# Cron Job quotidien pour vérifier l'expiration
0 0 * * * echo "Check SSL: $(date)" >> /var/log/ssl-check.log && \
echo | openssl s_client -connect votredomaine.fr:443 2>/dev/null | \
openssl x509 -noout -dates | grep notAfter

Logs Dolibarr à surveiller

tail -f /path/to/dolibarr/htdocs/dolibarr.log | grep -i "ssl\|https\|slow"

Benchmark avant/après

  • Avant : curl -o /dev/null -s -w "Total: %{time_total}s\n" https://votredomaine.fr
  • Après avec les optimisations : doit montrer -15% à -30% sur time_total


6. Dépannage performance post-Let’s Encrypt

Symptème probable Cause Solution
Dolibarr lent après déploiement HTTPS Cache navigateur avec anciens certificats Vider le cache navigateur + Ctrl+F5
Erreurs Mixed Content dans console URLs codées en dur dans modules Rechercher http:// dans htdocs/ + remplacer
Renouvellement échoue port 80 occupé Serveur web non arrêté lors du renouvellement Utiliser --pre-hook/--post-hook comme ci-dessus
OCSP stapling ne fonctionne pas Cache OCSP plein Redémarrer le serveur web


Conclusion : Le cercle vertueux performance/sécurité

L’intégration réussie de Let’s Encrypt avec Dolibarr va bien au-delà du simple cadenas vert. En suivant ce guide :

Sécurité : Chiffrement TLS 1.3, renouvellement automatique sans faille
Performance : HTTP/2, OCSP stapling, réduction des latences TLS
Fiabilité : Zéro downtime lors des renouvellements, monitoring automatisé
Conformité : RGPD-friendly (transferts sécurisés), score SEO amélioré

La clé : L’automatisation complète du cycle de vie du certificat (+ config serveur moderne) transforme la contrainte de sécurité en levier performance pour votre Dolibarr.


Prochaines étapes recommandées :

  1. Tester en environnement de pré-production
  2. Configurer les alertes Certificate Transparency Logs
  3. Évaluer l’ajout d’un reverse proxy (Varnish) devant Dolibarr pour le cache HTTP

Article actualisé pour Dolibarr 18+ et Certbot 2.0+. Les versions antérieures peuvent nécessiter des ajustements.

Publications similaires