Le blog de Jérôme DESMOULINS
Je profite de cet article pour partager mon expérience sur todo.txt, que j'utilise maintenant depuis plusieurs années, au travail, comme à la maison (sur deux fichiers différents). Il fait partie de ces petits outils en ligne de commande que j'affectionne tout particulièrement puisqu'ils sont portables sur quasi tous les systèmes d'exploitation du marché, et très facile à synchroniser d'un ordinateur à un autre (via ssh, owncloud, ...).
Ce qui avait arrêté mon choix sur cet outil, etait la possibilité d'y ajouter des "addons", permettant de pouvoir travailler sur un nombre assez important de tâches, d'en garder un historique, et de pouvoir en sortir des statistiques.
Présentation
Todo.txt est un script shell permettant de gérer toutes ses tâches quotidiennes en ligne de commande. L'un des principaux avantages de cet outil est de ne fonctionner qu'avec deux fichiers texte: un fichier todo.txt qui contient la liste des tâches en cours ou à faire, et un fichier done.txt qui contient les tâches qui sont terminées. On peut ainsi synchroniser ou sauvegarder très facilement le suivi de nos tâches, ouvrir le fichier todo.txt pour en modifier le contenu très facilement ou l'éditer sur un PC qui n'a pas le script installé, etc...
Voici ce que donne l'application, en action:
Utilisation basique
Je ne vais par repprendre ici tout ce qui est expliqué sur le site officiel du projet, mais décrire simplement l'utilisation la plus courant du produit.
Pour ajouter une nouvelle tâches à la liste, rien de plus simple, il suffit d'entrer
todo.txt add "Ma tâche à effectuer"
on peut donner à cette tâche une date de création, et une priorité:
todo.txt add "(B) 2017-09-25 Ma tâche à effectuer"
un contexte
todo.txt add "(B) 2017-09-25 Ma tâche à effectuer @Maison"
et un projet
todo.txt add "(B) 2017-09-25 Ma tâche à effectuer @Maison +Travaux"
Pour consulter la liste des tâches, on utilise:
todo.txt ls
On peut filtrer directement depuis la ligne de commande pour ne voir qu'un mot clé, un contexte, un projet, ou utiliser plusieurs filtres:
todo.txt ls @Maison todo.txt ls +Travaux todo.txt ls Ma tâche @Maison
Une fois une tâche effectuée, elle se ferme via la commande:
todo.sh do NuméroDeTâche
le numéro de tâche étant celui affiché dans la première colonne de la liste
Gestion de plusieurs fichiers
On peut ajouter la tâche dans un fichier autre que todo.txt, pour ajouter cette tâche au fichier maison.txt, par exemple, on utilise:
todo.txt addto maison.txt "2017-09-01 (A) Fabriquer une armoire à chaussures @Maison"
Et pour lister son contenu:
todo.txt listfile maison.txt
Les "Addons"
La fonctionnalité la plus intéressante du programme, par rapport à un gestionnaire de tâche basique, réside dans les "addons", ces petits programmes permettant d'effectuer/de filtrer/de planifier beaucoup de choses.
Ces addons sont téléchargeables sur le site du projet, ou les sites de leurs auteurs (voir les liens en bas de la page), et se posent dans le répertoire $HOME/.todo.actions.d (qui peut se changer dans le fichier de configuration)
Voici les principaux que j'utilise. Je reste principalement sur "addx", et "donow", "note" et "due", qui sont les plus pratiques.
addx
L'addon addx permet de créer une tache, et de la marquer comme terminée instantanément
$todo.sh addx "(A) 2017-09-22 Faire le point sur les escalades pour les disponibilités de l'équipe semaine prochaine @Management" 21 (A) 2017-09-22 Faire le point sur les escalades pour les disponibilités de l'équipe semaine prochaine @Management TODO: 21 added. 21 21 x 2017-09-22 (A) 2017-09-22 Faire le point sur les escalades pour les disponibilités de l'équipe semaine prochaine @Management TODO: 21 marked as done. x 2017-09-22 (A) 2017-09-22 Faire le point sur les escalades pour les disponibilités de l'équipe semaine prochaine @Management TODO: /home/mobaxterm/scripts/data/todo.txt archived.
Ce module est très pratique lorsque l'on effectue une tâche, et que l'on souhaite en garder une trace.
donow
Il arrive régulièrement de devoir mesurer le temps passé sur une tâche, pour reporter son activité sur un projet, par exemple. Pour cela, l'addon donow permet d'ajouter à sa tâche todo.txt une information min:289, par exemple permettant ensuite aisément de fournir le temps passé sur chaque tâche du projet listé sous forme d'une action todo.
Pour cela, il faut utiliser l'option:
$todo.sh donow 2 Working on: (A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif [(A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif] 3 minute(s) passed
Puis interrompre la tâche avec Ctrl + C. Le script calculera le temps passé, et l'ajoutera au compteur déjà présent, si c'est le cas. Une fois terminée, la tâche sera mise à jour dans todo.txt
$todo.sh donow 2 Working on: (A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif [(A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif] 10 minute(s) passed [(A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif] 20 minute(s) passed [(A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif] 40 minute(s) passed [(A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif] 80 minute(s) passed [(A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif] 88 minute(s) passed 2 (A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @MaBoite +Administratif note:23877.txt min:88
due
Permet d'afficher les tâches en retard, et les tâches à faire ce jour. Cet addon, lancé tous les matins permet de faire rapidement le tour des actions à effectuer.
$todo.sh due =============================== Overdue tasks: =============================== 04 (A) 2017-09-17 Saisir mon activité @Paye +Administratif due:2017-09-18 06 (A) 2017-09-20 Mise en production client XXX due:2017-09-20 07 (C) 2017-09-20 Saisir mon rapport d'astreinte @Paye +Administratif due:2017-09-20 14 (D) 2017-09-21 Valider le compte-rendu de Marc @ProjetA +Administatif @MaBoite due:2017-09-20 =============================== Tasks due today: =============================== 09 (C) 2017-09-05 Construire un RACI applicatif @ProjetB due:2017-09-21 min:289
Si vous avez le message d'erreur suivant au lancement
$todo.txt due Traceback (most recent call last): File "/home/mobaxterm/scripts/bin/todo.actions.d/due.py", line 83, in main(sys.argv[1]) File "/home/mobaxterm/scripts/bin/todo.actions.d/due.py", line 36, in main date = datetime.strptime(match.group()[4:], '%Y-%m-%d').date() File "/usr/lib/python2.7/_strptime.py", line 447, in _strptime datetime_date(year, 1, 1).toordinal() + 1 ValueError: day is out of range for month
Vérifiez les dates de vos tâches. Une des dates n'est certainement pas correcte.
graph
Cet addon permet d'afficher un graphique avec le nombre de tâches effectuées les 7 derniers jours
$todo.txt graph 2017-09-19: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 4 2017-09-20: ■■■■■■■■■■■■■■■■■■■■■■■■ 2 2017-09-21: 0 2017-09-22: ■■■■■■■■■■■■■■■■■■■■■■■■ 2 2017-09-23: 0 2017-09-24: 0 2017-09-25: ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 5
lately
Cet addon permet d'afficher l'ensemble des tâches effectuées durant les xx derniers jours. Par défaut, l'addon affiche les 7 derniers jours. On peut préciser le nombre de jour à afficher en ajoutant ce chiffre sur la ligne de commande.
$todo.sh lately Closed tasks since 2017-09-15 2017-09-19 2017-09-19 (A) Réunion de préparation des entretiens @Recrutement +Administratif 2017-09-19 2017-09-15 (B) Déplacer la réunion du projet Flow @Flows 2017-09-20 Résoudre les problèmes de lenteur dans l'application Zfez (App et DB) 2017-09-20 2017-09-19 Demander à l'équipe de traiter les demandes au fur et à mesure @Améliorations
Très pratique en fin de semaine pour faire un point sur l'activité écoulée, ou mensuellement, pour avoir une idée du travail effectué
note
Cet addon permet d'ajouter des notes à une tâche. Il permet, par exemple d'inscrire l'historique d'une tâche afin de tracer chaque étape, et de pouvoir y revenir rapidement dessus.
$todo.sh note add 2 DEBUG: Filename=/home/mobaxterm/scripts/data/MesNotes/23877.txt 2 (A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @Formations +Administratif note:23877.txt TODO: Note added to task 2. Edit note? (y/n)
L'outil ouvrira vi pour saisir ses notes.
Il est possible d'éditer par la suite cette note via la commande
$todo.sh note edit 2
ou tout simplement de la visualier via la commande
$todo.sh note show 2
standup
L'addon standup permet d'afficher la liste des tâches fermées la veille, et la liste des tâches à faire (ouvertes et fermées aujourd'hui)
$todo.sh standup ======================================== Yesterday: 2017-09-20 ======================================== + 2017-09-19 Demander de traiter les tickets au fur et à mesure @Equipe @Weekly + Problème de lenteurs dans l'application XXX de Lyon (Application et DB) ======================================== Today: 2017-09-22 ======================================== - (A) 2017-09-19 Plannifier les entretiens @Carrière +Administratif due:2017-09-25 - (A) 2017-09-19 Réunion de présentation du plan de formation due:2017-09-22 @Carrière +Administratif - (C) 2017-09-19 Rendre le chiffrage pour l'avant-vente client Yzz +AVV - (C) 2017-09-20 Saisir mon rapport d'astreinte @Paye +Administratif due:2017-09-20 - (B) 2017-09-20 Demande de monitoring pour l'application Abzr +Sécurisation note:14945.txt - (B) 2017-09-21 Rappeller à l'équipe de gérer les demandes en moins de 2 heures +Améloiration due:2017-09-27
Le petit "-" à gauche permet de montrer que la tâches est ouverte
Le petit "+" à gauche permet de montrer que la tâche est fermée
Les liens
Le site de todo.txt
Les addons
Officiel:
D'autres sites:
Outils complémentaires
- https://extensions.gnome.org/extension/570/todotxt/ (Intégration Todotxt pour Gnome)
- https://burnsoftware.wordpress.com/daytasks/ (Application todotxt pour Gnome)
- https://github.com/QTodoTxt/QTodoTxt (Multi plateforme)
- http://benrhughes.github.io/todotxt.net/ (Windows)
- http://nerdur.com/todour-pl/ (Multi plateforme)
- https://code.google.com/archive/p/punch-time-tracking/ (TimeTracker en ligne de commande pour todo.txt
En espérant que cet article puisse vous aider dans la gestion de vos tâches quotidiennes.
Bonne journée à vous.