đŸŽ€ 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à ?