dans ce module complet, tu apprendras à gérer l’inscription, la connexion, la déconnexion et la réinitialisation de mot de passe de manière sécurisée. Tu découvriras comment intégrer Prisma, bcrypt, les cookies de session signés, Conform, Zod et les emails transactionnels avec Nodemailer. Crée une expérience fluide et protégée pour tes utilisateurs, avec un typage strict et une UX irréprochable.
Jusqu’ici tu as appris à créer des formulaires performants avec React Router 7, à manipuler les données côté serveur et à conteneuriser ton application.
Mais une application moderne n’est jamais complète sans une authentification sécurisée.
Ce module t’apprend à mettre en place toute la logique d’authentification complète et professionnelle :
Fonctionnalité | Contenu couvert dans le module |
---|---|
🔐 Connexion & mot de passe | Formulaires React Router + validation serveur |
🧂 Hashage | Hachage sécurisé avec bcryptjs + comparaison |
🍪 Cookies | Création de session HTTP-only + redirection |
🛑 Protection des routes | Helpers requireUser() et getOptionalUser() |
🔁 Réinitialisation | Token sécurisé + expiration + formulaire + vérification |
📧 Envoi d’e-mails | Nodemailer + SMTP + template HTML |
🔍 Sécurité UX | Pas de fuites sur l’existence d’un compte (anti-enum) |
🌐 Redirection intelligente | Retour à la page demandée après login (redirectTo ) |
🧪 Validation unifiée | Schéma Zod partagé entre client et serveur (avec Conform) |
⚙️ Variables .env | Validation typée au boot avec Zod (serverEnv ) |
L’authentification est la porte d’entrée de ton application.
Une mauvaise implémentation met en péril toute la sécurité de ta base de données. Une UX mal conçue pousse les utilisateurs à abandonner. Un oubli de redirection casse la navigation.
Ce module va plus loin que le simple formulaire de login : il t’enseigne des patterns réutilisables, des bonnes pratiques de production et une stack prête à être déployée.
Ce module suppose que tu as suivi au moins les bases de la formation :
loader
/ action
dans React Router 7À la fin du module, tu auras mis en place :
1+ Création de compte avec email unique2+ Authentification complète avec cookies sécurisés3+ Connexion/déconnexion typée4+ Protection des pages privées5+ Réinitialisation de mot de passe via e-mail sécurisé6+ Infrastructure prête à être déployée