Heerebout Ulrich

Todo list PHP

Description

Réalisé lors de ma formation.

Liste de tâches (To do list)

Contexte

Tante Ursule, qui est une vraie geek malgré ses 84 printemps, cherche un gestionnaire de tâches pour ne pas oublier toutes les choses importantes qu'elle doit faire, ne pouvant plus trop compter sur sa mémoire. Après un rapide benchmark, rien ne lui convient vraiment, les gestionnaires de tâches en ligne sont trop complexes à utiliser. Nous allons lui développer un outil simple et sur mesure ! :)

Fonctionnalités

1. Ajout d'une tâche

Un formulaire permettra à tante Ursule d'ajouter de nouvelles tâches. Ce formulaire devra permettre de renseigner les informations suivantes :

  • le titre de la tâche
  • la description détaillée de la tâche
  • la date butoir (deadline) avant laquelle la tâche doit être terminée
  • la priorité de la tâche (son importance) : basse, normale ou haute
2. Affichage de la liste des tâches

Les tâches seront affichées sous forme de liste de la manière suivante :

  • Le titre de la tâche est affiché
  • La description apparaît seulement au survol du titre par la souris
  • La couleur du titre renseigne sur la priorité de la tâche : - Priorité basse : en vert - Priorité normale : en noir - Priorité haute : en rouge
  • Si la date butoir de la tâche est dépassée, les mots "EN RETARD" s'afficheront après le titre de la tâche
3. Suppression des tâches

Tante Ursule souhaite pouvoir sélectionner une ou plusieurs tâches grâce à des cases à cocher, des "petits bitoniots qu'on clique" comme elle les appelle. Une fois les tâches sélectionnées, celles-ci apparaissent barrées. Un bouton permettra ensuite de les supprimer.

Indications

Pour simplifier les choses à tante Ursule, tout se fera sur la même page : affichage des tâches, formulaire d'ajout, suppression.

Il existe un champ de type date en HTML5. Ce type de champ est assez récent. Fonctionne-t-il bien sur tous les navigateurs ? Tante Ursule est encore sur un vieux Windows et pas sûr qu'elle fasse les mises à jour de son navigateur. Mieux vaut s'orienter vers une solution qui fonctionnera partout : des listes déroulantes. Une pour les jours, une pour les mois, une troisième pour les années. Cela vous semble ringard ? Jetez un œil au choix de Facebook sur la page de création de compte...

Tante Ursule ne doit pas réécrire les tâches à chaque fois qu'elle consulte le gestionnaire. Il va falloir trouver un moyen de mémoriser les données de manière "persistante"...

Connaissant tante Ursule, elle voudra certainement de nouvelles fonctionnalités plus tard : faisons en sorte que le code soit propre et facilement maintenable, organiser avec des fonctions et peut-être plusieurs fichiers.