DevOps
Installation de l’environnement de travail
1. Python et son environnement
Si vous travaillez sur Linux ou Mac, félicitations, une version de Python existe déjà, puisque ce langage est utilisé pour de nombreux outils indispensables de votre système. Vous n’avez donc rien de particulier à faire, en tout cas pour l’immédiat.
Si vous travaillez sur Windows, il vous faudra télécharger Python (https://www.python.org/downloads/?lang=fr) et l’installer. Vous souhaiterez télécharger la dernière version stable.
Pour information, les préversions sont des versions non adaptées à un environnement de production, à n’installer que spécifiquement pour les tester ou pour anticiper un portage vers cette nouvelle version.
Installé avec Python, un autre outil nommé pip permet d’installer tout autre paquet Python supplémentaire. Sur certains systèmes, cet outil s’installe à part. S’il n’existe pas, voici la commande permettant de l’installer :
$ python -m ensurepip --upgrade
Une fois que vous vous êtes assuré que ceci est opérationnel, vous pouvez passer à l’étape suivante.
2. Environnement virtuel
Vous souhaiterez probablement développer différents projets, en installant d’un projet à l’autre des paquets différents. Vous souhaiterez aussi, probablement, ne pas trop interférer avec le Python de votre système.
Pour cela, vous aurez besoin de créer un environnement virtuel. En installant Python, vous avez accès à une commande venv (https://docs.python.org/fr/3/library/venv.html) qui va vous permettre de réaliser cela :
$ python -m venv nom_env
Remplacez simplement nom_env par le nom que vous souhaitez donner à votre environnement virtuel. À partir de maintenant, vous pourrez travailler dans votre environnement virtuel, c’est-à-dire utiliser le python de l’environnement virtuel au lieu du python système. Pour cela, il faut lancer une commande spécifique. Voici cette commande (https://docs.python.org/fr/3/library/venv.html#how-venvs-work) :
Si vous utilisez bash ou zsh :
$ source nom_env/bin/activate
Si vous utilisez fish :
$ source nom_env/bin/activate.fish ...Git et Docker
1. Utiliser les tags Git
Normalement, au chapitre précédent, vous avez installé votre IDE, cloné le dépôt d’exemple et vous pouvez le parcourir dans votre logiciel.
Vous êtes invité à charger le code de la version 0.0.0, c’est-à-dire le tout premier commit. Pour cela :
$ git checkout v0.0.0
En faisant cela, le dépôt du projet sera en état détaché, c’est-à-dire que votre dépôt ne pointera plus vers une branche. Cela vous permet de visualiser la version du code correspondant au tag et tant que vous ne modifiez rien au code, tout ira bien. Vous pourrez à partir de là aller à un autre tag ou encore revenir sur une branche :
$ git checkout main
À ce moment-là, le dépôt ne sera plus en état détaché, car il pointe à nouveau vers une branche, en l’occurrence la branche main.
Dans le cadre de cet ouvrage, on vous conseille de n’utiliser le dépôt d’exemple que pour aller lire du code, et de créer votre propre code dans votre propre projet.
Cependant, si vous souhaitez aller à un tag particulier et en faire une branche pour travailler sur le dépôt d’exemple et faire vos propres modifications, voici comment faire :
$ git checkout -b nouvelle-branche v0.0.0
Dans cet exemple, vous avez créé une nouvelle branche nommée nouvelle-branche et qui pointe vers le commit désigné par le tag v0.0.0. Vous allez donc pouvoir modifier du code et créer de nouveaux commits à partir de cette branche.
L’autre point important est de pouvoir faire la différence entre deux versions pour voir le code qui a été rajouté ou modifié :
$ git diff v0.0.0..v0.0.1
Pour information, il est aussi possible de consulter un tag spécifique directement en ligne, par exemple, pour le premier tag : https://github.com/pythoniste/tuto_django/tree/v0.0.0.
Il est aussi possible de comparer deux tags entre eux, mais il n’y a pas de lien sur le site permettant de le faire. Il faudra taper l’URL soi-même. Par exemple :
https://github.com/pythoniste/tuto_django/compare/v0.0.0...v0.0.1
La première partie de l’URL sera toujours la même...
Création du projet Django
Pour créer notre projet Django, il suffit d’ouvrir un terminal dans notre conteneur et de suivre les étapes du tutoriel de Django :
$ make bash
# poetry run django-admin startproject projet
Cela va créer un répertoire nommé projet, qui contiendra une série de fichiers.
Le premier d’entre eux est le fichier manage.py. Il s’agit du fichier d’entrée du programme (bootstrap). Il est le point d’entrée de toutes les commandes que l’on va passer à partir de maintenant. Vous n’aurez pas à toucher ce fichier.
Il existe également un répertoire nommé de la même manière que le projet.
Ce dernier contient deux fichiers wsgi.py et asgi.py. Il s’agit des points d’entrée de l’application qui seront utilisés par le serveur web de production pour servir l’application. Là encore, il n’y a rien à toucher.
Enfin, il y a deux autres fichiers urls.py et settings.py. Le premier va contenir l’arborescence des chemins que votre application va prendre en charge. Nous modifierons ce fichier à chaque fois que nous créerons une vue, pour permettre à la vue d’être routée sur une URL spécifique.
Le fichier settings.py va contenir le paramétrage de toute l’application. Il sera modifié à chaque fois que nous souhaiterons rajouter le comportement général de l’application.
Par exemple, nous allons créer des applications, il faudra les déclarer. Nous allons également vouloir ajouter des extensions à Django qui sont également codées sous forme d’application et il faudra également les rajouter. Un peu plus loin, nous voudrons également configurer l’accès à la base de données, tout cela se fera dans ce fichier.
Nous allons pour commencer modifier ces lignes :
LANGUAGE_CODE = 'fr-fr'
TIME_ZONE = 'Europe/Paris'
USE_I18N = True
USE_TZ = True
Cela va nous permettre de déclarer le fuseau horaire et le langage de notre application, mais également activer les fonctionnalités d’internationalisation de Django.
Nous allons également modifier la manière dont seront servis...