Objectifs pédagogiques
- Implémenter les divers composants de .NET Core dans son utilisation d'accès aux données, Web Service et présentation IHM propre .NET comme Razor, mais aussi intégré à un Framework Front End, comme ici Angular.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir de bonnes connaissances d'un langage Objet type Java, ou mieux, C#. Connaître les bases d'une architecture technique Web.
Public concerné
Tout professionnel amené à développer des applications .NET Core pour le Web.
Programme
Jour 1
Introduction à .NET Core
- Présentation et rôle du .NET Core
- .NET Framework et .NET Core, différences
- La CLR (Common Language Runtime)
- Les assemblys
- L'outil NuGet et Visual Studio
- Le garbage collector
- Une application console
Exemples de travaux pratiques (à titre indicatif)
- Création d'une application console simple et décompilation de l'assembly pour observer sa structure en .NET Core
Le langage C#, synthèse
- Vue d'ensemble des types communs
- Les chaînes de caractères
- Les instructions conditionnelles
- Les boucles
- Les exceptions
- Concept de base de l'héritage
- Le polymorphisme
- Les opérateurs "is" et "as"
- Redéfinition des méthodes et des propriétés
- Appeler la méthode ou la propriété de la classe de base
- Les classes abstraites
- Les interfaces
- La classe de base : "object"
Exemples de travaux pratiques (à titre indicatif)
- Reprise du projet créé précédemment
- Ajout de composants afin de maîtriser les principales syntaxes vue dans le chapitre
Jour 2
LINQ et ADO.NET
- Introduction à LINQ et ADO.NET
- Les méthodes d'extensions LINQ
- Le langage LINQ intégré au C#
- La classe
- DbConnection
- DbCommand
- DbDataReader
- DbDataAdapter
- Généricité des objets ADO.NET
Exemples de travaux pratiques (à titre indicatif)
- Diverses utilisations de LINQ dans le programme écrit
- Lecture et écriture dans une base de données SQL Server
Entity Framework
- Architecture d'Entity Framework
- Lien entre Entity Framework et ADO.NET
- Les différents providers supportés par Entity Framework
- Notion de "DbContext"
- Utilisation d'Entity Framework avec l'IoC
- Approfondissement de l'Object Relational Mapping Entity Framework
- Notion d'entité
- Mapping par défaut (conventions)
- Annotations
- Surcharger les conventions avec Fluent API
Exemple de travaux pratiques (à titre indicatif)
- Création d'une nouvelle application console de gestion des données avec l'ORM Entity Framework
Jour 3
ASP.NET Core
- Les importantes briques conceptuelles
- MVC (Model-View-Controller)
- Injection de dépendances
- Architecture modulaire avec les middleware et l'injection de dépendances
- Architecture MVC
Exemple de travaux pratiques (à titre indicatif)
- Réalisation d'une première application .NET MVC Core simple
Jour 4
Au coeur d'ASP.NET Core
- Les routes
- Comment déclarer ses routes
- Templates de routage : syntaxe et usage
- Nouvelle notion d'Area
- Attributs
- Filtres sur les requêtes
- URL Rewriter
- Les contrôleurs
- Appel de la couche métier et fourniture des données pour la vue
- Actions du contrôleur
- Filtres d'actions
- Retourner
- Un fichier comme résultat
- Du JSon comme résultat
- Vers une autre route...
- Passage de données contrôleur -> Vue avec le ViewBag
- Les vues avec le moteur Razor
- Passer les données du contrôleur à la vue, formulaires fortement typés
- Layout pour réaliser des pages maîtres
- Architecture orientée contenu, sans contrôleur avec les Pages Razor
Exemples de travaux pratiques (à titre indicatif)
- Reprise de l'application écrite et création de contrôleurs
- Vues avec Blazor
- Passage de données du contrôleur à la vue
Web API avec ASP.NET Core
- Web Services REST pour fournir des données
- Routes de Web API
- Cross Origin Shared Resource pour fournir des données à des clients JavaScript
Exemple de travaux pratiques (à titre indicatif)
- Ecriture d'un Web service lié à une base de données déjà écrite
Jour 5
Intégration d'Angular dans ASP.NET Core
- Présentation des solutions Front-End
- Les concepts d'Angular
- Création du projet
- Création du modèle de données
- Appel de Web Service
- Structuration d'une application Angular
- Création du Store Angular
- Utilisation d'Angular avec Blazor
- Data Binding et directives
- Services et injection de Dependance Angular
- Utiliser Angular avec ASP.NET MVC
- Support de Visual Studio pour Angular
- Concepts de Bootstrap
- Styles Bootstrap et composants
- Gérer les dependances avec NuGet et Bower
- Construction d'application avec Webpack
- Déploiement sur IIS
Exemples de travaux pratiques (à titre indicatif)
- Conception d'une application Angular, de son modèle de données et services
- Appel des services sur ASP.NET Core
- Présentation des données sur l'IHM Angular
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)