[{"data":1,"prerenderedAt":46},["ShallowReactive",2],{"course-c-13-et-net-techniques-avancees-de-developpement":3,"highlight-csharp-// Utilisation des n":45},{"id":4,"name":5,"slug":6,"location":7,"targetAudienceFormatMarkdown":8,"prerequisitesFormatMarkdown":9,"objectivesFormatMarkdown":10,"descriptionFormatMarkdown":11,"teachingMethodsFormatMarkdown":12,"teachingResourcesFormatMarkdown":13,"evaluationMethodsFormatMarkdown":14,"accessibilityFormatMarkdown":15,"accessMethodsFormatMarkdown":16,"minimumParticipants":17,"maximumParticipants":17,"duration":18,"reference":19,"trainerType":7,"updated_at":20,"created_at":21,"price":22,"organizationMode":7,"theme":23,"code":27,"tags":32,"metadata":36},"/api/courses/d0a8e5ad-736b-48c6-a967-2237ea976e40","C# 13 et .NET – Techniques avancées de développement ","c-13-et-net-techniques-avancees-de-developpement",null,"Développeurs .NET souhaitant approfondir leurs compétences en C# et .NET. \n\nIngénieurs logiciels impliqués dans des projets complexes ou à grande échelle. \n\nArchitectes techniques et développeurs confirmés voulant exploiter les nouveautés de C# et optimiser leurs applications.","-   Maîtrise du langage C# (bases de syntaxe, classes, interfaces, exceptions). \n-   Expérience de développement avec .NET (création de projets, utilisation de l’IDE Visual Studio). \n-   Connaissance des concepts de programmation orientée objet. ","-   Exploiter les nouvelles fonctionnalités du langage C# 13 pour écrire un code optimisé et sûr. \n-   Maîtriser des concepts avancés de .NET pour structurer des applications performantes et maintenables. \n-   Implémenter des design pattern adaptés aux architectures modernes. \n-   Optimiser la gestion de la mémoire, la concurrence et l’asynchronisme dans des applications .NET. \n-   Déployer des solutions robustes avec diagnostics et tests avancés. ","--day1--\n\n## Syntaxe avancée et modèles du langage C# \n\n-   Nouveautés de C# 13 : améliorations du langage, refinements de pattern matching, littéraux, etc. \n-   Deep dive sur les expressions avancées, records et types immuables. \n-   Utilisation de with, init, destructuration et tuples. \n-   Initiation aux génériques avancés et contraintes de type. \n\n--break--\n\n## Programmation orientée objet approfondie \n\n-   Héritage complexe, abstractions et interfaces par défaut. \n-   Design par contrats, conventions, patterns SOLID en C#. \n-   Implémentation de patrons de conception courants (Factory, Strategy, Decorator). \n-   Atelier pratique : refactorisation d’un module pour intégrer des patterns. \n\n--day2--\n\n## Programmation asynchrone et concurrence \n\n-   Rappels sur async / await, tasks et gestion des threads. \n-   Cancellation, timeouts et meilleures pratiques de synchronisation. \n-   Introduction aux Channels, Tasks avancées et constructs de concurrence dans .NET. \n-   Exercices dirigés : implémentation de services asynchrones. \n\n--break--\n\n## Gestion de la mémoire et optimisation des performances \n\n-   Comprendre le ramasse-miettes (.NET GC) et optimisation mémoire. \n-   Structures à hautes performances : Span\u003CT>, Memory\u003CT>, ArrayPool. \n-   Benchmarking avec BenchmarkDotNet. \n-   Travaux pratiques : optimisation de calculs et réductions d’allocations. \n\n--day3--\n\n## Architecture applicative avec .NET \n\n-   Architecture par couches, DDD et séparation des responsabilités. \n-   Injection de dépendances et cycles de vie des services. \n-   Modularisation d’applications .NET, navigation entre projets. \n-   Atelier pratique : conception d’une architecture modulaire robuste. \n\n--break--\n\n## Tests, diagnostics et déploiement \n\n-   Techniques de tests unitaires avancés avec xUnit / NUnit. \n-   Tests d’intégration, mocks et stubs, couverture de code. \n-   Diagnostics et logs avec .NET (EventSource, trace, logging Microsoft). \n-   Mise en production : packaging, CI/CD et stratégies de déploiement.","Nos formations, équilibrées entre théorie (50%) et pratique (50%), offrent un apprentissage interactif grâce à des méthodes variées comme les travaux pratiques, les mises en situation et les démonstrations. Des QCM réguliers assurent le suivi des acquis.\n\nVariables suivant les formations, les moyens techniques mis en oeuvre sont :\n\nOrdinateurs Mac ou PC, connexion internet fibre, tableau blanc ou écran (pour le distanciel).\n\nEn cas de formation intra sur site externe à Le Code, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires\n\n(équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\n\n  \n\nIls comprennent des supports de cours, des présentations, des fiches pratiques, des études de cas, des exercices applicatifs ainsi que des QCM d’entraînement selon la formation. (adapté au choix du formateur)\n\n  \n\nLes formations s’appuient sur des moyens techniques adaptés : ordinateurs, logiciels professionnels, connexion internet, écran ou vidéoprojecteur, ainsi que des outils collaboratifs et de visioconférence pour les formations à distance.\n\n  \n\nL’ensemble des supports pédagogiques est accessible pendant et après la formation afin de favoriser l’appropriation et la mise en pratique des compétences acquises.","En amont de la formation, un recueil des besoins permet de récolter des informations sur le stagiaire et ses attentes. L’évaluation se fait en cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation et/ou un examen.\n\nUn suivi de qualité est effectué grâce à nos sessions en groupe restreint (entre 2 et 9 participants maximum). Le stagiaire émargera par demi-journée et recevra une attestation de formation.","Nous informons l'ensemble de nos clients et stagiaires que nous sommes dans la capacité d’adapter les sessions selon les handicaps et les situations spécifiques. Nous nous engageons à répondre à toutes vos demandes sous un délai de 48h\n\nouvré.","Si l’une de nos formations vous intéresse, contactez-nous au +33 4 93 65 34 24 ou à l’adresse mail contact@m2g-intellect.fr. Selon votre besoin et vos attentes, nous organiserons un échange téléphonique avec le formateur pressenti afin d’adapter la\n\nformation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.",0,"21.00","C# avancé","2026-04-22T10:18:24+00:00","2026-04-22T10:13:53+00:00","2100.00",{"id":24,"name":25,"slug":26},"/api/themes/08de519f-b33c-4368-84f7-564b178cc5ba","Développement logiciel","developpement-logiciel",{"id":28,"label":29,"domain":30},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":31},"32 - Communication et information",[33],{"id":34,"name":35},"7732139d-6025-4fde-b145-39298ced3408","MENUFEATURED",{"desc-accroche":37,"Description":38,"icon-color":39,"icon-name":40,"code-langage":41,"code-snippet":42,"courte-description":43,"titre-accroche":44},"Propulsez votre expertise .NET au niveau supérieur : maîtrisez les dernières nouveautés de C# 13, l'optimisation de la mémoire avec Span\u003CT> et Memory\u003CT>, ainsi que les techniques de programmation asynchrone avancée et les Source Generators.","Cette formation s'adresse aux développeurs chevronnés souhaitant tirer le meilleur parti des évolutions récentes de l'écosystème Microsoft. Nous explorerons les concepts de pointe comme la manipulation efficace de la mémoire sans allocation, les patterns asynchrones complexes et l'architecture logicielle orientée performance. Vous apprendrez à utiliser les Records, les Required members et les Primary Constructors pour écrire un code plus concis et robuste. Un focus particulier est mis sur les Source Generators et l'optimisation du runtime pour répondre aux exigences des architectures microservices et cloud-native modernes.","#512BD4","mdi:language-csharp","csharp","// Utilisation des nouveautés C# 13 et performances\npublic void ProcessData(ReadOnlySpan\u003Cbyte> data)\n{\n\t// Params collections et ref struct\n\tlock (new object()) { /* ... */ } \n\t\n\tif (data is [0, .. var rest, 255])\n\t{\n\t\tConsole.WriteLine($\"Séquence détectée, milieu: {rest.Length} octets\");\n\t}\n}\n\n// Interceptor (C# 12/13 feature)\n[InterceptsLocation(\"Program.cs\", 10, 5)]\npublic static void MyInterceptor() { /* ... */ }","Maîtrisez les fonctionnalités avancées de C# 13 et .NET : optimisez vos performances, gérez la mémoire efficacement et adoptez les meilleurs patterns de développement.","Exploitez toute la puissance de C# 13 et des fonctionnalités avancées de .NET pour concevoir des applications ultra-performantes et scalables.","\u003Cpre class=\"hljs\">\u003Ccode class=\"language-csharp\">\u003Cspan class=\"hljs-comment\">// Utilisation des nouveautés C# 13 et performances\u003C/span>\n\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-keyword\">public\u003C/span> \u003Cspan class=\"hljs-keyword\">void\u003C/span> \u003Cspan class=\"hljs-title\">ProcessData\u003C/span>(\u003Cspan class=\"hljs-params\">ReadOnlySpan&lt;\u003Cspan class=\"hljs-built_in\">byte\u003C/span>&gt; data\u003C/span>)\u003C/span>\n{\n\t\u003Cspan class=\"hljs-comment\">// Params collections et ref struct\u003C/span>\n\t\u003Cspan class=\"hljs-keyword\">lock\u003C/span> (\u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-built_in\">object\u003C/span>()) { \u003Cspan class=\"hljs-comment\">/* ... */\u003C/span> } \n\t\n\t\u003Cspan class=\"hljs-keyword\">if\u003C/span> (data \u003Cspan class=\"hljs-keyword\">is\u003C/span> [\u003Cspan class=\"hljs-number\">0\u003C/span>, .. \u003Cspan class=\"hljs-keyword\">var\u003C/span> rest, \u003Cspan class=\"hljs-number\">255\u003C/span>])\n\t{\n\t\tConsole.WriteLine(\u003Cspan class=\"hljs-string\">$&quot;Séquence détectée, milieu: \u003Cspan class=\"hljs-subst\">{rest.Length}\u003C/span> octets&quot;\u003C/span>);\n\t}\n}\n\n\u003Cspan class=\"hljs-comment\">// Interceptor (C# 12/13 feature)\u003C/span>\n[\u003Cspan class=\"hljs-meta\">InterceptsLocation(\u003Cspan class=\"hljs-string\">&quot;Program.cs&quot;\u003C/span>, 10, 5)\u003C/span>]\n\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-keyword\">public\u003C/span> \u003Cspan class=\"hljs-keyword\">static\u003C/span> \u003Cspan class=\"hljs-keyword\">void\u003C/span> \u003Cspan class=\"hljs-title\">MyInterceptor\u003C/span>()\u003C/span> { \u003Cspan class=\"hljs-comment\">/* ... */\u003C/span> }\u003C/code>\u003C/pre>",1781121858724]