Installation
Prérequis
L’installation locale nécessite les outils suivants :
Git ;
Python 3.7 ;
pip;le module Python
venv;SQLite 3, uniquement pour consulter directement la base de données.
Le projet doit être exécuté avec Python 3.7 afin de conserver sa compatibilité avec Django 3.0.
Cloner le dépôt
Placez-vous dans le dossier où le projet doit être installé, puis clonez le dépôt GitHub :
git clone https://github.com/Aurelien7777/Python-OC-Lettings-FR.git
cd Python-OC-Lettings-FR
Remplacez l’URL par celle du dépôt GitHub public du projet.
Créer l’environnement virtuel
Windows
Créez l’environnement virtuel avec Python 3.7 :
py -3.7 -m venv venv
Activez-le :
.\venv\Scripts\Activate.ps1
Vérifiez la version et l’interpréteur utilisés :
python --version
(Get-Command python).Path
macOS et Linux
Créez l’environnement virtuel :
python3.7 -m venv venv
Activez-le :
source venv/bin/activate
Vérifiez la version et l’interpréteur utilisés :
python --version
which python
Installer les dépendances
Depuis la racine du projet :
python -m pip install --upgrade pip
pip install -r requirements.txt
Configurer les variables d’environnement
Créez un fichier .env à la racine du projet :
SECRET_KEY=replace-with-a-local-secret-key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
SENTRY_ENVIRONMENT=development
Pour activer Sentry localement, ajoutez également :
SENTRY_DSN=replace-with-your-sentry-dsn
Le fichier .env contient des données sensibles et ne doit jamais être
ajouté au dépôt Git.
Appliquer les migrations
Exécutez les migrations Django :
python manage.py migrate
Cette commande crée ou met à jour les tables de la base de données selon l’historique des migrations.
Lancer l’application
Démarrez le serveur de développement :
python manage.py runserver
L’application est ensuite accessible à l’adresse suivante :
Créer un compte administrateur
Créez un compte administrateur local :
python manage.py createsuperuser
L’interface d’administration est disponible à l’adresse suivante :
Vérifier l’installation
Vérifiez la configuration Django :
python manage.py check
Lancez les tests avec la mesure de couverture :
coverage run manage.py test
Vérifiez le linting :
flake8
Affichez le rapport de couverture et vérifiez que le seuil minimum de 80 % est respecté :
coverage report --fail-under=80