Skip to content

Francky1403/Mini-projet-python-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini-projet-python

Commencer

Installation des Dépendances

Python 3.9.8

pip 22.0.3 from

C:\Users\midek\AppData\Local\Programs\Python\Python39\lib\site-packages\pip (python 3.9)

Suivez les instructions suivantes pour installer l'ancienne version de python sur la plateforme python docs

##Dépendances de PIP

Pour installer les dépendances, ouvrez le dossier /'Documentation' et exécuter la commande suivante:

    pip install -r requirements.txt
    or
    pip3 install -r requirements.txt

Nous passons donc à l'installation de tous les packages se trouvant dans le fichier 'requirements.txt'.

clé de Dépendances

  • Flask est un petit framework web Python léger, qui fournit des outils et des fonctionnalités utiles qui facilitent la création d’applications web en Python.

  • SQLAlchemyest un toolkit open source SQL et un mapping objet-relationnel écrit en Python et publié sous licence MIT. SQLAlchemy a opté pour l'utilisation du pattern Data Mapper plutôt que l'active record utilisés par de nombreux autres ORM

  • Flask-CORS is the extension we'll use to handle cross origin requests from our frontend server.

Démarrer le serveur

Pour démarrer le serveur sur Linux ou Mac, executez:

  export FLASK_APP=app.py
  export FLASK_ENV=development
  flask run

Pour le démarrer sur Windows, executez:

  set FLASK_APP=app.py
  set FLASK_ENV=development
  flask run

API REFERENCE

Démarrer

URL de base : à l’heure actuelle, cette application ne peut être exécutée que localement et n’est pas hébergée en tant qu’URL de base. L’application backend est hébergée par défaut, http://localhost:5000 ; qui est défini comme proxy dans la configuration frontale.

Type d'erreur

Les erreurs sont renvoyées sou forme d'objet au format Json: { "success":False "error": 400 "message":"Ressource non disponible" }

L'API vous renvoie 4 types d'erreur: . 400: Bad request ou ressource non disponible . 500: Internal server error . 422: Unprocessable . 404: Not found

Endpoints

. ## OBTENIR/livres

  GENERAL:
       Cet endpoint retourne la liste des objets livres, la valeur du succès  


  EXEMPLE: curl http://localhost:5000/livres


               {
              "livres":[
               {
                    "auteur": "Divhope", 
                    "date_pub": "Wed, 21 Jul 1920 00:00:00 GMT", 
                    "editeur": "KGB", 
                    "id": 1, 
                    "isbn": "LH1", 
                    "titre": "premiere guerre mondial"
                }, 
                {
                  "auteur": "Aghata Christie", 
                  "date_pub": "Thu, 20 Sep 1990 00:00:00 GMT", 
                  "editeur": "WIlliam", 
                  "id": 2, 
                  "isbn": "RP1", 
                  "titre": "le crime de lorient express"
                }, 
                {
                  "auteur": "Hippolyte", 
                  "date_pub": "Mon, 23 Mar 2020 00:00:00 GMT", 
                  "editeur": "BG", 
                  "id": 3, 
                  "isbn": "S1", 
                  "titre": "Le cyle de la vie"
                }, 
                {
                  "auteur": "George", 
                  "date_pub": "Thu, 24 Dec 2020 00:00:00 GMT", 
                  "editeur": "espace", 
                  "id": 4, 
                  "isbn": "G1", 
                  "titre": "univers"
                }, 
                {
                  "auteur": "Pitagore", 
                  "date_pub": "Wed, 06 Jun 1770 00:00:00 GMT", 
                  "editeur": "Phenom\u00e8ne", 
                  "id": 6, 
                  "isbn": "klnknkonpk", 
                  "titre": "Espace Vectoriel"
                }, 
                {
                  "auteur": "ramirez", 
                  "date_pub": "Thu, 13 Mar 1980 00:00:00 GMT", 
                  "editeur": "temps", 
                  "id": 7, 
                  "isbn": "LH2", 
                  "titre": "deuxieme guerre mondial"
                }, 
                {
                  "auteur": "pablo escobar", 
                  "date_pub": "Thu, 13 Mar 1980 00:00:00 GMT", 
                  "editeur": "crime", 
                  "id": 8, 
                  "isbn": "RP2", 
                  "titre": "le pouvoir ou rien"
                }, 
                {
                  "auteur": "DAMSO", 
                  "date_pub": "Thu, 19 Apr 2018 00:00:00 GMT", 
                  "editeur": "DG", 
                  "id": 9, 
                  "isbn": "S2", 
                  "titre": "les microbes"
                }, 
                {
                  "auteur": "Ismal", 
                  "date_pub": "Sat, 20 Feb 2016 00:00:00 GMT", 
                  "editeur": "Terre", 
                  "id": 10, 
                  "isbn": "G2", 
                  "titre": "Les roches"
                }, 
                {
                  "auteur": "Arnaud", 
                  "date_pub": "Thu, 16 Apr 2015 00:00:00 GMT", 
                  "editeur": "Cercle", 
                  "id": 11, 
                  "isbn": "M2", 
                  "titre": "les fonctions"
                }, 
                {
                  "auteur": "Razade", 
                  "date_pub": "Fri, 06 Jul 1770 00:00:00 GMT", 
                  "editeur": "Liminus", 
                  "id": 13, 
                  "isbn": "PC3", 
                  "titre": "oxygene"
                }, 
                {
                  "auteur": "Riva", 
                  "date_pub": "Mon, 06 Dec 1999 00:00:00 GMT", 
                  "editeur": "Hist", 
                  "id": 14, 
                  "isbn": "H4", 
                  "titre": "De la terre a la lune"
                }
             ],

          "status_code": 200,
          "success": true,
          "total_books": 4
      }

