Effectuer une recherche sur le site

Votre devise

Développement .NET, la programmation avancée en langage C#

Le programme de formation C# avancée est idéal pour apprendre à intégrer les concepts clés du développement d'applications avec la plateforme Windows .net. Composé de 11 modules, vous commencerez les cours par un petit rappel sur l'architecture de .net et découvrirez des fonctionnalités avancées. Par la suite, vous apprendrez à optimiser du code C#, développer des applications sous la forme de services en passant par le choix de l'architecture et des composants à implémenter.

Pour aller plus loin, vous découvrirez les possibilités de LINQ et son approche particulière en matière de requêtes sur les données du langage .net, mais également à utiliser Windows Forms. Vous vous familiarisez aussi avec la mise en place de services personnalisés et la mise en œuvre de techniques de programmation avec notamment le multithreading en C#.

En résumé, cette formation de 5 jours vous permettra de concevoir et de déployer un service Windows, d'optimiser le code de vos propres applications, de programmer en mode multithread. De plus, elle vous permettra de mettre en œuvre des WebServices SOAP et REST, d'utiliser des sockets pour la programmation réseau et enfin de travailler avec WCF, WPF et LINQ au sein d'un environnement de programmation C#.

Objectifs

À la fin de la formation C# de niveau avancé, vous parviendrez à atteindre les objectifs suivants :

  • découvrir et savoir développer des applications ou des services avec Windows Presentation Foundation (WPF) et  ASP.NET ;
  • connaitre le rôle des services Web (WCF, REST, SOAP) et maîtriser leur intégration au sein du processus de développement ;
  • exécuter des applications en tant que services ;
  • découvrir et savoir utiliser le langage LINQ pour traiter les données ;
  • développer des applications de services personnalisées ;
  • travailler avec des sockets et utiliser le multithreading ;
  • installer les services de déploiement Windows (WDS).

Programme

Module 1 : revue et utilisation avancée de la plateforme .NET

  • Résumé sur l'architecture de .NET version 5.
  • La place du langage C# dans le framework .NET.
  • Décryptage des nouveautés apportées avec .NET 6.
  • Analyse comparative sur le code C# et le code  C++ ou encore le code Java.
  • Présentation du compilateur Roslyn et des options du compilateur C# dans des projets .NET.
  • Création d'une bibliothèque de liens dynamiques (DLL).
  • Revue sur les composants de base du langage  C#.

Module 2 : optimiser le code C#

  • Détail sur les processus, les threads et les handles pour l'optimisation.
  • Présentation des éléments nécessaires lors l'exécution de code (jeton d'accès, contrôle d'accès, virtualisation, etc.)
  • Compréhension sur le traitement des modules, des assemblys et des types avec les API de profilage CLR.
  • Utilisation du tas et de la pile de données avec .NET et ses composants.
  • Les avantages et les inconvénients dus à un code « non géré ».
  • L’usage des pointeurs dans le code C#.
  • Présentation et analyse de code non géré.

Travaux pratiques :

  • utiliser des composants non contrôlés.

Module 3 : créer et générer un service Windows 

  • Comparaison entre un service Windows et une application de services (démonstration).
  • Introduction aux fonctions de la classe ServiceBase (OnStart, OnRestart, OnStop, OnPause, etc.).

Module 4 : choisir la bonne architecture web services

  • Description des principaux types de web services
  • Installation des services .NET sur un serveur Web IIS
  • Création d'un web service avec une architecture SOAP.
  • Utilisation de la méthode SOAP et du protocole WSDL.
  • Création d'un web service de type REST.
  • Utilisation d'un web service REST en AJAX avec jQuery.

Travaux pratiques :

  • créer et déployer une architecture ASP.Net permettant un échange de données avec ADO.NET ;
  • créer et déployer une architecture REST permettant un échange de données avec Entity Framework.

Module 5 : interagir avec le réseau (socket)

  • Revue générale des termes techniques relatifs aux réseaux.
  • Explication du concept de développement en TCP et en UDP.
  • Définition d'un socket pour le développement d'applications.
  • Introduction aux fonctions de la classe Sockets (listen, bind, accept, send, receive, etc.).
  • Mise en place de la transmission et de la réception de données.
  • Présentation de codes C# au niveau serveur et client.
  • Utilisation du pool de connexion (multi-clients).
  • Implémentation avec NET Remoting.

Travaux pratiques :

  • créer une application client-serveur.

Module 6 : intégrer Windows Communication Foundation (WCF)

  • Présentation et définition d'une architecture orientée services (SOA).
  • Implémentation d'une interface de contrat de service WCF.
  • Introduction et application des points de terminaison.
  • Création et paramétrage d'un service WCF avec serveur.
  • Communications en mode bidirectionnel.
  • Création et paramétrage d'un service WCF sans serveur.

