Git Product home page Git Product logo

creez_une_api_securisee_restful_en_utilisant_django_rest's Introduction

Créez une API sécurisée RESTful en utilisant Django REST

Projet 10 du parcours OpenClassrooms Développeur d'application - Python

forthebadge forthebadge

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.

Prérequis

  • Python est bien installé sur votre ordinateur
  • Git installé (conseillé)

INSTALLATION ( pour windows )

Créer un dossier vide. Il contiendra le code complet du projet

1. Installation du site

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.

2. Installer un environnement python

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

3. Installer les paquets nécessaires aux projets.


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

4. Execution du logiciel

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 

5. Urls avec drf-yasg package

documentations de l'API

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/

Administrateur Django:

Admin / Admin (à changer)

6. Documentation Postman publique

https://documenter.getpostman.com/view/21242674/2s93ebRqTE


Technologies

logo

Conventions de nommage et de codes

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.