Us Perso ‐ modifier le profil - loyde07/RDI25 GitHub Wiki
- Us Perso USR04 - En tant que joueur, je souhaite modifier mes informations afin de garder mon profil à jour
Code USR04
Liens vers le commit: de la user story USR04
Liens vers la User story : USR04
Valeur pour le client
Permet à un joueur/utilisateur connecté de corriger ou mettre à jour ses informations personnelles (nom, prénom, pseudo, mot de passe), ce qui est indispensable dans une app moderne respectant les bonnes pratiques de gestion de compte.
Description complète
Cette User Story permet à un utilisateur authentifié de modifier les informations de son profil via une interface dédiée.
- Accessible uniquement aux utilisateurs connectés.
- Affiche un formulaire pré-rempli avec les informations actuelles.
- Permet de modifier :
- nom
- prénom
- pseudo
- mot de passe (optionnel avec confirmation)
- En cas de succès, redirection vers le dashboard.
- Affichage d’erreurs en cas de mot de passe non confirmé ou autre échec backend.
- Sécurisé via un token JWT (authentification obligatoire).
- Met à jour les données dans la base via une API
PUT /updateProfile
. - la possibilité d'annuler la modification en cours.
Maquette
Page de compte utilisateur
/dashboard
Accessible une fois l'utilisateur inscrit, authentifier et connecté
- l'icone qui permet d'importer une image, pour la photo de profile
- un bouton modifier profile pour accéder à la page dédié
Page de modification du profil
/editProfile
Accéssible depuis la page de profil
- On y trouve les différents champs à modifier qui correspondent aux données de l'utilisateur
- les champs sont préremplis par les données de l'utilisateur
- la confirmation par double mot de passe
- Une mesure de la force du mot de passe mis à jour
- Un bouton pour annuler les modification et retourner à la page de profile
Références / Dépendances
- Dépend de :
Critères d’acceptation (scénarios)
- Connexion requise: L’utilisateur ne peut accéder à la page que s’il est connecté
- Formulaire pré-rempli: Le formulaire affiche les infos actuelles
- Modification réussie: Si les champs sont valides, les données sont mises à jour en base
- Mot de passe cohérent: Si un nouveau mot de passe est saisi,
confirmPassword
doit correspondre - Feedback utilisateur: Messages de succès ou d’erreur affichés via
toast
- Redirection: Après mise à jour, redirection vers
/dashboard
Découpage en tâches techniques
PUT /updateProfile
Créer la route -
Sécurisée par
verifyToken
, récupère l’ID utilisateur depuis le token et met à jour les champs reçus -
modules :
JWT, express
updateProfile
Implémenter le controller -
Met à jour en base après validation, hash le mot de passe si fourni
-
modules:
bcrypt, mongoose
Créer le formulaire React
-
Affiche les données actuelles dans les inputs
-
module:
AuthContext
handleUpdateProfile
Gérer l’envoi avec -
Vérifie les mots de passe, appelle la méthode API
-
module:
axios
updateProfile()
dans le store Zustand
Ajouter la méthode -
Met à jour le state global après succès
-
module:
Zustand, axios
Affichage des feedbacks
- Messages de succès ou d’erreur via
toast
-module: Zustand, Toast
Complexité et durée estimée
- Complexité : moyenne
- Durée estimée : 1 journée complète (6–8h)
- Frontend : ~3h
- Backend : ~2h