Pizzima
Le TP fil rouge des séances 6 à 10. À la fin, vous aurez une vraie application web : un site React qui parle à une API Express, avec un catalogue, un panier, des commandes et un back-office.
Le cahier des charges
En tant que ZZ, je peux :
- consulter la liste des pizzas
- créer une commande
- voir le récapitulatif de ma commande
En tant que membre du BDE, je peux :
- gérer le référentiel de pizzas (CRUD)
- voir les commandes passées
Récupérer le starter
Le tooling (TypeScript, Vite, Express, le proxy) est déjà réglé, et une première fonctionnalité tourne de bout en bout. Vous partez donc d’une application qui marche, pas d’une page blanche.
npx degit JulienUsson/zz3-f2-js/pizzima-starter pizzima
cd pizzima
Puis, dans deux terminaux séparés :
# Terminal 1
cd backend && npm install && npm run dev
# Terminal 2
cd frontend && npm install && npm run dev
✅ Vous êtes prêt quand http://localhost:5173 affiche six pizzas.
Le README.md du starter décrit chaque fichier et explique les deux ou trois pièges (le proxy, l’extension .js dans les imports).
Les étapes
Une étape par séance. Chacune se termine par un point de contrôle : si vous le passez, vous pouvez enchaîner sereinement.
- Étape 1 — L’API répond · lire les données, une pizza par son id
- Étape 2 — Le CRUD complet · créer, modifier, supprimer, valider
- Étape 3 — Le catalogue en React · composants, props, état
- Étape 4 — Le panier et la commande · état partagé, POST vers l’API
- Étape 5 — L’espace BDE · le back-office, et les finitions
Comment travailler
- Versionnez.
git initdès l’étape 1, un commit par fonctionnalité. Vous pourrez revenir en arrière quand vous casserez quelque chose (ça arrivera). - Un truc à la fois. Faites marcher le backend avec
curlou Postman avant de toucher au React. Quand ça ne marche pas, vous saurez de quel côté chercher. - Lisez les erreurs. Le terminal de l’API et la console du navigateur (F12) disent presque toujours ce qui ne va pas.
- Bloqué plus de 15 minutes ? Appelez-moi. C’est le but d’être en salle.