Développeurs .Net (C# ou VB.Net)
Maîtrise de l'objet (C# ou VB.Net), connaissances en HTML/CSS/JS
Maîtriser le développement d'applications ASP.Net MVC Core avec le moteur de vue Razor et une couche d'accès aux données pilôtée par Entity Framework.
Pattern MVC: architecture, apports Création d'applications web.Net .NET Core vs.NET FrameworkASP.Net MVC: présentation, versions, technologies utiliséesStructure d'un projet ASP.Net MVC, choix du moteur de vue Configuration globale: dépendances, bundles, filtres, classe de configuration globale Ressources disponibles (documentation)
Atelier: Création d'un projet ASP.NET MVC Core, détail de la structure
Contrôleur ASP.NET: implémentation, nommage Route: configuration par défaut, syntaxe Passage et récupération des paramètres dans les actions du contrôleurMapping des paramètres et modification du routage dans le RouteConfig Choix du type de résultat de l'action: ActionResult, FileContentResult,... Gestion du download
Atelier: Création de contrôleurs, routage et récupération de paramètres
Gestion des redirections depuis le contrôleur: vers une vue, vers une action, vers un fluxMoteur de vue Razor: présentation, syntaxe Templating de vues: _ViewStart (template par défaut), _Layout personnalisé Accès aux bundles: styles, scripts Création de vues: association à un template, structure de la pageBootstrap: grille responsive design, principales classes, composants disponibles Gestion des CSS de la vue Création de classes modèles, envoi dans le contrôleur et récupération dans la vueCréation de formulaires: contrôles de base, restoration de valeurs après PostbackValidation des entrées: gestion dans le modèle et affichage des erreursGénération de vues associées à un modèle avec l'éditeur Internationalisation de la vue Gestion des sessions HTTP, accès dans la vue Manipulation de variables globales Création et récupération de cookies Gestion de l'upload Gestion de requêtes asynchrones AJAX Debug de vues: helpers (ServerInfo, ObjectInfo)
Atelier: Implémentation d'un CRUD complet MVC, validation d'entrées et imports/exports
Gestion de l'authentification: méthodes disponibles, critères de choix Implémentation d'une stratégie d'authentification, gestion des rôles Filtres d'authentificationSécurité des formulaires contre les injections AntiForgeryToken: intérêt, mise en place
Atelier: Implémentation d'une stratégie d'authentification, sécuriser des formulaires contre les injections
Mise en place d'un cacheAnalyse du trafic Gestion des ressources (Minify, Bundle) dans une vue Razor Publication de l'application
Atelier: Mise en place d'un cache, multiples optimisations de l'application
Architecture et technologies d'accès aux donnéesMapping relationnel objet Présentation du framework, outilsEntity framework vs autres ORM (NHibernate)
Entity Data Model vs Code FirstContexte et chaine de connexion
Atelier: Mise en place d'Entity Framework dans un projet sous Visual Studio
Définition de la classe du contexte (DbContext), cycle de vieGestion des logsDéfinition des classes du modèle et ajout dans le contexteInitialisateurs de Bdd Conventions disponibles, ajouts, gestion des datetime2Mapping des tables: Attributs et API FluentGestion des clés primaires: simples, composéesGestion de la concurrence: Concurrency Check, TimestampMapping des colonnes calculéesRelations: OneToMany/ManyToOne, OneToOne, ManyToManyStratégies de mapping de l'héritage: TPH, TPC, TPSGénération d'actions CRUD dans un controleurGestion de la sauvegarde en mode asynchrone
Atelier: Création, modification d'un modèle de données complet
Migrations: définition, intérêtsActivation des migrations, migration initialAjout d'une migration et modification du code: requêtes SQLApplication d'une migration: mise à jour ou regression de versionMise en production à une migration spécifiée
Atelier: Création de manipulation de Bdd avec des migrations
Comprendre l'exécution des requêtesGestion des connexionsMaîtrise des transactionsPassage d'une connexion existanteMéthodes disponibles du DbContext: Création, mise à jour et suppression Gestion des chargements des associations: Lazy vs Eager Génération de procédures stockées pour les entités du modèle et utilisationOptimiser le cache du contexte, erreurs à éviter
Atelier: Mise à jour des données et modification du modèle
Panorama des méthodes de récupération de données disponibles Utilisation de LINQ to Entities, erreurs à éviterRequêtes avec Entity SQLProcédures stockées et gestion des résultats multiplesInterrogations et modifications de données en utilisant les commandes ADO.NetUtilisation des DataSetsUtilisation de LINQ to SQLGestion des performances
Atelier: Ecriture de multiples requêtes et traitement des résultats - gestion de la pagination / création des vues
Construire des solutions optimisées en utilisant les services d'objet
Utilisation des vues Entity Framework générées à la conception
Surveillance des performancesExécuter des modifications de données asynchronesMise en cache de données hors-ligne en utilisant XML
Atelier: Optimisations de requêtes, monitoring et mise en cache de données hors-ligne
Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.
Contrôle continu
Attestation de fin de stage mentionnant le résultat des acquis