571d7f0402f13c792a1f6c1a5f64a151b1b1eea4
TP TAA
TP1 - TP2
Nous avons maintenant deux rôles :
-
ADMIN : correspond à l’enseignant
-
USER : correspond à l’étudiant
Pour Keycloak, il faudrait normalement créer les utilisateurs via OAuth2. Cependant, pour ce TP, nous avons utilisé directement la base de données (BDD) pour créer les utilisateurs.
Remarques sur les entités
Pour les classes Quizz, Question et Utilisateur, nous avons testé que tout fonctionne, mais elles sont liées à Utilisateur. Cela n’a pas beaucoup de sens avec les rôles USER de Keycloak et ce n’est pas l’objectif principal du TP.
Tests avec Insomnia
Pour simplifier et se concentrer sur les fonctionnalités principales, nous avons testé les classes Session et Reponse directement via Insomnia.
Utilisateur Resource
| Methode | URL | Description |
|---|---|---|
| POST | /utilisateur/create |
Créer un utilisateur (avec aussi l'id keyloak) ("name","email et "password" dans body json) |
| GET | /utilisateur/getAll |
retourn tout les utilisateurs (id, name, email) |
| GET | /utilisateur/getSessions/{session_id} |
Retourne les sessions de l'utilisateur |
| PUT | /utilisateur/addSession/{user_id}/{session_id} |
rejoint une session à la liste de l'utilisateur |
| PUT | /utilisateur/removeSession/{user_id}/{session_id} |
quite une session à la liste de l'utilisateur |
| PUT | /utilisateur/update/{user_id} |
met à jour les info de l'utilisateur ("name","email et "password" dans body json) |
| DELETE | /utilisteur/delete/{user_id}/delete |
Supprime l'utilisateur |
Session Resource
| Methode | URL | Description |
|---|---|---|
| POST | /session/create |
créer une nouvelle session ("theme":String dans body json) |
| GET | /session/getAll |
Retourne la liste des sessions |
| PUT | /session/addQuizz/{session_id}/{quizz_id} |
ajoute un quizz à la session |
| PUT | /session/removeQuizz/{session_id}/{quizz_id} |
retire un quizz à la session |
| PUT | /session/update/{session_id} |
change le thème ("theme":String dans body json) |
| PUT | /session/join/{session_id} |
l'utilisateur courant (keycloak) rejout la session |
| PUT | /session/leave/{session_id} |
l'utilisateur courant (keycloak) quitte la session |
| DELETE | /session/delete/{session_id} |
Supprime la session |
ReponseController
| Methode | URL | Description |
|---|---|---|
| POST | /reponse/create/choix |
créer un objet réponse de type choix multiple |
| POST | /reponse/create/courte |
créer un objet réponse de type réponse courte |
| GET | /reponse/getAll |
affiche l'id et les réponse correct de chaque réponse |
| GET | /reponse/get/{id_reponse} |
affiche toutes les info d'un réponse |
| DELETE | /reponse/delete/{id_reponse} |
supprime un objet réponse |
| PUT | /reponse/removeReponse/{id_reponse} |
retire une réponse correcte ("reponse" dans body json) |
| PUT | /reponse/addReponse/{id_reponse} |
ajoute une réponse correcte ("reponse" dans body json) |
| PUT | /reponse/addChoix/{id_reponse} |
ajoute un choix (réponse choix uniquement) ("choix":String dans body json) |
| PUT | /reponse/removeChoix/{id_reponse} |
retire un choix (réponse choix uniquement) ("choix":String dans body json) |
Quizz Resource
| Methode | URL | Description |
|---|---|---|
| POST | /quizz/create/{utilisateur_id} |
céer un nouveau quizz par associé à un utilisateur |
| GET | /quizz/getQuestions/{quizz_id} |
Retourne la list des questions d'un quizz |
| GET | /quizz/getAll |
Retourne toute la liste du quizz |
| PUT | /quizz/add_question/{quizz_id}/{question_id} |
Ajoute une nouvelle question au quizz |
| PUT | /quizz/removeQuestion/{quizz_id}/{question_id} |
Ajoute une nouvelle question au quizz |
| DELETE | /quizz/delete/{quizz_id} |
Suprrime le quizz |
Question Resource
| Methode | URL | Description |
|---|---|---|
| GET | /question |
Retourne toute la liste du question |
| POST | /question/create |
Créer une question ( "enonce":String dans body Json) |
| PUT | /question/update/{question_id} |
Change l'énoncé de la question ("enonce":String dans body JSON) |
| GET | /question/get/{question_id} |
donne toutes les infos de la question sous forme de String |
| GET | /question/getAll |
donne l'id et l'énoncé de toutes les questions sous forme de String |
| GET | /question/getReponse/{question_id} |
donne toutes les réponse correct sous forme de String |
| PUT | /question/setReponse/{question_id}/{reponse_id} |
met à null l'objet réponse à la question |
| PUT | /question/setReponse/{question_id}/{reponse_id} |
Associe un objet réponse à la question |
| PUT | /question/delet/{question_id} |
supprime la question |
Auteurs
-
Tuan Minh VU
-
Thibaut ROCHAS
Description