TasksManager

TasksManager est un site web développé à deux dans le cadre de ma formation à l'IUT. Il permet la gestion de tâches, chacune d'elles ayant des attributs tels qu'une priorité ou une échéance. Les tâches ont aussi des dépendances entres-elles.
Le projet a été réalisé à l'aide du framework Symfony 2 et de l'ORM Doctrine pour le back-end. La bibliothèque jQuery a quant à elle servi au front-end. La technologie AJAX a aussi été utilisée pour apporter une meilleur expérience utilisateur.
Le développement a été divisé en deux parties: Alexandre Rabérin a fait le front-end et je me suis chargé de réaliser le back-end.

TasksManager en détails


Le site a nécessité la création d'un espace utilisateur et une gestion des droits, puisque l'on ne souhaite pas que les tâches des utilisateurs soient rendues publiques. Cela est facilité par Symfony, cependant il m'a fallu un certain temps pour en comprendre l'ensemble du fonctionnement.

Le site est rapidement rendu fonctionnel avec une gestion basique des tâches, chaque tâche disposant alors d'un nom, d'une priorité, d'une échéance, d'une date de début, d'une date de fin et d'une description.

Les deux éléments supplémentaires qui donnent, d'après moi, tout son intérêt au site sont : la gestion de dépendances entre les tâches et la possibilité de filtrer les tâches suivant plusieurs critères.
Le filtrage peut être réalisé suivant le nom de la tâche, sa priorité ou son échéance. Chaque attribut peut être filtré en utilisant différentes comparaisons. Ainsi, il est possible de tester si le nom contient, ne contient pas, commence ou termine par un texte précis ; si la priorité est strictement inférieure, inférieure ou égale, égale, supérieure ou égale, strictement supérieure ou différente d'un nombre ; et si l'échéance est antérieure ou ultérieure à une date.

L'AJAX a été ajouté au site pour améliorer l'expérience utilisateur. Cela permet de gérer entièrement les dépendances des tâches sans recharger de page, ainsi que de démarrer ou terminer une tâche ou de supprimer une tâche (uniquement depuis la liste des tâches) sans recharger de page.

L'intérêt du projet


Ce projet s'est révélé très intéressant car il a été pour moi le premier contact pratique avec un framework web (Symfony) ainsi qu'un ORM (Doctrine).
Il m'a aussi permis d'utiliser AJAX dans un cas concret.


Le projet est open-source. Il est disponible sur Github à l'adresse suivante : https://github.com/gupascal/TasksManager

Voir aussi un autre article sur TasksManager, écrit par Alexandre Rabérin.