C# : Application .NET web Blazor
Résumé
Concevoir une application web serveur ou WebAssembly, exploitant des collections de données, une base de données relationnelle ou une API web.
Objectif
A l’issue de la formation, le stagiaire saura mettre en œuvre :
- Fondamentaux du langage C#
- Organisation de la plateforme .NET
- Utilisation de Visual Studio et de son débuggeur
- Programmation de requêtes LINQ sur des collections de données
- Conception d’applications web Blazor
- Orchestration d’interfaces graphiques complexes avec l’architecture MVVM
- Exploitation d’une base de données relationnelle avec Entity Framework
- Conception d’une API web avec ASP.NET MVC
Public concerné
Les développeurs professionnels ou les étudiants avec une expérience en programmation, en C# ou avec d’autres langages structurés ou objets (Python, C, C++, Java…). Une connaissance de HTML/CSS/Javascript est requise.
Le stagiaire doit avoir acquis les fondamentaux de la programmation structurée (flot de contrôle, fonctions, structures de données) et de la programmation orientée objet (classes, interfaces). Une expérience avec un environnement de développement intégré (Visual Studio, Eclipse…) est requise.
Contenu
Partie 1 : Fondamentaux .NET et C#
Cette partie comprend des rappels introductifs.
Prise en main de la plate-forme .NET :
- Architecture de la plate-forme
- Langages de programmation compatibles
- Environnements de développement
- Historique
Programmation structurée en C# :
- Fonctions
- Structures de données
- Passage par valeur, passage par référence
- Flot de contrôle : blocs conditionnels, boucles, sauts, exceptions
Programmation orientée objets en C# :
- Déclaration et instanciation d’une classe
- Champs, méthodes et propriétés
- Héritage de classe
- Niveaux d’accessibilité des membres
- Interfaces
Partie 2 : Collections de données
Collections génériques :
- Classes usuelles : tableau statique, tableau dynamique, dictionnaire…
- Parcours d’une collection
- Programmation d’un itérateur
Requêtes LINQ (Language INtegrated Query) :
- Conception d’un traitement de données avec LINQ
- Syntaxe méthode et syntaxe requête
- Requêtes usuelles : projection, filtrage, tri, regroupement
Partie 3 : ASP.net Blazor
Prise en main de Blazor :
- Contexte d’utilisation, comparaison avec d’autres frameworks web
- Modes de déploiement : Server, WebAssembly, Hybrid, Interactive
Composants Blazor :
- Syntaxe Razor, paramètres
- Isolation CSS
- Référence à un élément HTML
- Rendu optimisé d’une collection
- Rafraîchissement, contexte de synchronisation
- Cycle de vie
- Fragments Razor
Interopérabilité avec JavaScript :
- Appel JS depuis C# et C# depuis JS
- Import d’un module JavaScript
Liaison de données et architecture MVVM (Model-View-ViewModel) :
- Séparation donnée/affichage : vue-modèle et vue
- Synchronisation de l’affichage par liaison de données
- Liaison à une collection de données
- Mise en œuvre de l’architecture MVVM
Partie 4 : Accès aux données
Conception d’une base de données relationnelle avec Entity Framework :
- Principe du mapping objet-relationnel
- Schéma de base de données
- Choix du fournisseur de base de données (SQL Server, MySQL, SQlite…)
- Exploitation avec LINQ
Configuration du schéma Entity Framework :
- Associations 1-* et -, classes d’association
- Contraintes sur les colonnes par Data Annotation ou Fluent API
- Rétroconception d’une base de données
Conception d’une API web avec ASP.NET MVC :
- Modèle de projet API web
- Liaison à un schéma Entity Framework
- Exploitation d’une API web
Modalités
Mode d’intervention
En sous-traitance auprès des instituts de formation certifiés Qualopi, en inter- ou intra-entreprise.
Le programme présenté est adaptable à un besoin spécifique après audit.
Travaux pratiques
L’ensemble de la formation s’articule à parts égales entre exposés techniques, démonstrations en direct et travaux pratiques.
Le stagiaire reçoit durant la formation les supports d’exposé ainsi que le code source des démonstrations et solutions de travaux pratiques.
Moyens techniques
La formation est proposée en vidéo-conférence. Le stagiaire doit s’équiper du matériel et du logiciel nécessaire.