Le constat de départ est trivial : je ne perds pas de temps à faire mes tâches, j’en perds à les écrire proprement. Une note prise en réunion doit devenir trois tâches avec un pôle, un projet, une priorité et une date, et c’est ce travail de mise en forme qui fait que la note reste une note.
Deux écrans, deux problèmes différents
Le premier est un vide-poche : j’écris en vrac dans la journée, le modèle découpe en tâches structurées, je corrige à la main, j’écris dans la base en un clic. Le second est un plan de charge : mes tâches ouvertes sont étalées à rebours depuis leur échéance sur les jours ouvrés, avec une jauge de charge contre capacité et quatre signaux : en retard, sans date, jour en surcharge, délégué.
Le calcul à rebours est le cœur de l’outil, et c’est celui qui change vraiment quelque chose : une tâche de deux jours due vendredi n’occupe pas vendredi, elle occupe jeudi et vendredi. Tant qu’on ne l’étale pas, un plan de charge affiche des journées vides jusqu’à l’avant-veille d’un mur.
Les détails qui ont coûté du temps
Le référentiel (projets, pôles, priorités, personnes) est lu dans le schéma réel de la base, pas recopié dans le code, avec une liste de secours si l’API est injoignable au démarrage : l’app démarre alors en mode brouillon, l’analyse fonctionne, et on récupère le résultat en copiant le JSON. Un outil qui refuse de s’ouvrir parce qu’un jeton manque ne sert à rien le jour où le jeton manque.
L’agenda se branche par le lien d’abonnement au format ICS, en lecture seule, et les heures de réunion sont déduites de la capacité du jour. J’ai dû écrire le dépliage des lignes ICS à la main. Le format autorise une ligne à continuer sur la suivante avec une espace initiale, et aucune bibliothèque légère ne le faisait correctement. À côté de ça, une propriété de la base dont le nom réel se termine par une espace m’a coûté une heure de débogage : les API réelles ne ressemblent jamais à la documentation.
Ce qui reste
La relecture avant écriture n’est pas une précaution transitoire, c’est le dispositif : un outil qui écrit dans le système où je travaille doit me laisser voir ce qu’il a compris avant de le faire. Ce qui reste à écrire, c’est le multi-utilisateur. Aujourd’hui il tourne en local, sur ma seule base, et c’est pour ça que la fiche est « en cours » et pas « en prod ».
