Aller au contenu principal

C#/.NET - Développer des applications avancées

ASP.NET Core est la plateforme de référence pour créer des API web d'entreprise très sollicitées. Cette formation vous apprend à concevoir des architectures distribuées, à documenter avec Swagger, à sécuriser avec JWT et à optimiser Entity Framework.

Objectif de la formation

Immersion · Savoir faire en situation réelle

À l’issue de cette formation, les participants seront capables de :

  • Maîtriser les nouveautés de performance de C# et de .NET
  • Concevoir et déboguer des architectures asynchrones et concurrentes très performantes
  • Optimiser l'utilisation de la mémoire et le traitement de données volumineuses
  • Appliquer des patrons de conception d'entreprise avancés et découpler l'architecture
  • Sécuriser les communications réseau et les configurations des applications
  • Mettre en place des chaînes de tests unitaires et d'intégration complexes sur des APIs web

Choisissez votre format

Jusqu’où voulez-vous aller ?

Chaque format reprend le précédent et y ajoute des journées.

Programme détaillé

ACTION · 21 heures (3 jours)

Jour 1
MatinOptimisation mémoire de bas niveau et syntaxe C# moderne (Span<T> & ref struct)

Objectif : Optimiser la gestion de la mémoire et exploiter les syntaxes récentes de C#.

  • Comprendre les mécanismes internes de la CLR, la pile (Stack), le tas (Heap) et les optimisations du compilateur JIT.
  • Maîtriser les nouveautés récentes de C# (constructeurs primaires, expressions de collection, filtrage de motifs avancé).
  • Mettre en œuvre les types de performances : ref struct, readonly struct, et l'usage de Span<T> / ReadOnlySpan<T> pour la manipulation de chaînes sans allocation.

Atelier pratique : Développement d'un analyseur de trames réseaux ultra-rapide manipulant des tableaux d'octets sans copie en mémoire.

Cas métier : Extraction et décodage de logs financiers à haut débit.

Compétence acquise : Savoir écrire du code performant en supprimant l'allocation mémoire inutile sur le tas.

Livrable : Parseur mémoire optimisé de bas niveau.

Après-midiAsynchronisme avancé et régulation de la concurrence

Objectif : Concevoir des processus non bloquants, réactifs et hautement tolérants à la charge concurrente.

  • Approfondir la programmation asynchrone : gestion des machines à états générées par async/await.
  • Configurer l'exécution asynchrone avec ConfigureAwait(false), manipuler les flux asynchrones avec IAsyncEnumerable<T>.
  • Maîtriser les mécanismes de synchronisation modernes : sémaphores asynchrones (SemaphoreSlim), variables d'exclusion et primitives de verrouillage.

Atelier pratique : Création d'un service d'importation parallèle limitant dynamiquement son degré de concurrence lors de l'appel d'APIs tierces.

Cas métier : Passerelle de synchronisation de bases de données RH externes.

Compétence acquise : Être capable d'orchestrer et de réguler des flux de données asynchrones concurrents.

Livrable : Module de traitement asynchrone contrôlé avec jeton d'annulation (CancellationToken).

Jour 2
MatinArchitecture d'entreprise (Clean Architecture, CQRS et patrons de conception)

Objectif : Structurer une architecture logicielle évolutive, propre et découplée.

  • Mettre en œuvre des patrons de conception d'entreprise : Factory, Singleton thread-safe, Mediator et CQRS (Command Query Responsibility Segregation).
  • Implémenter une architecture logicielle découplée via l'injection de dépendances avancée de .NET (services hébergés IHostedService, scopes personnalisés).
  • Utiliser la programmation orientée aspect (AOP) simple pour centraliser les comportements transverses (journalisation, validation).

Atelier pratique : Refactorisation complète d'une application de gestion de ventes pour découpler la couche d'accès aux données de l'interface de reporting.

Cas métier : Système d'administration et de distribution de licences d'entreprise.

Compétence acquise : Savoir découper une application monolithique en composants isolés et hautement testables.

Livrable : Squelette d'architecture propre (Clean Architecture) prêt pour la production.

Après-midiWeb API ASP.NET Core (Minimal APIs) et sécurisation JWT

Objectif : Développer et sécuriser des Web APIs optimisées et légères.

  • Concevoir et exposer des APIs Web performantes en utilisant ASP.NET Core Minimal APIs.
  • Configurer le pipeline de requêtes (Middlewares personnalisés, filtres d'API, politiques de sécurité CORS).
  • Sécuriser les services avec l'authentification moderne (JWT Bearer tokens, revendications personnalisées).

Atelier pratique : Création d'une API de paiement sécurisée gérant les exceptions de manière globale et structurée.

Cas métier : Plateforme de traitement de transactions financières cryptées.

Compétence acquise : Être capable de déployer et de blinder des microservices connectés aux standards de l'industrie.

Livrable : API REST sécurisée, auto-documentée avec OpenAPI (Swagger) et prête à être consommée.

Jour 3
MatinStratégie de tests d'intégration et validation automatisée

Objectif : Sécuriser la qualité globale du code et interdire toute régression fonctionnelle lors des livraisons.

  • Comprendre la programmation par contrat et la mise en place de tests d'intégration avec WebApplicationFactory.
  • Mettre en œuvre des doublons de tests (Mocks, Stubs) à l'aide de bibliothèques tierces pour isoler les services externes.
  • Écrire des scénarios de tests unitaires et de tests d'intégration fluides en xUnit et FluentAssertions.

Atelier pratique : Établissement d'une suite complète de validation automatique couvrant les règles métiers critiques de notre API de paiement.

Cas métier : Audit et validation de conformité comptable automatisée.

Compétence acquise : Maîtriser l'écriture de tests de haut niveau pour valider le comportement fonctionnel global d'une API.

Livrable : Projet de tests unitaires et d'intégration validant le build applicatif.

Après-midiObservabilité, diagnostic mémoire de production et compilation Native AOT

Objectif : Monitorer les applications en production et optimiser leur vitesse d'exécution pour le Cloud.

  • Maîtriser les outils d'audit et de diagnostic intégrés : écriture de logs structurés avec Serilog et tracing avec OpenTelemetry.
  • Diagnostiquer l'utilisation de la mémoire à l'aide des outils en ligne de commande de .NET (dotnet-counters, dotnet-dump).
  • Configurer la publication et le déploiement d'applications compilées en code machine natif (Native AOT) pour diviser par dix le temps de démarrage.

Atelier pratique : Analyse en direct d'un cas de fuite de mémoire provoqué et compilation finale de notre API en exécutable autonome Native AOT.

Cas métier : Monitoring de microservices Cloud & DevOps.

Compétence acquise : Être capable d'auditer l'état de santé d'un service de production et de distribuer une solution optimisée.

Livrable : Microservice .NET monitoré, testé et compilé en Native AOT prêt pour l'intégration continue.

Les ateliers et cas métier de ce programme pourront être adaptés par le consultant-formateur selon les besoins, le niveau et les prérequis des participants, pour favoriser l’atteinte des objectifs pédagogiques.

Cette formation dans le parcours

Indicateurs de résultats

Indicateurs publiés à partir de 3 avis.

Mode de calcul