1. Gérer une "TODO list"

1.1. Description

Pour éviter d'oublier des choses importantes à faire, je voudrais garder une une liste dans mon ordinateur. J'aimerais pouvoir ajouter des tâches, les lister, et en supprimer.

Remarque: je pourrais également utiliser cette fonctionnalité pour garder :

1.2. Objectif

Le script doit fournir une unique fonction todo qui offre 3 fonctionnalités :

Voici un exemple d'utilisation :

$ source todo.sh
$ todo list
1 - finir TP d'info202
2 - téléphoner à tata
3 - inviter Edith à manger
4 - passer la serpillère dans l'entrée
$ todo done 1
La tâche 1 (finir TP d'info202) est faite !
$ todo list
1 - téléphoner à tata
2 - inviter Edith à manger
3 - passer la serpillère dans l'entrée
$ todo add 2 réviser la chimie
La tâche "réviser la chimie" a été ajoutée en position 2.
$ todo list
1 - téléphoner à tata
2 - réviser la chimie
3 - inviter Edith à manger
4 - passer la serpillère dans l'entrée

1.3. Précisions

Votre fonction devra analyser son premier argument afin de décider quelle opération effectuer. Il faudra donc se reporter à la section arguments individuels d'une fonction et la description des conditionnelles.

Stockage des tâches

La liste des tâche doit être sauvegardée dans un fichier (caché) .todo_list qui sera stocké dans votre dossier personnel. Ce fichier contiendra une ligne par tâche, sans numéro.

Pour simplifier la gestion de ce fichier, il est conseillé de le définir dans une variable au début de votre script:

TACHES=$HOME/.todo_list

Note : la variable HOME contient le chemin absolu vers votre dossier personnel...

Manipulation du fichier

Pour manipuler les tâches, il faudra utiliser les choses suivantes.

1.4. Pour aller plus loin