Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 4

Les verbes HTTP et le CRUD

Les requêtes HTTP reposent sur des verbes (ou méthodes) qui précisent l'action à réaliser par le serveur. Le CRUD est la norme appliquée à une base de données : Create, Read, Update, Delete. Le cours précise qu'on l'applique à chaque route de l'API, avec en plus Search (CRUDS).

VerbeRôleIdempotent ?Sécurisé (ne change rien) ?
GETdemander une ressource ; ne modifie pas l'état du serveurouioui
POSTenvoyer des données, souvent pour créer ; modifie l'étatnonnon
PUT / PATCHenvoyer une ressource : remplace ou crée la ressource sous l'URI indiquée ; mise à jouroui (PUT)non
DELETEsupprimer une ressourceouinon
HEADcomme GET mais renvoie seulement les en-têtes, sans corpsouioui
OPTIONSdemander quelles méthodes sont supportées ; utilisé pour CORSoui(non précisé)

Autres verbes moins courants : TRACE (suivre le chemin d'une requête, utile au débogage) et CONNECT (établir un tunnel, plus utilisé pour les proxys, notamment pour HTTPS).

Vérifie que tu as compris

Tu envoies deux fois la même requête POST d'inscription. Que peut-il se passer ?

Idempotence en pratique

Une méthode est idempotente si la répéter donne le même effet qu'une seule fois. DELETE : après plusieurs requêtes, la ressource est supprimée (ou déjà supprimée), le résultat reste le même. Les méthodes idempotentes (GET, PUT, DELETE) sont donc à privilégier quand on veut qu'un appel répété n'ait pas d'effet supplémentaire indésirable.

GET    /films/42     -> lire (Read)
POST   /films        -> créer (Create), corps JSON
PUT    /films/42     -> remplacer / mettre à jour (Update)
DELETE /films/42     -> supprimer (Delete)

(chemins ajoutés comme exemple d'association verbe / CRUD)

Bonnes pratiques du cours

  • Utiliser les verbes correctement : ne pas utiliser POST pour récupérer des données, c'est le rôle de GET.
  • Sécuriser les méthodes sensibles : POST, PUT, DELETE et PATCH doivent être protégées par authentification et autorisation, car elles modifient les ressources.

Vérifie que tu as compris

Un client veut seulement savoir si une page existe et connaître sa taille, sans télécharger le contenu. Quel verbe ?