Aller au contenu principal

Les méthodes HTTP en détail

Notions théoriques

Les méthodes HTTP PUT, DELETE et PATCH

Maintenant que nous avons exploré les requêtes HTTP GET et POST, nous allons étudier d'autres méthodes :

  • PUT : Cette méthode est utilisée pour remplacer une donnée (si la donnée n'existe pas, elle sera créée).

    Imaginez un jeu en ligne, utiliser la méthode PUT va remplacer votre personnage par un autre type de personnage (ou ajouter un nouveau personnage de ce type si vous n'en avez pas).

  • DELETE : Comme son nom l'indique, cette méthode sert à supprimer une donnée.

    Si vous voulez supprimez votre personnage, il suffit d'utiliser la méthode DELETE.

  • PATCH : Cette méthode est similaire à PUT, mais elle est utilisée pour modifier partiellement une donnée.

    Si vous voulez juste changer le nom de votre personnage, il suffit d'utiliser la méthode PATCH.

Statuts de réponse HTTP

Chaque fois que vous faites une requête HTTP, le serveur répond avec un statut qui indique si la requête a été un succès ou non, et pourquoi. Voici quelques-uns des statuts de réponse les plus courants que vous pourriez rencontrer :

  • 200 OK : La requête a réussi, et la réponse contient les données demandées.
  • 201 Created : La requête a réussi, et une nouvelle ressource a été créée en conséquence.
  • 204 No Content : La requête a réussi, mais il n'y a rien à afficher en retour.
  • 400 Bad Request : La requête ne peut pas être traitée à cause d'une erreur de syntaxe.
  • 401 Unauthorized : La requête nécessite une authentification que vous n'avez pas fournie.
  • 403 Forbidden : Vous êtes authentifié, mais vous n'avez pas la permission d'accéder à la ressource.
  • 404 Not Found : La ressource demandée n'existe pas sur le serveur.
  • 500 Internal Server Error : Le serveur a rencontré une situation qu'il ne sait pas gérer.

Exemple pratique

Pour illustrer l'utilisation des méthodes HTTP différentes de GET et POST, imaginons que vous gérez votre profil sur un réseau social :

  • Pour changer votre photo de profil (remplacer une donnée existante), vous pourriez utiliser une requête PUT.
  • Si vous décidez de supprimer un de vos tweets, une requête DELETE serait envoyée.
  • Pour modifier votre biographie sans changer le reste de votre profil, une requête PATCH serait appropriée.

Test de mémorisation/compréhension


Quelle méthode HTTP utiliseriez-vous pour envoyer des données ?


Quelle méthode HTTP utiliseriez-vous pour modifier partiellement une donnée ?


Quelle méthode HTTP utiliseriez-vous pour remplacer une donnée ?


Quel code de statut HTTP signifie que la requête a réussi et qu'une nouvelle ressource a été créée ?


Quel code de statut indique que la requête ne peut pas être traitée à cause d'une erreur de syntaxe ?


Si vous êtes authentifié mais n'avez pas la permission d'accéder à une ressource, quel code de statut le serveur renverra-t-il ?


Pour quelle raison recevriez-vous un code de statut 500 ?



Quelques API publiques

Voici quelques API publiques, utilisables gratuitement (avec ou sans création d'un compte) :

TP pour explorer l'API de la "SNCF"

Objectif : Utiliser l'API SNCF pour rechercher des informations sur les itinéraires et les horaires de train en temps réel, en particulier pour un trajet entre Avranches et Paris.

Instructions détaillées :

  1. Allez sur https://www.digital.sncf.com/startup/api/ pour vous inscrire et obtenir votre clé d'accès à l'API SNCF.

  2. Ouvrez Postman et configurez votre environnement en ajoutant une variable pour votre clé API, par exemple sncf_api_key.

  3. Créez une nouvelle requête GET pour rechercher un train au départ d'Avranches pour Paris, demain à partir de 08h00 : https://api.sncf.com/v1/coverage/sncf/journeys

  4. Ajoutez un header à votre requête avec la clé Authorization et votre clé API personnelle comme valeur.

  5. Ajoutez les paramètres de requête pour spécifier la gare de départ "Avranches" et d'arrivée "Paris" et la date et l'heure de départ souhaitées (demain à partir de 08h00).

    Exemple de paramètres à ajouter à l'URL :

    • from: code UIC de la gare d'Avranches = admin:fr:50025
    • to: code UIC de la gare de Paris Montparnasse= = admin:fr:75056
    • datetime: date et heure de départ souhaitées au format ISO8601 (YYYYMMDDThhmmss)

      Par exemple à partir du 14 mars 2024 à 08h00 au format ISO8601 (heure de Paris) est 2024-03-14T08:00:00+01:00

  6. Envoyez la requête et observez le code de statut de la réponse, ainsi que les données d'itinéraire retournées.

  7. Analysez les différentes parties de la réponse pour comprendre la structure des données d'itinéraire, y compris les horaires, les correspondances éventuelles, et la durée du trajet.

Corrigé du TP :

Une solution

TP pour explorer l'API de "The Dog API"

Objectif : Utiliser Postman pour envoyer des requêtes GET à "The Dog API" et analyser les réponses.

Nous allons maintenant réaliser une requête HTTP en utilisant une clé d'API.

Instructions détaillées :

  1. Inscrivez-vous sur https://thedogapi.com/ pour obtenir votre clé API personnelle.

    • Vous allez ensuite recevoir un mail avec votre clé d'API.
  2. Ouvrez Postman et configurez votre environnement avec la clé API obtenue.

  3. Saisissez le endpoint (pour chercher des photos de chats via le serveur thecatapi.com) : https://api.thecatapi.com/v1/images/search

  4. Saisissez les pairs de clé/valeurs suivantes :

  • limit=10
  • breed_ids=beng
  • api_key=Votre_clé_API

Le mot anglais "breed" signifie race en français.

  1. Envoyez la requête et observez la réponse.

Corrigé du TP :

Une solution