. ## OBTENIR/livres

      GENERAL:
           Cet endpoint retourne la liste des objets livres, la valeur du succès  


      EXEMPLE: curl http://localhost:5000/livres  
   

                {
            "categories":[
                          {
                            "id_cat": 1, 
                            "libelle_cat": "Histoire"
                          }, 
                          {
                            "id_cat": 3, 
                            "libelle_cat": "SVT"
                          }, 
                          {
                            "id_cat": 4, 
                            "libelle_cat": "Geographie"
                          }, 
                          {
                            "id_cat": 2, 
                            "libelle_cat": "Roman_policiers"
                          }, 
                          {
                            "id_cat": 5, 
                            "libelle_cat": "Mathematiques"
                          }, 
                          {
                            "id_cat": 6, 
                            "libelle_cat": "Science_Physique"
                          }
                         ]
                       }

.##GET/livres(id)

      GENERAL: 
          Cet endpoint permet de récupérer les informations d'un livre particulier s'il existe par le biais de l'ID.  

      EXEMPLE: http://localhost:5000/livres/2
      


          {
            "auteur": "Aghata Christie", 
            "date_pub": "Thu, 20 Sep 1990 00:00:00 GMT", 
            "editeur": "WIlliam", 
            "id": 2, 
            "isbn": "RP1", 
            "titre": "le crime de lorient express"
          }          

.##GET/categories(id)

        GENERAL: 
            Cet endpoint permet de récupérer les informations d'un livre particulier s'il existe par le biais de l'ID.  

        EXEMPLE: http://localhost:5000/categories/2
      

            {
              "id_cat": 2, 
              "libelle_cat": "Roman_policiers"
            }

. ## SUPPRIMER/livres (id)

    GENERAL:
        Supprimer un element si l'ID existe. Retourne l'ID du livre supprimé, la valeur du succès 

        EXEMPLE: curl -X DELETE http://localhost:5000/livres/13


      {
          "delete succefully": 13,
          "success": true
      }

. ## SUPPRIMER/categories(id)

    GENERAL:
        Supprimer un element si l'ID existe. Retourne l'ID du categories supprimé, la valeur du succès 

        EXEMPLE: curl -X DELETE http://localhost:5000/categories/2


      {
          "delete succefully": 2,
          "success": true
      }

. ##PATCH/categories(id_cat)

  GENERAL:
      Cet endpoint permet de mettre à jour,le libelle d'une categorie. Il retourne une categorie mis à jour.

EXEMPLE..... Avec Patch

    {
      "id_cat": 6, 
      "libelle_cat": "Science_Physique"
    }


  
      EXEMPLE: curl -X UPDATE http://localhost:5000/categories/6


       {
                "id_cat": 6, 
                "libelle_cat": "Science_Physique"
              }=>
              {
          "categorie": {
              "id_cat": 6,
              "libelle_cat": "Science_P"
          },
          "success modify": true
      }

.##GET/categories(id_cat)/livres

GENERAL: 
      Cet endpoint permet de lister la liste des livres contenues dans une categorie 

      EXEMPLE: http://localhost:5000/categories/4/livres
      
      
      [
          {
            "auteur": "George", 
            "date_pub": "Thu, 24 Dec 2020 00:00:00 GMT", 
            "editeur": "espace", 
            "id": 4, 
            "isbn": "G1", 
            "titre": "univers"
          }, 
          {
            "auteur": "Ismal", 
            "date_pub": "Sat, 20 Feb 2016 00:00:00 GMT", 
            "editeur": "Terre", 
            "id": 10, 
            "isbn": "G2", 
            "titre": "Les roches"
          }
        ]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages