all repos — blog @ dc24908a1b9760a5e3f5760b1aca0c2ff660b47e

Code and content for 5ika.ch

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 faire des outils
 44dont il faut prendre le temps de découvrir le fonctionnement.
 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.