all repos — blog @ e0650bbc93cea5cc1942f3f2b5c9d76a7a09c0f9

Code and content for 5ika.ch

Publish new article
Tim Izzo tim@5ika.ch
Sun, 27 Apr 2025 10:32:27 +0200
commit

e0650bbc93cea5cc1942f3f2b5c9d76a7a09c0f9

parent

3be1b7869782b9aeead911dbfa056ec01a266244

1 files changed, 150 insertions(+), 0 deletions(-)

jump to
A content/posts/mon-organisation-en-mode-texte.md

@@ -0,0 +1,150 @@

+--- +Title: Mon organisation en mode texte +Date: 2025-04-27 +--- + +Depuis plusieurs mois, j'explore des manières alternatives d'utiliser l'informatique +et de me libérer des outils omniprésents proposés par les GAFAM. + +Je suis poussé par la volonté de revenir à des outils plus bruts, plus minimalistes +pour réaliser mes tâches quotidiennes, notamment professionnelles. +Ces recherches m'ont amené à utiliser de plus en plus des solutions qui favorisent le *texte* +avant tout, notamment à travers le terminal. + +Pourquoi le texte ? Car c'est la forme la plus simpliste pour représenter de l'information. +Et plus c'est simple, plus c'est facile de le rendre compatible avec d'autres outils, de l'adapter +et de le comprendre même des années (voir des décennies) plus tard. + +Afficher et éditer du texte sur un écran est extrêmement simple. Pas besoin d'avoir de moteur de rendu, +de langages balisés (XML, HTML,...) ni de connaissances particulières. Juste un clavier et un terminal. +Pour avoir des notes un peu claires et confortables à relire, j'utilise malgré tout Markdown, qui permet +d'enrichir mes notes tout en gardant le texte assez brut. + +Dans un premier temps, j'ai cherché à remplacer les services suivants: + +- **Liste de tâches**: mon outil central d'organisation pour pratiquer la méthode [GTD](https://gettingthingsdone.com/). + J'ai utilisé Asana pendant des années et j'ai apprécié son confort mais je le trouve aujourd'hui + lourd (car plus adapté à un fonctionnement en équipe) et toutes les données sont stockées chez Google. +- **Boite email**: Comme tout le monde, un outil critique au travail comme dans la vie de tous les jours. + Je reçois plus que j'envoie et j'ai tendance à considérer que un mail = une tâche à faire. + J'ai donc besoin d'un outil sans fioritures (comme de l'IA par exemple) mais sans devoir héberger + tout un serveur mail. +- **Calendrier**: Aujourd'hui, mon calendrier me sert à connaître les événements/réunions que j'ai + avec d'autres personnes. C'est uniquement collaboratif et je suis rarement celui qui créé les + événements. J'ai donc besoin d'un outil qui me permet une vue rapide de mes occupations sur la + journée et la semaine en cours. +- **Prise de notes**: Je n'ai jamais été très rigoureux concernant la prise de notes et j'ai du contenu + divisé sur plusieurs outils: Notion, Asana, Logseq, Obsidian, des fichiers Markdown un peu partout, etc.. + Quand j'ai quelques choses en tête, il faut que je puisse l'écrire rapidement et avec le moins de friction + possible sinon je prends ce qui vient sur le moment et je ne me fige pas sur un unique outil. + +## Liste de tâches + +Après avoir longuement recherché, essayé et même développé des solutions pour gérer efficacement +mes tâches, je me suis finalement arrêté sur le format [todo.txt](http://todotxt.org/). + +Ce format défini une manière d'écrire des tâches dans un simple fichier texte. +Un exemple du contenu d'un fichier todo.txt pour comprendre: + +``` +(A) Écrire un nouvel article de @blog concernant l'utilisation des +outils +(B) Mettre à jour le design de git.5ika.ch due:2025-04-21 +x 2025-04-21 2025-01-30 Mettre en place une déploiement automatique pour le @blog +``` + +La première tâche a une priorité "A" et concerne le projet *outils* avec le contexte *blog*. +La seconde a une priorité "B" et possède une date à laquelle elle doit être réalisée. +La troisième est une tâche terminée le 21 avril 2025, créée le 30 janvier 2025 et qui concerne le *blog*. + +Je place ainsi toutes mes tâches, privées comme pro, dans un unique fichier `todo.txt` que je synchronise +entre mes différents systèmes grâce à git. Je peux facilement éditer ce fichier avec n'importe quel éditeur +de texte et l'afficher dans un terminal ou une page Web. +Grâce aux fonctionnalités de la plupart des éditeurs de texte, je peux facilement retrouver toutes les tâches +qui concernent un certain projet ou contexte. + +Récemment, j'ai développé un petit programme en Go pour gérer mon fichier *todo.txt* dans le terminal +en mode TUI. C'était surtout un moyen de découvrir le Go et m'amuser un peu mais j'utilise finalement +cet outil tous les jours. Vous pouvez le retrouver ici: [git.5ika.ch/todo.txt-go.git](https://git.5ika.ch/todo.txt-go.git). + +## Boîte mail + +[Dans mon entreprise](https://octree.ch), nous utilisons Infomaniak Mail. C'est un bon service qui se veut le plus +écolo possible en terme d'hébergement IT, qui respecte les standards et surtout, qui ne bloque +pas avec un protocole ou une interface en particulier. L'interface graphique proposée est +claire et confortable pour écrire des emails. + +Néanmoins, cette interface Web n'est pas suffisamment épurée à mon goût et je préférais ne pas avoir +à charger la liste des différents services d'Infomaniak ainsi que tous mes comptes à chaque fois +que je veux voir si j'ai de nouveaux emails. + +Je suis donc en train de tester un client email qui fonctionne dans le terminal dont j'ai entendu +parlé lors du FOSSDEM 2025: [aerc](https://aerc-mail.org/). + +Côté interface, aerc a le strict minimum: une liste des dossiers et une liste des emails dans le dossier sélectionné. +Toutes les actions se font grâce à des raccourcis claviers dans le même esprit qu'avec *vim*. +La logique est d'ailleurs inspirée de ce dernier et je ne suis pas perdu dans les commandes possibles. + +J'utilise donc aerc pour *voir* mes emails dans mon terminal mais je dois encore me faire la main +en ce qui concerne l'envoi d'emails. + +## Calendrier + +Un outil pour voir son calendrier, c'est vite compliqué. La gestion des dates, des timezones, des +changements de mois etc.. Pour le coup, il ne me vient pas l'envie de développer ma propre solution. + +Je suis tombé récemment sur [calendar.txt](https://terokarvinen.com/2021/calendar-txt/), un format de calendrier en mode texte +inspiré de *todo.txt*. Même si j'adore l'approche, j'ai peur que cela manque de fonctionnalités pour +vraiment remplacer l'outil que j'utilise avec mes collègues avec notamment la possibilité de gérer +des invitations et des événements réguliers. + +Comme pour les emails, j'ai donc fait le choix d'utiliser le service d'Infomaniak à travers un outil +en ligne de commande nommé [khal](https://github.com/pimutils/khal). +L'interface de khal a une liste des mois avec chaque jour sélectionnable dans un panneau de gauche +et une liste des événements pour chaque date dans un panneau de droite. La logique est assez similaire +à aerc. + +La synchronisation avec le serveur se fait périodiquement grâce à une tâche CRON et le programme [vdirsyncer](https://github.com/pimutils/vdirsyncer), +ce qui laisse pleinement la main à l'utilisateur pour gérer les moments de synchro. + +## Prise de notes + +Trouver un système de notes qui me convient est ce qui m'a pris le plus de temps. +Après avoir beaucoup investigué et testé, j'utilise depuis quelques temps une solution avec laquelle je +suis à l'aise et où j'ai déjà pu concentrer un certain nombre de notes. + +Ma solution consiste à utiliser *Neovim* (géré grâce à [LazyVim](https://www.lazyvim.org/)) et un ensemble de fichiers Markdown +organisés selon une méthode inspirée de [PARA](https://everlaab.com/methode-para-comment-organiser-sa-vie-entiere/) mais avec un système de journal / notes quotidiennes +inspiré de ce que l'on peut faire avec Logseq. + +L'idée est de construire un [second brain](https://www.buildingasecondbrain.com/) et libérer un peu de charge cognitive. + +Au sein du dossier où je stocke mes notes, je mets également un ensemble de petits scripts qui me permettent +de fluidifier la prise de note. Par exemple: + +- `jrnl`: me permet d'ouvrir le fichier du journal correspondant à la date du jour (et le créer si nécessaire) +- `brain`: Ouvre le dossier des notes dans Neovim +- `t`: Ouvre la liste des tâches +- `day`: Ouvre une session TMUX découpée en 4 sous-parties (*panes*) pour afficher sur un même terminal mes + notes du jour, la liste des tâches, les emails et les événements de l'agenda. +- `lgb` (lazy git brain): Commit et push (git) toutes les nouvelles modifications dans le dossier de notes + +--- + +Ces outils sont les principaux et les plus critiques pour mon organisation quotidienne. +J'ai également creusé des alternatives avec une approche plus textuelle pour les cas d'usages suivantes +et que je détaillerais probablement dans de futurs articles: + +- Lecteur de musique +- Gestionnaire de mot de passe +- Serveur git +- Gestion du blog + +Ces explorations m'ont mené vers des contrés intéressantes comme vim et Neovim que je n'avais +jamais pris le temps de découvrir vraiment. Après une période d'apprentissage des raccourcis claviers, +je sens que je suis aujourd'hui bien plus rapide et confortable pour faire mon taf. +Même si je sens que je n'utilise encore que la surface. + +Alors oui, toutes ces alternatives peuvent sembler un peu techniques mais ce n'est pas plus compliqué +que d'apprendre à se servir de Word ou d'Excel. Il est surtout nécessaire d'avoir le courage +de quitter le confort des services gratuits mais non éthiques pour aller faire des outils +dont il faut prendre le temps de découvrir le fonctionnement.