|
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 1 | Année de formation : 2024/2025 |
Tu travailles sur une application Laravel permettant de gérer des articles de blog avec leurs relations :
User).Comment).Category).L’application doit afficher les articles, mettre à jour certaines de leurs données et permettre l’édition et la suppression des articles.
L’examen est divisé en deux parties :
Populaire pour les articles ayant plus de 10 vues.ArticleService (6 points)Question 1 : Crée une classe ArticleService dans app/Services/ et ajoute une méthode getArticlesWithRelations() qui retourne la liste des articles avec leurs relations (user, comments, categories). (2 points)
Question 2 : Ajoute une méthode incrementArticleViews(Article $article) qui incrémente le nombre de vues de l’article et sauvegarde la modification. (2 points)
Question 3 : Ajoute une méthode incrementCommentViews(Article $article) qui incrémente le nombre de vues de chaque commentaire lié à cet article et sauvegarde les modifications. (2 points)
ArticleController (6 points)ArticleController et injecte ArticleService dans son constructeur via l’Injection de Dépendance. (2 points)index() qui :
ArticleService.Populaire (ajouter cette catégorie s’il dépasse 10 vues).index.blade.php. (4 points)index.blade.php (6 points)resources/views/articles/index.blade.php qui affiche les articles sous forme de tableau avec les colonnes suivantes :
/articles dans routes/web.php pour appeler la méthode index() du ArticleController. (1 point)Populaire. (1 point)Question 10 : Ajouter une méthode updateArticleCategories(Article $article, array $categoryIds) dans ArticleService pour modifier les catégories associées à un article. (3 points)
Question 11 : Créer une méthode edit($id) dans ArticleController qui retourne un formulaire d’édition avec la liste des catégories disponibles et celles déjà attachées à l’article. (2 points)
Question 12 : Implémenter une méthode update(Request $request, $id) dans ArticleController qui met à jour les catégories d’un article en utilisant ArticleService. (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’article. (2 points)
Question 15 : Ajouter un bouton “Supprimer” avec un formulaire DELETE pour supprimer un article. (2 points)
Question 16 : Implémenter la méthode destroy($id) dans ArticleController pour gérer la suppression d’un article. (2 points)
Question 17 : Modifier index.blade.php pour afficher les articles 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 ! 🚀