Course objectives
Objectif opérationnel
L’objectif de cette formation est de développer des applications avec le langage C# et d’utiliser les outils Microsoft de programmation et d’accès aux données.
Objectifs pédagogiques
À l’issue de cette formation, vous aurez acquis les connaissances et les compétences n’écessaires pour :
- Connaître la syntaxe et les concepts du langage C#
- Travailler dans l’environnement Visual Studio
- Utiliser le framework .NET, notamment les outils ADO.NET pour la gestion des données et Winforms pour les applications fenêtrées (menus, boîtes de dialogue, etc.)
- Développer des applications et sites web avec ASP.NET
- Accéder aux données avec ADO.NET et les services de données WCF
- Assurer le traitement des données avec ADO.NET et LINQ
Who is this course for?
Ce stage s’adresse aux Développeurs et Chefs de projets.
Prerequisites
Pour suivre cette formation Développeur C#, les participants doivent disposer des connaissances suivantes :
– Être familiarisés avec les fonctions de base d’un système d’exploitation et les maîtriser, notamment la manipulation des fichiers
– Maîtriser les notions de base de la programmation structurée, notamment des concepts de base (boucles, variables et paramètres, appels de fonctions…)
– Un minimum d’expérience en concepts de programmation orientée objet est préférable.
Programme
Introduction à .NET et à Visual Studio 2019
- Comprendre le vocabulaire et la philosophie des technologies .NET (WPF, ASP.NET, MVC, ADO.NET, Entity Framework) Une évolution de .NET vers .NET Core La place de C# dans l’architecture globale de .NET 4.7 Les différences entre C# et VB.NET L’architecture détaillée de .NET (CLR, BCL, compilation Just In Time, etc.) Les différentes familles d’applications .NET 4.7 Les différents projets proposés par Visual Studio 2019 Comparaison de C# avec d’autres langages (Java, C++…)
Travaux Pratiques :
Visite guidée de Visual Studio 2019 afin de prendre en main rapidement son environnement de travail
La programmation en C#
- Le modèle Objet avec le langage C# Classes et objets Code managé et gestion de la mémoire Héritage, surcharge et polymorphisme Propriétés, indexeurs Expression d’initialisation, types anonymes, propriétés automatiques, méthodes d’extension, méthodes partielles Les Dynamic, Paramètres optionnels et paramètres nommés, Interopérabilité COM améliorée, Co et Contra variance Les fonctions avancées de C# : paramètres optionnels, résolution des types génériques, propagation de null, interpolation de chaîne…
Travaux Pratiques :
Création de classes en C# reprenant les concepts fondamentaux de ce chapitre et la syntaxe associée
Utilisation de ces classes par d’autres programmes
Les nouveautés du langage
- Méthodes d’interface par défaut, déclaration using Utilisation des critères spéciaux avec is en c#8 et 9 Fonctions locales expression-bodied Types références Nullables Les records Utilisation des Tuples Retour de fonction multiple et par référence Construction et Déconstruction d’un objet Pattern matching (correspondance de motifs) Expressions switch Les variables out La notation binaire, Index et plages,
Les classes incontournables du Framework .NET
- Classes mathématiques, structures usuelles, gestion des dates Gestion du formatage des chaînes Filtrer l’information grâce aux expressions régulières Conteneurs classiques : listes, listes triées, piles et tables de hachages
Travaux Pratiques :
Lister, trier, comparer et sélectionner des données grâce à la puissance du framework .NET
Les entrées / sorties
- Maîtriser l’encodage des données à travers ses règles et ses formats (ascii, utf-8, etc.) Exemples de problèmes couramment rencontrés (sauts de lignes, accents, etc.) Convertisseurs de formats de texte Notion de flux, FileStream / StreamWriter / StreamReader Gestion des entrées/sorties synchrones/asynchrones
Travaux Pratiques :
Lire et écrire des données dans un fichier texte
Réencodage d’une page HTML
Les solutions d’acces aux données en C#
- La nouvelle philosophie de LINQ Lecture/Ecriture dans un fichier XML en utilisant LINQ To XML Lecture/Ecriture de données en utilisant EntityFramework CodeFirst
Travaux Pratiques :
Manipuler les données d’une base de données vers un fichier XML en utilisant LINQ
La programmation avancée
- Exceptions : gestion centralisée des erreurs, classes d’exceptions personnalisées, exceptions non- .NET Délégués : délégués et évènements, expressions lambda Utilisation des “Generics” Appel synchrone et asynchrone, TPL (Task Parallel Librairie)
Travaux Pratiques :
Mettre en place des exceptions et des délégués dans une application .NET
Introduction à WPF
- Présentation de WPF Les types de controles Les ressources La philosophie de WPF, (notion ‘d’usine logiciel’) Introduction a MVVM
Travaux Pratiques :
Création de formulaires pour afficher les données récupérées dans les Travaux Pratiques sur ADO.NET
Application Web avec ASP.NET et C# 8
- Qu’est-ce qu’une application ASP.NET ? Principes des Web Services (REST ou RPC ?) WebAPI et MVC Introduction à une application portée en ASP.NET C#, ASP.NET et le modèle MVC Nouveautés introduites par .NET Core
Travaux Pratiques :
Utilisation de WebService pour alimenter une application WPF
Architecture et technologies d’accès aux données
- Les technologies d’accès aux données Scénarios d’accès aux données
Construire les modèles de données d’entité (Entity Data Models)
- Introduction aux modèles de données d’entité Modification d’un modèle de données d’entité Personnalisation d’un modèle de données d’entité
Travaux pratiques
Création d’un modèle de données d’entité à partir d’une base de données.
Interroger des données d’entité
- Récupérer des données en utilisant LINQ to Entities Récupérer des données en utilisant Entity SQL Récupérer des données en utilisant le fournisseur EntityClient Récupérer des données en utilisant des procédures stockées Test unitaire sur le code d’accès aux données
Travaux pratiques
Connexion à différentes sources de données à l’aide des modèles de données d’entité
Création, mise à jour et suppression de données d’entité
- Comprendre le suivi des modifications dans Entity Framework Modifier des données dans un modèle de données d’entité
Travaux pratiques
Mettre à jour des données à partir d’un modèle de données d’entité
Gestion de scénarios multi-utilisateurs en utilisant les services d’objet
- Gestion de la concurrence dans Entity Framework Support des transactions dans Entity Framework
Travaux pratiques
Implémentation de la gestion des transactions à l’aide d’Entity Framework
Construire des solutions optimisées en utilisant les services d’objet
- Les étapes d’exécution de requête Suivi des modifications et matérialisation d’objet Utilisation de requêtes compilées Utilisation des vues Entity Framework générées à la conception Surveillance des performances Exécuter des modifications de données asynchrones
Travaux pratiques
Mise en place des optimisations à l’aide d’Entity Framework.
Exemple de supervision des performances
Personnalisation d’entités et construction de classes d’entité personnalisées
- Surcharge des classes générées Utilisation de modèles pour personnaliser des entités Création et utilisation de classes d’entité personnalisées
Travaux pratiques
Création et utilisation de classes d’entité personnalisées
Utilisation des classes POCO (“plain old” CLR Objects) avec Entity Framework
- Conditions pour l’utilisation des classes POCO Classes POCO et chargement tardif Classes POCO et suivi des modifications Extensions des types entité
Travaux pratiques
Création et utilisation des classes POCO et analyse des impacts
Construire une solution n-tiers en utilisant Entity Framework
- Conception d’une solution n-tiers Définition d’opérations et implémentation des structures de transport de données Protéger les données et les opérations
Gestion des mises à jour dans une solution n-tiers en utilisant Entity Framework
- Suivi des entités et persistance des modifications Gestion d’exceptions dans une solution n-tiers
Travaux pratiques
Création d’une application utilisant une architecture n-tiers et implémentation de la couche d’accès aux données
Construire des solutions occasionnellement connectées
- Mise en cache de données hors-ligne en utilisant XML Utilisation de Sync Framework
Interroger des données en utilisant les services de données WCF
- Introduction aux services de données WCF Création d’un service de données WCF Consommation d’un service de données WCF Protection des données et des opérations dans un service de données WCF
Travaux pratiques
Création d’un service de données WCF
Mise à jour de données en utilisant les services de données WCF
- Création, mise à jour et suppression de données dans un service de données WCF Prévenir les mises à jour non autorisées et améliorer les performances Utilisation des services de données WCF avec des données non relationnelles
Travaux pratiques
Exploitation des données à partir d’un service de données WCF
Utilisation d’ADO.NET
- Récupération et modification de données en utilisant les commandes ADO.NET Récupération et modification de données en utilisant les DataSets Gestion de transactions et de la concurrence dans des scénarios multi-utilisateurs
Travaux pratiques
Exploitation des données à partir d’une source ADO.NET
Utilisation de LINQ to SQL
- Implémentation d’un modèle logique de données en utilisant LINQ to SQL Gestion des performances et gestion de la concurrence
Travaux pratiques
Manipulation des données à l’aide de requêtes LINQ
Description de la formation Développeur C#
Cette formation C# représente un cursus progressif de 10 jours visant à vous rendre autonome et opérationnel dans l’utilisation du langage C#.
Vous apprendrez à maîtriser votre environnement de travail sous Visual Studio ainsi que la syntaxe et les concepts du C#.
Vous saurez utiliser l’incontournable framework .NET (bibliothèque «géante» proposée à tous les développeurs C# et VB.NET) et notamment son composant dédié à la gestion des données : ADO.NET Entity Framework.
La formation débute par un rapide rappel sur les concepts objets puis vous comprenez la logique de leur mise en œuvre en C# et leur réutilisabilité dans les différents types de développements (mobile, web client lourd).
Une importance toute particulière est accordée à la qualité et à la lisibilité du code écrit en C# afin de vous projeter rapidement dans les bonnes pratiques professionnelles.
Les principales classes du framework .NET vous seront présentées et notamment les Winforms qui permettent de développer des applications fenêtrées (menus, boîtes de dialogue, etc.) ainsi que la programmation ASP.NET qui permet de développer des applications/sites WEB.
Enfin certains aspects du C# vous seront présentés (multitâches, traitement asynchrone, etc.) d’une part pour compléter votre maîtrise du langage mais aussi pour que vous compreniez que c’est un langage universel.
Le second module de formation va présenter les différentes manières d’accéder aux données en fonction de l’usage et du volume de celles-ci.
Les accès seront étudiés à l’aide du composant ADO.NET et de son interaction avec des serveurs de bases de données relationnelles (Oracle, SQL Server, MySQL, PostgreSQL).
Les concepts de traitements transactionnels qui permettent de garantir la cohérence des données seront aussi détaillés.
Le lien avec le monde objet sera présenté avec Entity Framework (ORM – Object Relation Manager).
Enfin, la présentation du langage LINQ permettra de finaliser le cycle de vie du traitement des données en offrant un outil simple, puissant et élégant pour manipuler n’importe quel type de données.
Attention les dates renseignées sont celles du premier module de 5 jours. Contactez notre service commercial pour connaitre les dates du module suivant.
Topics: .NET

