Accueil / 1A .NET – C# avancé (exclusif FAFIEC) – 28125

1A .NET – C# avancé (exclusif FAFIEC) – 28125

Objectifs

  • Maîtriser le développement d’applications .NET (WPF, LINQ, Service Windows, Multithread)
  • Maîtriser les concepts fondamentaux liés à la communication (Socket, WCF, WebServices REST et SOAP)
  • Gérer les applications sous forme de services
  • Gestion des données avec LINQ
  • Développer vos propres services systèmes
  • Utiliser la technologie des sockets et multithread
  • Développement et déploiement de services Windows

Prérequis

  • Connaissances en conception objet

Public

  • Développeurs
  • Chefs de projets

Moyens pédagogiques

  • La flipped classroom (classe inversée) : le concept ou la méthodologie sont présentés aux stagiaires dès le début de chaque thématique, puis suivis d’une mise en pratique immédiate. Avantages : cette pédagogie par itérations favorise l’acquisition de connaissances, l a mise en confiance des apprenants et permet un gain de temps, au profit d’une meilleure prise en charge des questions/obstacles rencontrés par les participants
  • La résolution collaborative de challenge : des travaux pratiques jalonnent nos formations. Les cas d’usage sont tous inspirés de situations professionnelles réelles vécues par le formateur ou inspirées du quotidien « métier » des participants, notamment lorsqu’il s’agit de formations en intra-entreprise. L’animateur formateur est là comme facilitateur et agitateur d’idées et de réflexes
  • L’évaluation des acquis se fait à travers des Quiz en questions ouvertes et/ou fermées et par la remise d’un rapport restituant les méthodes appliquées et les résultats obtenus pendant la résolution collective de challenges