Travaux pratiques :

  • créer une application de type chat avec WCF.

Module 7 : intégrer Windows Presentation Foundation (WPF)

  • Description de la technologie Windows Presentation Foundation.
  • Retour sur l'interface graphique Windows Forms.
  • Implémentation de WPF.
  • Mise en place d'un plan de migration et de compatibilité.
  • Aperçu de la fonctionnalité Blend et des outils WPF.
  • Installation des fonctions asynchrones et de mise en veille.
  • Mise en place des contrôles de positionnement et des contrôles utilisateurs.
  • Présentation de Data binding pour la liaison de données.
  • Création d'une application de service via le modèle de projet Service Windows de Visual Studio.
  • Paramétrage des propriétés de  service (canShutdown et canStop).
  • Mise en route d'un service Windows.
  • Test du service à partir du Tableau de bord.

Travaux pratiques :

  • créer et mettre en route un service Windows ;
  • monitorer le service en consultant le log de Windows.

Module 8 : utiliser le multithreading en C# avec .net

  • Définition du concept de programmation parallèle.
  • Composition et structure d'un programme multithread.
  • Découverte des techniques de gestion des threads.
  • Opération courante d'un programme en C#.
  • Explication du cycle de vie d'un thread.
  • Programmation avec des threads et des pools de threads.
  • Introduction au parallélisme et à la librairie Task Parallel.
  • Mise en œuvre de boucles parallèles.
  • Détails techniques de la programmation multithread en C# (mémoire, blocage, synchro, etc.).
  • Utilisation des outils disponibles dans Visual Studio 2022.

Travaux pratiques :

  • installer et configurer des threads au sein d'un service Windows.

Module 9 : comprendre les processus de communication dans .NET

  • Présentation des principaux systèmes de communication. 
  • Présentation des infrastructures de base en .NET.
  • Présentation des principales APIs utilisées (Socket, Webservices, WCF, etc.).
  • L'importance des délégués dans la programmation en réseau.
  • L'interaction de données avec Databinding.

Travaux pratiques :

  • créer un gestionnaire de contacts WPF.

Module 10 : créer des contrôles utilisateurs personnalisés 

  • Mise en place d'un gestionnaire d'évènements.
  • Configuration des attributs (Category, Browsable, DefaultEvent, etc.).
  • Utilisation des contrôles utilisateurs via Windows form.
  • Vérification de la bonne saisie des données par les utilisateurs.
  • Utilisation du glisser-déposer des contrôles utilisateurs personnalisés.
  • Création de contrôles utilisateurs dynamiques.
  • Intégration du design-time et des fonctions supplémentaires aux contrôles utilisateurs personnalisés.

Travaux pratiques :

  • créer des contrôles utilisateurs WPF en vue de les exploiter dans le gestionnaire de contacts.

Module 11 : programmer avec LINQ

  • Présentation du Language Integrated Query.
  • Utilisation des requêtes et des fonctions de traitement hors des limites des bases de données classiques.
  • Utilisation de LINQ dans une application en C #.
  • Gestion des groupes d'objets avec LINQ to Object.
  • Gestion des documents XML avec to XML.
  • Gestion du mappage des types C# et des registres de la base de données avec LINQ to SQL.
  • Interrogation des données dans un groupe de données avec LINQ to Dataset.
  • Création de requêtes à partir d'un modèle conceptuel avec LINQ to Entities.
  • Optimisation des performances de LINQ.

Travaux pratiques :

  • implanter des classes métiers et une BDD avec LINQ to Entities ;
  • traiter des données avec LINQ ; 
  • effectuer une recherche sur un fichier XML avec LINQ to XML.

Prérequis

Suivre la formation C# de niveau avancé nécessite les prérequis suivants :

  • avoir acquis les bases de la programmation en C# ;
  • avoir acquis des connaissances de base en programmation orientée objet, y compris sur ses principes fondamentaux.

Public

Cette formation s'adresse aux publics suivants : 

  • tous les développeurs ou concepteurs d'applications qui ont pour objectif de maîtriser le langage C#.
Cette formation s'adresse aux profils suivants

Points forts

Un mixte de cours théoriques et de travaux pratiques ; une auto-évaluation de vos connaissances et de vos compétences en programmation C#; des temps d'échanges et un accompagnement pédagogique individualisé.
Dernière mise à jour: 20/02/2024
Code formation
DEV-PAC
Durée
5 jours
Quiz / QCM
Travaux Pratiques

Le délai d’inscription dépend de la formation et vous sera notifié par votre conseiller Oo2

Soyez informé par email quand une nouvelle session est disponible.

Leave empty this text field if you are not a bot.

Contenu de formation proposé en partenariat avec Softeam Institute