using Microsoft.AspNetCore.Mvc; using Webzine.Repository.Fake; using Webzine.WebApplication.ViewModels.Accueil; namespace Webzine.WebApplication.Controllers { public class AccueilController : Controller { // Injection du logger via le constructeur private readonly ILogger _logger; private readonly IConfiguration _configuration; public AccueilController(ILogger logger, IConfiguration configuration) { _logger = logger; _configuration = configuration; } // GET: AccueilController public ActionResult Index() { _logger.LogInformation("Arrivée sur la page d'accueil"); var derniereChronique = _configuration.GetValue("Webzine:NombreDerniereChronique"); var topTitres = _configuration.GetValue("Webzine:NombreDeTopTitres"); var titres = FakeDataFactory.GetTitres(); var vm = new AccueilIndexViewModel { DerniersTitres = titres .OrderByDescending(t => t.DateCreation) .Take(derniereChronique) .ToList(), TopTitres = titres .OrderByDescending(t => t.NbLikes) .Take(topTitres) .ToList() }; return View(vm); } } }