Dolibarr sort une version majeure par an. Si vous êtes encore sur la v18, vous avez manqué cinq versions et accumulé deux ans de dette technique — notamment des CVE non corrigées et l'absence du support Factur-X amélioré. Ce guide vous explique comment rattraper ce retard proprement.
Note préliminaire : ce guide s'adresse aux utilisateurs qui hébergent Dolibarr eux-mêmes. Si vous utilisez doligo.cloud, vos mises à jour sont automatiques.
Pourquoi migrer maintenant ?
- Sécurité : la v18 ne reçoit plus de correctifs CVE depuis la v19. Des failles sont publiquement documentées.
- Facturation électronique : le support Factur-X a été significativement amélioré entre la v18 et la v23.
- Performances : optimisations SQL notables sur les instances avec plus de 50 000 documents.
- PHP : la v23 supporte PHP 8.3. Les hébergeurs abandonnent progressivement PHP 8.1.
Prérequis
| Composant | Minimum | Recommandé |
|---|---|---|
| PHP | 8.1 | 8.2 ou 8.3 |
| MySQL | 5.7 | 8.0+ |
| MariaDB | 10.3 | 10.6+ |
Sauvegarde complète — étape non négociable
mysqldump -u VOTRE_USER -p VOTRE_BASE > dolibarr_backup_$(date +%Y%m%d).sql
tar -czf dolibarr_files_backup_$(date +%Y%m%d).tar.gz /var/www/dolibarr/
Incluez absolument documents/, custom/ et conf/conf.php.
Procédure de migration
Étape 1 — Téléchargez Dolibarr v23
wget https://github.com/Dolibarr/dolibarr/archive/refs/tags/23.0.0.tar.gz
tar -xzf 23.0.0.tar.gz
Étape 2 — Mode maintenance
touch /var/www/dolibarr/documents/install.lock
Étape 3 — Copiez les nouveaux fichiers
rsync -av --exclude='conf/' --exclude='documents/' --exclude='custom/' dolibarr-23/htdocs/ /var/www/dolibarr/htdocs/
Étape 4 — Script de migration SQL
Accédez à https://votre-instance.com/install/. L'assistant détecte votre version (v18) et applique tous les scripts SQL jusqu'à la v23. Ne fermez pas l'onglet.
Étape 5 — Nettoyage
rm /var/www/dolibarr/documents/install.lock
rm -rf /var/www/dolibarr/htdocs/install/
Laisser le dossier install/ accessible est une faille de sécurité.
Problèmes courants
Page blanche : activez temporairement l'affichage des erreurs PHP (error_reporting(E_ALL) dans conf.php). Désactivez après diagnostic.
"Table xxx doesn't exist" : retournez sur /install/ et relancez. Vérifiez les droits ALTER TABLE de l'utilisateur MySQL.
Modules tiers cassés : vérifiez la compatibilité v23 sur le DoliStore. Désactivez les modules un par un via $mod->remove().
Erreur 500 sur pages authentifiées : hook cassé dans un module tiers. Désactivez les modules custom un par un pour isoler le coupable.
L'alternative : doligo.cloud
Si cette procédure vous semble fastidieuse, c'est peut-être le moment de se poser la question : est-ce que ça vaut le coup de continuer à héberger soi-même ?
Avec doligo.cloud, les mises à jour sont automatiques, les backups quotidiens, la sécurité gérée. À partir de 5€/mois pour un indépendant, 49€/mois pour une PME avec utilisateurs illimités.