Pour gérer mes projets personnels, j'ai longtemps utilisé l'outil Tape développé par ΛERIF°RM. J'aimais beaucoup l'aspect graphique de ce petit outil et le fait d'avoir une vue d'ensemble de mon projet.

Tape, le logiciel d'AeriformTape, le logiciel d'Aeriform

Le seul point noir est que le programme stocke l'état des différentes tâches au format JSON et il n'est pas très confortable d'essayer de lire ce type de fichier pour gérer sa to do list. Si je devais utiliser de manière temporaire un environnement de travail sur lequel Tape n'était pas installé, il m'était difficile de faire le point sur les tâches à réaliser et mettre à jour ma liste de choses à faire.

J'ai donc migré sur le format todo.txt. J'apprécie assez ces types de format de fichiers qui permettent de très vite mettre en forme du texte en utilisant uniquement son clavier sans avoir à cliquer dans des interfaces graphiques. En plus, un fichier todo.txt est complètement lisible sans passer par un logiciel. Je vous laisse jeter un oeil sur la syntaxe d'un fichier todo.txt ici.

Mais en me basant uniquement sur des fichiers todo.txt, je perdais un peu la possibilité de voir d'un coup d'oeil l'avancée de mon travail. J'ai donc imaginé un petit outil pour générer une page HTML qui affiche les tâches d'un fichier todo.txt sous forme de kanban.

Un kanban ?

Derrière ce mot étrange se cache une méthode d'organisation du travail. Pour faire simple chaque tâche est représentée par une petite carte qui va être accrochée dans différentes colonnes en fonction de son état d'avancement. La carte va ainsi naviguer depuis la colonne "A faire" vers "Fait" en passant par une colonne "En cours" et parfois "Validation". Chacune de ces colonnes représente donc une étape du cycle de vie de chaque tâche. Ce tableau permet de voir d'un coup d'oeil l'état d'avancée d'un projet.

Une image d'un kanban - source : WikipédiaUne image d'un kanban - source : Wikipédia

makeHtmlKanbanTxt.py

Logo de htmlKanbanTxt

makeHtmlKanbanTxt.py est donc un petit script python qui va générer un kanban sous forme de page HTML depuis un fichier todo.txt. Pour générer une page HTML depuis un fichier todo.txt il suffit de lancer le script ainsi

python makeHtmlKanbanTxt.py chemin/vers/le/fichier/todo.txt chemin/vers/le/fichier/à/générer.html

Un fichier html est ainsi créé dans le répertoire choisi qui peut être lu par un navigateur web.

NB : il est nécessaire d'avoir installé python 3.x afin de pouvoir utiliser ce script.

Placer les tâches dans le kanban

Un kanban généré par le script makeHtmlKanbanTxt.pyUn kanban généré par le script makeHtmlKanbanTxt.py

J'ai utilisé le système de priorité mis en place dans le format todo.txt pour définir l'état d'avancement de chaque tâche. Je ne suis pas sûr que cela respecte bien le format mais dans le même temps ça ne me semble pas totalement aberrant. Ainsi :

  • (A) est une tâche de la colonne en cours ou In progress et qu'il faut terminer avant de passer à autre chose
  • (B) est une tâches de la colonne à faire ou To Do marquées comme importantes et qui sera donc prioritaire une fois la colonne In progress vide
  • (C) est une tâche qui se trouve dans la colonne Validation, elle a été traitée mais doit être validée avant de pouvoir passer à autre chose
  • Les tâches sans marqueur d'importance sont des tâches à réaliser et son rangées dans la colonne To Do
  • Les tâches commençant par x sont terminées et par conséquent se trouvent dans la colonne Done

Le support du format todo.txt

Sont supportés dans makeHtmlKanbanTxt :

  • les priorités (qui servent à ranger les tâches dans les différentes colonnes)
  • les tags de projet +nom-du-projet
  • les tags de contexte @context

Le script makeHtmlKanbanTxt.py est open source sous licence LGPL et vous pouvez trouver le code sur GitHub.


Liens :