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 :
- Sécuriser les accès administrateur et les données sensibles
- 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 :
- 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); - 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 :
- Tester en environnement de pré-production
- Configurer les alertes Certificate Transparency Logs
- É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.