Description du cours
Dans ce cours, les développeurs Web professionnels apprendront à développer des applications ASP.NET Core MVC avancées à l'aide des outils et technologies .NET. L'accent sera mis sur les activités de codage qui améliorent les performances et l'évolutivité de l'application du site Web.
*Ce cours ne comporte pas d'examen de certification Microsoft officiel
Profil public
Ce cours est destiné aux développeurs Web professionnels utilisant Microsoft Visual Studio dans un environnement de développement individuel ou en équipe de petite ou grande taille. Les candidats à ce cours sont intéressés par le développement d'applications Web avancées et souhaitent gérer le rendu HTML de bout en bout. Ils souhaitent créer des sites Web qui séparent l'interface utilisateur, l'accès aux données et la logique des applications. Le développement côté serveur utilisera le langage C# et constitue un excellent cours de suivi de notre cours de programmation C# (M55339A). Le développement côté client utilisera JavaScript, CSS et HTML5.
Objectifs du cours
- Comprenez la pile technologique Web de Microsoft et choisissez la technologie à utiliser lors de la création d'une application.
- Concevoir une application Web qui répond à un ensemble d'exigences commerciales et fonctionnelles.
- Créez un site Web à l’aide des pages ASP.NET Core Razor.
- Utilisez le middleware et l’injection de dépendances dans les applications ASP.NET Core MVC.
- Utilisez des contrôleurs dans une application MVC pour gérer l'interaction utilisateur, les modèles et les vues.
- Créez des applications Web qui utilisent le routage ASP.NET Core pour fournir une hiérarchie de navigation logique.
- Créez des vues pour afficher et modifier des données dans une application MVC.
- Créez des modèles MVC qui implémentent la logique métier dans les méthodes, les propriétés et les événements.
- Accédez à une base de données à partir d'une application ASP.NET Core à l'aide d'Entity Framework Core.
- Concevez et créez une apparence cohérente dans une application Web.
- Utilisez du code JavaScript pour implémenter une logique côté client afin d'améliorer la réactivité d'une application Web ASP.NET.
- Utilisez une chaîne d'outils de développement pour gérer les packages côté client.
- Créez des tests unitaires et utilisez des outils de débogage pour une application Web dans Visual Studio.
- Utilisez les bibliothèques d'authentification et d'autorisation pour gérer l'identité et permettre aux utilisateurs d'accéder au contenu en toute sécurité.
- Concevez des applications Web sécurisées et protégées contre les attaques courantes.
- Améliorez les performances des applications Web en implémentant la mise en cache.
- Autorisez la communication asynchrone bidirectionnelle entre le client et le serveur à l'aide de SignalR.
- Ajoutez des API Web à une application pour prendre en charge la communication entre les applications.
Plan du cours
Module 1 : Exploration d'ASP.NET Core
Les technologies Web Microsoft ASP.NET Core peuvent vous aider à créer et à héberger des applications Web dynamiques, puissantes et extensibles. ASP.NET Core est un framework multiplateforme open source construit sur .NET qui vous permet de créer des applications Web. Vous pouvez développer et exécuter des applications Web ASP.NET Core sur Windows, macOS, Linux ou toute autre plate-forme qui les prend en charge. ASP.NET Core prend en charge un cycle de développement agile et piloté par les tests. Il vous permet également d'utiliser les dernières normes HTML et frameworks front-end comme Angular, React, etc.
Leçons
Présentation des technologies Web Microsoft
- Introduction aux pages Razor dans ASP.NET Core
- Présentation d'ASP.NET Core MVC
Après avoir terminé ce module, les étudiants seront capables de :
- Comprendre la variété des technologies disponibles dans la pile Web Microsoft.
- Décrire les différents modèles de programmation disponibles pour les développeurs dans ASP.NET.
- Décrivez le rôle d'ASP.NET Core dans la pile technologique Web et comment utiliser ASP.NET Core pour créer des applications Web.
Module 2 : Conception d'applications Web ASP.NET Core
Microsoft ASP.NET Core est un modèle de programmation que vous pouvez utiliser pour créer des applications Web puissantes et complexes. Cependant, tous les projets de développement complexes, et en particulier les grands projets, peuvent être difficiles et complexes à comprendre pleinement. Sans une compréhension complète des objectifs d'un projet, une solution efficace au problème du client ne peut être développée. Vous devez savoir comment identifier un ensemble de besoins commerciaux, puis prendre des décisions technologiques et planifier l'application Web pour répondre à ces besoins. La phase de planification garantit aux parties prenantes que vous comprenez leurs besoins et communique les fonctionnalités de l'application Web, son interface utilisateur, sa structure et le stockage des données aux développeurs.
Leçons
- Méthodologies de développement
- Planification dans la phase de conception du projet
- Choisissez entre Razor Pages et MVC
- Conception de modèles, contrôleurs et vues.
Après avoir terminé ce module, les étudiants seront capables de :
- Planifiez l'architecture globale d'une application Web ASP.NET Core MVC et tenez compte d'aspects tels que la gestion des états.
- Planifiez les modèles, les contrôleurs et les vues nécessaires à la mise en œuvre d'un ensemble donné d'exigences fonctionnelles.
Module 3 : Utilisation des pages Razor et du middleware
ASP.NET Core est un framework qui nous permet de créer de nombreux types d'applications. Dans ce module, nous examinerons d'abord plus en détail les pages ASP.NET Razor, comme moyen rapide de créer une application Web qui ne nécessite pas la complexité du modèle MVC. Nous examinerons ensuite le middleware, qui a une signification particulière dans le contexte du pipeline de requêtes ASP.NET Core et permet potentiellement à plusieurs requêtes distinctes d'être traitées d'une manière complètement différente et de recevoir des réponses distinctes. Vous apprendrez comment tirer parti du framework ASP.NET Core pour gérer les demandes et les réponses via des middlewares existants et personnalisés, et comment configurer les services à utiliser dans les middlewares et dans d'autres parties de l'application, telles que les contrôleurs. Nous examinerons également les services ; des classes qui exposent des fonctionnalités que vous pouvez ensuite utiliser dans différentes parties de l'application. Ceci est réalisé sans avoir à suivre manuellement la portée à chaque emplacement individuel, ni à instancier des dépendances, en utilisant l'injection de dépendances. L'injection de dépendances est une technique utilisée par ASP.NET Core qui nous permet d'ajouter des dépendances au code sans avoir à nous soucier de l'instanciation des objets, de leur conservation en mémoire ou de la transmission des dépendances nécessaires.
Leçons
- Utiliser des pages de rasoir
- Configurer le middleware
- Configurer les services
Après avoir terminé ce module, les étudiants seront capables de :
- Créez une application Web simple à l'aide de Razor Pages.
- Utilisez le middleware existant pour configurer une application ASP.NET Core.
- Comprendre les principes de base de l’injection de dépendances et comment elle est utilisée dans ASP.NET Core.
Module 4 : Développement de pilotes
ASP.NET Core MVC est un framework permettant de créer des applications Web à l'aide du modèle architectural Model-View-Controller (MVC). Le contrôleur est essentiellement responsable du traitement d'une requête Web en interagissant avec le modèle puis en transmettant les résultats à la vue. Le modèle représente la couche métier et peut inclure des objets de données, une logique d'application et des règles métier. La vue utilise les données qu'elle reçoit du contrôleur pour produire le HTML ou autre sortie qui est renvoyée au navigateur. Dans ce module, nous nous concentrerons sur le développement de contrôleurs, classes spécialisées essentielles aux applications MVC. Comprendre le fonctionnement des contrôleurs est crucial pour pouvoir créer les objets de modèle appropriés, les manipuler et les transmettre aux vues appropriées. Les contrôleurs disposent de plusieurs méthodes appelées « actions ». Lorsqu'une application MVC reçoit une requête, elle recherche quel contrôleur et quelle action doivent gérer la requête. Vous déterminez cela à l’aide du routage URL (Uniform Resource Locator) ; Un autre concept très important nécessaire pour développer des applications MVC. Nous verrons également comment maximiser la réutilisation du code dans les contrôleurs en écrivant des filtres d'action.
Leçons
- Écrire des contrôleurs et des actions
- Configurer les itinéraires
- Écrire des filtres d'action
Après avoir terminé ce module, les étudiants seront capables de :
- Ajoutez un contrôleur à une application Web qui répond aux actions utilisateur spécifiées dans la présentation du projet.
- Ajoutez des routes au moteur de routage ASP.NET Core et assurez-vous que les URL sont faciles à utiliser dans une application Web MVC.
- Écrivez du code dans les filtres d'action qui s'exécutent avant ou après une action du contrôleur.
Module 5 : Voir le développement
Les vues sont l'un des trois composants principaux du modèle de programmation Model-View-Controller (MVC). Vous pouvez définir l'interface utilisateur de votre application Web en créant des vues ; une combinaison de balisage HTML et de code C# qui s'exécute sur un serveur Web. Pour créer une vue, vous devez savoir comment écrire du balisage HTML et du code C# et utiliser les différentes classes d'assistance intégrées à MVC. Vous devez également savoir comment créer des vues partielles et des composants de vue, qui représentent des sections de HTML pouvant être réutilisées dans votre application Web. Nous examinerons également de plus près la syntaxe de balisage de Razor pour intégrer du code basé sur .NET dans des pages Web.
Leçons
- Créer des vues avec la syntaxe Razor
- Utilisation des aides HTML et des aides sur les balises
- Réutiliser le code dans les vues
Après avoir terminé ce module, les étudiants seront capables de :
- Créez une vue MVC et ajoutez-y le balisage Razor pour afficher les données aux utilisateurs.
- Utilisez les assistants HTML et les assistants de balises dans une vue.
- Réutilisez le balisage Razor à plusieurs emplacements dans une application.
Module 6 : Développement de modèles
La plupart des applications Web interagissent avec plusieurs types de données ou d'objets. Une application de commerce électronique, par exemple, gère les produits, les paniers, les clients et les commandes. Une application de réseau social peut aider à gérer les utilisateurs, les mises à jour de statut, les commentaires, les photos et les vidéos. Un blog est utilisé pour gérer les articles de blog, les commentaires, les catégories et les balises. Lorsque vous écrivez une application Web Model-View-Controller (MVC), vous créez un modèle MVC pour modéliser les données de votre application Web. Dans ce modèle, créez une classe de modèle pour chaque type d'objet. La classe de modèle décrit les propriétés de chaque type d'objet et peut inclure une logique métier qui correspond aux processus métier. Le modèle est donc un composant fondamental dans une application MVC. Nous examinerons également la validation des entrées des utilisateurs.
Leçons
- Création de modèles MVC
- Travailler avec des formulaires
- Valider la saisie de l'utilisateur
Après avoir terminé ce module, les étudiants seront capables de :
- Ajoutez un modèle à une application MVC et écrivez-y du code pour implémenter la logique métier.
- Utilisez des annotations de données pour l'affichage et la modification.
- Validez les entrées de l'utilisateur avec des annotations de données.
Module 7 : Utilisation d'Entity Framework Core dans ASP.NET Core
Les applications Web nécessitent souvent un magasin de données pour les informations dynamiques, par exemple pour créer une application Web qui change continuellement en réponse aux entrées de l'utilisateur, aux actions administratives et aux événements de publication. L'entrepôt de données est généralement une base de données, mais d'autres types d'entrepôts de données sont également utilisés. Dans les applications Model-View-Controller (MVC), vous pouvez créer un modèle qui implémente la logique d'accès aux données et la logique métier. Vous pouvez également séparer la logique métier de la logique d'accès aux données en utilisant une classe de référentiel qu'un contrôleur peut utiliser pour lire ou écrire dans un magasin de données sous-jacent. Lors de l'écriture d'une application ASP.NET, vous pouvez utiliser les technologies Entity Framework Core (EF Core) et Language Integrated Query (LINQ), qui rendent le code d'accès aux données très rapide à écrire et facile à comprendre. Dans ce module, vous verrez comment créer un site Web basé sur une base de données dans ASP.NET Core à l'aide d'Entity Framework.
Leçons
- Introduction au cœur d’Entity Framework
- Travailler avec Entity Framework Core
- Utilisation des fournisseurs de bases de données principales d'Entity Framework
Après avoir terminé ce module, les étudiants seront capables de :
- Connectez une application à une base de données pour accéder et stocker des données.
- Expliquez EF Core.
- Travaillez avec Entity Framework Core.
Module 8 : Utilisation des mises en page, CSS et JavaScript dans ASP.NET Core
Lors de la création d’applications Web, vous devez appliquer une apparence cohérente à votre application. En règle générale, vous incluez des sections d’en-tête et de pied de page cohérentes et des commandes de navigation dans toutes les vues. Microsoft ASP.NET Core utilise des modèles spéciaux appelés mises en page pour y parvenir, ainsi que des feuilles de style en cascade (CSS) pour améliorer l'apparence et la convivialité de votre application Web. Vous pouvez également créer des éléments HTML interactifs à l'aide de JavaScript pour fournir du code côté client dans votre application Web, ainsi que des bibliothèques JavaScript côté client.
Leçons
- Utiliser des mises en page
- Utiliser CSS
- Utiliser Javascript
Après avoir terminé ce module, les étudiants seront capables de :
- Appliquez une présentation cohérente aux applications ASP.NET Core MVC.
- Ajoutez du code JavaScript à votre application Web.
- Utilisez des feuilles de style CSS.
Module 9 : Développement côté client
Lors de la création d’une application, il est important de savoir comment développer du code côté client et côté serveur pour l’application. Dans ce module, vous apprendrez les outils côté client qui vous permettront de créer des applications Web complexes à n'importe quelle échelle, notamment en utilisant le framework CSS Bootstrap pour concevoir votre application Web. Vous apprendrez à utiliser Sass, un préprocesseur CSS qui ajoute des fonctionnalités de type code, telles que des variables, des règles imbriquées et des fonctions, qui améliorent la maintenabilité des feuilles de style CSS complexes. Vous apprendrez les principes de conception réactive qui vous permettront d'adapter votre application Web en fonction des capacités du navigateur Web ou de l'appareil à l'aide de requêtes multimédias CSS et comment utiliser un système de grille réactif. Ensuite, vous apprendrez comment configurer l'exécuteur de tâches Gulp et l'utiliser pour compiler des fichiers Sass lors de la compilation et effectuer le regroupement et la minification des fichiers CSS et JavaScript, et comment configurer une tâche de surveillance pour compiler automatiquement les fichiers Sass au fur et à mesure que vous écrivez. ton code Enfin, nous présenterons le framework Blazor pour créer une interface utilisateur Web interactive côté client avec .NET.
Leçons
- Conception de sites Web réactifs
- Utiliser des outils de développement front-end
- En regardant ASP.NET Core Blazor
Après avoir terminé ce module, les étudiants seront capables de :
- Utilisez Bootstrap et SASS dans une application Microsoft ASP.NET Core.
- Utilisez des outils de développement front-end.
- Assurez-vous qu'une application Web s'affiche correctement sur des appareils dotés de tailles d'écran différentes.
- Comprendre les applications ASP.NET Core Blazor.
Module 10 : Tests et dépannage
Le processus de développement logiciel entraîne inévitablement des erreurs de codage ou des erreurs qui entraînent des exceptions, un comportement inattendu ou des résultats incorrects. Pour améliorer la qualité de votre application Web et offrir une bonne expérience utilisateur, vous devez identifier les erreurs de toute source et les éliminer. Dans le développement logiciel traditionnel, les testeurs effectuent la plupart des tests à la fin d'un projet de développement. Cependant, ces dernières années, il est devenu largement admis que les tests tout au long du cycle de vie du projet améliorent la qualité du code et réduisent considérablement le nombre de bogues dans les logiciels de production. Vous devez comprendre comment exécuter des tests sur des composants individuels pour vous assurer qu'ils fonctionnent comme prévu avant de les assembler dans une application Web complète. Il est également important que vous sachiez comment gérer les exceptions lorsqu'elles se produisent et que vous les traitiez correctement pour fournir un retour d'information approprié à l'utilisateur, sans divulguer d'informations sur la structure de l'application. Enfin, en utilisant la journalisation à l'échelle de l'application, vous pouvez surveiller les activités des utilisateurs susceptibles de provoquer des problèmes inattendus et résoudre les problèmes de production en suivant les flux via l'application.
Leçons
- Test des applications ASP.NET Core
- Mettre en œuvre une stratégie de gestion des exceptions
- Inscription de l'application ASP.NET Core
Après avoir terminé ce module, les étudiants seront capables de :
- Exécutez des tests unitaires pour vérifier le code et localiser les erreurs possibles.
- Créez une application Microsoft ASP.NET Core qui offre une gestion robuste des exceptions.
- Dans l'inscription de l'application pour vos solutions.
Module 11 : Gestion de la sécurité
Les applications Web sont généralement fournies via un navigateur Web, sur l'Internet public, à un grand nombre d'utilisateurs. Cela signifie que la sécurité doit toujours être une priorité lors de la création de ces applications, car en plus des utilisateurs légitimes, l'application sera exposée à des tiers malveillants. Les utilisateurs peuvent avoir un accès anonyme ou avoir une identité enregistrée, et vous devez décider quels utilisateurs peuvent effectuer quelles actions. L'authentification est l'acte d'établir l'identité d'un utilisateur, tandis que l'autorisation est le processus par lequel un utilisateur déjà authentifié se voit accorder l'accès à des actions ou des ressources spécifiques. En utilisant l'autorisation, vous pouvez empêcher les utilisateurs d'accéder à du matériel ou à des informations et ressources sensibles destinés à un autre utilisateur ou d'effectuer certaines actions. Les coûts des failles de sécurité peuvent être très élevés, entraînant des pertes de données, des poursuites judiciaires et des atteintes à la réputation. Par conséquent, dans la dernière section, nous examinerons certaines attaques malveillantes spécifiques, telles que les scripts intersite et l'injection SQL, et comment nous défendre contre elles.
Leçons
- Authentification dans ASP.NET Core
- Autorisation dans ASP.NET Core
- Se défendre contre les attaques courantes
Après avoir terminé ce module, les étudiants seront capables de :
- Ajoutez une authentification de base à votre application.
- Configurez l'identité Microsoft ASP.NET Core.
- Ajoutez une autorisation de base à votre application.
- Comprenez comment fonctionnent les exploits de sécurité et comment vous en défendre au mieux.
Module 12 : Performance et communication
Les applications Web modernes doivent être capables de répondre rapidement à un grand nombre de demandes d'utilisateurs dans un court laps de temps. La mise en cache vous permet de stocker les requêtes courantes, évitant ainsi d'avoir à exécuter la même logique à plusieurs reprises. Cela offre à l'utilisateur un temps de réponse rapide et réduit les ressources système utilisées pour exécuter la logique d'action. À l'aide de diverses formes de gestion d'état, vous pouvez créer des applications avec état sur des protocoles Web sans état, afin de fournir des réponses adaptées aux contextes des utilisateurs individuels au sein de la même application. Enfin, SignalR est une API de communication bidirectionnelle facile à utiliser qui est une abstraction de plusieurs protocoles de communication Web différents. Cela vous permet de créer une logique côté serveur pour envoyer du contenu aux applications Web basées sur un navigateur en temps réel.
Leçons
- Mettre en œuvre une stratégie de mise en cache
- gestion de l'état
- Prise en charge de la communication bidirectionnelle
Après avoir terminé ce module, les étudiants seront capables de :
- Implémentez la mise en cache dans une application Microsoft ASP.NET Core.
- Utilisez les technologies de gestion d’état pour améliorer l’expérience client en offrant une expérience utilisateur cohérente.
- Implémentez une communication bidirectionnelle à l'aide de SignalR, permettant au serveur d'avertir le client lorsque des événements importants se produisent.
Module 13 : Implémentation de l'API Web
La plupart des applications Web nécessitent une intégration avec des systèmes externes. Les services Representational State Transfer (REST) aident à réduire la surcharge des applications et à limiter les données transmises entre les systèmes client et serveur à l'aide de normes ouvertes. Vous devez savoir comment exposer une API Web qui implémente les services REST dans votre application ASP.NET. Vous devez également savoir comment appeler une API Web en utilisant à la fois du code côté serveur et côté client pour consommer des API Web externes de style REST.
Leçons
- Présentation des API Web
- Développement d'une API Web
- Appeler une API Web
Après avoir terminé ce module, les étudiants seront capables de :
- Créez des services à l'aide de l'API Web ASP.NET Core.
- Appelez une API Web à partir du code côté serveur.
- Appelez une API Web à partir du code côté client.
Langue
- Cours : anglais
- Travaux pratiques : anglais