Dolibarr : une mise à jour a cassé le suivi du temps passé sur un projet

Un client m’écrit un matin : il ne peut plus saisir le temps passé sur une tâche dans son Dolibarr, et il ne peut plus consulter non plus les heures déjà enregistrées sur ses projets. Un écran d’erreur générique s’affiche, sans détail exploitable pour lui.

This website or feature is currently temporarily not available or failed after a technical error.

This may be due to a maintenance operation. Current status of operation (2026-01-12T09:41:03Z) are on next line...

Dolibarr a détecté une erreur technique. Vous pouvez lire le fichier log ou définir l'option $dolibarr_main_prod sur '0' dans votre fichier de configuration pour obtenir plus d'informations.

Ce que j'ai trouvé change ce que veut dire « rester à jour » : le correctif de ce bug existait déjà dans le code de Dolibarr avant même que la version cassée ne soit publiée. Voici l'histoire, et ce qu'elle change pour vous.

Ce qui s'est arrêté de fonctionner

Le client facture ses dossiers au temps passé, sur un Dolibarr que j’héberge et que je maintiens. La saisie des heures par tâche et la consultation des heures par projet, c'est la matière première de sa facturation. Seul un écran annexe, le cumul global des heures, continuait de fonctionner.

Il a testé lui-même avant de m'écrire : il a essayé plusieurs fois, il est revenu une demi-journée plus tard pour vérifier si ça se reproduisait sur plusieurs dossiers, puis il m'a envoyé un message clair, avec exactement ce qui marchait et ce qui ne marchait pas.

Cinq jours de panne.

En reconstituant la chronologie, j'ai vu que le problème existait depuis cinq jours, depuis la dernière mise à jour de Dolibarr sur son serveur. Mais pendant ces cinq jours, personne n'avait ouvert cet écran. Elle est devenue visible uniquement quand le client s'en est servi.

C'est une nuance importante : je pourrais écrire « cinq jours de panne » pour l'effet, ce serait vrai et malhonnête à la fois. La vraie leçon est plus modeste : rien ne signale ce genre de régression au moment où elle est introduite. On la découvre quand quelqu'un ouvre la page.

La cause : un caractère oublié dans la mise à jour

La mise à jour avait réorganisé, dans le code de Dolibarr, la liste des informations lues pour afficher un temps passé. Un séparateur avait été oublié entre deux éléments de cette liste. Résultat, Dolibarr ne comprenait plus sa propre demande et refusait d'afficher quoi que ce soit sur ces deux écrans précis.

Un caractère, dans une version publiée et installée sur beaucoup d'installations Dolibarr, pas seulement chez ce client.

Le correctif existait déjà avant la sortie de la version buguée

C'est le point qui casse le réflexe qu'on répète à tout le monde : mettez-vous à jour. Ici, être à jour est exactement ce qui a cassé l'application.

En consultant l'historique public du projet Dolibarr, j'ai vu que la correction de ce défaut avait été écrite et intégrée quatorze heures avant la publication de la version qui contenait le bug. Le correctif avait raté le train de justesse. Six semaines plus tard, aucune version publiée n'embarquait encore la réparation.

Ce n'est pas un reproche à faire à Dolibarr. Le projet a identifié et corrigé son propre défaut en quelques jours, ce qui est rapide pour un logiciel de cette taille. Le problème est un calendrier de publication qui a manqué de peu la bonne version, pas une négligence.

Ce que j'ai fait

Premier réflexe, écarté en quelques minutes : vérifier que le disque du serveur n'était pas plein, une cause fréquente du même écran générique. Ce n'était pas ça.

Le journal technique du serveur, lui, contenait la réponse en clair : une erreur précise, à l'endroit exact où Dolibarr construit l'affichage des temps passés. En comparant le code de la version installée avec celui de la version précédente, j'ai retrouvé la ligne modifiée par la mise à jour et le correctif déjà écrit en amont par l'équipe Dolibarr.

J'ai appliqué ce correctif directement sur le serveur du client, en attendant que Dolibarr publie une version qui l'intègre. Pas de sauvegarde à restaurer, pas de redémarrage : deux caractères à corriger dans un fichier.

Entre la réception de son message et ma confirmation que tout fonctionnait à nouveau, 31 minutes se sont écoulées.

Ce que ça change pour vous

Mettre à jour un Dolibarr, ce n'est pas cocher une case. La dernière version stable publiée peut être cassée dès sa sortie, sans que rien ne le signale à l'éditeur ni à celui qui exploite le serveur. La seule chose qui raccourcit ce genre de panne, c'est quelqu'un qui lit ce que dit le serveur au lieu de laisser l'écran d'erreur générique sans réponse, et qui sait où chercher dans le code du projet quand une mise à jour vient de changer quelque chose.

C'est ce que je fais sur les Dolibarr que j'héberge et que je maintiens. Si vous vous demandez qui, chez vous, irait vérifier ça, on peut en parler.

Faisons le point sur vos besoins