MVC C# /.Net / ASP.NET Core 1.0 Hervé PHILIPPE Promotion 2015-2016
Plan Rappels Introduction Technologies intégrées Fichiers d un projet Fichier Startup.cs Pattern MVC
Rappels - Historique Microsoft : ASP / ASP.NET 1996 : ASP 1.0 (Active Server Page) 2002 : ASP.NET 1.0 2009 : MVC 1.0 (Model View Controler) 2011 : Razor (+ MVC 3.0) Web Pages = Fichiers.cshtml /.vbhtml Syntaxe plus intuitive 2016 : ASP.NET Core 1.0 Changement de nom : ASP.NET 5 -> ASP.NET Core 1.0 MVC 6 -> ASP.NET Core MVC EF 7 -> Entity Framework Core (EF Core)
Rappels ASP.NET
Rappels ASP.NET
Introduction Convention plutôt que Configuration Conventions à respecter pour : Noms des dossiers Noms des fichiers Noms des classes Noms des méthodes Les «attributs» du C# sont beaucoup utilisés Les attributs (= annotations = décorateurs) servent à ajouter des métadonnées à toutes sortes de déclarations Exemple d attributs pour une propriété : Documentation officielle http://www.asp.net/vnext/overview/aspnet-vnext [Required] [EmailAddress] [Display(Name = "Email")] public string Email { get; set; }
Technologies intégrées MVC 6 (Model-View-Controller) Architecture logicielle d une application ASP.NET (avant : possibilité de choisir une autre logique : «WebForms» basée sur les événements) Web Pages 4 Pages HTML contenant du code.net (C# ou VB.NET) Entity Framework 6 Permettre d accéder aux données ASP.NET Identity 3 Gérer les authentifications des utilisateurs WebAPI Faciliter la création des Web Services SignalR 3 Simplifier la façon de créer des fonctionnalités temps-réel à un site web
Fichiers d un projet Fichier basé sur C#.cs -> fichier source Fichier basé sur VisualBasic.NET.vb -> fichier source.cshtml -> fichier source «Web Pages».vbhtml -> fichier source «Web Pages» Autres types de fichiers.json,.ini,.xml : fichiers de données (notamment pour la configuration).aspx : fichier source «WebForms» (HTML avec code C# ou VB.NET) Fichiers importants : project.json : fichier de configuration générale du projet appsettings.json : fichier de configuration optionnel Startup.cs : point d entrée de l application
Fichier Startup.cs Fichier «Startup.cs» : point d entrée de l application web Classe «Startup» utilisée à l exécution Constructeur (optionnel) par exemple pour lire les configurations Méthode «Main» : public static void Main(string[] args) { WebApplication.Run<Startup>(args); } Méthode «ConfigureServices» : Configuration des services pouvant être utilisés par l application web Configuration des conteneurs pour des services («Dependency Injection») Méthode «Configure» : Etapes de construction de la réponse à la requête HTTP
Fichier Startup.cs / Configure Etapes de construction de la réponse à la requête HTTP L ordre des instructions est très important Principales instructions : «app.usestaticfiles();» : Pour utiliser des fichiers statiques (HTML/CSS/JS) «app.useidentity();» Pour utiliser l authentification des utilisateurs «app.usemvc» : Pour définir la «route» app.usemvc(routes => { routes.maproute( name: "default", template: "{controller=home}/{action=index}/{id?}"); }); Utilisation par défaut de la classe «Home» Utilisation par défaut de la méthode «Index» Paramètre optionnel : «id»
Pattern MVC Pattern MVC = modèle d architecture logicielle Plan de construction à suivre pour le développement (création et organisation des classes, des méthodes, des propriétés ) Model Données et gestion des données de l application View Afficher les données Controller Gérer l interaction avec l utilisateur (requête/réponse du navigateur) Donner à la vue, les données venant du modèle