Skip to content

Gérer efficacement et rapidement ses todos avec devtodo

par billux le 10 septembre 2010
to-do-list-nothing

Pour changer un peu de l’administration système, je vais vous présenter aujourd’hui… devtodo.

devtodo est un petit (mais puissant) utilitaire qui s’utilise en ligne de commande et qui va vous permettre de gérer votre (ou vos) todo list. Avant de vous le présenter, sachez qu’il m’a fallu pas mal de temps avant de trouver un todo list manager qui me convienne. Mon premier critère de sélection était une application en ligne de commande (éventuellement avec une interface ncurses). L’utilisation d’une interface graphique pour ce genre de tâche n’est vraiment pas adapté, je perdais trop de temps à clicouiller par-ci par-là pour saisir 3 mots que, finalement, je ne tenais plus à jour ma todo list et elle partait aux oubliettes.
À partir de là j’ai testé différents utilitaires (doneyet, task, devtodo, w2do, todo.txt, et j’en passe). Mais seuls 2 répondaient à mon second critère : savoir gérer les sous taches : doneyet et devtodo. doneyet est une interface semi-graphique utilisant ncurses, mais ne me paraissait pas assez ergonomique (sans compter un segfault à chaque caractère UTF-8 de tapé, que je n’ai pas vraiment cherché à résoudre). J’ai donc choisi devtodo.

screenshot devtodo

Présentation rapide des fonctionnalités de devtodo

  • Gestion des taches sur plusieurs niveaux ;
  • Gestion de 5 niveaux de priorité ;
  • Stockage de la todo list dans un fichier xml, très facile à exploiter par la suite (une fonction d’export est quand même bien sûr prévue) ;
  • Gestion d’une todo list par répertoire (très pratique pour gérer plusieurs projets à la fois).
    Exemple : vous allez dans le répertoire mon-projet/, vous visualisez la todo list de ce projet :

    cd mon-projet
    todo
    # affichage des todos de "mon-projet"

    Vous voulez tout d’un coup travailler sur un autre projet :

    cd ../autre-projet
    todo
    # affichage des todo de "autre-projet"

    En fait, par défaut, devtodo lira le fichier xml .todo présent dans le répertoire courant, d’où ce fonctionnement. On peut bien sur forcer l’utilisation d’une todolist différente avec l’option -G ;

  • Filtrage et tri avancé de l’affichage des todos (suivant des critères comme terminé, priorité, date de création…) ;
  • Possibilité de redéfinir entièrement le formatage et la coloration de l’affichage de la todo list (en accédant au variables via %p, %d, etc…) ;
  • Je pense que ce sera tout, tout ça prenant un peu moins de 300Ko installé !

Utilisation basique

Voici comment utiliser devtodo de manière « simple » :

  • Ajout d’un todo avec une priorité faible (la plus haute est 1) :
    tda -p 4 un premier todo
  • Voir sa liste de todo :
    todo
  • Ajout d’une sous tache à la précédente :
    tda -g 1 une sous tache du premier todo
  • Marquer la sous tache comme faite :
    tdd 1.1
  • Édition d’une tache :
    tde 1

Bref, je vous laisse lire le man pour plus de détails (qui est d’ailleurs très clair, contrairement au site du projet).

Utilisation avancée

Filtrage

devtodo permet de filtrer l’affichage des todos suivant plusieurs critères. Quelques exemples pratiques :

  • N’afficher que les todos finissant par la chaîne toto (on commence simple) :
    todo -f "/toto$"
  • Afficher les todos non fait et avec une priorité supérieure ou égale à high :
    todo -f "-done,+high"
  • Afficher les todos contenant foo ou Foo, en recherchant aussi dans les sous tâches :
    todo -f "/[fF]oo,+children"

En bonus, vous pouvez définir un filtre par défaut, qui s’appliquera lorsque vous taperez simplement la commande todo.
Cela ce fait dans le fichier .todorc :

1
filter -done,children

Tri

