content/posts/mon-organisation-en-mode-texte.md (view raw)
1---
2Title: Mon organisation en mode texte
3Date: 2025-04-27
4---
5
6Depuis plusieurs mois, j'explore des manières alternatives d'utiliser l'informatique
7et de me libérer des outils omniprésents proposés par les GAFAM.
8
9Je suis poussé par la volonté de revenir à des outils plus bruts, plus minimalistes
10pour réaliser mes tâches quotidiennes, notamment professionnelles.
11Ces recherches m'ont amené à utiliser de plus en plus des solutions qui favorisent le *texte*
12avant tout, notamment à travers le terminal.
13
14Pourquoi le texte ? Car c'est la forme la plus simpliste pour représenter de l'information.
15Et plus c'est simple, plus c'est facile de le rendre compatible avec d'autres outils, de l'adapter
16et de le comprendre même des années (voir des décennies) plus tard.
17
18Afficher et éditer du texte sur un écran est extrêmement simple. Pas besoin d'avoir de moteur de rendu,
19de langages balisés (XML, HTML,...) ni de connaissances particulières. Juste un clavier et un terminal.
20Pour avoir des notes un peu claires et confortables à relire, j'utilise malgré tout Markdown, qui permet
21d'enrichir mes notes tout en gardant le texte assez brut.
22
23Dans un premier temps, j'ai cherché à remplacer les services suivants:
24
25- **Liste de tâches**: mon outil central d'organisation pour pratiquer la méthode [GTD](https://gettingthingsdone.com/).
26 J'ai utilisé Asana pendant des années et j'ai apprécié son confort mais je le trouve aujourd'hui
27 lourd (car plus adapté à un fonctionnement en équipe) et toutes les données sont stockées chez Google.
28- **Boite email**: Comme tout le monde, un outil critique au travail comme dans la vie de tous les jours.
29 Je reçois plus que j'envoie et j'ai tendance à considérer que un mail = une tâche à faire.
30 J'ai donc besoin d'un outil sans fioritures (comme de l'IA par exemple) mais sans devoir héberger
31 tout un serveur mail.
32- **Calendrier**: Aujourd'hui, mon calendrier me sert à connaître les événements/réunions que j'ai
33 avec d'autres personnes. C'est uniquement collaboratif et je suis rarement celui qui créé les
34 événements. J'ai donc besoin d'un outil qui me permet une vue rapide de mes occupations sur la
35 journée et la semaine en cours.
36- **Prise de notes**: Je n'ai jamais été très rigoureux concernant la prise de notes et j'ai du contenu
37 divisé sur plusieurs outils: Notion, Asana, Logseq, Obsidian, des fichiers Markdown un peu partout, etc..
38 Quand j'ai quelques choses en tête, il faut que je puisse l'écrire rapidement et avec le moins de friction
39 possible sinon je prends ce qui vient sur le moment et je ne me fige pas sur un unique outil.
40
41## Liste de tâches
42
43Après avoir longuement recherché, essayé et même développé des solutions pour gérer efficacement
44mes tâches, je me suis finalement arrêté sur le format [todo.txt](http://todotxt.org/).
45
46Ce format défini une manière d'écrire des tâches dans un simple fichier texte.
47Un exemple du contenu d'un fichier todo.txt pour comprendre:
48
49```
50(A) Écrire un nouvel article de @blog concernant l'utilisation des +outils
51(B) Mettre à jour le design de git.5ika.ch due:2025-04-21
52x 2025-04-21 2025-01-30 Mettre en place une déploiement automatique pour le @blog
53```
54
55La première tâche a une priorité "A" et concerne le projet *outils* avec le contexte *blog*.
56La seconde a une priorité "B" et possède une date à laquelle elle doit être réalisée.
57La troisième est une tâche terminée le 21 avril 2025, créée le 30 janvier 2025 et qui concerne le *blog*.
58
59Je place ainsi toutes mes tâches, privées comme pro, dans un unique fichier `todo.txt` que je synchronise
60entre mes différents systèmes grâce à git. Je peux facilement éditer ce fichier avec n'importe quel éditeur
61de texte et l'afficher dans un terminal ou une page Web.
62Grâce aux fonctionnalités de la plupart des éditeurs de texte, je peux facilement retrouver toutes les tâches
63qui concernent un certain projet ou contexte.
64
65Récemment, j'ai développé un petit programme en Go pour gérer mon fichier *todo.txt* dans le terminal
66en mode TUI. C'était surtout un moyen de découvrir le Go et m'amuser un peu mais j'utilise finalement
67cet outil tous les jours. Vous pouvez le retrouver ici: [git.5ika.ch/todo.txt-go.git](https://git.5ika.ch/todo.txt-go.git).
68
69## Boîte mail
70
71[Dans mon entreprise](https://octree.ch), nous utilisons Infomaniak Mail. C'est un bon service qui se veut le plus
72écolo possible en terme d'hébergement IT, qui respecte les standards et surtout, qui ne bloque
73pas avec un protocole ou une interface en particulier. L'interface graphique proposée est
74claire et confortable pour écrire des emails.
75
76Néanmoins, cette interface Web n'est pas suffisamment épurée à mon goût et je préférais ne pas avoir
77à charger la liste des différents services d'Infomaniak ainsi que tous mes comptes à chaque fois
78que je veux voir si j'ai de nouveaux emails.
79
80Je suis donc en train de tester un client email qui fonctionne dans le terminal dont j'ai entendu
81parlé lors du FOSSDEM 2025: [aerc](https://aerc-mail.org/).
82
83Côté interface, aerc a le strict minimum: une liste des dossiers et une liste des emails dans le dossier sélectionné.
84Toutes les actions se font grâce à des raccourcis claviers dans le même esprit qu'avec *vim*.
85La logique est d'ailleurs inspirée de ce dernier et je ne suis pas perdu dans les commandes possibles.
86
87J'utilise donc aerc pour *voir* mes emails dans mon terminal mais je dois encore me faire la main
88en ce qui concerne l'envoi d'emails.
89
90## Calendrier
91
92Un outil pour voir son calendrier, c'est vite compliqué. La gestion des dates, des timezones, des
93changements de mois etc.. Pour le coup, il ne me vient pas l'envie de développer ma propre solution.
94
95Je suis tombé récemment sur [calendar.txt](https://terokarvinen.com/2021/calendar-txt/), un format de calendrier en mode texte
96inspiré de *todo.txt*. Même si j'adore l'approche, j'ai peur que cela manque de fonctionnalités pour
97vraiment remplacer l'outil que j'utilise avec mes collègues avec notamment la possibilité de gérer
98des invitations et des événements réguliers.
99
100Comme pour les emails, j'ai donc fait le choix d'utiliser le service d'Infomaniak à travers un outil
101en ligne de commande nommé [khal](https://github.com/pimutils/khal).
102L'interface de khal a une liste des mois avec chaque jour sélectionnable dans un panneau de gauche
103et une liste des événements pour chaque date dans un panneau de droite. La logique est assez similaire
104à aerc.
105
106La synchronisation avec le serveur se fait périodiquement grâce à une tâche CRON et le programme [vdirsyncer](https://github.com/pimutils/vdirsyncer),
107ce qui laisse pleinement la main à l'utilisateur pour gérer les moments de synchro.
108
109## Prise de notes
110
111Trouver un système de notes qui me convient est ce qui m'a pris le plus de temps.
112Après avoir beaucoup investigué et testé, j'utilise depuis quelques temps une solution avec laquelle je
113suis à l'aise et où j'ai déjà pu concentrer un certain nombre de notes.
114
115Ma solution consiste à utiliser *Neovim* (géré grâce à [LazyVim](https://www.lazyvim.org/)) et un ensemble de fichiers Markdown
116organisé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
117inspiré de ce que l'on peut faire avec Logseq.
118
119L'idée est de construire un [second brain](https://www.buildingasecondbrain.com/) et libérer un peu de charge cognitive.
120
121Au sein du dossier où je stocke mes notes, je mets également un ensemble de petits scripts qui me permettent
122de fluidifier la prise de note. Par exemple:
123
124- `jrnl`: me permet d'ouvrir le fichier du journal correspondant à la date du jour (et le créer si nécessaire)
125- `brain`: Ouvre le dossier des notes dans Neovim
126- `t`: Ouvre la liste des tâches
127- `day`: Ouvre une session TMUX découpée en 4 sous-parties (*panes*) pour afficher sur un même terminal mes
128 notes du jour, la liste des tâches, les emails et les événements de l'agenda.
129- `lgb` (lazy git brain): Commit et push (git) toutes les nouvelles modifications dans le dossier de notes
130
131---
132
133Ces outils sont les principaux et les plus critiques pour mon organisation quotidienne.
134J'ai également creusé des alternatives avec une approche plus textuelle pour les cas d'usages suivantes
135et que je détaillerais probablement dans de futurs articles:
136
137- Lecteur de musique
138- Gestionnaire de mot de passe
139- Serveur git
140- Gestion du blog
141
142Ces explorations m'ont mené vers des contrés intéressantes comme vim et Neovim que je n'avais
143jamais pris le temps de découvrir vraiment. Après une période d'apprentissage des raccourcis claviers,
144je sens que je suis aujourd'hui bien plus rapide et confortable pour faire mon taf.
145Même si je sens que je n'utilise encore que la surface.
146
147Alors oui, toutes ces alternatives peuvent sembler un peu techniques mais ce n'est pas plus compliqué
148que d'apprendre à se servir de Word ou d'Excel. Il est surtout nécessaire d'avoir le courage
149de quitter le confort des services gratuits mais non éthiques pour aller faire des outils
150dont il faut prendre le temps de découvrir le fonctionnement.