Programme

  1. Rappels et compléments sur le Framework .Net : 

    • Synthèse sur l’architecture du Framework .NET
    • La place de C# dans l’architecture globale de .NET
    • Les nouveautés du Framework .NET
    • Comparaisons de C# avec d’autres langages (Java, C++…)
    • Les options de compilations de CSC (CSC, Roslyn)
    • Créer une bibliothèque réutilisable (dll)
    • Rappels sur le C# (Types et méthodes anonymes, Délégués, Prédicats, Expression lambda, Méthode d’extension…)
  2. Le Performances et mémoire (code non managé) – Optimisation C# :

    • Terminologies systèmes (Processus, Threads, Handles…)
    • Contexte d’exécution d’un processus (Jeton utilisateur, UAC, Virtualisation…)
    • Comprendre les couches basses de .NET (CLR, assembly, module…)
    • Gestion du tas et de la pile par .NET (Garbage, collector)
    • Risque et intérêt d’utiliser du code « non managé »
    • Utilisation des pointeurs en C# (unsafe)
    • Exemples de code non managé
    • Travaux Pratiques : Faire appel à des composants non managés
  3. Créer et déployer un service Windows :

    • Différences entre un service Windows et une application
    • Présentation de la classe ServiceBase (OnStart, OnStop, OnPause, OnRestart)
  4. Services Web ASP.NET (SOAP et REST) :

    • Présentation des types de web services
    • Intégration de .NET dans le serveur Web IIS
    • Implémentation d’un WebService SOAP (.asmx)
    • Méthode SOAP et le WSDL
    • Implémentation d’un WebService REST (WebAPI)
    • Consommer un WebService REST (AJAX avec jQuery)
    • Travaux Pratiques : Mise en place de webservices ASP.Net pour partager des données avec ADO.NET Mise en place de webservices REST pour partager des données avec Entity Framework
  5. Programmation réseau avec les sockets : 

    • Rappels sur le vocabulaire réseau (@IP, n°port, TCP, UDP)
    • Quelles différences entre développer « pardessus » TCP ou UDP ?
    • Qu’est-ce qu’un socket pour le développeur ?
    • Les méthodes de la classe Sockets (listen, bind, accept, send, receive…)
    • Envoi et réception de message (BeginReceive, BeginSend)
    • Exemple de code général côté serveur et côté client
    • Gestion du pool de connexion (multi clients)
    • Implémentation à l’aide de .NET Remoting
    • Travaux Pratiques : Création d’une application clients/serveur
  6. WCF :

    • Architecture orientée Services
    • Les contrats de service
    • Comprendre et utiliser les points de terminaison
    • Configuration et hébergement d’un service
    • Service bidirectionnel
    • Créer un service WCF sans serveur
    • Travaux Pratiques : Création d’un chat WCF
  7. WPF (Windows Presentation Foundation) :

    • Présentation de WPF
    • Rappel sur Windows Forms
    • Implémentation de WPF
    • Scénario de migration et interopérabilité
    • Design et outils (Blend)
    • Implémentation Async/Await
    • Contrôles de positionnement
    • Utilisation des contrôles utilisateurs
    • Présenter et interagir avec les données (Databinding)
    • Création d’un service avec Visual Studio (template Windows Service)
    • Paramétrage du service (CanStop, CanShutdown…)
    • Déploiement d’un service Windows
    • Vérification du fonctionnement du service dans le Panneau de configuration
    • Travaux Pratiques : Créer et déployer un service Windows. Observer le fonctionnement du service par le journal Windows
  8. Multithreading sous .NET :

    • Présentation de la programmation parallèle
    • Architecture d’un programme multi-threads
    • Méthodes de gestion des threads
    • Fonctionnement « normal » d’un programme C#
    • Cycle de vie d’un thread
    • Les threads et les pools de threads
    • La Task Parallel Library
    • Paralléliser les boucles
    • Spécificités techniques de la programmation multi-threads (mémoire, verrou, synchronisation…)
    • Les outils dans Visual Studio
    • Travaux Pratiques : Mise en place de thread dans un service windows
  9. Introduction à la communication sous .NET :

    • Synthèse des différents types d’échanges
    • Technologies sous-jacentes dans .NET
    • Présentation des différentes API (Socket, Webservices, WCF…)
    • Pourquoi utiliser les delegate dans la programmation réseau ?
    • Présenter et interagir avec les données (Databinding)
    • Travaux Pratiques : Création d’un gestionnaire de contacts en WPF
  10. Créer ses propres contrôles utilisateurs (User Controls) :

    • Création d’un gestionnaire d’événements pour un contrôle
    • Les attributs d’un contrôle utilisateur (Category, Browsable, DefaultEvent…)
    • Utilisation des contrôles avec un formulaire Windows
    • Validation des entrées des utilisateurs
    • Gestion du glisser/déposer de nos propres contrôles
    • Créer des contrôles dynamiquement
    • Ajouter des fonctionnalités aux contrôles
    • Ajout de prise en charge Design-time pour les contrôles
    • Travaux Pratiques : Créer des contrôles WPF et les utiliser dans le gestionnaire de contacts
  11. LINQ (Language Integrated Query) :

    • Présentation de LINQ
    • Des requêtes/traitements au-delà des simples bases de données …
    • Comment utiliser LINQ dans un programme C#
    • Manipuler des collections d’objets avec LINQ (LINQ to Object)
    • Gérer des documents XML avec LINQ (LINQ to XML)
    • Gérer le mapping entre les types C# et les enregistrements d’une base (LINQ to SQL)
    • Interroger les données d’un dataset (LINQ to Dataset)
    • Ecrire des requêtes sur un modèle conceptuel (LINQ to Entities)
    • LINQ et les performances
    • Travaux Pratiques : Mise en place des classes métier et d’une basse de données par LINQ to Entities. Manipulation (insertion, modification, selection) des données avec LINQ. Recherche dans un fichier XML à l’aide de LINQ to XML

Nombre de jours

4

Dates

Paris

Marseille / Aix / Nice

Nantes

Bordeaux

Orléans

Dijon

Tarif inter

Tarif non renseigné

Tarif sur mesure

Réf.

10AC2

Demande de renseignement

FORMATIONS ASSOCIÉES