đ€ SCRIPT COMPLET (PRĂT Ă LIRE)¶
(Tu peux changer la maniÚre de parler : ici, ton ton est posé, professionnel et pédagogique.)
đŠ INTRO (10â15 secondes)¶
« Bonjour Ă tous, ici Yoann, dĂ©veloppeur spĂ©cialisĂ© Django, VueJS et Flutter. Bienvenue sur cette nouvelle sĂ©rie oĂč je vous montre comment construire une authentification moderne, sĂ©curisĂ©e et professionnelle avec Django Allauth. Cette vidĂ©o servira de base pour tout le reste : on va analyser et configurer ensemble Allauth, lâOTP, le WebAuthn, Axes contre les attaques brute-force, et le throttling de lâAPI. Câest exactement la configuration que jâutilise dans mes projets pro, et que jâinstalle pour mes clients. »
đŠ PLAN RAPIDE (10 secondes)¶
« Dans cette premiÚre vidéo, on va simplement lire et comprendre chaque ligne de configuration du fichier settings.py, pour savoir à quoi elle sert et pourquoi elle est importante dans un projet moderne. »
đ© PARTIE 1 â INSTALLED_APPS (2 min)¶
« On commence par
INSTALLED_APPS. Je vais passer chaque ligne qui concerne directement lâauthentification. »
Puis tu déroules la description, simple et claire :
django.contrib.sites â indispensable pour Allauth, gestion multi-domaine.
allauth, allauth.account, allauth.headless â cĆur du systĂšme dâauthentification.
allauth.mfa â ajoute le multi-facteur moderne : TOTP, WebAuthn, recovery codes.
django_otp + plugins â les fondations techniques du MFA.
axes â protection brute-force au niveau du serveur.
rest_framework + simplejwt â API + tokens.
corsheaders â indispensables si vous avez un frontend externe comme VueJS ou Flutter.
users â modĂšle utilisateur custom.
đ© PARTIE 2 â MIDDLEWARE (2 min)¶
« Ensuite, les middlewares. Ici, lâordre est vraiment important. »
Tu commentes les éléments clés :
CORS avant tout â autorise les frontends externes.
SecurityMiddleware â protections navigateur.
AccountMiddleware â couche interne Allauth.
OTPMiddleware â active le MFA au niveau de la requĂȘte.
AxesMiddleware â intercepte les tentatives de connexion.
« Tous ces middlewares travaillent ensemble pour construire une authentification solide et moderne. »
đ© PARTIE 3 â AUTHENTICATION_BACKENDS (1 min)¶
« Ensuite, les backends dâauthentification qui dĂ©finissent comment Django vĂ©rifie les identifiants. »
Puis :
AxesStandaloneBackend â bloque les attaques avant mĂȘme Django.
ModelBackend â login Django classique.
Allauth AuthenticationBackend â ajoute email-login, social login et MFA.
« Lâordre est crucial : on veut quâAxes intercepte les abus en premier. »
đ© PARTIE 4 â REST_FRAMEWORK (2 minutes)¶
« Ici on configure rĂ©ellement lâAPI, et surtout son niveau de sĂ©curitĂ©. »
Détails :
Auth par Session (Allauth Headless)
Auth par JWT (mobile + SPA)
IsAuthenticated par défaut
Format JSON uniquement
Throttling :
Anonyme â 10/min
AuthentifiĂ© â 50/min
« Câest une protection API essentielle pour limiter les abus. »
đ© PARTIE 5 â Config Allauth gĂ©nĂ©rale (2 min)¶
« Maintenant, on arrive au cĆur dâAllauth : les paramĂštres de compte et email. »
Tu lis et expliques :
Vérification email obligatoire
Expiration 1 jour
Resend email â activĂ©
Connexion uniquement via email
Champs dâinscription rĂ©duits
Activation via code â activĂ©e
Gestion avancée du rate-limiting Allauth :
login
login_failed
signup
change_password
add_email
« Câest un vrai systĂšme complet de protection anti-abus. »
đ© PARTIE 6 â MFA / OTP / WebAuthn (2 min)¶
« Passons au cĆur de la sĂ©curitĂ© moderne : la double authentification. »
Tu expliques :
TOTP avec Google Authenticator
Passkeys / WebAuthn avec Windows Hello, FaceID, TouchID
Recovery codes
Issuer = Depthlux (ton branding !)
« Le login avec Passkey, câest exactement ce que les grosses plateformes utilisent aujourdâhui. »
đ© PARTIE 7 â Allauth Headless (1 min)¶
« Si vous utilisez Vue, Flutter ou React, cette section est indispensable. »
Tu expliques :
HEADLESS_ONLY
HEADLESS_CLIENTS
HEADLESS_FRONTEND_URLS (lien vers le frontend pour reset password, signup, email confirmâŠ)
« Allauth devient totalement API-first, parfaitement compatible mobile et SPA. »
đ© PARTIE 8 â CORS (1 min)¶
Rappelle :
Pas de CORS = impossible de se connecter depuis un frontend externe.
Credentials obligatoires pour session + CSRF.
đ© PARTIE 9 â Axes (1 min)¶
« Ici on configure la protection contre les attaques par force brute. »
Tu expliques :
5 Ă©checs â blocage
cooldown 15 min
reset on success
blocage par IP
đ© PARTIE 10 â SĂ©curitĂ© Django + Sessions + CSRF (1 min)¶
Tu expliques :
HSTS
XSS
Cookies sécurisés
SameSite
CSRF cookies compatibles SPA
đŠ CONCLUSION â APPEL Ă LâACTION (30 sec)¶
« VoilĂ , vous connaissez maintenant toute la configuration nĂ©cessaire pour construire une authentification moderne avec Django : Allauth, lâOTP, WebAuthn, Axes, et le throttling API. Dans la prochaine vidĂ©o, on va implĂ©menter concrĂštement le flux dâinscription, puis le login classique, puis le MFA, et enfin le WebAuthn avec Passkeys. Si vous avez un projet Django, une API Ă sĂ©curiser, ou si vous souhaitez mettre en place une authentification professionnelle, contactez-moi : je propose des prestations et des accompagnements pour structurer vos projets. »
« Nâoubliez pas de liker, vous abonner, et on se voit dans la prochaine vidĂ©o. »
đ BONUS :¶
Si tu veux, je peux te préparer :
â Un plan complet de la sĂ©rie (8 vidĂ©os). â Le sous-titrage automatique. â La description YouTube optimisĂ©e SEO. â Le visuel miniature (prompt pour IA). â La dĂ©monstration de code Django + Vue pour la vidĂ©o 2.
Souhaites-tu lâun de ceux-lĂ ?