12. Conclusion
Ce document a présenté la construction d'une application web MVC avec le framework [NestJS] : une application dont les pages HTML sont fabriquées par le serveur, sans framework [JavaScript] côté navigateur. Il a suivi la progression du cours Introduction à ASP.NET MVC par l'exemple : des contrôleurs et du routage vers les vues, les formulaires, l'internationalisation, la sécurité et l'accès aux données, puis une étude de cas complète.
Les correspondances entre les deux frameworks sont nombreuses :
ASP.NET MVC (2013) | NestJS (2026) |
contrôleur, action ([ActionResult]) | contrôleur [@Controller], action [@Get], [@Post] |
modèle d’action, [[Required]], [[Range]]... | classe DTO, décorateurs de [class-validator] |
[ModelState.IsValid] | [validate()] et réaffichage du formulaire |
vues [Razor] ([.cshtml]), [_Layout.cshtml] | vues [Handlebars] ([.hbs]), [layout.hbs] |
vues partielles, helpers HTML | partiels [{{> nom}}], helpers [hbs.registerHelper] |
[TempData] | message flash dans un cookie |
session | cookies (jeton JWT, langue) : serveur sans état |
filtres d’action, [[Authorize]] | middlewares, gardes ([@UseGuards], [@Roles]), intercepteurs |
fichiers de ressources ([.resx]) | dictionnaires JSON, helper [t] |
[Entity Framework] | [TypeORM] |
L'étude de cas montre qu'une application HTML classique, sans [JavaScript] indispensable, reste une solution simple et robuste : chaque page est une URL, le bouton « précédent » du navigateur fonctionne, et le serveur contrôle tout. Le peu de [JavaScript] utilisé (la fenêtre de confirmation) améliore le confort sans être nécessaire au fonctionnement.
Pour aller plus loin, on pourra consulter la documentation de [NestJS] (docs.nestjs.com), et comparer cette application à ses deux sœurs, qui utilisent le même serveur [NestJS] en version JSON avec un client [Angular] ou [Flutter].