Points à prendre en considération pour le déploiement
Les besoins et les exigences d’une application varient selon qu’elle s’exécute dans un environnement de production ou de développement. Par exemple, les questions liées à la sécurité et aux performances sont plus cruciales en phase de production qu’en phase de développement. Vous devez donc vérifier que votre site web est correctement configuré avant de le déployer.
Django fournit une liste complète des éléments à prendre en compte avant le déploiement. Les sections suivantes décrivent quelques-uns de changements que vous devrez faire avant de déployer votre application en production.
Mode débogage
En tant que développeur, vous souhaitez voir les messages d’erreur que votre application peut générer. Toutefois, ces messages peuvent fournir à un attaquant des informations sur la façon dont votre application s’exécute et ouvrir la voie à des accès non autorisés. Donc, dans settings.py, définissez l’option DEBUG
avec la valeur False
avant de déployer votre application en production.
Clé secrète
Pour protéger les informations sensibles, Django signe les valeurs qui ne doivent pas être falsifiées avec une clé secrète. Pendant le développement, la clé secrète est stockée en texte clair dans settings.py. Quand vous déployez votre application en production, la clé secrète doit être lue à partir d’un emplacement plus sécurisé (par exemple, les paramètres Azure App ou Azure Key Vault).
Hôtes autorisés
Le fichier settings.py contient une liste de noms de serveur appelée ALLOWED_HOSTS
. Cette liste détermine les emplacements à partir desquels votre application peut s’exécuter. La liste est vide par défaut, ce qui permet d’exécuter l’application à partir de localhost. Vous devez mettre à jour ce paramètre avant de déployer votre application sur votre hôte de production.
Fichiers statiques
Les fichiers statiques sont des fichiers qui ne font pas partie du système de templating Django. Il s’agit généralement de fichiers JavaScript ou CSS. Mais ils peut également s’agir de fichiers HTML statiques. Ainsi, le site d’administration utilise des fichiers statiques pour le style et la mise en forme.
Quand votre application est en développement, Django sert automatiquement tout fichier statique. En production, vous devez configurer un service pour servir tous les fichiers statiques. Une solution courante est une bibliothèque WhiteNoise .
Durant le processus de déploiement, tous les fichiers statiques sont collectés à l’emplacement indiqué par STATIC_ROOT
dans settings.py. Ils sont collectés en exécutant python manage.py collectstatic
. Azure exécute automatiquement cette commande. Vous n’avez donc pas besoin de l’exécuter localement avant le déploiement.