{"title":"Comment installer Django","version":"2.2","locale":"fr","docname":"topics/install","url":"/fr/2.2/topics/install/","canonical":"https://djangodocs.dev/fr/2.2/topics/install/","summary":"Ce document a pour but de vous préparer à faire fonctionner Django. Installation de Python Lien vers cette rubrique # Django est un cadriciel Web Python. Voir…","html":"<h1>Comment installer Django<a class=\"heading-anchor\" href=\"#how-to-install-django\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Ce document a pour but de vous préparer à faire fonctionner Django.</p>\n<section id=\"install-python\">\n<h2>Installation de Python<a class=\"heading-anchor\" href=\"#install-python\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django est un cadriciel Web Python. Voir <a class=\"reference internal\" href=\"/fr/2.2/faq/install/#faq-python-version-support\"><span class=\"std std-ref\">Quelle version de Python puis-je utiliser avec Django ?</span></a> pour plus de détails.</p>\n<p>Obtenez la dernière version de Python à l’adresse <a class=\"reference external\" href=\"https://www.python.org/downloads/\">https://www.python.org/downloads/</a> ou par l’intermédiaire du gestionnaire des paquets de votre système.</p>\n<aside class=\"admonition-django-on-jython admonition\">\n<p class=\"admonition-title\">Django sur Jython</p>\n<p><a class=\"reference external\" href=\"http://www.jython.org/\">Jython</a> (une implémentation en Python pour la plate-forme Java) n’est pas compatible avec Python 3, ce qui fait que Django ≥ 2.0 ne fonctionne pas avec Jython.</p>\n</aside>\n<aside class=\"admonition-python-on-windows admonition\">\n<p class=\"admonition-title\">Python sur Windows</p>\n<p>Si vous êtes débutant avec Django et que vous utilisez Windows, cette documentation peut être utile : <a class=\"reference internal\" href=\"/fr/2.2/howto/windows/\"><span class=\"doc\">Comment installer Django avec Windows</span></a>.</p>\n</aside>\n</section>\n<section id=\"install-apache-and-mod-wsgi\">\n<h2>Installation de Apache et <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code><a class=\"heading-anchor\" href=\"#install-apache-and-mod-wsgi\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Si vous voulez juste faire quelques expériences avec Django, passez directement à la section suivante ; Django inclut un serveur Web léger utilisable pour les tests, il n’est donc pas utile de configurer Apache tant que vous ne souhaitez pas déployer Django en production.</p>\n<p>Si vous souhaitez utiliser Django sur un site en production, utilisez <a class=\"reference external\" href=\"https://httpd.apache.org/\">Apache</a> avec <a class=\"reference external\" href=\"https://modwsgi.readthedocs.io/en/develop/\">mod_wsgi</a>. mod_wsgi fonctionne dans deux modes : un mode intégré et un mode démon. Dans le mode intégré, mod_wsgi est comparable à mod_perl, il intègre Python dans Apache et charge le code Python en mémoire au démarrage du serveur. Le code reste en mémoire tout au long du cycle de vie du processus Apache, ce qui apporte des améliorations de performance significatives en comparaison d’autres configurations. En mode démon, mod_wsgi délègue la gestion des requêtes à un processus démon indépendant. Ce processus peut fonctionner sous un nom d’utilisateur différent de celui du serveur Web, ce qui peut améliorer la sécurité. D’autre part, le processus peut être redémarré sans devoir redémarrer tout le serveur Web Apache, ce qui peut simplifier la mise à jour de code. Consultez la documentation de mod_wsgi pour déterminer le mode qui vous conviendra le mieux. Assurez-vous que Apache est installé et que son module mod_wsgi est activé. Django fonctionne avec toute version d’Apache qui prend en charge mod_wsgi.</p>\n<p>Consultez <a class=\"reference internal\" href=\"/fr/2.2/howto/deployment/wsgi/modwsgi/\"><span class=\"doc\">Comment utiliser Django avec mod_wsgi</span></a> pour plus d’informations sur la façon de configurer mod_wsgi après l’avoir installé.</p>\n<p>Si vous n’avez pas la possibilité d’utiliser mod_wsgi, ne désespérez pas : Django prend en charge beaucoup d’autres scénarios de déploiement. L’un d’entre eux est <a class=\"reference internal\" href=\"/fr/2.2/howto/deployment/wsgi/uwsgi/\"><span class=\"doc\">uWSGI</span></a> ; il fonctionne très bien avec <a class=\"reference external\" href=\"https://nginx.org/\">nginx</a>. De plus, Django respecte la spécification WSGI (<span class=\"target\" id=\"index-2\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-3333/\"><strong>PEP 3333</strong></a>) ce qui permet de le faire fonctionner sur diverses plates-formes serveurs.</p>\n</section>\n<section id=\"get-your-database-running\">\n<span id=\"database-installation\"></span><h2>Mise en route de la base de données<a class=\"heading-anchor\" href=\"#get-your-database-running\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Si vous prévoyez d’utiliser la fonctionnalité base de données de Django, vous devez faire le nécessaire pour qu’une base de données soit fonctionnelle. Django sait gérer plusieurs serveurs de bases de données différents ; officiellement, il prend en charge <a class=\"reference external\" href=\"https://www.postgresql.org/\">PostgreSQL</a>, <a class=\"reference external\" href=\"https://www.mysql.com/\">MySQL</a>, <a class=\"reference external\" href=\"https://www.oracle.com/\">Oracle</a> et <a class=\"reference external\" href=\"https://www.sqlite.org/\">SQLite</a>.</p>\n<p>Si vous développez un projet simple ou quelque chose que vous ne prévoyez pas de déployer dans un environnement de production, SQLite est généralement l’option la plus simple car elle n’exige pas de serveur séparé. Cependant, SQLite comporte beaucoup de différences en comparaison d’autres bases de données et si vous travaillez sur un projet un peu conséquent, il est recommandé de développer avec la même base de données qui sera utilisée en production.</p>\n<p>En plus des bases de données prises en charge officiellement, il existe des <a class=\"reference internal\" href=\"/fr/2.2/ref/databases/#third-party-notes\"><span class=\"std std-ref\">moteurs externes à Django</span></a> qui permettent d’utiliser d’autres bases de données avec Django.</p>\n<p>En plus du moteur de base de données, il est aussi nécessaire de vérifier que les liaisons Python pour la base de données sont installées.</p>\n<ul class=\"simple\">\n<li><p>Si vous utilisez PostgreSQL, vous avez besoin du paquet <a class=\"reference external\" href=\"http://initd.org/psycopg/\">psycopg2</a>. Vous pouvez consultez les <a class=\"reference internal\" href=\"/fr/2.2/ref/databases/#postgresql-notes\"><span class=\"std std-ref\">notes sur PostgreSQL</span></a> pour plus de détails.</p></li>\n<li><p>Si vous utilisez MySQL, vous aurez besoin d’une <a class=\"reference internal\" href=\"/fr/2.2/ref/databases/#mysql-db-api-drivers\"><span class=\"std std-ref\">API de driver de BDD</span></a> comme <code class=\"docutils literal notranslate\"><span class=\"pre\">mysqlclient</span></code>. Voir <a class=\"reference internal\" href=\"/fr/2.2/ref/databases/#mysql-notes\"><span class=\"std std-ref\">notes pour le backend MySQL</span></a> pour plus de détails.</p></li>\n<li><p>Si vous utilisez SQLite, il est recommandé de lire les <a class=\"reference internal\" href=\"/fr/2.2/ref/databases/#sqlite-notes\"><span class=\"std std-ref\">notes du moteur SQLite</span></a>.</p></li>\n<li><p>Si vous utilisez Oracle, vous aurez besoin d’une copie de <a class=\"reference external\" href=\"https://oracle.github.io/python-cx_Oracle/\">cx_Oracle</a>, mais veuillez lire les <a class=\"reference internal\" href=\"/fr/2.2/ref/databases/#oracle-notes\"><span class=\"std std-ref\">notes spécifiques pour le moteur de base de données Oracle</span></a> pour les détails concernant les versions prises en charge d’Oracle et de <code class=\"docutils literal notranslate\"><span class=\"pre\">cx_Oracle</span></code>.</p></li>\n<li><p>Si vous utilisez un moteur externe non officiel, consultez la documentation qui l’accompagne pour d’éventuels contraintes supplémentaires.</p></li>\n</ul>\n<p>Si vous pensez utiliser la commande de Django <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">migrate</span></code> pour créer automatiquement les tables de base de données pour vos modèles (après la fin de l’installation de Django et la création d’un projet), vous devez vous assurer que Django possède les permissions de créer et modifier les tables dans la base de données que vous utilisez ; si vous pensez créer manuellement les tables, il suffit alors d’attribuer à Django les permissions <code class=\"docutils literal notranslate\"><span class=\"pre\">SELECT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">INSERT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">UPDATE</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">DELETE</span></code>. Après avoir créé un utilisateur de base de données possédant ces permissions, il s’agira d’indiquer les détails de connexion dans le fichier de réglages de votre projet, voir <a class=\"reference internal\" href=\"/fr/2.2/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATABASES</span></code></a> pour les détails.</p>\n<p>Si vous utilisez l”<a class=\"reference internal\" href=\"/fr/2.2/topics/testing/\"><span class=\"doc\">infrastructure de test</span></a> de Django pour tester les requêtes de bases de données, Django aura besoin des permissions nécessaires pour créer une base de données de test.</p>\n</section>\n<section id=\"install-the-django-code\">\n<span id=\"install-django-code\"></span><h2>Installation du code de Django<a class=\"heading-anchor\" href=\"#install-the-django-code\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les instructions d’installation divergent légèrement selon que vous installez un paquet de votre distribution, que vous téléchargez la dernière version officielle ou que vous récupériez la dernière version en développement.</p>\n<p>C’est facile, quelle que soit la méthode choisie.</p>\n<section id=\"installing-an-official-release-with-pip\">\n<span id=\"installing-official-release\"></span><h3>Installation d’une version officielle avec<a class=\"heading-anchor\" href=\"#installing-an-official-release-with-pip\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>C’est la façon recommandée d’installer Django.</p>\n<ol class=\"arabic\">\n<li><p>Installez <a class=\"reference external\" href=\"https://pip.pypa.io/\">pip</a>. La manière la plus simple est d’utiliser l”<a class=\"reference external\" href=\"https://pip.pypa.io/en/latest/installing/#installing-with-get-pip-py\">installeur pip autonome</a>. Si votre distribution contient déjà une version installée de <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code>, il pourrait être nécessaire de la mettre à jour si elle est trop ancienne. Dans ce cas, vous le verrez bien car l’installation ne fonctionnera pas.</p></li>\n<li><p>Jetez un œil à <a class=\"reference external\" href=\"https://virtualenv.pypa.io/\">virtualenv</a> et <a class=\"reference external\" href=\"https://virtualenvwrapper.readthedocs.io/en/latest/\">virtualenvwrapper</a>. Ces outils fournissent des environnements Python isolés qui sont bien plus pratiques que d’installer des paquets au niveau de tout le système. Ils permettent aussi d’installer des paquets sans avoir besoin de privilèges administrateurs. Le <a class=\"reference internal\" href=\"/fr/2.2/intro/contributing/\"><span class=\"doc\">tutoriel de contribution</span></a> vous guide pour la création d’un environnement virtualenv.</p></li>\n<li><p>Après avoir créé et activé un environnement virtuel, entrez la commande :</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><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=\"gp\">$ </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>Django\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> pip install Django\n</code></pre></div></div></div>\n</li>\n</ol>\n</section>\n<section id=\"installing-a-distribution-specific-package\">\n<span id=\"installing-distribution-package\"></span><h3>Installation d’un paquet de la distribution<a class=\"heading-anchor\" href=\"#installing-a-distribution-specific-package\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Parcourez les <a class=\"reference internal\" href=\"/fr/2.2/misc/distributions/\"><span class=\"doc\">notes spécifiques aux distributions</span></a> pour vérifier que votre plate-forme/distribution propose des paquets ou installeurs officiels de Django. Les paquets fournis par les distributions permettent généralement de profiter de l’installation automatique des dépendances et de mises à niveau plus faciles ; toutefois, ces paquets correspondent rarement aux dernières versions de Django.</p>\n</section>\n<section id=\"installing-the-development-version\">\n<span id=\"installing-development-version\"></span><h3>Installation de la version de développement<a class=\"heading-anchor\" href=\"#installing-the-development-version\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<aside class=\"admonition-tracking-django-development admonition\">\n<p class=\"admonition-title\">Suivi du développement de Django</p>\n<p>Si vous décidez d’utiliser la dernière version de développement de Django, il est recommandé de surveiller attentivement l”<a class=\"reference external\" href=\"https://code.djangoproject.com/timeline\">activité de développement</a> de même que les <a class=\"reference internal\" href=\"/fr/2.2/releases/#development-release-notes\"><span class=\"std std-ref\">notes de publication de la version à venir</span></a>. Cela vous aidera à vous tenir au courant de toute nouvelle fonctionnalité que vous pourriez exploiter ou des modifications que vous devrez effectuer dans votre code lors de la mise à jour de votre copie de Django (pour les versions stables, toute modification nécessaire est documentée dans les notes de publication).</p>\n</aside>\n<p>Si vous aimeriez pouvoir mettre à jour occasionnellement votre version de Django avec les dernières corrections et améliorations, suivez ces instructions :</p>\n<ol class=\"arabic\">\n<li><p>Vérifiez que <a class=\"reference external\" href=\"https://git-scm.com/\">Git</a> est installé et que vous pouvez lancer ses commandes depuis un terminal (saisissez <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">help</span></code> à l’invite de commande pour le tester).</p></li>\n<li><p>Créez une copie de travail de la branche principale de développement de Django comme ceci :</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><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=\"gp\">$ </span>git<span class=\"w\"> </span>clone<span class=\"w\"> </span>https://github.com/django/django.git\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> git clone https://github.com/django/django.git\n</code></pre></div></div></div>\n<p>Un répertoire <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code> sera créé dans le répertoire actuel.</p>\n</li>\n<li><p>Vérifiez que l’interpréteur Python peut charger le code de Django. La façon la plus pratique de faire cela est d’utiliser <a class=\"reference external\" href=\"https://virtualenv.pypa.io/\">virtualenv</a>, <a class=\"reference external\" href=\"https://virtualenvwrapper.readthedocs.io/en/latest/\">virtualenvwrapper</a>, et <a class=\"reference external\" href=\"https://pip.pypa.io/\">pip</a>. Le <a class=\"reference internal\" href=\"/fr/2.2/intro/contributing/\"><span class=\"doc\">tutoriel de contribution</span></a> vous guide pour la création d’un environnement virtualenv.</p></li>\n<li><p>Après avoir configuré et activé l’environnement virtuel, exécutez la commande suivante :</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><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=\"gp\">$ </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>-e<span class=\"w\"> </span>django/\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</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=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> pip install -e django\\\n</code></pre></div></div></div>\n<p>Ceci rendra le code Django importable et mettra aussi à disposition la commande utilitaire <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code>. En d’autres mots, vous serez fin prêt !</p>\n</li>\n</ol>\n<p>Lorsque vous souhaitez mettre à jour votre copie du code source de Django, lancez simplement la commande <code class=\"docutils literal notranslate\"><span class=\"pre\">git</span> <span class=\"pre\">pull</span></code> à partir du répertoire <code class=\"docutils literal notranslate\"><span class=\"pre\">django</span></code>. Quand vous faites cela, Git télécharge automatiquement toutes les modifications.</p>\n</section>\n</section>","rootId":"how-to-install-django","toc":[{"title":"Installation de Python","anchor":"install-python","children":[]},{"title":"Installation de Apache et mod_wsgi","anchor":"install-apache-and-mod-wsgi","children":[]},{"title":"Mise en route de la base de données","anchor":"get-your-database-running","children":[]},{"title":"Installation du code de Django","anchor":"install-the-django-code","children":[{"title":"Installation d’une version officielle avec","anchor":"installing-an-official-release-with-pip","children":[]},{"title":"Installation d’un paquet de la distribution","anchor":"installing-a-distribution-specific-package","children":[]},{"title":"Installation de la version de développement","anchor":"installing-the-development-version","children":[]}]}],"breadcrumbs":[{"docname":"topics/index","title":"Utilisation de Django","url":"/fr/2.2/topics/"}],"prev":{"docname":"topics/index","title":"Utilisation de Django","url":"/fr/2.2/topics/"},"next":{"docname":"topics/db/index","title":"Modèles et bases de données","url":"/fr/2.2/topics/db/"},"formats":{"html":"/fr/2.2/topics/install/","markdown":"/fr/2.2/topics/install.md","json":"/fr/2.2/topics/install.json"},"source":"https://github.com/django/django/blob/stable/2.2.x/docs/topics/install.txt","official":"https://docs.djangoproject.com/fr/2.2/topics/install/","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"]}