{"title":"Authentification des utilisateurs dans Django","version":"2.0","locale":"fr","docname":"topics/auth/index","url":"/fr/2.0/topics/auth/","canonical":"https://djangodocs.dev/fr/2.0/topics/auth/","summary":"Django contient un système d’authentification des utilisateurs. Il gère des comptes utilisateur, des groupes, des permissions et des sessions utilisateur basées sur…","html":"<h1>Authentification des utilisateurs dans Django<a class=\"heading-anchor\" href=\"#user-authentication-in-django\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<div class=\"toctree-wrapper compound\">\n</div>\n<p id=\"module-django.contrib.auth\">Django contient un système d’authentification des utilisateurs. Il gère des comptes utilisateur, des groupes, des permissions et des sessions utilisateur basées sur les cookies. Cette section de la documentation expose le fonctionnement par défaut de l’authentification et présente également la manière d”<a class=\"reference internal\" href=\"/fr/2.0/topics/auth/customizing/\"><span class=\"doc\">étendre et de personnaliser</span></a> ce système pour l’adapter aux besoins de votre projet.</p>\n<section id=\"overview\">\n<h2>Aperçu<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Le système d’authentification de Django gère aussi bien l’authentification que l’autorisation. En bref, l’authentification vérifie que l’utilisateur est bien celui qu’il prétend être et l’autorisation détermine ce qu’un utilisateur authentifié est autorisé à faire. Ici, nous utiliserons le terme authentification pour nous référer à ces deux tâches.</p>\n<p>Le système d’authentification consiste en :</p>\n<ul class=\"simple\">\n<li><p>Utilisateurs</p></li>\n<li><p>Permissions : drapeaux binaires (oui/non) indiquant si un utilisateur a le droit d’effectuer certaines tâches</p></li>\n<li><p>Groupes : une manière générique d’appliquer des étiquettes et des permissions à plus d’un utilisateur</p></li>\n<li><p>Un système de hachage de mots de passe configurable</p></li>\n<li><p>Outils de formulaires et de vues pour connecter les utilisateurs ou limiter l’accès au contenu</p></li>\n<li><p>Un système de moteur d’authentification enfichable</p></li>\n</ul>\n<p>Le système d’authentification de Django est conçu de manière très générique et ne fournit pas certaines fonctionnalités couramment présentes dans les systèmes d’authentification sur le Web. Des solutions pour certains de ces problèmes courants ont été implémentées dans des paquets externes :</p>\n<ul class=\"simple\">\n<li><p>Contrôle de la force des mots de passe</p></li>\n<li><p>Limitation des tentatives de connexion</p></li>\n<li><p>Authentification à des services externes (OAuth, par exemple)</p></li>\n</ul>\n</section>\n<section id=\"installation\">\n<h2>Installation<a class=\"heading-anchor\" href=\"#installation\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>La prise en charge de l’authentification est intégrée dans Django sous forme de module contribué dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code>. Par défaut, la configuration requise est déjà incluse dans le fichier <code class=\"file docutils literal notranslate\"><span class=\"pre\">settings.py</span></code> généré par la commande <a class=\"reference internal\" href=\"/fr/2.0/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">django-admin</span> <span class=\"pre\">startproject</span></code></a>. Cette configuration consiste en deux éléments figurant dans le réglage <a class=\"reference internal\" href=\"/fr/2.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>:</p>\n<ol class=\"arabic simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.auth'</span></code> contient le cœur du système d’authentification et ses modèles par défaut.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.contenttypes'</span></code> est le  <a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/contenttypes/\"><span class=\"doc\">système de types de contenu</span></a> de Django qui permet d’associer des permissions aux modèles que vous créez.</p></li>\n</ol>\n<p>et ces lignes dans le réglage <a class=\"reference internal\" href=\"/fr/2.0/ref/settings/#std-setting-MIDDLEWARE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE</span></code></a>:</p>\n<ol class=\"arabic simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/2.0/ref/middleware/#django.contrib.sessions.middleware.SessionMiddleware\" title=\"django.contrib.sessions.middleware.SessionMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SessionMiddleware</span></code></a> gère les <a class=\"reference internal\" href=\"/fr/2.0/topics/http/sessions/\"><span class=\"doc\">sessions</span></a> tout au long des requêtes.</p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/2.0/ref/middleware/#django.contrib.auth.middleware.AuthenticationMiddleware\" title=\"django.contrib.auth.middleware.AuthenticationMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AuthenticationMiddleware</span></code></a> associe les utilisateurs aux requêtes en utilisant les sessions.</p></li>\n</ol>\n<p>Avec ces réglages configurés, le lancement de la commande <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">migrate</span></code> crée les tables de base de données nécessaires pour les modèles liés à l’authentification et crée les permissions de tous les modèles définis dans les applications installées.</p>\n</section>\n<section id=\"usage\">\n<h2>Utilisation<a class=\"heading-anchor\" href=\"#usage\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/default/\"><span class=\"doc\">Utilisation de l’implémentation par défaut de Django</span></a></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/default/#user-objects\"><span class=\"std std-ref\">Manipulation des objets utilisateur</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/default/#topic-authorization\"><span class=\"std std-ref\">Permissions et autorisations</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/default/#auth-web-requests\"><span class=\"std std-ref\">Authentification dans les requêtes Web</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/default/#auth-admin\"><span class=\"std std-ref\">Gestion des utilisateurs dans le site d’administration</span></a></p></li>\n</ul>\n<p><a class=\"reference internal\" href=\"/fr/2.0/ref/contrib/auth/\"><span class=\"doc\">Référence de l’API de l’implémentation par défaut</span></a></p>\n<p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/customizing/\"><span class=\"doc\">Personnalisation des utilisateurs et de l’authentification</span></a></p>\n<p><a class=\"reference internal\" href=\"/fr/2.0/topics/auth/passwords/\"><span class=\"doc\">Gestion des mots de passe dans Django</span></a></p>\n</section>","rootId":"user-authentication-in-django","toc":[{"title":"Aperçu","anchor":"overview","children":[]},{"title":"Installation","anchor":"installation","children":[]},{"title":"Utilisation","anchor":"usage","children":[]}],"breadcrumbs":[{"docname":"topics/index","title":"Utilisation de Django","url":"/fr/2.0/topics/"}],"prev":{"docname":"topics/testing/advanced","title":"Thématiques de tests avancées","url":"/fr/2.0/topics/testing/advanced/"},"next":{"docname":"topics/auth/default","title":"Utilisation du système d’authentification de Django","url":"/fr/2.0/topics/auth/default/"},"formats":{"html":"/fr/2.0/topics/auth/","markdown":"/fr/2.0/topics/auth.md","json":"/fr/2.0/topics/auth.json"},"source":"https://github.com/django/django/blob/stable/2.0.x/docs/topics/auth/index.txt","official":"https://docs.djangoproject.com/fr/2.0/topics/auth/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}