| Prochaine révision | Révision précédente |
| eadl:bloc3:xp:td3 [2026/01/06 21:14] – créée jcheron | eadl:bloc3:xp:td3 [2026/01/07 01:36] (Version actuelle) – [Consignes spécifiques pour les équipes de 4] jcheron |
|---|
| ====== TD : Pratiques XP 2 ====== | ====== TD Pratiques XP 2 ====== |
| Coffre à Trésor (XP + TDD + Pair Programming en équipes de 4) | Coffre à Trésor (XP en mini-projet) |
| | |
| | https://classroom.github.com/a/xhSVWf3J |
| |
| ===== Organisation de la séance ===== | ===== Organisation de la séance ===== |
| Durée totale : 4 heures. | Durée totale : 4 heures. |
| Travail en **équipes fixes de 4 personnes**. | Travail en **équipes fixes de 4/3 personnes**. |
| |
| Chaque équipe fonctionne comme une petite équipe XP : | Chaque équipe fonctionne comme une petite équipe XP : |
| *l'enseignant peut fournir un test précis pour relancer.* | *l'enseignant peut fournir un test précis pour relancer.* |
| |
| === 4. Propreté collective === | === 4. Propriété collective === |
| Chaque membre est responsable : | Chaque membre est responsable : |
| * de la lisibilité du code, | * de la lisibilité du code, |
| * l'équipe doit maintenir une cohérence de style et de structure. | * l'équipe doit maintenir une cohérence de style et de structure. |
| |
| ---- | ===== Sujet du TD : Le Coffre à Trésor ===== |
| | |
| | Vous devez implémenter un module représentant un coffre à trésor. |
| | Le coffre contient des objets (nom, poids, valeur) et possède une capacité maximale. |
| | |
| | Vous devez avancer par **micro‑fonctions**, guidées par les tests. |
| | |
| | ===== Backlog ===== |
| | |
| | ==== MVP ==== |
| | |
| | <WRAP round todo> |
| | === US1 : Ajouter un objet === |
| | En tant qu’aventurier, |
| | je veux ajouter un objet dans mon coffre, |
| | afin de stocker du matériel utile. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US2 : Retirer un objet === |
| | En tant qu’aventurier, |
| | je veux retirer un objet par son nom, |
| | afin de récupérer ce dont j’ai besoin. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US3 : Lister les objets === |
| | En tant qu’aventurier, |
| | je veux connaître la liste des objets présents dans le coffre, |
| | afin de voir ce qu’il contient. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US4 : Connaître le poids total === |
| | En tant qu’aventurier, |
| | je veux connaître le poids total des objets, |
| | afin d’évaluer la charge transportée. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US5 : Connaître la valeur totale === |
| | En tant qu’aventurier, |
| | je veux connaître la valeur totale du contenu, |
| | afin d’évaluer la richesse du coffre. |
| | </WRAP> |
| | ==== Fonctionnalités utiles ==== |
| | |
| | <WRAP round todo> |
| | === US6 : Empêcher les doublons === |
| | En tant qu’aventurier prudent, |
| | je veux qu’il soit impossible d’ajouter deux objets portant le même nom, |
| | afin d’éviter les incohérences. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US7 : Fixer une capacité maximale === |
| | En tant qu’aventurier, |
| | je veux configurer la capacité maximale du coffre, |
| | afin d’éviter qu’il ne soit trop lourd. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US8 : Gérer les objets rares === |
| | En tant qu’aventurier, |
| | je veux que les objets rares valent le double, |
| | afin de valoriser leur rareté. |
| | </WRAP> |
| | |
| | <WRAP round todo> |
| | === US9 : Trier les objets === |
| | En tant qu’aventurier, |
| | je veux trier les objets par nom, poids ou valeur, |
| | afin d’y voir plus clair. |
| | </WRAP> |
| |
| ===== Sujet du TD : Coffre à Trésor ===== | <WRAP round todo> |
| | === US10 : Rechercher un objet === |
| | En tant qu’aventurier, |
| | je veux trouver un objet par son nom, |
| | afin de le localiser rapidement. |
| | </WRAP> |
| | ==== Bonus ==== |
| |
| Les équipes doivent avancer par **micro-fonctionnalités**, | <WRAP round todo> |
| dans l'ordre qu'elles jugent pertinent, | === US11 : Verrouiller le coffre === |
| en respectant strictement le cycle TDD. | En tant qu’aventurier, |
| | je veux pouvoir verrouiller mon coffre, |
| | afin d’empêcher toute modification. |
| | </WRAP> |
| |
| | <WRAP round todo> |
| | === US12 : Historiser les actions === |
| | En tant qu’aventurier, |
| | je veux que chaque action (ajout, retrait, échec) soit historisée, |
| | afin de pouvoir retracer les événements. |
| | </WRAP> |
| |
| ===== Objectif pédagogique supplémentaire (équipe de 4) ===== | <WRAP round todo> |
| Apprendre à : | === US13 : Transférer un objet === |
| * synchroniser plusieurs binômes sur une base de code commune, | En tant qu’aventurier, |
| * communiquer clairement les choix de tests, | je veux transférer un objet d’un coffre A à un coffre B, |
| * gérer un design vivant et collectif, | afin de gérer plusieurs coffres facilement. |
| * rebondir sur le travail écrit par un autre binôme, | </WRAP> |
| * maintenir un rythme XP d'équipe. | |
| |
| |
| ===== Bialn ===== | ==== Bilan ==== |
| Peut inclure : | Peut inclure : |
| * cohérence du code entre les différents binômes, | * cohérence du code entre les différents binômes, |