|
Office de la Formation Professionnelle et de la Promotion du Travail Direction Régionale Nord Ouest II |
|
| Solicode | Examen de Fin de Module | Date EFM : 12/02/2025 |
| Filière : DMB | Base de données | Durée : 1 h 30 min |
| Groupe : 101 | Variante 3 | Année de formation : 2024/2025 |
Tu travailles sur une application Laravel permettant aux membres d’une association de randonnée de partager une seule proposition de randonnée.
Les autres membres peuvent ensuite ajouter des avis et des suggestions d’amélioration.
L’application doit permettre :
Membre).Avis).Suggestion).L’application doit afficher les propositions de randonnée, mettre à jour certaines de leurs données et permettre l’édition et la suppression des avis.
L’examen est divisé en deux parties :
Objectif :
RandonneeService (6 points)Question 1 : Crée une classe RandonneeService dans app/Services/ et ajoute une méthode getRandonneesWithAvis() qui retourne la liste des randonnées avec leurs relations (membre, avis, suggestions). (2 points)
Question 2 : Ajoute une méthode incrementRandonneeViews(Randonnee $randonnee) qui incrémente le nombre de vues de la randonnée et sauvegarde la modification. (2 points)
Question 3 : Ajoute une méthode incrementAvisViews(Randonnee $randonnee) qui incrémente le nombre de vues de chaque avis lié à cette randonnée et sauvegarde les modifications. (2 points)
RandonneeController (6 points)Question 4 : Crée un contrôleur RandonneeController et injecte RandonneeService dans son constructeur via l’Injection de Dépendance. (2 points)
Question 5 : Implémente une méthode index() qui :
RandonneeService.index.blade.php. (4 points)index.blade.php (6 points)Question 6 : Crée une vue resources/views/randonnees/index.blade.php qui affiche les propositions de randonnée sous forme de tableau avec les colonnes suivantes :
Question 7 : Tester le bon fonctionnement de l’affichage et s’assurer que les vues des randonnées et des avis sont bien incrémentées après chaque rafraîchissement de la page. (2 points)
Question 8 : Déclare une route /randonnees dans routes/web.php pour appeler la méthode index() du RandonneeController. (1 point)
Question 9 : Lancer l’application, tester l’affichage dans le navigateur et vérifier que :
Objectif :
Question 10 : Ajouter une méthode updateAvisSuggestions(Avis $avis, array $suggestionsIds) dans RandonneeService pour modifier les suggestions associées à un avis. (3 points)
Question 11 : Créer une méthode edit($id) dans AvisController qui retourne un formulaire d’édition avec la liste des suggestions disponibles. (2 points)
Question 12 : Implémenter une méthode update(Request $request, $id) dans AvisController qui met à jour les suggestions associées à un avis en utilisant RandonneeService. (2 points)
Question 13 : Implémenter une méthode show($id) dans ArticleController. (1 points)
Question 14 : Ajouter dans index.blade.php une colonne avec un bouton “Modifier” redirigeant vers la page d’édition de l’avis. (2 points)
Question 15 : Ajouter un bouton “Supprimer” avec un formulaire DELETE pour supprimer un avis. (2 points)
Question 16 : Implémenter la méthode destroy($id) dans AvisController pour gérer la suppression d’un avis. (2 points)
Question 17 : Modifier index.blade.php pour afficher les randonnées et les avis sous forme de tableau stylisé en ajoutant un fichier CSS. (2 points)
Question 18 : Améliorer le formulaire d’édition pour qu’il soit plus clair et agréable visuellement. (2 points)
Question 19 : Vérifier que les boutons sont bien alignés et que l’affichage est responsive. (2 points)
Bonne chance ! 🚀