{"id":16538106,"url":"https://github.com/pablolec/oc_lettings","last_synced_at":"2026-06-11T07:31:13.742Z","repository":{"id":43397924,"uuid":"405930854","full_name":"PabloLec/oc_lettings","owner":"PabloLec","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-03T15:26:19.000Z","size":61,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-03T21:15:10.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://oc-lettings-pablolec.herokuapp.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PabloLec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-13T10:39:41.000Z","updated_at":"2021-10-03T11:21:32.000Z","dependencies_parsed_at":"2022-08-24T09:10:46.472Z","dependency_job_id":null,"html_url":"https://github.com/PabloLec/oc_lettings","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PabloLec/oc_lettings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Foc_lettings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Foc_lettings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Foc_lettings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Foc_lettings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PabloLec","download_url":"https://codeload.github.com/PabloLec/oc_lettings/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PabloLec%2Foc_lettings/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34188272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T18:44:26.144Z","updated_at":"2026-06-11T07:31:13.725Z","avatar_url":"https://github.com/PabloLec.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Résumé :wink:\n\nSite web d'Orange County Lettings\n\n## Développement local\n\n### Prérequis\n\n- Compte GitHub avec accès en lecture à ce repository\n- Git CLI\n- SQLite3 CLI\n- Interpréteur Python, version 3.6 ou supérieure\n\nDans 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é).\n\n### macOS / Linux\n\n#### Cloner le repository\n\n- `cd /path/to/put/project/in`\n- `git clone https://github.com/OpenClassrooms-Student-Center/Python-OC-Lettings-FR.git`\n\n#### Créer l'environnement virtuel\n\n- `cd /path/to/Python-OC-Lettings-FR`\n- `python -m venv venv`\n- `apt-get install python3-venv` (Si l'étape précédente comporte des erreurs avec un paquet non trouvé sur Ubuntu)\n- Activer l'environnement `source venv/bin/activate`\n- Confirmer que la commande `python` exécute l'interpréteur Python dans l'environnement virtuel\n`which python`\n- Confirmer que la version de l'interpréteur Python est la version 3.6 ou supérieure `python --version`\n- Confirmer que la commande `pip` exécute l'exécutable pip dans l'environnement virtuel, `which pip`\n- Pour désactiver l'environnement, `deactivate`\n\n#### Exécuter le site\n\n- `cd /path/to/Python-OC-Lettings-FR`\n- `source venv/bin/activate`\n- `pip install --requirement requirements.txt`\n- `python manage.py runserver`\n- Aller sur `http://localhost:8000` dans un navigateur.\n- Confirmer que le site fonctionne et qu'il est possible de naviguer (vous devriez voir plusieurs profils et locations).\n\n#### Linting\n\n- `cd /path/to/Python-OC-Lettings-FR`\n- `source venv/bin/activate`\n- `flake8`\n\n#### Tests unitaires\n\n- `cd /path/to/Python-OC-Lettings-FR`\n- `source venv/bin/activate`\n- `pytest`\n\n#### Base de données\n\n- `cd /path/to/Python-OC-Lettings-FR`\n- Ouvrir une session shell `sqlite3`\n- Se connecter à la base de données `.open oc-lettings-site.sqlite3`\n- Afficher les tables dans la base de données `.tables`\n- Afficher les colonnes dans le tableau des profils, `pragma table_info(Python-OC-Lettings-FR_profile);`\n- Lancer une requête sur la table des profils, `select user_id, favorite_city from\n  Python-OC-Lettings-FR_profile where favorite_city like 'B%';`\n- `.quit` pour quitter\n\n#### Panel d'administration\n\n- Aller sur `http://localhost:8000/admin`\n- Connectez-vous avec l'utilisateur `admin`, mot de passe `Abc1234!`\n\n### Windows\n\nUtilisation de PowerShell, comme ci-dessus sauf :\n\n- Pour activer l'environnement virtuel, `.\\venv\\Scripts\\Activate.ps1`\n- Remplacer `which \u003cmy-command\u003e` par `(Get-Command \u003cmy-command\u003e).Path`\n\n### Déploiement\n\nLe repository suit un flow CI/CD via CircleCI:\n\n1) Lancement des tests avec `pytest`.\n2) Si les tests ne retournent pas d'erreur:\n   - Build de l'image Docker\n   - Push de l'image vers Docker Hub\n3) Si les actions Docker réussissent:\n   - Déploiement sur Heroku\n\nTout le processus est automatique sur push au repo GitHub.\nSur la branche `main`, toutes les étapes sont effectuées jusqu'au déploiement Heroku.\nSur les autres branches, seuls les tests sont effectués.\n\nLa configuration du workflow CircleCI se trouve dans le fichier [.circleci/config.yml](.circleci/config.yml).\nLa configuration de l'image Docker dans le fichier [Dockerfile](Dockerfile).\n\nDocker Hub: https://hub.docker.com/r/pablo213/oc_lettings\nHeroku: https://oc-lettings-pablolec.herokuapp.com/\n\nPour tirer l'image de Docker Hub et l'éxécuter localement:\n```\ndocker run -it --name django -e \"PORT=8080\" -e \"DEBUG=1\" -p 8080:8080 pablo213/oc_lettings\n```\n\nLe site sera servi sur http://127.0.0.1:8080.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablolec%2Foc_lettings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablolec%2Foc_lettings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablolec%2Foc_lettings/lists"}