Présentation Taskwarrior
Taskwarrior
Pourquoi on accroche?

Nicolas BOSSARD.
3 Octobre 2023.
Dev and Test days Rennes
note: pres écrite avec :
- Obsidian
- plugin "advanced slides" (reveal.js)
- Press the »S« key on your keyboard to open the notes window
- Exportée ici pour partage https://github.com/nbossard/taskwarrior_pres
Qui suis-je?
Développeur chez Orange Innovation Rennes.
Intérêt particulier pour les outils :
note:
- Startup interne Mahali
- Merci à Pascal LE MERRER invit
- développeur fullstack / surveillance prod ==> beaucoup de choses à faire et penser
Les todo list
De multiples essais.
En plus de nos taiga/JIRA/gitlab...
Parfois les logiciels ont disparu / devenus payants / la liste devenait immense... / fastidieux
Et puis... taskwarrior, bizarrement le temps passe

et je l'utilise toujours tous les jours, de plus en plus!!!
??Qu'est ce qui a fait la différence??
Note:
- dans le terminal ligne de commande
- grand AMOUR : 1600 tâches créées
La beauté? l'IHM aux petits oignons? l'ergonomie? 👎

Le prix 👍
Free open source, activement maintenu.

Note:
- tourne en local
- pas d'abonnement
- https://github.com/GothenburgBitFactory/taskwarrior
- V1.0.0 2008
--
language

simplicité 👍

Note:
- utilisable immédiatement
- détailler la copie écran
--

--

mais en a sous le capot 👍
- couleur
- thèmes
- context (work / pro)
- projects
- priority (High / low /...)
- tags (PERSO/...)
- dépendances
- annotations
- ...
Note: un peu comme vim
peut s'échapper du terminal 👍
système de synchronisation intégré
task sync
- inthe.am ===> task server + disponible sur le web
- foreground ==> client android avec task sync

--

--

La vitesse 👍
1600 tâches créées
task add===> instantanétask next===> instantanétask burndown.monthly==> 1-2 secs
--
t stats
Category Data
Pending 35
Waiting 29
Recurring 0
Completed 1171
Deleted 349
Total 1584 <============== TOTAL
Annotations 695
Unique tags 38
Projects 18
Blocked tasks 6
Blocking tasks 9
Data size 5.9 MiB
Undo transactions 10642
Sync backlog transactions 430
Tasks tagged 6.94%
Oldest task 2021-04-30
Newest task 2023-06-17
Task used for 2.1y
Task added every 11h
Task completed every 15h
Task deleted every 2d
Average time pending 12d
Average desc length 43 characters
Structure de données simple et efficace 👍
4 fichiers textes
- pending.data ==> tâches à faire (taille réduite)
- completed.data ==> tâches finies (peut grossir)
- backlog.data ==> tâches à synchroniser
- undo.data ==> undo list
note:
debuggable si besoin
dans dossier ".task"
pas de bd, simple, super efficace
les super rapports 💤

note:
- task reports
- plutôt joli pour du terminal
- personnellement inutilisé, on utilise toujours le même customisé
- taper
task reportpour avoir une liste des rapports possible
--
les super rapports 💤

...j'utilise toujours le même rapport

--
Note:
task color legend
- détailler le contenu de la liste
- parler de l'ordonnancement
Fonctions clé 👍

note: parler de
- calcul de l'urgence
- système de date "due date"
- système de "wait"
- annotations
- virtual tags
--
- système de date "due date"
- système de wait
- annotations
Logiciels de l'écosystème👍
--
Ecosystème : Bugwarrior 💤
https://github.com/ralphbean/bugwarrior
Rem : seule solution pour "travailler en équipe"
note:
**installation : **
pip install bugwarrior
configuration: see file ~/.config/bugwarrior/bugwarriorrc
usage :
bugwarrior-pull --dry-run
Travail en équipe avec taskwarrior
- pas supporté actuellement
- taskserver développements en cours (https://github.com/GothenburgBitFactory/taskwarrior/discussions/2591) au point mort ??
- certains se synchronisent avec Git. cf https://taskwarrior.org/docs/workflow/
--
Ecosystème : timewarrior 💤

--
Ecosystème TUI 💤

--
Nombreux outils

Mais surtout les vôtres 👍
- hook API ==> exécution à la volée
- export ==> nouvelles présentations
--
taskwarrior hook add annotation 🪡
https://github.com/nbossard/taskwarrior-hook-addannotation
task add "Fixing MR222"
🪄HookAddAnnotation: Found prefix "MR"
🪄HookAddAnnotation: ✅ Added annotation "https://taiga.tech.orange/project/thommil-mahali-poc/merge-request/222"
Created task 73.
--
taskplantdep 🪡
https://github.com/nbossard/taskplantdep

Bref
-
super outil :
- rapide
- stable
- addictif
- riche en fonctionnalités
- extensible
-
sudo apt install taskwarrior/
brew install taskwarrior
...des questions ?
contact

@nbossard@mastodon.iriseden.eu
Slides disponibles sur mon mini-site : https://nbossard-outils.vercel.app/
https://nbossard-outils.vercel.app/
Historique de la présentation
- 2023-06-07 début écriture pres
- 2023-06-19 présentation à Vincent MAHE
- 2023-06-20 présentation à meetup software craftmen Rennes
- 2023-10-03 présentation aux dev and test days à Rennes
Note présentation 2023-06-20
Questions :
- TODO : Parler de mon rapport "task daily" pour le daily meeting.
TODO : améliorer résolution image timewarrior
Question : comment collaborer à plusieurs avec taskwarrior.
===> cf ci dessous
Question : comment faire du GTD ? estimer la charge d'une tâche.
===> utiliser les UDA User defined attributes, creuser le sujet
Suggestion: regarder "org.mode" (univers emacs, alternative à obsidian)
--
Travail en équipe avec taskwarrior
- pas supporté actuellement
- taskserver développements en cours (https://github.com/GothenburgBitFactory/taskwarrior/discussions/2591) au point mort ??
- certains se synchronisent avec Git. cf https://taskwarrior.org/docs/workflow/
--
GTD avec taskwarrior
utiliser les UDA User defined attributes?
cf https://cs-syd.eu/posts/2015-06-21-gtd-with-taskwarrior-part-2-collection