Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| id_symfo_conception_us [2024/11/27 14:30] – [Démarche de conception d'une User Story d'une application symfony] admwiki | id_symfo_conception_us [2024/11/27 16:47] (Version actuelle) – [Préalables sur l'application symfony] admwiki | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ===== Démarche de conception d'une User Story d'une application symfony | + | ===== Démarche de conception d'une User Story ===== |
| - | ==== Un exemple avec l' | + | === Un exemple avec l' |
| - | ===== Contexte | + | ==== Contexte ==== |
| L’application Equida est une application permettant de gérer les ventes aux enchères des chevaux de courses. La société Equida organise environ dix ventes aux enchères par an sur deux sites : | L’application Equida est une application permettant de gérer les ventes aux enchères des chevaux de courses. La société Equida organise environ dix ventes aux enchères par an sur deux sites : | ||
| Ligne 23: | Ligne 23: | ||
| La configuration à la base de données est réalisée dans le fichier .env | La configuration à la base de données est réalisée dans le fichier .env | ||
| - | ===== Expression du besoin | + | ==== Expression du besoin ==== |
| Une nouvelle fonctionnalité (user story) doit être ajoutée à l’application Equida. Il faut ajouter la possibilité à l’utilisateur de l’application de consulter la liste les chevaux proposés lors d’une vente avec, pour chaque cheval, le prix de la mise de départ, les informations du vendeur. | Une nouvelle fonctionnalité (user story) doit être ajoutée à l’application Equida. Il faut ajouter la possibilité à l’utilisateur de l’application de consulter la liste les chevaux proposés lors d’une vente avec, pour chaque cheval, le prix de la mise de départ, les informations du vendeur. | ||
| Si un cheval n’a pas été vendu, il pourra être remis aux enchères lors d’une prochaine vente. C’est la notion de Lot (précisé dans le cahier des charges). | Si un cheval n’a pas été vendu, il pourra être remis aux enchères lors d’une prochaine vente. C’est la notion de Lot (précisé dans le cahier des charges). | ||
| - | ===== Modélisation / Diagramme de classes | + | ==== Modélisation / Diagramme de classes ==== |
| Le diagramme de classe existe déjà (classes en rose). | Le diagramme de classe existe déjà (classes en rose). | ||
| Pour répondre au besoin exprimé, il faut le faire évoluer comme ci-dessous : classes en jaune. | Pour répondre au besoin exprimé, il faut le faire évoluer comme ci-dessous : classes en jaune. | ||
| - | ===== Wireframes ===== | + | {{ : |
| - | On partira de la page existante « lister les ventes » et on ajoutera sur chaque vente, un lien qui affichera une page reprenant les informations de la vente et listant les chevaux sélectionnés pour la vente sur laquelle on aura cliquée. | + | |
| + | ==== Wireframes et navigation ==== | ||
| + | On partira de la page existante « lister les ventes » et on ajoutera sur chaque vente, un lien qui affichera une page reprenant les informations de la vente et listant les chevaux sélectionnés pour la vente sur laquelle on aura cliquée. | ||
| - | ===== Préalables sur l' | + | {{ : |
| + | ==== Préalables sur l' | ||
| Cette nouvelle fonctionnalité sera développée en local à partir de la dernière version de l’application publiée sur gitHub. | Cette nouvelle fonctionnalité sera développée en local à partir de la dernière version de l’application publiée sur gitHub. | ||
| Ligne 43: | Ligne 45: | ||
| A chaque nouvelle unité de code ajoutée ou modifiée, un commit sera réalisé. | A chaque nouvelle unité de code ajoutée ou modifiée, un commit sera réalisé. | ||
| - | ===== Couche Model ===== | + | ==== Couche Model ==== |
| - | * l’entity | + | * l’entity |
| - | * création de l’entity Lot + relation ManyToOne vers Vente | + | * création de l’entity Lot + relation ManyToOne |
| * création de l’entity Vendeur | * création de l’entity Vendeur | ||
| - | * Création de l’entity Cheval + relation MTO vers Vendeur + relation MTO vers Race | + | * Création de l’entity Cheval + relation MTO vers Vendeur + relation MTO vers TypeCheval |
| * Reprendre l’entity Lot pour y ajouter la relation MTO vers Cheval Commit | * Reprendre l’entity Lot pour y ajouter la relation MTO vers Cheval Commit | ||
| L’id de chaque entity sera créé automatiquement ainsi que tous les getters/ | L’id de chaque entity sera créé automatiquement ainsi que tous les getters/ | ||
| Ligne 54: | Ligne 56: | ||
| < | < | ||
| - | ===== Base de données | + | ==== Base de données ==== |
| Il faut faire évoluer la structure de la base de données en fonction du nouveau Model. | Il faut faire évoluer la structure de la base de données en fonction du nouveau Model. | ||
| Ligne 62: | Ligne 64: | ||
| * Ajouter ensuite des données pertinentes et en nombre suffisant dans les nouvelles tables : donc ajouter des chevaux avez leur vendeur et leur type, ajouter des lots avec le cheval et la vente liés. | * Ajouter ensuite des données pertinentes et en nombre suffisant dans les nouvelles tables : donc ajouter des chevaux avez leur vendeur et leur type, ajouter des lots avec le cheval et la vente liés. | ||
| - | ===== Couche Controller | + | ==== Couche Controller ==== |
| * le contrôleur VenteControlleur existe déjà. Il faut y ajouter la méthode permettant de consulter une vente | * le contrôleur VenteControlleur existe déjà. Il faut y ajouter la méthode permettant de consulter une vente | ||
| Ligne 71: | Ligne 73: | ||
| * type de retour : Response | * type de retour : Response | ||
| - | * adapter la route associée // | + | * adapter la route associée // |
| * nom de la route : app_vente_show | * nom de la route : app_vente_show | ||
| * url : / | * url : / | ||
| Ligne 77: | Ligne 79: | ||
| * Corps de la méthode | * Corps de la méthode | ||
| - | * récupérer dans un objet vente, | + | * récupérer dans une variable |
| - | * renvoyer vers la vue qui sera dans le dossier templates/ | + | * renvoyer vers la vue qui sera dans le dossier templates/ |
| - | ===== Couche View ===== | + | ==== Couche View ==== |
| * Reprendre la vue permettant de lister les ventes (template/ | * Reprendre la vue permettant de lister les ventes (template/ | ||
| * Dans le dossier template/ | * Dans le dossier template/ | ||
| Ligne 86: | Ligne 88: | ||
| * créer un tableau des chevaux qui sera construit en faisant une boucle sur les lots d’une vente ({% for leLot in vente.lots %} (affichage des informations d’un cheval avec leLot.cheval.nom, | * créer un tableau des chevaux qui sera construit en faisant une boucle sur les lots d’une vente ({% for leLot in vente.lots %} (affichage des informations d’un cheval avec leLot.cheval.nom, | ||
| * implémenter le design commun aux pages de l' | * implémenter le design commun aux pages de l' | ||
| + | |||
| + | |||
| + | ==== Tests ==== | ||
| + | |||
| + | Avec le navigateur web : | ||
| + | |||
| + | * ouvrir la page http:// | ||
| + | * cliquer sur une vente (exemple la vente ayant l'id 3) | ||
| + | * la page http:// | ||
| + | |||
| + | ==== Publication ==== | ||
| + | |||
| + | Les commits ont été réalisés à chaque unité de code ajoutée et/ou modifiée. | ||
| + | |||
| + | Une fois la user story testée et validée : | ||
| + | |||
| + | * publier le code de la branche vers github | ||
| + | * créer une pull Request | ||
| + | * faire tester la US et réviser le code par une autre personne de l' | ||
| + | * si ok, merge la branche avec la main | ||
| + | * prévenir les autres membres de l' | ||
| + | * livrer en environnement de recette | ||
| + | * faire tester par le product owner | ||
| + | |||
| + | |||
| + | |||