{"title":"Django avec Apache et mod_wsgi","version":"5.2","locale":"fr","docname":"howto/deployment/wsgi/modwsgi","url":"/fr/5.2/howto/deployment/wsgi/modwsgi/","canonical":"https://djangodocs.dev/fr/5.2/howto/deployment/wsgi/modwsgi/","summary":"Le déploiement de Django avec Apache et mod_wsgi est une manière éprouvée de mettre Django en production. mod_wsgi est un module Apache qui peut héberger n’importe…","html":"<h1>Django avec Apache et <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#how-to-use-django-with-apache-and-mod-wsgi\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Le déploiement de Django avec <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a> et <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/\">mod_wsgi</a> est une manière éprouvée de mettre Django en production.</p>\n<p>mod_wsgi est un module Apache qui peut héberger n’importe quelle application <a class=\"reference external\" href=\"https://wsgi.readthedocs.io/en/latest/\">WSGI</a> Python, y compris Django. Django fonctionne avec toute version d’Apache qui prend en charge mod_wsgi.</p>\n<p>La <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/installation.html\">documentation officielle de mod_wsgi</a> représente la source ultime pour tout détail sur la manière d’utiliser mod_wsgi. Le point de départ le plus pertinent est la <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/\">documentation d’installation et de configuration</a>.</p>\n<section id=\"basic-configuration\">\n<h2>Configuration de base<a class=\"heading-anchor\" href=\"#basic-configuration\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Après avoir installé et activé mod_wsgi, modifiez le fichier <a class=\"reference external\" href=\"https://cwiki.apache.org/confluence/display/httpd/DistrosDefaultLayout\">httpd.conf</a> du serveur Apache et ajoutez ce qui suit.</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span>/<span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span>\n<span class=\"nb\">WSGIPythonHome</span><span class=\"w\"> </span><span class=\"sx\">/path/to/venv</span>\n<span class=\"nb\">WSGIPythonPath</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/mysite</span><span class=\"nt\">&gt;</span>\n<span class=\"nt\">&lt;Files</span><span class=\"w\"> </span><span class=\"s\">wsgi.py</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Files&gt;</span>\n<span class=\"nt\">&lt;/Directory&gt;</span>\n</code></pre></div>\n<p>Le premier élément de la ligne <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIScriptAlias</span></code> est l’URL de base à laquelle vous souhaitez servir votre application (<code class=\"docutils literal notranslate\"><span class=\"pre\">/</span></code> indique l’URL racine) ; le second élément est l’emplacement d’un « fichier WSGI » (voir ci-dessous) de votre système, en principe à l’intérieur de votre paquet de projet (<code class=\"docutils literal notranslate\"><span class=\"pre\">mysite</span></code> dans cet exemple). Cela indique à Apache qu’il doit servir toute requête au-dessous de l’URL donnée en utilisant l’application WSGI définie dans ce fichier.</p>\n<p>Si vous installez les dépendances Python de votre projet dans un <a class=\"reference external\" href=\"https://docs.python.org/3/library/venv.html#module-venv\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">environnement</span> <span class=\"pre\">virtuel</span></code></a>, ajoutez le chemin dans <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonHome</span></code>. Consultez le <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html\">guide d’environnement virtuel mod_wsgi</a> pour plus de détails.</p>\n<p>La ligne <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonPath</span></code> permet d’assurer que le paquet de votre projet soit disponible à l’importation dans le chemin Python ; en d’autres termes, pour que <code class=\"docutils literal notranslate\"><span class=\"pre\">import</span> <span class=\"pre\">mysite</span></code> fonctionne.</p>\n<p>L’élément <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;Directory&gt;</span></code> garantit qu’Apache a accès à votre fichier <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>.</p>\n<p>Ensuite, il faut s’assurer que ce fichier <code class=\"file docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code> contenant l’application WSGI existe bel et bien. À partir de la version 1.4 de Django, <a class=\"reference internal\" href=\"/fr/5.2/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">startproject</span></code></a> en crée un pour vous ; sinon, vous devrez le créer vous-même. Consultez la <a class=\"reference internal\" href=\"/fr/5.2/howto/deployment/wsgi/\"><span class=\"doc\">documentation générale de WSGI</span></a> pour connaître le contenu par défaut à placer dans ce fichier ainsi que les éléments optionnels.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Avertissement</p>\n<p>Si plusieurs sites Django sont exécutés dans un seul processus mod_wsgi, ils vont tous utiliser les réglages de celui qui est lancé en premier. Cela peut être corrigé en changeant :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"o\">.</span><span class=\"n\">setdefault</span><span class=\"p\">(</span><span class=\"s2\">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;{{ project_name }}.settings&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>dans <code class=\"docutils literal notranslate\"><span class=\"pre\">wsgi.py</span></code>, en :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"p\">[</span><span class=\"s2\">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;{{ project_name }}.settings&quot;</span>\n</code></pre></div>\n<p>ou en <a class=\"reference internal\" href=\"#daemon-mode\"><span class=\"std std-ref\">utilisant le mode daemon de mod_wsgi</span></a> et en prenant soin de faire tourner chaque site dans son propre processus daemon.</p>\n</aside>\n<aside class=\"admonition-fixing-unicodeencodeerror-for-file-uploads admonition\">\n<p class=\"admonition-title\">Résolution des erreurs <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> pour les envois de fichiers</p>\n<p>Si vous obtenez des erreurs <code class=\"docutils literal notranslate\"><span class=\"pre\">UnicodeEncodeError</span></code> lors de l’envoi ou de l’écriture de fichiers contenant des caractères non ASCII dans leur titre ou leur contenu, vérifiez que Apache est configuré pour prendre en charge le codage UTF-8 :</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"nb\">export</span><span class=\"w\"> </span><span class=\"nv\">LANG</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n<span class=\"nb\">export</span><span class=\"w\"> </span><span class=\"nv\">LC_ALL</span><span class=\"o\">=</span><span class=\"s1\">&#39;en_US.UTF-8&#39;</span>\n</code></pre></div>\n<p>Cette configuration se trouve habituellement dans <code class=\"docutils literal notranslate\"><span class=\"pre\">/etc/apache2/envvars</span></code>.</p>\n<p>Il est aussi possible, dans le cas où le <span class=\"xref std std-ref\">mode service mod_wsgi</span> est utilisé, d’ajouter les options  <code class=\"docutils literal notranslate\"><span class=\"pre\">lang</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">locale</span></code> à la directive <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code>:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Text code\"><code>WSGIDaemonProcess example.com lang=&#39;en_US.UTF-8&#39; locale=&#39;en_US.UTF-8&#39;\n</code></pre></div>\n<p>Consultez la section <a class=\"reference internal\" href=\"/fr/5.2/ref/unicode/#unicode-files\"><span class=\"std std-ref\">Fichiers</span></a> du guide de référence Unicode pour plus de détails.</p>\n</aside>\n</section>\n<section id=\"using-mod-wsgi-daemon-mode\">\n<span id=\"daemon-mode\"></span><h2>Utilisation du mode daemon de <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#using-mod-wsgi-daemon-mode\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Le « mode daemon » est le mode recommandé pour le fonctionnement de mod_wsgi (sur les plates-formes non Windows). Pour créer le groupe de processus daemon nécessaire et y installer l’instance Django, vous devez ajouter les directives <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIProcessGroup</span></code> appropriées. Une autre modification nécessaire à la configuration ci-dessus si vous utilisez le mode daemon est due à ce qu’il n’est pas possible d’utiliser  <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIPythonPath</span></code> ; vous devez la remplacer par l’option <code class=\"docutils literal notranslate\"><span class=\"pre\">python-path</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIDaemonProcess</span></code>, par exemple :</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIDaemonProcess</span><span class=\"w\"> </span>example.com<span class=\"w\"> </span>python-home=/path/to/venv<span class=\"w\"> </span>python-path=/path/to/mysite.com\n<span class=\"nb\">WSGIProcessGroup</span><span class=\"w\"> </span>example.com\n</code></pre></div>\n<p>Si vous voulez que votre projet soit dans un sous-répertoire (<code class=\"docutils literal notranslate\"><span class=\"pre\">https://example.com/mysite</span></code> dans cet exemple), vous pouvez ajouter <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIScriptAlias</span></code> à la configuration ci-dessus:</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span><span class=\"sx\">/mysite</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span><span class=\"w\"> </span>process-group=example.com\n</code></pre></div>\n<p>Consultez la documentation officielle de mod_wsgi pour plus de <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html#delegation-to-daemon-process\">détails sur la configuration du mode daemon</a>.</p>\n</section>\n<section id=\"serving-files\">\n<span id=\"id1\"></span><h2>Service de fichiers<a class=\"heading-anchor\" href=\"#serving-files\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django ne sert pas lui-même des fichiers ; il délègue ce travail au serveur Web de votre choix.</p>\n<p>Nous recommandons l’utilisation d’un serveur Web dédié (donc pas celui qui fait aussi tourner Django) pour servir des fichiers statiques. Voici quelques bons choix  :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference external\" href=\"https://nginx.org/en/\">Nginx</a></p></li>\n<li><p>Une version allégée d”<a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a></p></li>\n</ul>\n<p>Si toutefois vous n’avez pas d’autre choix que de servir les fichiers statiques dans le même <code class=\"docutils literal notranslate\"><span class=\"pre\">VirtualHost</span></code> Apache que Django, vous pouvez configurer Apache pour qu’il réserve certaines URL au service de fichiers statiques, tout en gardant le reste pour l’interface mod_wsgi de Django.</p>\n<p>Cet exemple définit Django comme site racine, mais sert <code class=\"docutils literal notranslate\"><span class=\"pre\">robots.txt</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">favicon.ico</span></code> et toutes les URL commençant pas <code class=\"docutils literal notranslate\"><span class=\"pre\">/static/</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">/media/</span></code> comme fichiers statiques. Toutes les autres URL sont servies par mod_wsgi :</p>\n<div class=\"code-block\" data-language=\"apache\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Apache</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Apache code\"><code><span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/robots.txt</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/robots.txt</span>\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/favicon.ico</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/favicon.ico</span>\n\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/media/</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/media/</span>\n<span class=\"nb\">Alias</span><span class=\"w\"> </span><span class=\"sx\">/static/</span><span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/static/</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/static</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Directory&gt;</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/media</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Directory&gt;</span>\n\n<span class=\"nb\">WSGIScriptAlias</span><span class=\"w\"> </span>/<span class=\"w\"> </span><span class=\"sx\">/path/to/mysite.com/mysite/wsgi.py</span>\n\n<span class=\"nt\">&lt;Directory</span><span class=\"w\"> </span><span class=\"s\">/path/to/mysite.com/mysite</span><span class=\"nt\">&gt;</span>\n<span class=\"nt\">&lt;Files</span><span class=\"w\"> </span><span class=\"s\">wsgi.py</span><span class=\"nt\">&gt;</span>\n<span class=\"nb\">Require</span><span class=\"w\"> </span><span class=\"k\">all</span><span class=\"w\"> </span>granted\n<span class=\"nt\">&lt;/Files&gt;</span>\n<span class=\"nt\">&lt;/Directory&gt;</span>\n</code></pre></div>\n</section>\n<section id=\"serving-the-admin-files\">\n<span id=\"id3\"></span><h2>Service des fichiers de l’interface d’administration<a class=\"heading-anchor\" href=\"#serving-the-admin-files\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Lorsque <a class=\"reference internal\" href=\"/fr/5.2/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code></a> figure dans <a class=\"reference internal\" href=\"/fr/5.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>, le serveur de développement de Django sert automatiquement les fichiers statiques de l’application d’administration (et de toute autre application installée). Mais ce n’est plus le cas dès que vous utilisez une autre configuration de serveur. C’est vous qui êtes responsable de la configuration d’Apache ou de tout autre serveur Web qui vous convient afin de servir les fichiers de l’application d’administration.</p>\n<p>Les fichiers statiques de l’administration se trouvent dans la distribution de Django (<a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.2.x/django/contrib/admin/static/admin\">django/contrib/admin/static/admin</a>).</p>\n<p>Nous recommandons <strong>chaudement</strong> d’utiliser <a class=\"reference internal\" href=\"/fr/5.2/ref/contrib/staticfiles/#module-django.contrib.staticfiles\" title=\"django.contrib.staticfiles: An app for handling static files.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles</span></code></a> pour gérer les fichiers de l’administration (en compagnie d’un serveur Web comme indiqué dans la précédente section ; cela implique l’utilisation de la commande de gestion <a class=\"reference internal\" href=\"/fr/5.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> afin de rassembler les fichiers statiques dans <a class=\"reference internal\" href=\"/fr/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a>, puis de configurer le serveur Web pour servir  <a class=\"reference internal\" href=\"/fr/5.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> à l’URL <a class=\"reference internal\" href=\"/fr/5.2/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a>), mais voici trois autres approches possibles :</p>\n<ol class=\"arabic simple\">\n<li><p>Créer un lien symbolique vers les fichiers statiques de l’administration dans votre racine de documents (ce qui peut nécessiter l’ajout de <code class=\"docutils literal notranslate\"><span class=\"pre\">+FollowSymLinks</span></code> dans votre configuration Apache).</p></li>\n<li><p>Utilisez une directive <code class=\"docutils literal notranslate\"><span class=\"pre\">Alias</span></code>, comme démontré ci-dessus, pour associer l’URL appropriée (probablement <a class=\"reference internal\" href=\"/fr/5.2/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> + <code class=\"docutils literal notranslate\"><span class=\"pre\">admin/</span></code>) à l’emplacement réel des fichiers de l’interface d’administration.</p></li>\n<li><p>Copier les fichiers statiques de l’administration pour les placer dans la racine des documents Apache.</p></li>\n</ol>\n</section>\n<section id=\"authenticating-against-django-s-user-database-from-apache\">\n<h2>Authentification sur la base de données des utilisateurs de Django depuis Apache<a class=\"heading-anchor\" href=\"#authenticating-against-django-s-user-database-from-apache\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django met à disposition un gestionnaire pour permettre à Apache d’authentifier les utilisateurs directement avec les moteurs d’authentification de Django. Consultez la <a class=\"reference internal\" href=\"/fr/5.2/howto/deployment/wsgi/apache-auth/\"><span class=\"doc\">documentation d’authentification mod_wsgi</span></a>.</p>\n</section>","rootId":"how-to-use-django-with-apache-and-mod-wsgi","toc":[{"title":"Configuration de base","anchor":"basic-configuration","children":[]},{"title":"Utilisation du mode daemon de mod_wsgi","anchor":"using-mod-wsgi-daemon-mode","children":[]},{"title":"Service de fichiers","anchor":"serving-files","children":[]},{"title":"Service des fichiers de l’interface d’administration","anchor":"serving-the-admin-files","children":[]},{"title":"Authentification sur la base de données des utilisateurs de Django depuis Apache","anchor":"authenticating-against-django-s-user-database-from-apache","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Guides pratiques","url":"/fr/5.2/howto/"},{"docname":"howto/deployment/index","title":"Comment déployer Django","url":"/fr/5.2/howto/deployment/"},{"docname":"howto/deployment/wsgi/index","title":"Comment déployer avec WSGI","url":"/fr/5.2/howto/deployment/wsgi/"}],"prev":{"docname":"howto/deployment/wsgi/uwsgi","title":"Déploiement de Django avec uWSGI","url":"/fr/5.2/howto/deployment/wsgi/uwsgi/"},"next":{"docname":"howto/deployment/wsgi/apache-auth","title":"Authentification sur la base de données des utilisateurs de Django depuis Apache","url":"/fr/5.2/howto/deployment/wsgi/apache-auth/"},"formats":{"html":"/fr/5.2/howto/deployment/wsgi/modwsgi/","markdown":"/fr/5.2/howto/deployment/wsgi/modwsgi.md","json":"/fr/5.2/howto/deployment/wsgi/modwsgi.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/howto/deployment/wsgi/modwsgi.txt","official":"https://docs.djangoproject.com/fr/5.2/howto/deployment/wsgi/modwsgi/","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","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}