# Documentation Django 6.0.7

# Comment installer Django

Ce document a pour but de vous préparer à faire fonctionner Django.

## Installation de Python

Django est un cadriciel web Python. Voir Quelle version de Python puis-je utiliser avec Django ? pour plus de détails.

Obtenez la dernière version de Python à l’adresse https://www.python.org/downloads/ ou par l’intermédiaire du gestionnaire des paquets de votre système.

Python sur Windows

Si vous êtes débutant avec Django et que vous utilisez Windows, cette documentation peut être utile : Comment installer Django avec Windows.

## Installation de Apache et `mod_wsgi`

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.

Si vous souhaitez utiliser Django sur un site en production, utilisez Apache avec mod_wsgi. 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.

Consultez Comment utiliser Django avec mod_wsgi pour plus d’informations sur la façon de configurer mod_wsgi après l’avoir installé.

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 uWSGI ; il fonctionne très bien avec nginx. De plus, Django respecte la spécification WSGI (PEP 3333) ce qui permet de le faire fonctionner sur diverses plates-formes serveurs.

## Mise en route de la base de données

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 PostgreSQL, MariaDB, MySQL, Oracle et SQLite.

Si vous développez un petit projet ou quelque chose que vous ne prévoyez pas de déployer dans un environnement de production, SQLite est généralement la meilleure option 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.

En plus des bases de données prises en charge officiellement, il existe des moteurs externes à Django qui permettent d’utiliser d’autres bases de données avec Django.

Pour utiliser une base de données autre que SQLite, il est nécessaire de vérifier que les liaisons Python spécifiques à cette base de données sont installées :

- Si vous utilisez PostgreSQL, vous avez besoin du paquet psycopg ou psycopg2. Vous pouvez consultez les notes sur PostgreSQL pour plus de détails.

- Si vous utilisez MySQL ou MariaDB, vous aurez besoin d’un pilote API de base de données comme `mysqlclient`. Voir notes du moteur MySQL pour plus de détails.

- Si vous utilisez SQLite, il est recommandé de lire les notes du moteur SQLite.

- Si vous utilisez Oracle, vous aurez besoin d’installer oracledb, mais veuillez lire les notes spécifiques pour le moteur de base de données Oracle pour les détails concernant les versions prises en charge d’Oracle et de `oracledb`.

- Si vous utilisez un moteur externe non officiel, consultez la documentation qui l’accompagne pour d’éventuels contraintes supplémentaires.

Et vérifiez que les clés suivantes dans l’élément `'default'` du dictionnaire `DATABASES` correspondent aux réglages de connexion de la base de données choisie :

- `ENGINE` – Choisissez parmi `'django.db.backends.sqlite3'`, `'django.db.backends.postgresql'`, `'django.db.backends.mysql'` ou `'django.db.backends.oracle'`. D’autres moteurs sont également disponibles.

- `NAME` – Le nom de votre base de données. Si vous utilisez SQLite, la base de données sera un fichier sur votre ordinateur. Dans ce cas, `NAME` doit être le chemin absolu complet de ce fichier, y compris son nom. Il n’est pas nécessaire de créer ce fichier a priori ; il sera créé automatiquement lors de son premier accès. La valeur par défaut, `BASE_DIR / 'db.sqlite3'`, stocke ce fichier dans le répertoire de votre projet.

Pour les bases de données autres que SQLite

Si vous utilisez une autre base de données que SQLite, des réglages supplémentaires doivent être indiqués, comme `USER`, `PASSWORD` ou `HOST`. Pour plus de détails, consultez la documentation de référence de `DATABASES`.

Assurez-vous maintenant d’avoir créé la base de données. Faites-le avec `CREATE DATABASE nom_de_la_base;` dans le shell interactif de votre base de données.

Si vous pensez utiliser la commande de Django `manage.py migrate` 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, vous pouvez attribuer à Django les permissions `SELECT`, `INSERT`, `UPDATE` et `DELETE`. 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 `DATABASES` pour les détails.

Si vous utilisez l’infrastructure de test 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.

## Installation du code de Django

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.

### Installation d’une version officielle avec

C’est la façon recommandée d’installer Django.

1. Installez pip. La manière la plus simple est d’utiliser l”installeur pip autonome. Si votre distribution contient déjà une version installée de `pip`, 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.

2. Jetez un œil à venv. Cet outil fournit des environnements Python isolés qui sont bien plus pratiques que d’installer des paquets au niveau de tout le système. Il permet aussi d’installer des paquets sans avoir besoin de privilèges administrateurs. Le tutoriel de contribution vous guide pour la création d’un environnement virtuel.

3. Après avoir créé et activé un environnement virtuel, entrez la commande :

   / 

       $ python -m pip install Django

       ...\> py -m pip install Django

### Installation d’un paquet de la distribution

Parcourez les notes spécifiques aux distributions 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 prises en charge ; toutefois, ces paquets correspondent rarement aux dernières versions de Django.

### Installation de la version de développement

Suivi du développement de Django

Si vous décidez d’utiliser la dernière version de développement de Django, il est recommandé de surveiller attentivement l”activité de développement de même que les notes de publication de la version à venir. 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).

Si vous aimeriez pouvoir mettre à jour occasionnellement votre version de Django avec les dernières corrections et améliorations, suivez ces instructions :

1. Vérifiez que Git est installé et que vous pouvez lancer ses commandes depuis un terminal (saisissez `git help` à l’invite de commande pour le tester).

2. Créez une copie de travail de la branche principale de développement de Django comme ceci :

   / 

       $ git clone https://github.com/django/django.git

       ...\> git clone https://github.com/django/django.git

   Un répertoire `django` sera créé dans le répertoire actuel.

3. 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 un environnement virtuel et pip. Le tutoriel de contribution vous guide pour la création d’un environnement virtuel.

4. Après avoir configuré et activé l’environnement virtuel, exécutez la commande suivante :

   / 

       $ python -m pip install -e django/

       ...\> py -m pip install -e django\

   Ceci rendra le code Django importable et mettra aussi à disposition la commande utilitaire `django-admin`. En d’autres mots, vous serez fin prêt !

Lorsque vous souhaitez mettre à jour votre copie du code source de Django, lancez la commande `git pull` à partir du répertoire `django`. Quand vous faites cela, Git télécharge toutes les modifications.