Projet 10 du parcours OpenClassrooms Développeur d'application - Python
Une application de suivi des problèmes pour les trois plateformes (site web, applications Android et iOS):
- L'application permettra essentiellement aux utilisateurs de créer divers projets, d'ajouter des utilisateurs à des projets spécifiques, de créer des problèmes au sein des projets et d'attribuer des libellés à ces problèmes en fonction de leurs priorités, de balises, etc.
- Les trois applications exploiteront les points de terminaison d'API qui serviront les données.
- Principales fonctionnalités de l'application (autres dans la description du projet 10):
- Authentification JWT des utilisateurs (inscription/connexion).
- Permissions;Il est interdit à tout utilisateur autorisé autre que l'auteur d'émettre des requêtes d'actualisation et de suppression d'un problème/projet/commentaire.
- Le responsable du projet est le seul à pouvoir ajouter des utilisateurs au projet (Ajout personnel ).
- respecte les normes OWASP et RGPD.
- Python est bien installé sur votre ordinateur
- Git installé (conseillé)
Créer un dossier vide. Il contiendra le code complet du projet
Ouvrez un terminal:
Depuis le dossier précédemment créé, clonez le repository du programme avec la commande :
git clone https://github.com/Nathom78/Creez_une_API_securisee_RESTful_en_utilisant_Django_REST.git
Ou utiliser ce repository en téléchargeant le zip.
D'abord créer à partir de la racine du projet un environnement, ici appellé ".env"
PS D:\..\Creez_une_API_securisee_RESTful_en_utilisant_Django_REST> python -m venv .env
Ensuite activer l'environnement python:
PS D:\..\Creez_une_API_securisee_RESTful_en_utilisant_Django_REST> .env\Scripts\activate.ps1
Taper la commande suivante :
pip install -r requirements.txt
Pour vérifier, taper cette commande :
pip list
Et vous devriez avoir :
Package Version
------------------- ---------
asgiref 3.6.0
certifi 2022.12.7
charset-normalizer 3.1.0
coreapi 2.3.3
coreschema 0.0.4
Django 4.2.1
djangorestframework 3.14.0
drf-yasg 1.21.5
idna 3.4
inflection 0.5.1
itypes 1.2.0
Jinja2 3.1.2
MarkupSafe 2.1.2
packaging 23.1
pip 23.1.2
pytz 2023.3
requests 2.28.2
ruamel.yaml 0.17.21
setuptools 67.7.0
sqlparse 0.4.4
tzdata 2023.3
uritemplate 4.1.1
urllib3 1.26.15
Dans une fenêtre de terminal, se placer à la racine de l'application ici SoftDesk, ensuite taper les commandes suivantes :
Tout d'abord, nous devons appliquer les migrations à la base de donnée, afin de pouvoir utiliser dans ce nouvel environnement, la base db.sqlite3 importée.
(.env) PS ~...\SoftDesk> py manage.py migrate
Ensuite, nous pouvons lancer l'application à travers le serveur Django.
(.env) PS ~...\SoftDesk> py manage.py runserver
This exposes 4 endpoints:
- A JSON view of your API specification at /swagger.json
- A YAML view of your API specification at /swagger.yaml
- A swagger-ui view of your API specification at /swagger/
- A ReDoc view of your API specification at /redoc/
Admin / Admin (à changer)
https://documenter.getpostman.com/view/21242674/2s93ebRqTE
PEP 8 – Style Guide for Python Code ici.
Un rapport flake8 au format HTML est disponible dans le repertoire \flake-report
, à la racine du projet.