From 95a5f99334830bb564f9fb4af1cd0f68a47bcef1 Mon Sep 17 00:00:00 2001 From: mirage <119869686+ClementBobin@users.noreply.github.com> Date: Thu, 26 Mar 2026 11:10:48 +0100 Subject: [PATCH] refactor: update sidebar component to use ViewComponent and improve layout structure --- Webzine.Repository/SeedMockData.cs | 462 ++ .../Components/Sidebar/Default.cs | 21 + Webzine.WebApplication/Program.cs | 18 +- .../Views/Accueil/Index.cshtml | 5 +- .../Views/Artiste/Index.cshtml | 3 +- .../Views/Recherche/Index.cshtml | 2 +- .../Views/Shared/_Layout.cshtml | 6 +- .../Views/Shared/_Sidebar.cshtml | 50 +- .../Views/Titre/Details.cshtml | 4 +- .../Views/Titre/Style.cshtml | 2 +- .../Webzine.WebApplication.csproj | 2 - Webzine.WebApplication/wwwroot/js/all.min.js | 6 - Webzine.WebApplication/wwwroot/js/app.js | 0 .../wwwroot/js/bootstrap.bundle.js | 6312 ----------------- .../wwwroot/js/bootstrap.min.js | 7 - .../wwwroot/js/bootstrap.min.js.map | 1 - .../wwwroot/webfonts/fa-brands-400.woff2 | Bin 110088 -> 0 bytes .../wwwroot/webfonts/fa-regular-400.woff2 | Bin 18924 -> 0 bytes .../wwwroot/webfonts/fa-v4compatibility.woff2 | Bin 4032 -> 0 bytes 19 files changed, 523 insertions(+), 6378 deletions(-) create mode 100644 Webzine.Repository/SeedMockData.cs create mode 100644 Webzine.WebApplication/Components/Sidebar/Default.cs delete mode 100644 Webzine.WebApplication/wwwroot/js/all.min.js delete mode 100644 Webzine.WebApplication/wwwroot/js/app.js delete mode 100644 Webzine.WebApplication/wwwroot/js/bootstrap.bundle.js delete mode 100644 Webzine.WebApplication/wwwroot/js/bootstrap.min.js delete mode 100644 Webzine.WebApplication/wwwroot/js/bootstrap.min.js.map delete mode 100644 Webzine.WebApplication/wwwroot/webfonts/fa-brands-400.woff2 delete mode 100644 Webzine.WebApplication/wwwroot/webfonts/fa-regular-400.woff2 delete mode 100644 Webzine.WebApplication/wwwroot/webfonts/fa-v4compatibility.woff2 diff --git a/Webzine.Repository/SeedMockData.cs b/Webzine.Repository/SeedMockData.cs new file mode 100644 index 0000000..5d1dfc6 --- /dev/null +++ b/Webzine.Repository/SeedMockData.cs @@ -0,0 +1,462 @@ +using Webzine.EntitiesContext; +using Webzine.Entity; +using Bogus; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Webzine.Repository +{ + /// + /// Classe de service pour peupler la base de données avec des données fictives (mock data) à des fins de développement et de test. + /// + public class SeedMockData + { + private readonly WebzineDbContext _context; + private readonly Random _random; + + /// + /// Constructeur pour l'utilisation avec base de données + /// + public SeedMockData(WebzineDbContext context) + { + _context = context; + _random = new Random(); + } + + /// + /// Constructeur pour l'utilisation en mémoire (sans base de données) + /// + public SeedMockData() + { + _random = new Random(); + } + + /// + /// Peuple la base de données avec des données fictives + /// + public void SeedDB() + { + // Vérifie si la base contient déjà des données + if (_context.Artistes.Any()) return; + + // Génère toutes les données + var styles = GenererStyles(18); + var artistes = GenererArtistes(100); + var titres = GenererTitres(artistes, 500, 550); + var commentaires = GenererCommentaires(titres, 0, 5); + + // Associe les styles aux titres + AssocierStylesAuxTitres(titres, styles); + + // Sauvegarde dans la base + _context.SaveChanges(); + } + + /// + /// Génère des données fictives en mémoire sans base de données + /// + /// Tuple contenant toutes les données générées + public (List