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> Toutes les alternatives peuvent sembler un peu techniques mais ce n'est pas plus compliqué
42que d'apprendre à se servir de Word ou d'Excel. Il est surtout nécessaire d'avoir la motivation
43de quitter le confort des services gratuits mais non éthiques pour aller vers des outils
44dont il faut prendre le temps de découvrir le fonctionnement mais qui apportent tellement plus.
45
46## Liste de tâches
47
48Après avoir longuement recherché, essayé et même développé des solutions pour gérer efficacement
49mes tâches, je me suis finalement arrêté sur le format [todo.txt](http://todotxt.org/).
50
51Ce format défini une manière d'écrire des tâches dans un simple fichier texte.
52Un exemple du contenu d'un fichier todo.txt pour comprendre:
53
54```
55(A) Écrire un nouvel article de @blog concernant l'utilisation des +outils
56(B) Mettre à jour le design de git.5ika.ch due:2025-04-21
57x 2025-04-21 2025-01-30 Mettre en place une déploiement automatique pour le @blog
58```
59
60La première tâche a une priorité "A" et concerne le projet *outils* avec le contexte *blog*.
61La seconde a une priorité "B" et possède une date à laquelle elle doit être réalisée.
62La troisième est une tâche terminée le 21 avril 2025, créée le 30 janvier 2025 et qui concerne le *blog*.
63
64Je place ainsi toutes mes tâches, privées comme pro, dans un unique fichier `todo.txt` que je synchronise
65entre mes différents systèmes grâce à git. Je peux facilement éditer ce fichier avec n'importe quel éditeur
66de texte et l'afficher dans un terminal ou une page Web.
67Grâce aux fonctionnalités de la plupart des éditeurs de texte, je peux facilement retrouver toutes les tâches
68qui concernent un certain projet ou contexte.
69
70Récemment, j'ai développé un petit programme en Go pour gérer mon fichier *todo.txt* dans le terminal
71en mode TUI. C'était surtout un moyen de découvrir le Go et m'amuser un peu mais j'utilise finalement
72cet outil tous les jours. Vous pouvez le retrouver ici: [git.5ika.ch/todo.txt-go.git](https://git.5ika.ch/todo.txt-go.git).
73
74## Boîte mail
75
76[Dans mon entreprise](https://octree.ch), nous utilisons Infomaniak Mail. C'est un bon service qui se veut le plus
77écolo possible en terme d'hébergement IT, qui respecte les standards et surtout, qui ne bloque
78pas avec un protocole ou une interface en particulier. L'interface graphique proposée est
79claire et confortable pour écrire des emails.
80
81Néanmoins, cette interface Web n'est pas suffisamment épurée à mon goût et je préférais ne pas avoir
82à charger la liste des différents services d'Infomaniak ainsi que tous mes comptes à chaque fois
83que je veux voir si j'ai de nouveaux emails.
84
85Je suis donc en train de tester un client email qui fonctionne dans le terminal dont j'ai entendu
86parlé lors du FOSSDEM 2025: [aerc](https://aerc-mail.org/).
87
88Côté interface, aerc a le strict minimum: une liste des dossiers et une liste des emails dans le dossier sélectionné.
89Toutes les actions se font grâce à des raccourcis claviers dans le même esprit qu'avec *vim*.
90La logique est d'ailleurs inspirée de ce dernier et je ne suis pas perdu dans les commandes possibles.
91
92J'utilise donc aerc pour *voir* mes emails dans mon terminal mais je dois encore me faire la main
93en ce qui concerne l'envoi d'emails.
94
95## Calendrier
96
97Un outil pour voir son calendrier, c'est vite compliqué. La gestion des dates, des timezones, des
98changements de mois etc.. Pour le coup, il ne me vient pas l'envie de développer ma propre solution.
99
100Je suis tombé récemment sur [calendar.txt](https://terokarvinen.com/2021/calendar-txt/), un format de calendrier en mode texte
101inspiré de *todo.txt*. Même si j'adore l'approche, j'ai peur que cela manque de fonctionnalités pour
102vraiment remplacer l'outil que j'utilise avec mes collègues avec notamment la possibilité de gérer
103des invitations et des événements réguliers.
104
105Comme pour les emails, j'ai donc fait le choix d'utiliser le service d'Infomaniak à travers un outil
106en ligne de commande nommé [khal](https://github.com/pimutils/khal).
107L'interface de khal a une liste des mois avec chaque jour sélectionnable dans un panneau de gauche
108et une liste des événements pour chaque date dans un panneau de droite. La logique est assez similaire
109à aerc.
110
111La synchronisation avec le serveur se fait périodiquement grâce à une tâche CRON et le programme [vdirsyncer](https://github.com/pimutils/vdirsyncer),
112ce qui laisse pleinement la main à l'utilisateur pour gérer les moments de synchro.
113
114## Prise de notes
115
116Trouver un système de notes qui me convient est ce qui m'a pris le plus de temps.
117Après avoir beaucoup investigué et testé, j'utilise depuis quelques temps une solution avec laquelle je
118suis à l'aise et où j'ai déjà pu concentrer un certain nombre de notes.
119
120Ma solution consiste à utiliser *Neovim* (géré grâce à [LazyVim](https://www.lazyvim.org/)) et un ensemble de fichiers Markdown
121organisé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
122inspiré de ce que l'on peut faire avec Logseq.
123
124L'idée est de construire un [second brain](https://www.buildingasecondbrain.com/) et libérer un peu de charge cognitive.
125
126Au sein du dossier où je stocke mes notes, je mets également un ensemble de petits scripts qui me permettent
127de fluidifier la prise de note. Par exemple:
128
129- `jrnl`: me permet d'ouvrir le fichier du journal correspondant à la date du jour (et le créer si nécessaire)
130- `brain`: Ouvre le dossier des notes dans Neovim
131- `t`: Ouvre la liste des tâches
132- `day`: Ouvre une session TMUX découpée en 4 sous-parties (*panes*) pour afficher sur un même terminal mes
133 notes du jour, la liste des tâches, les emails et les événements de l'agenda.
134- `lgb` (lazy git brain): Commit et push (git) toutes les nouvelles modifications dans le dossier de notes
135
136---
137
138Ces outils sont les principaux et les plus critiques pour mon organisation quotidienne.
139J'ai également creusé des alternatives avec une approche plus textuelle pour les cas d'usages suivantes
140et que je détaillerais probablement dans de futurs articles:
141
142- Lecteur de musique
143- Gestionnaire de mot de passe
144- Serveur git
145- Gestion du blog
146
147Ces explorations m'ont mené vers des contrés intéressantes comme vim et Neovim que je n'avais
148jamais pris le temps de découvrir vraiment. Après une période d'apprentissage des raccourcis claviers,
149je sens que je suis aujourd'hui bien plus rapide et confortable pour faire mon taf.
150Même si je sens que je n'utilise encore que la surface.