Réinitialisation & gestion des mots de passe
Réinitialisation & gestion des mots de passe
Processus complets pour demander une réinitialisation, recevoir les instructions par email et définir un nouveau mot de passe en toute sécurité.
Protégez vos utilisateurs et simplifiez le parcours de récupération de mot de passe : validations, expirations, messages clairs et bonnes pratiques UX.
Ce que couvre cette page
Réinitialisation par email
Processus complet pour solliciter une réinitialisation et envoyer un lien sécurisé à l’adresse enregistrée.
Définition d’un nouveau mot de passe
Écran de définition du mot de passe avec validations, confirmations et retours utilisateurs explicites.
Scénarios OAuth & comptes créés
Cas particuliers : comptes créés automatiquement via OAuth (GitHub/GitLab) et flux spécifiques pour ces utilisateurs.
Sécurité & expirations
Liens à usage unique, durée limitée et recommandations pour invalidation des sessions après changement.
Expérience utilisateur (UX)
Messages, instructions claires, feedback immédiat et gestion des erreurs courantes.
Surveillance et prévention
Conseils pour limiter les abus (taux de requêtes), détection d’éligibilité et bonnes pratiques anti-phishing.
Conseil UX — Soyez explicite dans l'email
Indiquez clairement l’objet du message, l’adresse d’envoi, la durée de validité du lien (ex. “valide 1 heure”) et la valeur de l’action (ex. “Si vous n’avez pas demandé ce changement, ignorez cet email ou contactez le support”). Cela réduit les doutes et les heuristiques de sécurité chez l’utilisateur.
Introduction
Cette page explique, étape par étape, comment offrir un parcours de réinitialisation de mot de passe à la fois sécurisé et simple pour l’utilisateur. Vous trouverez des procédures complètes : comment demander une réinitialisation, quoi afficher dans l’email, comment guider l’utilisateur pour définir un mot de passe conforme, et quelles actions effectuer côté produit après un changement (ex. invalidation des sessions). Sont aussi traités les cas liés aux connexions via GitHub/GitLab et les comportements attendus pour les comptes auto-créés.
Workflow : Demander une réinitialisation (utilisateur) — côté interface
Step 1 — Page 'Mot de passe oublié'
Placez un lien visible « Mot de passe oublié ? » sur l’écran de connexion. Le libellé doit indiquer l’étape suivante : saisir l’email pour recevoir un lien de réinitialisation.
Step 2 — Saisie de l'email
Affichez un champ email unique. Validez côté client : format d’email correct et suppression des espaces en début/fin. Indiquez immédiatement les erreurs de format.
Step 3 — Soumission et retour
Après envoi, montrez un message neutre et sécurisé : “Si un compte existe pour cette adresse, un email a été envoyé.” N’exposez pas l’existence d’un compte pour éviter la fuite d’informations.
Step 4 — Protection contre les abus
Implémentez un mécanisme côté service pour limiter la fréquence des demandes (ex. 5 requêtes/heure par IP ou par compte). Si le seuil est atteint, affichez un message utile : “Trop de tentatives. Réessayez dans X minutes.”
Step 5 — Feedback et suivi
Proposez un lien d’aide ou un moyen de contacter le support si l’utilisateur ne reçoit pas l’email (vérifier dossier spam, adresse correcte, délai de propagation).
Workflow : Recevoir l'email et suivre le lien (utilisateur)
Step 1 — Vérifier la boîte de réception
Indiquez d’attendre quelques minutes et de vérifier le dossier spam / Promotions. Expliquez quel expéditeur s’attendre à voir et le sujet type du message.
Step 2 — Contrôles pour éviter le phishing
Dans l’email, l’utilisateur doit vérifier : l’URL de destination (dommaine officiel), l’adresse d’envoi et le texte qui explique pourquoi il reçoit l’email. Encouragez à ne jamais entrer son mot de passe si l’URL semble suspecte.
Step 3 — Date d'expiration du lien
Expliquez que le lien est à usage unique et expire rapidement (par exemple 1 heure). Si le lien est expiré, indiquer comment demander un nouveau lien.
Step 4 — Gestion d'un lien invalide
Si le lien est utilisé ou invalide, redirigez vers une page qui explique clairement la situation et propose de renvoyer une demande. N’affichez pas d’erreur technique confuse.
Workflow : Définir un nouveau mot de passe (interface de réinitialisation)
Step 1 — Présentation du formulaire
Affichez deux champs : Nouveau mot de passe et Confirmer le mot de passe. Affichez la durée restante de validité du lien si possible (ex. “Lien valide encore 45 min”).
Step 2 — Politique de mot de passe et validation instantanée
Définissez et affichez clairement les règles (ex. longueur minimale 8–12, inclusion de maj/min, chiffres, symboles si nécessaire). Offrez un retour en temps réel (barre de force + liste de règles cochées).
Step 3 — Masquer/Montrer & conseils
Ajoutez un bouton pour montrer/masquer le mot de passe, et des suggestions UX : générateur de mot de passe, copier dans le presse-papiers, ou proposer une phrase de passe.
Step 4 — Confirmation et erreurs
Vérifiez la correspondance des deux champs avant envoi. Si une règle n’est pas respectée, affichez un message précis (ex. “Le mot de passe doit contenir au moins 10 caractères”).
Step 5 — Après le succès
Après mise à jour, affichez une confirmation : “Mot de passe changé”. Recommandez à l’utilisateur de se reconnecter et invaliderez automatiquement les sessions actives pour plus de sécurité.
Step 6 — Notifications supplémentaires
Envoyez un email de notification indiquant qu’un mot de passe a été modifié. Mentionnez la date et l’heure, et proposez un lien pour contacter le support si le changement n’a pas été initié par l’utilisateur.
Conseil sécurité — Invalidation des sessions
Après un changement de mot de passe, invalidez les sessions existantes et les tokens d’accès. Informez l’utilisateur qu’il devra se reconnecter sur ses autres appareils : c’est un signal de sécurité rassurant.
Conseil UX — Rendre le formulaire résilient
- Pré-remplissez le champ email quand possible (si l’utilisateur a cliqué depuis l’email).
- Fournissez un message clair en cas de lien expiré avec un bouton unique “Renvoyer un email”.
- Affichez une estimation du temps restant pour éviter la frustration.
Attention aux comptes créés via OAuth / fournisseurs externes
Certains utilisateurs se connectent via GitHub ou GitLab et leur compte peut avoir été créé automatiquement. Ces comptes peuvent ne pas avoir de mot de passe défini ou utiliser une adresse temporaire. Dans ce cas, introduisez un flux explicite “Définir un mot de passe” avec vérification de l’email réel et instructions claires. Évitez d’autoriser la définition d’un mot de passe sans vérification de l’email.
- Flux classique : utilisateur clique “Mot de passe oublié”, saisit son email et reçoit le lien.
- Autoriser la définition immédiate du mot de passe si le lien est valide.
- Recommandations : exigence de force, force meter, invalidation des sessions.
Avant : messages vagues comme “Erreur” ou “Lien invalide”.
Après : messages clairs — “Le lien a expiré après 1 heure. Cliquez ici pour renvoyer un email.” Montrer l’étape suivante guide l’utilisateur et réduit les tickets support.
Bonnes pratiques détaillées et validations recommandées
- Expiration courte et unique : utilisez un lien à usage unique et une durée courte (par exemple 1 heure). Affichez la durée restante si possible.
- Messages non révélateurs : lors de la demande de réinitialisation, répondez toujours de façon neutre pour éviter de confirmer l’existence d’un compte.
- Validation côté client + côté service : validez les formats et la conformité aux règles de mot de passe, mais appliquez aussi des vérifications côté service pour sécurité.
- Limiter les tentatives : appliquez des limites par adresse email et par IP pour éviter les abus automatisés.
- Notifications post-changement : envoyez une notification email après toute modification de mot de passe.
- Historique et réutilisation : empêcher la réutilisation immédiate d’un ancien mot de passe (politique de rotation) si cela s’applique à votre produit.
- Afficher l’origine du compte : si un compte provient d’un fournisseur externe, informez l’utilisateur et offrez la marche à suivre pour définir un mot de passe local si souhaité.
- Aide contextuelle : proposez un lien d’aide bien visible lorsque le lien est expiré ou invalide.
Gotcha fréquent — phishing et usurpation d'email
Les attaquants peuvent envoyer des emails de phishing imitant vos messages de réinitialisation. Rappelez aux utilisateurs : jamais de demande de mot de passe par email, toujours vérifier le domaine de destination et préférer ouvrir le site manuellement plutôt que de cliquer directement si quelque chose semble suspect.
Exemples concrets de messages
- Email à l’envoi : “Demande de réinitialisation de votre mot de passe — valable 1 heure” + bouton visible “Réinitialiser mon mot de passe”.
- Page lien expiré : “Ce lien a expiré. Cliquez ici pour renvoyer un email de réinitialisation.”
- Confirmation : “Votre mot de passe a été modifié. Si vous n’êtes pas à l’origine de ce changement, contactez le support immédiatement.”
Frequently Asked Questions
Rappel pratique
Priorité à l’expérience : un processus simple et guidé réduit l’anxiété de l’utilisateur. Priorité à la sécurité : liens uniques, expiration courte, notifications et invalidation des sessions renforcent la protection.
Besoin d'aide pour affiner votre flux ?
Nous pouvons vous aider à revoir les messages, les timers d’expiration, et les règles UX pour minimiser les tickets support et maximiser la sécurité.