Taskwarrior, rien que pour vos tâches !

Magazine
Marque
Linux Pratique
Numéro
72
Mois de parution
juillet 2012
Spécialité(s)


Résumé
Avec son interface minimaliste et sa flexibilité, Taskwarrior est un compagnon de choix pour effectuer le suivi de ses tâches au quotidien, se rappeler des échéances ou organiser des projets. Découverte de cet outil en ligne de commandes, dont la version 2.0 vient de sortir...

Body

1. Présentation

Chaque année, vous vous dites la même chose : faire des listes de tâches pour ne rien oublier. Mais les outils que vous essayez n'ont pas telle ou telle option qui ferait toute la différence, alors vous abandonnez. Qu'à cela ne tienne ! Pour les amateurs de la ligne de commandes, ou pour ceux qui cherchent une motivation pour s'y mettre en douceur, il y a Taskwarrior. Il s'agit d'un utilitaire minimaliste pour dresser et gérer des listes de tâches. Même si ce n'est pas son but premier, Taskwarrior peut tout à fait être utilisé pour implémenter la méthode GTD, ou Getting Things Done, de David Allen, qui attribue à chaque tâche un projet, une priorité et des contextes pour savoir à tout moment quelle est « la prochaine action » à mener.

Taskwarrior organise vos tâches en fonction de différents critères. Les listes reflètent vos envies organisationnelles, de la simple liste de courses à l'application du système Getting Things Done de David Allen...

2. Installation et premières tâches

Taskwarrior est disponible dans les dépôts de la plupart des distributions Linux. Il vous suffit d'installer le paquet task avec votre gestionnaire de paquets (Apt, Pacman, Yum...). Exemple avec aptitude en root :

# aptitude install task

Une fois installé, Taskwarrior s'utilise avec des instructions de la forme suivante :

task <filtre> <commande> <modification>

Passons au shell utilisateur. Nous allons ajouter quelques tâches avec la commande add :

$ task add Bloquer un samedi en juillet

Created task 1.

$ task add Choisir les invités

Created task 2.

$ task add Envoyer les invitations

Created task 3.

$ task add Payer la facture d'électricité

Created task 4.

$ task add Découvrir Taskwarrior

Created task 5.

Pour marquer une tâche comme réalisée :

$ task 5 done

Pour substituer du texte dans la description d'une tâche :

$ task 4 /Payer/Régler/

Autre commande utile : la commande undo vous permet de revenir à l'état précédant la dernière commande, en cas de boulette. Et si vous souhaitez supprimer l'une de vos tâches, utilisez la commande delete.

Différences entre les versions

Selon les distributions, Taskwarrior est disponible dans sa dernière version 2.0, ou bien en version 1.9.x. Ce tutoriel utilise la syntaxe de la version 2.0. Pour les versions 1.9.x, il suffit d'enlever la commande modify dans les lignes de commandes pour avoir les mêmes résultats.

Dans la version 2.0, il est désormais possible de soumettre plusieurs possibilités pour un champ donné d'un même filtre :

$ task list project:travaux or project:article

liste les tâches appartenant soit au projet « travaux », soit au projet « article ».

3. Projets, priorités et tags

Dans Taskwarrior, chaque tâche peut être singularisée en lui associant un projet, une priorité, des tags, des commentaires... La manière la plus naturelle de regrouper des tâches est de les associer à un projet. Pour cela, rien de plus simple :

$ task 1 modify project:fiesta

On agit sur plusieurs tâches en séparant leur numéro d'identification par des virgules :

$ task 2,3 modify project:fiesta

$ task 4 modify project:factures

On peut faire de même avec la priorité, définie comme high(H), medium(M) ou low(L) :

$ task 1,2,3 modify priority:M

$ task 4 modify priority:H

Vous avez aussi la possibilité d'affecter des tags à une tâche, que ce soit pour signaler un contexte, un temps d'exécution ou une difficulté. Par exemple :

