Web Serveur - L2
Votre client, aprĂšs avoir trouvĂ© beaucoup trop de (mauvaises) excuses pour la gestion chaotique de son organisation, a dĂ©cidĂ© de faire appel Ă vous pour dĂ©velopper une application web collaborative de gestion de tĂąches. Des discussions interminables avec lui ont permis dâĂ©tablir un cahier des charges.
Cahier des charges
- Une tĂąche comporte un titre, , un statut (accomplie ou Ă faire) et peut avoir une description, une liste de sous-tĂąches, une liste de personnes et une liste dâĂ©quipes rattachĂ©es.
- Lâapplication doit ĂȘtre multi-utilisateurs et supporter lâauthentification et lâenregistrement.
- Un-e utilisateur/trice est une personne qui a un nom, peut avoir une description et une Ă©quipe. Elle sâauthentifie avec son e-mail et son mot de passe.
- Une Ă©quipe a un nom et une liste de personnes membres de lâĂ©quipe, elle peut ĂȘtre créée, rejointe ou quittĂ©e par une personne.
- Une personne peut ajouter, modifier ou supprimer une tĂąche.
- Une tĂąche peut-ĂȘtre assignĂ©e Ă une ou plusieurs personnes/Ă©quipe, elle peut Ă©galement ĂȘtre dĂ©sassignĂ©e ou rĂ©assignĂ©e.
- Une tĂąche peut ĂȘtre privĂ©e : visible seulement par la personne qui a créé la tĂąche et les personnes/Ă©quipes qui y ont Ă©tĂ© associĂ©es ; ou publique : visible par tout le monde.
- Une personne peut voir le profil dâune autre personne/Ă©quipe ainsi que les tĂąches publiques qui lui ont Ă©tĂ© assignĂ©es.
Quelques conseils
Avant de se mettre à développer
- Lister et détailler les entités dont vous allez avoir besoin.
- Ătablisser routes de votre application.
- Préparer les différentes vues de votre application.
Outils
Il existe plusieurs framework MVC en fonction de votre préférence de language, dans ce TP nous utiliserons Django qui est écrit en Python (documentation).
Pour démarrer
Dans le dossier de votre projet, il faudra dâabord installer Django dans un environnement virtuel.
python -m venv tp-env
# UNIX
source tp-env/bin/activate
# Windows
tp-env\Scripts\activate
python -m pip install Django
Ensuite il faut créer un projet et une application
django-admin startproject task_manager .
python manage.py startapp tasks
Vous pouvez vous inspirez du tutoriel pour les prémices application.
Travailler en groupe
Câest Ă©galement une bonne idĂ©e dâutiliser git, dâautant plus que vous pouvez vous faire un compte sur lâinstance Gitlab de lâISIMA. Cela vous permet de travailler plus facilement en groupe et de sauvegarder votre travail.
Autre
- Lisez bien le sujet et nâhĂ©sitez pas Ă me poser des questions ;
- Il nây a pas quâune solution dâimplĂ©mentation pour ce TP ;
- Je préfÚre corriger votre code que celui de ChatGPT et ses homologues.
Modalités de rendu
- Le TP se fait en binĂŽme de la mĂȘme sĂ©ance ;
- Le rendu se fait sur lâespace dĂ©diĂ© Moodle en dĂ©posant :
- Le code du projet (vous pouvez Ă©galement donner un lien fonctionnel dâun dĂ©pĂŽt git accessible);
- Un fichier
README.mdou un autre document décrivant le fonctionnement de votre application (routes, etc.) ; - Les noms, prénoms et groupes de votre binÎme ;
BarÚme général (à titre indicatif)
- Fonctionnalités (8 points) ;
- Interface utilisateur (4 points) ;
- Qualité du code (4 points) ;
- Documentation et présentation (2 points) ;
- Respect général des consignes (2 points).