Actions

 Language:
 RSS flow:



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

 

En espérant que cet article puisse vous aider dans la gestion de vos tâches quotidiennes.

 

 

Bonne journée à vous.