$ task 4 modify +salon +10m +facile

Il est bien sûr possible de filtrer un rapport avec le texte d'un ou plusieurs tags.

Le shell interne

Pour éviter de taper task avant chaque commande, activez le shell interne de Taskwarrior avec la commande :

$ task shell

Le prompt de l'utilisateur laisse place au prompt suivant :

task>

Et voilà ! Attention cependant : ce shell ne permet pas l'auto-complétion ou l'historique de commandes, ni le déplacement du curseur, ce qui peut agacer à la longue. Pour quitter le shell interne :

task> quit

4. Les rapports

Pour afficher les tâches sous forme de liste, Taskwarrior est fourni avec un certain nombre de rapports pré-configurés. Un rapport est un ensemble de filtres qui affiche les tâches répondant à des critères spécifiques, avec des colonnes ou un classement particuliers. Le rapport list affiche toutes les tâches en cours avec les colonnes de base :

$ task list

4 tasks

Le rapport minimal affiche toutes les tâches, en cours ou en attente, avec moins de colonnes. Le rapport waiting regroupe toutes les tâches en attente. Il en existe bien d'autres, plus complets, comme le rapport long :

$ task long

ID Project Pri Added Started Due Recur Countdown Age Deps Tags Description14/25/2012-1dBloquer until samedi en juillet24/25/2012-1dChoisir les invités34/25/2012-1dEnvoyer les invitations44/25/2012-1dsalon 10m facile Régler la facture d'électricité

4 tasks

5. Les dépendances

Certaines tâches sont à réaliser avant d'autres. Pour cela, vous pouvez établir un lien de dépendance entre deux tâches :

$ task 2 modify depend:1

Ainsi, la tâche 2 apparaît grisée dans le rapport list : elle est bloquée. Les rapports spécifiques blocked et unblocked affichent respectivement les tâches bloquées et non bloquées par une ou plusieurs autre(s). Pour annuler une dépendance, il suffit de laisser le champ correspondant vide :

$ task 2 modify depend:

La commande info, qui affiche les particularités d'une tâche donnée, permet de vérifier notamment l'état des dépendances :

$ task info 2

6. Échéances et statuts

Pour ajouter une échéance à une tâche, il suffit de lui attribuer une valeur dans le champ due. Le format utilisé pour inscrire les dates absolues est le suivant : MM/JJ/AAAA. Mais les dates relatives sont aussi reconnues, comme mercredi prochain (wednesday), la fin du mois (eom), la fin de l'année (eoy). Ainsi :

$ task 4 due:eom

vous rappellera opportunément à la fin du mois qu'il faut régler la note d'électricité.

Une tâche entrée dans Taskwarrior est par défaut enregistrée comme étant en cours (pending). Cependant, rien ne vous empêche de la mettre en attente dès sa création :

$ task 1 wait:6/15/2012

Ainsi, la tâche mise en attente n'apparaîtra sur la liste des tâches en cours qu'à partir de la date mentionnée. Si vous ne voulez rien mettre de précis, mettez wait:later. Ceci est interprété par Taskwarrior comme étant le 18 janvier 2038... Ce qui vous laisse du temps pour réaffecter la tâche !

7. Paramétrage avancé

Dans Taskwarrior, toutes les options sont paramétrables soit directement dans le logiciel, soit en éditant le fichier .taskrc dans votre répertoire personnel. Avec Taskwarrior, tapez show pour afficher l'ensemble des paramètres de configuration. Ceux figurant en grisé sont différents des réglages par défaut. Pour modifier la commande par défaut (qui s'exécute quand vous tapez uniquement task) :

$ task config default.command list

Le rapport list s'affiche maintenant par défaut en tapant task, puis en validant.

Pour créer un nouveau rapport, ouvrez le fichier .taskrc et ajoutez quelques lignes :

report.monrapport.columns=id,project,priority,due,tags,description

définit les données des tâches à afficher et leur agencement ;

