J'avais codé pour que ça marche, pas pour qu'il s'en serve
Début août, quelques jours après la mise en ligne, Davy me dit qu'il n'arrive ni à renommer ses pages, ni à en créer, ni à en supprimer. J'ai d'abord cru à un problème de cache, parce que le site met parfois un moment à refléter une modification. Ce n'était pas ça.
En vérifiant, j'ai compris que le problème venait de moi. J'avais écrit la liste de ses pages directement dans le code. Le titre qu'il modifiait dans son interface partait bien en base de données, mais le site continuait d'afficher celui que j'avais écrit. Ses nouvelles pages étaient refusées parce qu'elles ne figuraient pas dans ma liste. Et les pages qu'il avait supprimées restaient en ligne, parce que le code les recréait à chaque déploiement.
Quand j'ai fait l'inventaire, j'ai trouvé quatre pages renommées qui n'avaient pas bougé, cinq brouillons qu'il ne pouvait pas publier, et quatre pages supprimées qui tournaient encore. Il avait travaillé dans le vide pendant plusieurs jours sans oser me le dire tout de suite.
Ce que ça dit de mes faiblesses : j'avais codé pour que le site fonctionne, pas pour qu'un non-technicien s'en serve. Écrire cette liste dans le code, c'était le plus rapide au moment où je l'ai fait, et je n'ai pas pensé une seconde à ce qui se passerait quand le client voudrait la modifier. J'ai raisonné en développeur, pas en utilisateur. Et j'ai perdu du temps au diagnostic en cherchant un problème technique compliqué alors que la cause était un raccourci que j'avais pris moi-même trois semaines plus tôt.
Ce que ça dit de mes forces : j'ai résisté à l'envie de corriger au plus court en réalignant ma liste à la main, ce qui aurait remis exactement le même problème un mois plus tard. J'ai tout rebranché sur le système de gestion de contenu, pour que le menu, les carrousels, le pied de page, le plan du site et les données structurées lisent tous la même source unique. Et je ne me suis pas contenté de croire que ça marchait : j'ai volontairement reconstruit le site en n'y incluant qu'une seule page, puis j'ai vérifié que les autres répondaient quand même. C'était la seule façon de prouver que le mécanisme fonctionnait vraiment.
Aujourd'hui Davy ajoute et retire une commune tout seul, et la page apparaît sans que personne n'ait à redéployer quoi que ce soit.









