Benoît HERVIER

Ma vie en texte brut, quatre ans après : Planova et un fichier Markdown par jour

En 2022 j'écrivais My life in plain text : les tâches dans un todo.txt, les événements dans un format maison agendatxt, les dépenses dans un autre format maison, les notes en Markdown, et une application Android de démonstration, MOrg, pour tenir tout ça ensemble sur mobile. Presque quatre ans plus tard, tout est toujours en texte brut, mais presque tout le reste a changé. Le changement principal tient en une phrase : j'ai arrêté de découper ma vie par type de données, et je la découpe par jour.

Ce qui n'allait pas dans la première version

La structure de 2022 avait l'air propre : un fichier par sujet (todo.txt, agenda.txt, expenses.txt, un dossier journal). À l'usage, trois problèmes revenaient sans arrêt :

MOrg, l'application mobile, n'a franchement jamais dépassé le stade de la démonstration. Elle marchait, je m'en servais tous les jours, mais chaque format maison la rendait plus lourde à maintenir.

Un fichier Markdown par jour

Le remplaçant s'appelle Planova, et son idée centrale est le fichier quotidien : dailies/20260712.md, du Markdown ordinaire, quatre sections :

## Events

- @09:30 Standup
- @14:00 Review Planova release

## Tasks

- [ ] Write the blog post about Planova
- [x] Fix the widget refresh on Android

## Journal

Spent the morning chasing a cache invalidation bug...

## Notes

Links and thoughts that belong to today.

Il n'y a aucun format à apprendre au-delà de deux conventions que les utilisateurs de Markdown connaissent déjà : les cases à cocher pour les tâches, et un préfixe @HH:MM pour transformer un élément de liste en événement. Tout ce qui concerne une journée, ce qui était prévu, ce qui a été fait, ce que j'en ai pensé, vit dans un seul fichier que n'importe quel éditeur, grep ou git diff sait lire. Le reste de l'arborescence est tout aussi banal, et c'est voulu :

Org/
├── dailies/
│   ├── 20260711.md
│   └── 20260712.md
├── archives/
└── notes/
    ├── Work/
    │   └── project_1.md
    └── Personal/
        └── project_2.md

Le refill, à la place de la liste de tâches globale

Si les tâches vivent dans des fichiers quotidiens, que deviennent celles qu'on n'a pas finies ? C'était mon principal doute sur le modèle par jour, et la réponse est devenue ma fonctionnalité préférée. Chaque matin, Planova propose un refill : les tâches non faites de tous les jours précédents, les plus récentes d'abord, et on choisit celles qu'on reporte à aujourd'hui.

C'est un petit rituel, trente secondes, mais il inverse le mode de défaillance de todo.txt. Une tâche doit maintenant mériter sa place dans le fichier du jour, chaque jour. Ce que je refuse de reporter plusieurs fois de suite, c'est ce que j'ai visiblement décidé de ne pas faire, et les vieux fichiers quotidiens gardent une trace honnête du moment où j'ai laissé tomber.

Écran principal de Planova : calendrier du mois au-dessus du fichier Markdown du jour

Sur mobile : l'application Planova

Planova est une application Flutter, qui tourne sur Android et sur Linux. Comme MOrg elle est minimaliste et pleine de partis pris, mais cette fois elle a dépassé le stade de la démonstration : la version 1.3 est sortie et c'est mon outil quotidien depuis plus d'un an :

Sur le bureau : vim, et une CLI en Go

Sous Linux je vis toujours dans un terminal, donc les fichiers quotidiens sont à un vim de distance. Pour les opérations structurées, j'ai écrit une petite CLI compagnon en Go :

planova calendar                      # vue du mois, avec marqueurs événements/tâches
planova todo --add "Buy groceries"    # ajoute à la section ## Tasks du jour
planova event --add "@14:30 Meeting"  # ajoute à la section ## Events du jour
planova daily --edit                  # ouvre le fichier du jour dans $EDITOR

Comme l'application et la CLI ne partagent rien d'autre que les fichiers eux-mêmes, elles ne peuvent pas être en désaccord. Le fichier est l'état. N'importe quel script capable d'ajouter une ligne à un fichier Markdown est un client Planova valide.

Toujours pas de synchronisation intégrée, exprès

Planova n'a ni compte, ni serveur, ni synchronisation à lui, et c'est une fonctionnalité. Mon dossier Org/ est synchronisé entre le téléphone, le portable et la machine de bureau avec Syncthing ; Nextcloud, Dropbox ou un dépôt git feraient tout aussi bien l'affaire. Le travail de l'application est de lire et d'écrire des fichiers, pas de les déplacer.

Conclusion

Quatre ans plus tard, le pari du texte brut a bien vieilli : les fichiers de 2022 sont toujours lisibles, ce que peu d'applications de l'époque peuvent dire. Le pari des formats maison, lui, non : moins j'ai inventé de conventions, plus le système a duré. Un fichier Markdown par jour, un dossier de notes, et des outils qui traitent les fichiers comme la seule source de vérité, c'est finalement toute la structure dont ma vie a besoin.

Planova est sous licence MIT, comme tout le reste de cette organisation. Si l'approche vous parle :

Let's Connect

Have a project in mind? I'd love to hear from you!

Email Me