Sur ce blog, j’avais commencé il y 13 ans (!) une rubrique Productivité dans laquelle je mentionnais – notamment – les petits utilitaires informatiques que j’ai découverts au fil de mes besoins : une horloge en transparence, un utilitaire qui permet de dessiner / annoter en superposition de ce qui se passe à l’écran. Ces utilitaires obéissaient à un cahier des charges (détail ici) qu’on peut résumer en deux idées : simplicité, légèreté.
Je n’ai pas continué cette rubrique, alors même que j’ai une petite dizaine de programmes qui me rendent de grands services au quotidien, et qui m’ont fait gagner énormément de temps depuis 10-15 ans que je les utilise.
Venons-en au sujet du jour : un utilitaire de ToDo list. Et j’ai trouvé une solution élégante et légère, que je vais vous détailler ci-dessous (les explications sont pour Windows, mais a priori transposables à Mac ou Linux).
Quelques précisions avant de démarrer
- Comme indiqué dans cette série de thibillets sur – notamment – les ToDo listes, je préfère depuis des années un support papier (le Bullet Journal, ou BuJo) pour faire mes listes et noter mes idées. Mais paradoxalement, alors que je transportais sans peine le BuJo entre chez moi, mon travail et mes rendez-vous extérieurs, le temps du confinement m’a fait délaisser cet outil (pour un temps). C’est peut-être parce que toutes les réunions se faisaient en ligne, et que c’était plus pratique pour moi de prendre directement des notes sur l’ordinateur.
- Aussi, insensiblement, je me suis mis à faire des ToDo listes informatiques. C’était au format texte avec Notepad, donc parmi les niveaux les plus élevés de frugalité informatique : un éditeur de texte simpliste, un fichier txt dans un coin de l’écran, et c’est tout. Pour info, le programme Notepad.exe pèse 1,1 kilo-octet, un millième de Méga-octet ! 😀
- Je sais qu’il existe quantité de programmes et d’applications de ToDo listes, et j’en ai testé plusieurs à l’époque (des outils en ligne, des applis multi-plate-formes) :
- La plupart de ces applis permettent une synchronisation entre différents appareils. Or, la synchronisation est vraiment un plus : cela permet d’avoir sa ToDo liste toujours à jour, avec la même version la plus récente sur ordinateur et sur téléphone/tablette. Mais on peut faire ça aussi simplement avec un fichier texte : il suffit qu’il soit dans un répertoire synchronisé avec Dropbox, Google Drive ou pCloud (ce dernier étant mon outil depuis des années, car je ne veux pas que mes données privées soient siphonnées et revendues). L’avantage d’un fichier texte est qu’il est lisible par n’importe quel système ou appareil…
- Après avoir testé plusieurs applications à l’époque, je m’étais rendu compte que le mieux est l’ennemi du bien : ces applis proposent des dates limites, des classements par projets, des étiquettes et quantité d’autres fonctionnalités… alors que je ne voulais qu’un utilitaire de liste – ce qu’un fichier texte fait très bien. L’appli la plus frugale que j’avais trouvée (et achetée) s’appelait TaskPaper (sur Mac) et elle avait une jumelle sur Windows (TodoPaper, qui a disparu depuis). La beauté de cette application était que les fichiers de listes étaient au format texte, donc lisibles indépendamment de l’appli (ex: sur mon smartphone).
Résumé et cahier des charges
- Confinement = je commence à faire mes listes de tâches directement sur l’ordinateur.
- Il me faut une appli légère, qui sauvegarde les listes au format texte, de telle sorte que je puisse consulter ma liste depuis n’importe lequel de mes appareils, en déplacement ou sans connexion Internet.
- Cette appli doit pouvoir ré-ordonner mes todo listes en fonction de l’ordre de priorité, et « archiver » les tâches réalisées.
Solution
En fait, après quelques tâtonnements, je suis arrivé à la solution la plus simpliste et la plus élégante : un petit programme dans le Terminal de windows (cmd.exe) avec une icône de raccourci sur le Bureau. NB : les possesseurs de Mac peuvent faire la même chose avec le Terminal du Mac ; quant aux utilisateurs de Linux, ils sont probablement rompus aux tâches élémentaires de la console que je vais détailler ci-dessous.
Voici la démarche, pas à pas. Il y a deux éléments à bâtir : le fichier texte qui servira de Todo List ; le programme qui va ré-ordonner les tâches par ordre de priorité.
Étapes pour le fichier texte « Todo List »
- Avoir ma liste de tâches à faire dans un fichier texte, lui-même hébergé dans un dossier synchronisé (ex: C:\Users\Christophe\Nextcloud\Notes\Todo.txt). Ainsi, à chaque fois que je modifie ce fichier, il est automatiquement synchronisé avec un service dans le cloud – et mis à jour sur mon téléphone, mon ordinateur au bureau, etc.
- Dans ce fichier, utiliser l’éditeur de texte (notepad.exe) pour saisir à la volée toutes les tâches, sans ordre de priorité. Par exemple :
Rédiger mail à Raoul Volfoni
Faire la tournée des compteurs pour encaissement
S'inviter à la réunion sur la péniche
Rédiger l'éloge funèbre du Mexicain
- Les coder alors en suivant une syntaxe simpliste dans le fichier texte :
- tâche prioritaire = démarre par « 1 » en début de ligne ;
- tâche moins prioritaire = démarre par « 2 » en début de ligne,
- etc. avec les numéros suivants
- Enfin, tâche terminée = remplacer le chiffre en début de ligne par « X «
dans mon exemple, cela pourrait donner :
3 Rédiger mail à Raoul Volfoni 1 Faire la tournée des compteurs pour encaissement 2 S'inviter à la réunion sur la péniche 1 Rédiger l'éloge funèbre du Mexicain (il y a donc deux tâches prioritaires, notées au niveau 1)
Quel est l’intérêt de ce numérotage ? C’est qu’il suit le classement alphanumérique du Terminal. Il suffit alors de lancer la commande « sort » : c’est une commande qui prend un fichier texte et qui ré-ordonne ses lignes par ordre alphanumérique : tous les 1 seront en haut, suivis par tous les 2, … et les « X » seront tout en bas.
Après lancement de cette commande, le fichier aura cette tête :
1 Faire la tournée des compteurs pour encaissement
1 Rédiger l'éloge funèbre du Mexicain
2 S'inviter à la réunion sur la péniche
3 Rédiger mail à Raoul Volfoni
Évidemment, le but est d’automatiser ce reclassement avec une commande.
Le « programme » de reclassement par ordre de priorité des tâches
Après la syntaxe (simpliste) du fichier texte, voyons maintenant le codage (à peine plus complexe) des commandes dans le Terminal. Je commente chaque commande avec une ligne de $$ commentaires $$.
Pour la simplicité de l’exemple, supposons que le fichier de ToDo liste soit à l’emplacement C:\Bureau\Todo.txt
Liste des commandes à enchaîner dans le Terminal :
C:\Windows\System32\cmd.exe /c
$$ lance le terminal en mode « sans commentaires » (donc non visible à l’écran)
sort C:\Bureau\Todo.txt > C:\Bureau\Todo9.txt
$$ trie les lignes du fichier Todo.txt par ordre alphanumérique et copie le résultat dans le fichier Todo9.txt (qui sera un fichier temporaire)
copy C:\Bureau\Todo9.txt C:\Bureau\Todo.txt
$$ copie le fichier Todo9.txt pour devenir le nouveau fichier Todo.txt
del C:\Bureau\Todo9.txt
$$ détruit le fichier Todo9.txt
En fait, j’ai commenté individuellement ces 4 commandes pour la clarté, mais elles s’enchaînent avec la commande « & » pour ne faire qu’une seule commande globale, du genre cmd sort & copy… & del…
Il ne reste plus qu’à créer un raccourci sur le bureau : dans la zone « Cible », copier la commande ci-dessus (cmd sort & copy… & del…), et dans la zone « démarrer dans », indiquer « C:\WINDOWS\system32 »
Peaufinage
Dans mon fichier texte, j’ai ajouté deux lignes pour une meilleure lisibilité.
Une ligne 0 z————-z (qui démarre par 0, zéro) pour le haut du fichier
Une ligne o—————o (qui démarre par O, la lettre) pour le bas
La ligne du haut me permet de mettre au-dessus une tâche répétitive de tous les jours, ou bien un truc vraiment important à faire en tout premier. Cette ligne commence par « 0 « , donc elle est au-dessus de tout le reste, et elle séparera LA tâche niveau 0 de toutes les autres tâches.
La ligne du bas permet de faire une séparation entre les tâches restant à accomplir (niveau 3, 4 etc.) et les tâches accomplies (marquées X).
Pour illustrer comment ça fonctionne, voilà un exemple de mon fichier après que j’aie terminé mon thibillet sur la Todo (notez la tâche 1 qui est devenue X :
0 Faire du gainage
0 z-------------z
1 Billet de blog 3 axes
X Billet de blog ToDo
1 Déclaration CESU
3 Texte à rédiger pour YY
4 Faire chapitre 6
o---------------o
X Admin Callisto
X Article ALS
Hop, lancement du programme triage en double-cliquant sur le raccourci, et le fichier devient
0 Faire du gainage
0 z-------------z
1 Billet de blog 3 axes
1 Déclaration CESU
3 Texte à rédiger pour YY
4 Faire chapitre 6
o---------------o
X Admin Callisto
X Article ALS
X Billet de blog ToDo
Ultime peaufinage pour gagner (encore !) du temps
Affecter un raccourci clavier pour ouvrir le fichier Todo.txt.
Affecter un autre raccourci clavier pour lancer le triage.
Ma séquence de touches – que j’utilise plusieurs fois par jour – devient alors :
Ctrl-Alt-* (ouvre le fichier Todo dans Notepad)
=> je rajoute des tâches, j’affecte des niveaux de priorités, je coche X pour les tâches terminées
Ctrl-W (ferme le fichier Todo, avec sauvegarde)
Ctrl-Alt-! (triage)
Et voilà.