{"id":927,"date":"2025-01-06T13:40:34","date_gmt":"2025-01-06T13:40:34","guid":{"rendered":"https:\/\/oussamasaidi.com\/?p=927"},"modified":"2025-12-20T11:14:44","modified_gmt":"2025-12-20T11:14:44","slug":"announcing-dotnet-9-whats-new-key-features-you-need-to-know-part-2","status":"publish","type":"post","link":"https:\/\/oussamasaidi.com\/en\/announcing-dotnet-9-whats-new-key-features-you-need-to-know-part-2\/","title":{"rendered":"Les Nouveaut\u00e9s de .NET 9 : Un Aper\u00e7u Complet [Partie 2]"},"content":{"rendered":"<p>Si les <a href=\"https:\/\/oussamasaidi.com\/en\/announcing-dotnet-9-whats-new-key-features-you-need-to-know\/\">nouveaut\u00e9s pr\u00e9c\u00e9demment <\/a>\u00e9voqu\u00e9es sont d\u00e9j\u00e0 impressionnantes, .NET 9 propose \u00e9galement d&rsquo;autres fonctionnalit\u00e9s tout aussi importantes. Voici un aper\u00e7u des fonctionnalit\u00e9s suppl\u00e9mentaires :<\/p>\n\n\n<ul><li><a class=\"aioseo-toc-item\" href=\"#ameliorations-dans-les-minimal-apis\">1. Am\u00e9liorations dans les Minimal APIs<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-2-ameliorations-de-linteroperabilite\">2. Am\u00e9liorations de l&#039;Interop\u00e9rabilit\u00e9<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-2-signalr-optimise\">3. SignalR Optimis\u00e9<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-3-prise-en-charge-du-framework-maui\">4. Prise en Charge du Framework MAUI<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-4-nouveaux-scenarios-pour-les-tests-unitaires\">5. Nouveaux Sc\u00e9narios pour les Tests Unitaires<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-5-gestion-optimisee-de-la-memoire\">6. Gestion Optimis\u00e9e de la M\u00e9moire<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-conclusion-complete\">Conclusion<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-derniers-articles\">Derniers Articles<\/a><\/li><\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"ameliorations-dans-les-minimal-apis\">1. Am\u00e9liorations dans les Minimal APIs<\/h2>\n\n\n\n<p>Les Minimal APIs ont gagn\u00e9 en popularit\u00e9 pour cr\u00e9er rapidement des microservices. Avec .NET 9, elles b\u00e9n\u00e9ficient de nouvelles options de validation et de configuration.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Voici une impl\u00e9mentation avec validation :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var app = WebApplication.CreateBuilder(args).Build();\n\napp.MapPost(\"\/create\", (User user) =>\n{\n    if (string.IsNullOrEmpty(user.Name))\n    {\n        return Results.BadRequest(\"Name is required.\");\n    }\n    return Results.Ok(\"User created\");\n});\n\napp.Run();\n\nrecord User(string Name);<\/pre>\n\n\n\n<p>Ces am\u00e9liorations simplifient la cr\u00e9ation d\u2019API robustes avec moins de code.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-2-ameliorations-de-linteroperabilite\">2. Am\u00e9liorations de l&rsquo;Interop\u00e9rabilit\u00e9<\/h2>\n\n\n\n<p>.NET 9 am\u00e9liore l&rsquo;int\u00e9gration avec les langages et environnements natifs comme Rust, Python et JavaScript. Ces fonctionnalit\u00e9s permettent aux d\u00e9veloppeurs de cr\u00e9er des solutions hybrides.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Voici comment appeler un module Rust depuis .NET :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[DllImport(\"myrustlibrary\")]\npublic static extern int AddNumbers(int a, int b);\n\nConsole.WriteLine(AddNumbers(3, 5));<\/pre>\n\n\n\n<p>Cela ouvre des perspectives pour les solutions interop\u00e9rables multi-plateformes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-2-signalr-optimise\">3. SignalR Optimis\u00e9<\/h2>\n\n\n\n<p>SignalR, utilis\u00e9 pour la communication en temps r\u00e9el, voit ses performances am\u00e9lior\u00e9es dans .NET 9, notamment pour les applications \u00e0 forte charge.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Un exemple simple de configuration de SignalR :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var builder = WebApplication.CreateBuilder(args);\nvar app = builder.Build();\n\napp.MapHub&lt;MyHub>(\"\/myhub\");\n\napp.Run();\n\npublic class MyHub : Hub\n{\n    public async Task SendMessage(string user, string message)\n    {\n        await Clients.All.SendAsync(\"ReceiveMessage\", user, message);\n    }\n}<\/pre>\n\n\n\n<p>Ces optimisations garantissent une exp\u00e9rience utilisateur fluide m\u00eame sous une forte charge.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-3-prise-en-charge-du-framework-maui\">4. Prise en Charge du Framework MAUI<\/h2>\n\n\n\n<p>MAUI (Multi-platform App UI) continue d\u2019\u00e9voluer avec .NET 9, permettant de cr\u00e9er des applications multiplateformes pour iOS, Android, Windows et macOS avec une base de code unique.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Un exemple de configuration initiale pour une application MAUI :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public static class MauiProgram\n{\n    public static MauiApp CreateMauiApp() => MauiApp.CreateBuilder()\n        .UseMauiApp&lt;App>()\n        .Build();\n}<\/pre>\n\n\n\n<p>MAUI r\u00e9duit la complexit\u00e9 du d\u00e9veloppement multiplateforme.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-4-nouveaux-scenarios-pour-les-tests-unitaires\">5. Nouveaux Sc\u00e9narios pour les Tests Unitaires<\/h2>\n\n\n\n<p>.NET 9 introduit des outils am\u00e9lior\u00e9s pour les tests unitaires, y compris de nouvelles options pour les tests asynchrones et les tests de charge.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Voici un test asynchrone avec xUnit :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class MyTests\n{\n    [Fact]\n    public async Task TestAsyncMethod()\n    {\n        var result = await MyAsyncMethod();\n        Assert.Equal(\"ExpectedResult\", result);\n    }\n\n    private Task&lt;string> MyAsyncMethod()\n    {\n        return Task.FromResult(\"ExpectedResult\");\n    }\n}<\/pre>\n\n\n\n<p>Ces outils renforcent la fiabilit\u00e9 des applications.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-5-gestion-optimisee-de-la-memoire\">6. Gestion Optimis\u00e9e de la M\u00e9moire<\/h2>\n\n\n\n<p>La gestion m\u00e9moire est encore am\u00e9lior\u00e9e avec des ajustements dans le garbage collector, r\u00e9duisant les pauses dans les applications critiques.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Utilisation de l\u2019API <code>GC.Collect<\/code> pour optimiser manuellement la m\u00e9moire :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">GC.Collect();\nConsole.WriteLine(\"Garbage collection triggered.\");<\/pre>\n\n\n\n<p>Cette fonctionnalit\u00e9 est particuli\u00e8rement utile pour les applications \u00e0 haute intensit\u00e9 m\u00e9moire.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-conclusion-complete\">Conclusion<\/h2>\n\n\n\n<p>.NET 9 est une version riche en nouveaut\u00e9s, con\u00e7ue pour r\u00e9pondre aux besoins vari\u00e9s des d\u00e9veloppeurs modernes. Avec des outils renforc\u00e9s pour le cloud, l\u2019IA, les performances, et des fonctionnalit\u00e9s am\u00e9lior\u00e9es pour MAUI, SignalR et les tests, il repr\u00e9sente une avanc\u00e9e majeure.<\/p>\n\n\n\n<p>Explorez ces nouveaut\u00e9s pour maximiser le potentiel de vos projets et rester \u00e0 la pointe de l\u2019innovation !<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"jetpack-video-wrapper\"><iframe title=\"Welcome to .NET 9 - .NET Conf 2024 Keynote\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/ikSNL-lxolc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-derniers-articles\">Derniers Articles<\/h2>\n\n\n<ul class=\"wp-block-latest-posts__list wp-block-latest-posts\"><li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/oussamasaidi.com\/en\/react-19-and-vite-for-dotnet-developers-build-fast-modern-frontends\/\">React 19 &amp; Vite: Build Fast Frontends for .NET Developers<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/oussamasaidi.com\/en\/https-oussamasaidi-com-restful-api-mastery-best-practices-with-asp-net-core-part-2\/\">RESTful API best practices\u00a0with ASP.NET Core Part 2<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/oussamasaidi.com\/en\/restful-api-mastery-best-practices-with-asp-net-core\/\">RESTful API Best Practices with ASP.NET Core<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/oussamasaidi.com\/en\/net-8-testing-libraries-complete-guide-for-developers\/\">Best .NET 8 Testing Libraries: The Complete Guide for Developers<\/a><\/li>\n<li><a class=\"wp-block-latest-posts__post-title\" href=\"https:\/\/oussamasaidi.com\/en\/securing-sensitive-information-in-net-core\/\">Securing Sensitive Information in .NET Core: A Complete Guide for Developers<\/a><\/li>\n<\/ul>\n\n\n<div class=\"wp-container-6 wp-block-columns alignwide\">\n<div class=\"wp-container-5 wp-elements-e1ba0e3d9d30b7fec5c25e47c471e6ef wp-block-column has-text-color has-background has-link-color\" style=\"background-color:#c0ebf1;color:#000000;padding-top:2em;padding-right:2em;padding-bottom:2em;padding-left:2em\">\n<h2 id=\"patron\" style=\"font-size:40px\"><strong>Vous aimez le contenu&nbsp;?<\/strong><\/h2>\n\n\n\n<p class=\"has-normal-font-size\"><strong>Si vous aimez mes articles, pensez \u00e0 m\u2019acheter quelques caf\u00e9s !<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\">\n\n\n\n<div class=\"wp-container-4 is-horizontal is-content-justification-center wp-block-buttons alignfull\">\n<div class=\"wp-block-button has-custom-width wp-block-button__width-100\"><a class=\"wp-block-button__link has-white-color has-text-color has-background no-border-radius\" href=\"https:\/\/www.buymeacoffee.com\/oussamasaiI\" style=\"background-color:#000000\" target=\"_blank\" rel=\"noreferrer noopener\">Achetez-moi un caf\u00e9<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Si les nouveaut\u00e9s pr\u00e9c\u00e9demment \u00e9voqu\u00e9es sont d\u00e9j\u00e0 impressionnantes, .NET 9 propose \u00e9galement d&rsquo;autres fonctionnalit\u00e9s tout aussi importantes. Voici un aper\u00e7u&#8230; <\/p>\n<div class=\"art-el-more\"><a href=\"https:\/\/oussamasaidi.com\/en\/announcing-dotnet-9-whats-new-key-features-you-need-to-know-part-2\/\" class=\"art-link art-color-link art-w-chevron\">Read more<\/a><\/div>","protected":false},"author":1,"featured_media":916,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[40,68,45,41,56],"tags":[47,48,49,54,53],"ppma_author":[286],"class_list":["post-927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-netcore","category-api","category-asp-net","category-c","category-c-2","tag-net-core","tag-asp-net","tag-c-sharp","tag-c","tag-dot-net-core"],"acf":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":931,"url":"https:\/\/oussamasaidi.com\/en\/net-9-entity-framework-core-what-is-new\/","url_meta":{"origin":927,"position":0},"title":"Les Nouveaut\u00e9s d&rsquo;Entity Framework Core avec .NET 9 : Ce Qu&rsquo;il Faut Savoir","author":"Saidi Oussama","date":"January 6, 2025","format":false,"excerpt":"La sortie de .NET 9 s\u2019accompagne de mises \u00e0 jour significatives dans Entity Framework Core (EF Core), le c\u00e9l\u00e8bre ORM de Microsoft. Ces nouveaut\u00e9s visent \u00e0 simplifier les sc\u00e9narios complexes et \u00e0 am\u00e9liorer les performances, la compatibilit\u00e9 cloud et l\u2019int\u00e9gration IA. Voici les cinq principales nouveaut\u00e9s qui transformeront vos projets.\u2026","rel":"","context":"In &quot;.Net Core&quot;","block_context":{"text":".Net Core","link":"https:\/\/oussamasaidi.com\/en\/category\/netcore\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/DALL%C2%B7E-2025-01-06-15.03.46-A-professional-and-modern-banner-image-for-a-WordPress-blog-article-about-the-new-features-of-Entity-Framework-Core-with-.NET-9.-The-design-should-inc.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/DALL%C2%B7E-2025-01-06-15.03.46-A-professional-and-modern-banner-image-for-a-WordPress-blog-article-about-the-new-features-of-Entity-Framework-Core-with-.NET-9.-The-design-should-inc.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/DALL%C2%B7E-2025-01-06-15.03.46-A-professional-and-modern-banner-image-for-a-WordPress-blog-article-about-the-new-features-of-Entity-Framework-Core-with-.NET-9.-The-design-should-inc.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/DALL%C2%B7E-2025-01-06-15.03.46-A-professional-and-modern-banner-image-for-a-WordPress-blog-article-about-the-new-features-of-Entity-Framework-Core-with-.NET-9.-The-design-should-inc.webp?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":914,"url":"https:\/\/oussamasaidi.com\/en\/announcing-dotnet-9-whats-new-key-features-you-need-to-know\/","url_meta":{"origin":927,"position":1},"title":"Les Nouveaut\u00e9s de .NET 9 : Un Aper\u00e7u Complet [Partie 1]","author":"Saidi Oussama","date":"January 6, 2025","format":false,"excerpt":"Avec la sortie r\u00e9cente de .NET 9, Microsoft continue de renforcer son \u00e9cosyst\u00e8me d\u2019outils de d\u00e9veloppement. Cet article vous propose une exploration des principales am\u00e9liorations et fonctionnalit\u00e9s introduites, notamment dans les domaines de l'intelligence artificielle (IA) et du cloud, ainsi que des exemples pratiques pour illustrer leur usage. 1. Am\u00e9liorations\u2026","rel":"","context":"In &quot;.Net Core&quot;","block_context":{"text":".Net Core","link":"https:\/\/oussamasaidi.com\/en\/category\/netcore\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/01\/buildanything-dot-net9.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1035,"url":"https:\/\/oussamasaidi.com\/en\/creer-un-chatbot-avec-deepseek-et-net-9-tutoriel-complet\/","url_meta":{"origin":927,"position":2},"title":"Cr\u00e9er un Chatbot avec DeepSeek et .NET 9 : Tutoriel Complet","author":"Saidi Oussama","date":"April 6, 2025","format":false,"excerpt":"Ce tutoriel vous guidera pas \u00e0 pas pour construire un chatbot utilisant l'API de DeepSeek avec .NET 9. Nous allons cr\u00e9er une application web de chatbot avec ASP.NET Core. Pr\u00e9requis\u00c9tape 1 : Cr\u00e9er une nouvelle application Web ASP.NET Core\u00c9tape 2 : Ajouter les packages n\u00e9cessaires\u00c9tape 3 : Cr\u00e9er les mod\u00e8les\u2026","rel":"","context":"In &quot;.Net Core&quot;","block_context":{"text":".Net Core","link":"https:\/\/oussamasaidi.com\/en\/category\/netcore\/"},"img":{"alt_text":"AI Chatbot with .net core","src":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/https___dev-to-uploads.s3.amazonaws.com_uploads_articles_w4yx4rdp1ohuvcb96ypg.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/https___dev-to-uploads.s3.amazonaws.com_uploads_articles_w4yx4rdp1ohuvcb96ypg.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/https___dev-to-uploads.s3.amazonaws.com_uploads_articles_w4yx4rdp1ohuvcb96ypg.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/https___dev-to-uploads.s3.amazonaws.com_uploads_articles_w4yx4rdp1ohuvcb96ypg.webp?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1086,"url":"https:\/\/oussamasaidi.com\/en\/logging-centralise-avec-opentelemetry-dans-net-core\/","url_meta":{"origin":927,"position":3},"title":"Logging Centralis\u00e9 avec OpenTelemetry dans .NET Core","author":"Saidi Oussama","date":"April 7, 2025","format":false,"excerpt":"Diagramme officiel OpenTelemetry montrant le flux de donn\u00e9es. Source originale. Introduction Dans le monde du d\u00e9veloppement moderne, la gestion des logs est devenue un \u00e9l\u00e9ment critique pour assurer la stabilit\u00e9 et la performance des applications. OpenTelemetry \u00e9merge comme la solution ultime pour impl\u00e9menter une strat\u00e9gie de logging centralis\u00e9e efficace. Ce\u2026","rel":"","context":"In &quot;.Net Core&quot;","block_context":{"text":".Net Core","link":"https:\/\/oussamasaidi.com\/en\/category\/netcore\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-8-avr.-2025-00_36_08.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-8-avr.-2025-00_36_08.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-8-avr.-2025-00_36_08.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-8-avr.-2025-00_36_08.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-8-avr.-2025-00_36_08.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-8-avr.-2025-00_36_08.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":399,"url":"https:\/\/oussamasaidi.com\/en\/serilog-in-aspnet-core-3-1\/","url_meta":{"origin":927,"position":4},"title":"Ma\u00eetriser les Logs Structur\u00e9s avec Serilog dans ASP.NET Core 8","author":"Saidi Oussama","date":"September 21, 2022","format":false,"excerpt":"Guide Complet Serilog avec Exemples pour SQL Server et le Cloud Introduction Aujourd'hui, les applications modernes g\u00e9n\u00e8rent des volumes croissants de donn\u00e9es. Pour les d\u00e9velopper efficacement, une solution de journalisation robuste devient indispensable. Parmi les outils disponibles, Serilog se distingue comme l'une des meilleures biblioth\u00e8ques de logging pour .NET. Dans\u2026","rel":"","context":"In &quot;.Net Core&quot;","block_context":{"text":".Net Core","link":"https:\/\/oussamasaidi.com\/en\/category\/netcore\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2022\/07\/serilog-dotnet-core.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2022\/07\/serilog-dotnet-core.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2022\/07\/serilog-dotnet-core.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2022\/07\/serilog-dotnet-core.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2022\/07\/serilog-dotnet-core.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":1325,"url":"https:\/\/oussamasaidi.com\/en\/building-professional-modern-api-documentation-in-net-core-with-scalar\/","url_meta":{"origin":927,"position":5},"title":"Building Professional, Modern API Documentation in .NET Core with Scalar","author":"Saidi Oussama","date":"November 19, 2025","format":false,"excerpt":"Introduction In today\u2019s software ecosystem, APIs are everywhere. Whether you are building a mobile application, a microservices architecture, or an internal company platform, your API is often the backbone of the system. But even the best API becomes useless if developers cannot understand how to consume it. This is why\u2026","rel":"","context":"In &quot;.Net Core&quot;","block_context":{"text":".Net Core","link":"https:\/\/oussamasaidi.com\/en\/category\/netcore\/"},"img":{"alt_text":"Building Professional, Modern API Documentation in .NET Core with Scalar","src":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/11\/Building-Professional-Modern-API-Documentation-in-.NET-Core-with-Scalar.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/11\/Building-Professional-Modern-API-Documentation-in-.NET-Core-with-Scalar.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/11\/Building-Professional-Modern-API-Documentation-in-.NET-Core-with-Scalar.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/11\/Building-Professional-Modern-API-Documentation-in-.NET-Core-with-Scalar.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/11\/Building-Professional-Modern-API-Documentation-in-.NET-Core-with-Scalar.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/oussamasaidi.com\/wp-content\/uploads\/2025\/11\/Building-Professional-Modern-API-Documentation-in-.NET-Core-with-Scalar.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"authors":[{"term_id":286,"user_id":1,"is_guest":0,"slug":"oussama_sa","display_name":"Saidi Oussama","avatar_url":{"url":"https:\/\/oussamasaidi.com\/wp-content\/uploads\/2022\/02\/001_001_cv1.jpg","url2x":"https:\/\/oussamasaidi.com\/wp-content\/uploads\/2022\/02\/001_001_cv1.jpg"},"author_category":"1","first_name":"Oussama","last_name":"SAIDI","user_url":"https:\/\/oussamasaidi.com","job_title":"Senior Fullstack .NET Developer","description":"I\u2019m a Senior Fullstack .NET Developer specializing in building scalable, high-performance web applications with .NET, C#, and modern frontend frameworks like React.js. I\u2019m passionate about clean architecture, automated testing, and sharing knowledge through blogs and tutorials."}],"_links":{"self":[{"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/posts\/927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/comments?post=927"}],"version-history":[{"count":3,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/posts\/927\/revisions"}],"predecessor-version":[{"id":1012,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/posts\/927\/revisions\/1012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/media\/916"}],"wp:attachment":[{"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/media?parent=927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/categories?post=927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/tags?post=927"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/ppma_author?post=927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}