Applications Web MVC avec ASP.NET 7

Modifié le: 2022-11-07

Auditoire

Dévelopeurs

Durée

5 jours

Prérequis

Programmation avec le langage C# (Bases)

Description

ASP.NET 7 est la nouvelle version recommandée pour le développement d'applications web côté serveur. Une architecture recommandée est MVC, un patron de développement basé sur un découpage composé de Modèles, de Vues et de Contrôleurs.

Venez bâtir plusieurs applications web, qui vous permettront de comprendre les meilleures pratiques et usages.

Plan de cours


Présentation de .NET 7 et ASP.NET Core

  • Évolution: de .NET Framework à .NET (en passant par .NET core)
  • Comparaison des technologies
  • ASP.NET
  • Pages Razor
  • Pages Blazor (server)
  • Pages Blazor (Web Assembly)
  • MVC
  • Web API
  • SPA React

Configurer les Middlewares et les Services

  • Démarrer une application ASP.NET
  • Utiliser Kestrel vs. IISExpress
  • Comparer entre:
    • nouveau modèle d’hébergement minimal
    • modèle d'hébergement classique
  • Gerér la configuration
    • appSettings.json
    • Environnement: Production vs. Development
    • Secret Manager
    • Variables d'environnement
    • Configuration via Ligne de commande
  • Configurer les Middlewares
    • Middlewares importants (statique, etc.)
  • Configurer les Services
    • Injection de dépendance

Contrôleurs

  • Créer Controllers et Actions
  • Configurer les Routes
  • Utiliser les "Actions Filters"

Vues

  • Syntaxe Razor
  • Html Helpers et Tag Helpers
  • Réutiliser les vues
    • Vues Partielles
    • Vues Composantes

Modèles

  • Créer des modèles
  • Travailler avec des Formulaires
  • Validation des données

Utiliser Entity Framework

  • Fondements d'Entity Framework
  • Lire et écrire des données
  • Se connecter sur Sql Server et SQLite

Layout, CSS, Javascript, Sass, Bootstrap, React

  • Appliquer le layout et le positionnement des éléments
  • Utiliser Css
  • Ajouter le Javascript
  • Compiler Sass
  • Générer un bootstrap personalisé
  • Compiler un SPA React

Sécurité

  • Identité (authentication)
  • Autorisation (authorization)
  • Protection des attaques
    • Cross-Site Request Forgery
    • HTTPS
    • HSTS

Gestion du caching, de l'état et de la journalisation

  • Créer un stratégie de caching
  • Gérer l'état applicatif (State)
  • Ajuster les options de journalisation (logging)

Tests unitaires et Déploiement

  • Ajouter des Test
  • Utiliser des classes Fakes et des Mocks.
  • Déployer notre application

Chapitres additionnels optionnels:

En formation privée, on peut ajouter ou modifier des modules.

Génération de modèles, de vues, de contrôleurs

  • Outils de Génération (Scaffolding tools)
  • modification des vues et classes partielles
  • personalisation des templates

Notifications de données avec SignalR

  • Création d'un service SignalR
  • Abonner un client à SignalR
  • Recevoir et afficher une notification

Développement .NET avec des containers

  • Installation de Docker
  • Utilisation de .NET avec containers
  • Configurations spécifiques sur les containers
  • Déployer nos containers sur Azure

Communication ouverte avec des services "Web API"

  • Concevoir nos services REST
  • Configurer OpenAPI et Swagger
  • Créer des services
  • Appeler nos services

Communication efficace avec gRPC

  • Faire des appels efficients avec gRPC
  • Définir nos services avec "Interface Definition Language"
  • Appeler des services gRPC avec un client.

Application Web avec des pages Razor

  • Se simplifier la vie avec "Razor Pages"
  • Filtres Razor
  • Routage et conventions

Applications clients avec Blazor

  • Bâtir des applications interactives avec Blazor
  • Créer des composants Blazor
  • Routage et navigation
  • Convertir une ancienne application "ASP.NET Web Forms" en Blazor