Skip to content

User Story Personnelle Nicolas Martou

nmartou edited this page May 28, 2021 · 20 revisions

Listing US Personnelles

Prénom N° d'US Explication US
Arthur 4 Disponibilité de rdv
Baptiste 5 Prise de rdv
Nicolas 7 Création profil élève
Louis 10 Modification Profil

Nicolas - US 7 - En tant qu'élève inscrit je souhaite afficher mon profil afin de pouvoir avoir accès à mes informations

Explication US

Cette US mets en place une page qui prend toutes les données relative à l'élève (utilisateur) du site faisant la requête et les affiches. Ces informations seront visibles d'une certaine manière en fonction du publique qui la regardera.
Dans le cadre de cette US, l'API ira demander les informations au serveur afin qu'il renvoie les données à afficher lors du chargement du profil correspondant.

Scénarios

Premier scénario

En tant qu'étudiant connecté, je possède un nom d'utilisateur de type "user"
Quand j'accède à la page de mon profil "/espace_eleve/profil_eleve"
Alors je peux apercevoir mes données enregistrés lors de mon inscription et/ou à la modification de mes données.

Deuxième scénario

En tant qu'utilisateur non-connecté,
Lorsque je souhaite accéder à mon profil en modifiant l'url ("/espace_eleve/profil_eleve")
Alors la page du profil me redirige vers celle de connexion.

Critères d'acceptation

  • Le profil d'un élève est accessible uniquement par lui-même

  • Les données doivent être propres à chaque utilisateur qui font la requête

  • Il est accessible si l'utilisateur est connecté

Prérequis

  • La base de données doit être accessible pour récupérer les informations de l'utilisateur

  • La page doit pouvoir accepter des données entrantes

  • Le compte utilisateur doit être créé

  • L'utilisateur doit être connecté à internet et à son compte utilisateur

Emplacement

Cette page est accessible via un bouton, nommé "Profil", se situant dans la barre de navigation du site. Si l'utilisateur n'est pas connecté, le bouton se grise et n'est pas accessible. La page affiche l'espace élève et affiche le bouton "Voir Profil" permettant d'aller sur la page de la "user story".

Maquettes

Maquette affichage profil

Champs disponibles

Différentes informations devront venir de la base de données. Elles sont : le pseudo, le nom, le prénom, l'adresse mail, le mot de passe (caché), l'adresse, année d'étude (et la matière), le sexe et l'âge. La barre de navigation sera disponible à tout moment.

En cas de réussite

Toutes les informations présentes sur l'utilisateur concerné dans la base de données sont visibles sur la page (les informations plus sensibles sont cachées, par exemple le mot de passe ou encore l'adresse mail). Seul l'utilisateur concerné a accès aux informations.

En cas d'échec

En cas d'échec, l'utilisateur reçoit un message d'alerte afin de signaler le type d'erreur (500, 300, ...) et explique d'où provient l'erreur. En fonction du cas, soit l'utilisateur doit quitter la page web car elle n'est plus accessible, soit elle est redirigée vers la page d'accueil.

Une autre erreur peut subvenir dans le cas ou une personne n'est pas connecté alors la page la redirige automatiquement vers la page de connexion. Celle-ci lui permettra de se connecter et d'après seulement pouvoir accéder à son profil.

  • Exemple 1 : Si les données n'ont pas réussi à atteindre la page et à s'afficher, un message apparaît pour avertir que le processus de récupération des données n'a pas réussi et dans ce cas, la page redirige l'utilisateur vers la page d'accueil. L'utilisateur peut revenir sur la page du profil afin de retenter sa chance.

  • Exemple 2 : Si le serveur n'est plus accessible à cause d'une attaque DDos (attaque de déni de service) de celui-ci, l'utilisateur aura une page affichant l'erreur 404 signalant le fait que le serveur ou la page n'est plus accessible. Dans ce cas, l'utilisateur doit attendre que le service soit de nouveau disponible.

API et liens

Pour le profil des élèves, l'api est utilisé de différentes manières. Nous utilisons "/api/user" afin de retrouver les noms d'utilisateurs ainsi que les données liés à ceux-ci. La page est en twig donc elle joue le rôle de "front-end" tout en ajoutant les données de l'utilisateur dans les bons emplacements dans la page. Donc, au chargement de la page, twig fait appel à l'api et récupère les données correspondantes à l'utilisateur connecté.

Clone this wiki locally