report.monrapport.labels=ID,Project,Pri,Due,Tags,Description

définit les en-têtes des colonnes ;

report.monrapoort.sort=description+,due+,tags+,priority-,project+

définit l'ordre dans lequel apparaissent les tâches, en commençant par le premier critère de la liste ;

report.monrapport.filter=status:pending due.before:tomorrow

définit les filtres du rapport.

Dorénavant, en lançant la commande task monrapport, vous afficherez une liste classique, comme avec list, mais avec les tâches classées dans l'ordre alphabétique.

8. Changer le thème

Taskwarrior est livré avec une douzaine de thèmes différents pour une meilleure visualisation (ou pour rendre le tout plus flashy, c'est selon). Ils sont stockés dans le répertoire /usr/local/share/doc/task/rc. Pour avoir un thème bleu sombre, par exemple, ajoutez à votre .taskrc :

include /usr/local/share/doc/task/rc/dark-blue-256.theme

dark-green-256

Taskwarrior avec le thème « dark green »

Conclusion

Nous avons passé en revue les bases de Taskwarrior, ainsi que les outils pour l'adapter à une utilisation personnelle. Son interface, si elle peut rebuter au début, fait aussi sa force. Les filtres permettent un tri très fin des tâches que l'on souhaite faire apparaître (projet, échéance, priorité, tags...). Enfin, la configuration des rapports vous donne carte blanche pour créer des rapports adaptés à vos besoins.

Pour aller plus loin, sachez que le site du projet Taskwarrior (http://taskwarrior.org/projects/show/taskwarrior) regorge de ressources, comme un wiki et un tutoriel complet. L'importation et l'exportation de tâches y sont aussi décrites.




Article rédigé par

Par le(s) même(s) auteur(s)

Sage : le couteau suisse des maths pour Linux

Magazine
Marque
Linux Pratique
Numéro
75
Mois de parution
janvier 2013
Spécialité(s)
Résumé
Vous souvenez-vous des laboratoires de mathématiques avec Maple ou Mathematica, au lycée, à la fac ou en école d'ingénieur ? Calcul, manipulation de matrices, dessin de fonctions... Sage est un logiciel qui vous propose une expérience et des fonctionnalités similaires à ses concurrents, mais dans le monde de l'open source. Découverte de la version 5.

Le dessin assisté par ordinateur sous Linux avec LibreCAD et FreeCAD

Magazine
Marque
Linux Pratique
Numéro
74
Mois de parution
novembre 2012
Spécialité(s)
Résumé
En architecture ou en mécanique, les logiciels de dessin assisté par ordinateur en 2D et en 3D sont indispensables. À côté des poids lourds du secteur comme CATIA, AutoCAD ou SolidWorks, il existe des alternatives pour Linux. Petit tour d'horizon de quelques fonctionnalités de LibreCAD pour la 2D et de FreeCAD pour la 3D.

I3, le « tiling window manager » pour tous

Magazine
Marque
Linux Pratique
Numéro
74
Mois de parution
novembre 2012
Spécialité(s)
Résumé

Et si vous utilisiez un gestionnaire de fenêtres minimaliste, comme les power users ? Mais vous vous dites qu'il faut apprendre un langage de programmation pour le configurer, que cela prend un temps fou... Qu'à cela ne tienne, i3 est un gestionnaire avec des fichiers de configuration en langage naturel et aux raccourcis clavier intuitifs. Présentation de la version 4.2.

Les derniers articles Premiums

Les derniers articles Premium

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Présentation de Kafka Connect

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Un cluster Apache Kafka est déjà, à lui seul, une puissante infrastructure pour faire de l’event streaming… Et si nous pouvions, d’un coup de baguette magique, lui permettre de consommer des informations issues de systèmes de données plus traditionnels, tels que les bases de données ? C’est là qu’intervient Kafka Connect, un autre composant de l’écosystème du projet.

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 60 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous