Exercice 10.6 · 15 min · 0 tentative
Modifier et supprimer (PUT/DELETE)
🎯 Objectif
Ajouter les fonctionnalités modifier (PUT) et supprimer (DELETE) pour compléter le CRUD.
📖 Contexte
L'application gère déjà la lecture (GET) et la création (POST). Il reste les deux dernières opérations du CRUD : modifier et supprimer.
Les 4 opérations CRUD
| Opération | Méthode HTTP | URL | Body |
|---|---|---|---|
| Create | POST | /products/add | Données JSON |
| Read | GET | /products | Aucun |
| Update | PUT | /products/{id} | Nouvelles données JSON |
| Delete | DELETE | /products/{id} | Aucun |
Requête PUT (modifier)
const response = await fetch("https://dummyjson.com/products/1", {
method: "PUT",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ title: "Nouveau titre" })
})
Requête DELETE (supprimer)
const response = await fetch("https://dummyjson.com/products/1", {
method: "DELETE"
})
DELETE est la méthode la plus simple : pas de body, juste la méthode et l'URL.
data-id : stocker l'ID dans le HTML
Chaque bouton porte un attribut data-id qui contient l'ID du produit :
<button class="btn-edit" data-id="5">✏️</button>
En JavaScript, on le récupère avec bouton.dataset.id.
Événements délégués
Au lieu d'ajouter un écouteur sur chaque bouton, on écoute les clics sur le tbody (le parent). Quand un bouton est cliqué, l'événement "remonte" jusqu'au tbody :
tbody.addEventListener("click", function(e) {
if (e.target.classList.contains("btn-delete")) {
// Le bouton supprimer a été cliqué
}
})
📝 Consigne
- Complète
modifierProduit(id, nouveauTitre): envoie une requête PUT - Complète
supprimerProduit(id): envoie une requête DELETE - Complète le gestionnaire de clic : appelle les fonctions et mets à jour le tableau local
Bravo ! En terminant cet exercice, tu auras construit une application CRUD complète. C'est exactement le type de projet que tu vas réaliser en autonomie dans WebStorm.
Objectifs
- Utiliser method PUT
- Utiliser method DELETE
- Fonction modifierProduit
- Fonction supprimerProduit
- URL dynamique avec l'ID
- Retirer le produit du tableau
Lis bien les instructions et lance-toi !