Site web d'Orange County Lettings
- Compte GitHub avec accès en lecture à ce repository
- Git CLI
- SQLite3 CLI
- Interpréteur Python, version 3.6 ou supérieure
Dans le reste de la documentation sur le développement local, il est supposé que la commande python
de votre OS shell exécute l'interpréteur Python ci-dessus (à moins qu'un environnement virtuel ne soit activé).
git clone https://github.com/idarousse21/Projet_13.git
cd Projet_13
python -m venv venv
apt-get install python3-venv
(Si l'étape précédente comporte des erreurs avec un paquet non trouvé sur Ubuntu)- Activer l'environnement
source venv/bin/activate
pip install --requirement requirements.txt
- Confirmer que la commande
python
exécute l'interpréteur Python dans l'environnement virtuelwhich python
- Confirmer que la version de l'interpréteur Python est la version 3.6 ou supérieure
python --version
- Confirmer que la commande
pip
exécute l'exécutable pip dans l'environnement virtuel,which pip
- Pour désactiver l'environnement,
deactivate
python -m venv env
env\Scripts\activate
pip install -r requirements.txt
pip install --requirement requirements.txt
python manage.py runserver
- Aller 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).
flake8
pytest
- Ouvrir une session shell
sqlite3
- Se connecter à la base de données
.open oc-lettings-site.sqlite3
- Afficher les tables dans la base de données
.tables
- Afficher les colonnes dans le tableau des profils,
pragma table_info(profiles_profile);
- Lancer une requête sur la table des profils,
select user_id, favorite_city from profiles_profile where favorite_city like 'B%';
.quit
pour quitter
- Aller sur
http://localhost:8000/admin
- Connectez-vous avec l'utilisateur
admin
, mot de passeAbc1234!
Le déployment de l'application se fera en créant une image Docker, cette image est ensuite utilisée pour créer des conteneurs Docker, qui est une instance exécutant l'application. Nous effectuerons par la suite un deployment sur la plateforme Heroku et enfin nous utilisera le service d'intégration continue de CircleCI pour créer un pipeline qui automatisera le processus de test, de conteneurisation et de deployment.
- Installer Docker
- Créer un compte Docker et connectez-vous
Construire l'image Docker et le pousser dans le registre des conteneurs DockerHub en ouvrant votre invite de commande et en tapant ces commandes:
- docker login -u "username-docker"
- docker build -t lettings .
- docker docker tag lettings:latest "username-docker"/lettings:latest
- docker push "username-docker"/lettings:latest
- docker pull "username-docker"/lettings:latest
- docker run -it -p 8000:8000 "username-docker"/lettings
- Acceder ensuite a la page sur
http://localhost:8000
- Créer un compte sur Heroku
- Connecter vous et créer une nouvelle application avec comme nom "lettings"
- SECRET_KEY: "fp$9^593hsriajg$_%=5trot9g!1qa@ew(o-1#@=&4%=hp46(s"
- HEROKU_APP_NAME: "lettings"
- Créer un compte CircleCI via votre compte github
- Aller sur le projet correspondant
- API_KEY_HEROKU: "API-KEY-HEROKU"
- DOCKER_USERNAME: "DOCKER-USERNAME"
- DOCKER_PASSWORD: "DOCKER-PASSWORD"
- HEROKU_LOGIN: "HEROKU6LOGIN"
- SENTRY_DSN: *Voir la partie sur sentry
- Créer un compte Sentry via votre compte github
- Créer un projet
- Récupérer le DSN du projet