De la même manière que vous pouvez filtrer la sortie, vous pouvez aussi la trier. Le principe est un peu le même que pour les filtres :

  • Trier par date de création :
    todo --sort created
  • Trier d’abord par priorité, puis par ordre alphabétique :
    todo --sort priority,text

Le tri à appliquer par défaut est définit par la directive sort dans le fichier de conf.

Formatage

Le formatage de la sortie de todo ne vous convient pas ? eh bien vous pouvez la réécrire complètement.
Avant tout sachez aussi que vous pouvez utiliser l’option -v pour un affichage plus complet.

La définition des formats se passent (de préférence) dans le fichier de conf. Vous retrouvez les formats par défaut qui y sont décrits, puis vous pouvez écrire les votre en dessous, en utilisant la forme :

1
format nomDuFormat=templateString

templateString est la chaîne qui affichera le todo. Vous pouvez donc insérer des variables sur le même principe que la fonction C printf(). Un petit exemple :

1
format display=%4>%i%[info]%f%2n.%[priority]%+1T

Pour avoir plus d’information sur l’écriture de la chaîne (notamment la liste des variables),… cf. le man.

Après avoir écrit votre nouveau format, 2 solutions : soit il déchire tout et vous voulez l’utiliser à la place de celui par défaut, soit il déchire aussi mais vous voulez l’utilisez que dans certains cas plus spécifiques.
Dans le premier cas, rajoutez la ligne suivante dans votre conf :

1
use-format display=nomDuFormat

Remplacez display par verbose-display si le format doit être utilisé dans le cas de l’utilisation de l’option -v.
Dans le second cas, vous pouvez bien sur spécifier le thème dans les options de la ligne de commande directement, via –use-format, en utilisant la même syntaxe que ci-dessus.

Je pense avoir fait un tour global sur cet outil vraiment sympa, cependant il reste encore quelques astuces dont je n’ai pas parlé, mais bien décrite dans le man.

Sur le même sujet :

  1. trier numériquement la sortie d’un du -h
7 Commentaires
  1. Guiona, le 10 septembre 2010 à 8 h 00 min (permalien)

    Merci pour ce tuto, je cherchais ce genre d’applis pour mes tâches de développement :P
    PS: En agrégateur de flux je te propose bilboplanet qui va sortir dans sa version 1.0 dans les jours qui viennent ;)

  2. Ocal, le 10 septembre 2010 à 8 h 01 min (permalien)

    « Bonjour,

    Belle application, cependant étant fort nomade au niveau du poste de travail, j’ai eu recours à un système plus « cloud » qui propose « http://www.evernote.com/ », si en plus vous avez un smartphone android une application est disponible, seul soucis pas de gui sous linux, mais l’interface web suffit.

  3. billux, le 10 septembre 2010 à 9 h 08 min (permalien)

    Guiona : hum, voyant ton site, ce n’est pas étonnant que tu me propose Bilboplanet ;) . Mais en fait je ne cherche pas un agrégateur de flux, mais plus un lecteur de flux (pour un usage perso) en mode web, du genre tiny tiny RSS. Actuellement je m’orienterais plus vers Rnews.

    Ocal : Effectivement, le fait d’avoir une structure en client – serveur peut être vraiment pas mal. Pour l’instant je me « contente » d’utiliser devtodo en ssh sur mon serveur, donc accessible à peu près de partout.

  4. SckyzO, le 10 septembre 2010 à 11 h 46 min (permalien)

    Le BilboPlanet n’est pas a proprement parlé un agrégateur personnel de Flux RSS, mais un Planet, permettant de centraliser les postes de différents utilisateurs.
    Cela dit, nous pourrions intégrer quelques fonction tel que : le nombre de news depuis la dernière visite …

    sinon il y a grégorus qui est pas mal en lecteur personnel

Rétroliens & Pingbacks

  1. Twitted by techmefr
  2. Twitted by akemoi
  3. Tweets that mention Gérer efficacement et rapidement ses todos avec devtodo | Univers Libre -- Topsy.com

Poster une réponse

NB : Le XHTML est autorisé. Votre adresse email ne sera jamais publiée ou partagée.

S'abonner au flux RSS des commentaires