Développement¶
Le site présente les éléments présents dans la base de données. Il est composé de 4 pages principales :
Home, la page d’accueil,
Admin, l’interface d’administration
Lettings, une page listant toutes les locations,
Profiles, une page listant tous les profils utilisateurs.
Les pages « Lettings » et « Profiles » permettent d’accéder aux pages détails présentant chaque élément en détail.
Exécuter le site en local avec Django¶
Exécutez les commandes suivantes :
cd /path/to/Python-OC-Lettings-FR
source venv/bin/activate
python manage.py collectstaticpour récupérer les fichiers statiques
python manage.py runserverAller sur http://localhost:8000 dans un navigateur
Confirmer que le site fonctionne et qu’il est possible de naviguer (vous devriez voir plusieurs profils et locations).
Pour accéder au panel d’administration, aller sur http://localhost:8000/admin
Exécuter le site en local via Docker¶
Docker est une plateforme permettant de lancer des applications en utilisant des conteneurs logiciels.
Exécutez les commandes suivantes :
Créer un compte DockerHub
Installer Docker pour Windows ou pour Mac et lancer le daemon Docker
Récupérer l’image docker pour exécuter l’application en local
docker run --pull always -p 8080:8080 -e OC_LETTINGS_DJANGO_SECRET_KEY="<Secret Key>" --name oc_lettings_container theosinatti/oc_lettings:latestLe site doit fonctionner de la même manière que lors d’une exécution à l’aide de la commande
runserverde Django
Pipeline CI/CD¶
Une pipeline CI/CD est mise en place pour le développement et le déploiement de cette application. Elle est mise en place à l’aide de CircleCI.
A chaque push sur la branche « main » du repository GitHub, un travail de compilation et de tests est lancé. Ensuite, si ce dernier est validé, une image Docker de l’application est construite et pusher sur DockerHub. Enfin, si la conteneurisation est réussie, l’application est déployée sur Render.
Pour que tout ceci fonctionne correctement, il faut :
Avoir pushé le repository sur son propre compte GitHub,
Avoir configuré son compte CircleCI,
Avoir configuré son compte Render.
Configurer votre compte CircleCI¶
Exécutez les commandes suivantes :
Créer un compte CircleCI avec GitHub
Créer votre projet CircleCI à partir de votre repository GitHub, en sélectionnant l’option « Fastest » et la branche « main »
Dans les paramètres du projet, onglet Variables d’environnement, ajouter plusieurs variables :
Variable CircleCI |
Description |
|---|---|
OC_LETTINGS_DJANGO_SECRET_KEY |
la SECRET KEY de votre projet Django |
OC_LETTINGS_SENTRY_DNS |
la clé DNS de votre projet Sentry |
DOCKER_USER |
le nom d’utilisateur de votre compte Docker |
DOCKER_TOKEN |
le token généré depuis votre compte Docker |
RENDER_DEPLOY_HOOK |
l’url privée de votre projet Render (Deploy Hook) |
Une fois que tout est configuré, un simple push sur la branche main de votre repository GitHub suffit à déployer l’application qui sera accessible à l’adresse : <nom_de_votre_projet_Render>.onrender.com
Configurer votre compte Render¶
Exécutez les commandes suivantes :
Créer un compte Render avec GitHub
Cliquer sur « Nouveau » puis « Web Service »
Sélectionner votre repository GitHub public
Configurer votre projet en le nommant et en indiquant Docker dans l’option « Runtime ». Dans les options avancées, ajouter les variables d’environnement suivantes et passer le paramètre « Auto-Deploy » sur Non.
Variable Render |
Description |
|---|---|
OC_LETTINGS_DJANGO_SECRET_KEY |
la SECRET KEY de votre projet Django |
OC_LETTINGS_SENTRY_DNS |
la clé dsn de votre projet Sentry |