{"id":914,"date":"2025-01-06T12:05:02","date_gmt":"2025-01-06T12:05:02","guid":{"rendered":"https:\/\/oussamasaidi.com\/?p=914"},"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","status":"publish","type":"post","link":"https:\/\/oussamasaidi.com\/en\/announcing-dotnet-9-whats-new-key-features-you-need-to-know\/","title":{"rendered":"Les Nouveaut\u00e9s de .NET 9 : Un Aper\u00e7u Complet [Partie 1]"},"content":{"rendered":"<p>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&rsquo;intelligence artificielle (IA) et du cloud, ainsi que des exemples pratiques pour illustrer leur usage.<\/p>\n\n\n<ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-1-ameliorations-des-performances\">1. Am\u00e9liorations des Performances<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-2-nouvelles-fonctionnalites-c-12\">2. Nouvelles Fonctionnalit\u00e9s C# 12<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-3-integration-amelioree-avec-blazor\">3. Int\u00e9gration Am\u00e9lior\u00e9e avec Blazor<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-4-ameliorations-pour-lia-et-le-machine-learning\">4. Am\u00e9liorations pour l&#039;IA et le Machine Learning<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-5-innovations-pour-le-cloud\">5. Innovations pour le Cloud<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-6-securite-renforcee\">6. S\u00e9curit\u00e9 Renforc\u00e9e<\/a><ul><\/ul><\/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=\"aioseo-1-ameliorations-des-performances\">1. Am\u00e9liorations des Performances<\/h2>\n\n\n\n<p>L&rsquo;un des points forts de .NET 9 est l&rsquo;optimisation des performances, notamment pour les applications web et cloud. Ces am\u00e9liorations incluent une meilleure gestion des ressources et une r\u00e9duction des temps de latence.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple-de-code\">Exemple de Code :<\/h5>\n\n\n\n<p>Voici un exemple d\u2019utilisation des collections immuables, optimis\u00e9es pour une meilleure gestion 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=\"\">using System.Collections.Immutable;\n\nvar immutableList = ImmutableList.Create(\"apple\", \"banana\", \"cherry\");\nforeach (var item in immutableList)\n{\n    Console.WriteLine(item);\n}<\/pre>\n\n\n\n<p>Cette approche r\u00e9duit les frais g\u00e9n\u00e9raux de gestion de m\u00e9moire tout en garantissant la s\u00e9curit\u00e9 des threads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-2-nouvelles-fonctionnalites-c-12\">2. Nouvelles Fonctionnalit\u00e9s C# 12<\/h2>\n\n\n\n<p>C# 12, qui accompagne .NET 9, apporte des am\u00e9liorations significatives comme les types requis, les constantes \u00e9tendues et les am\u00e9liorations des interfaces.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple-de-code\">Exemple de Code :<\/h5>\n\n\n\n<p>Voici comment d\u00e9clarer un type requis pour s&rsquo;assurer que certaines propri\u00e9t\u00e9s sont initialis\u00e9es lors de l\u2019instanciation :<\/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 Product\n{\n    public required string Name { get; init; }\n    public decimal Price { get; init; }\n}\n\nvar product = new Product\n{\n    Name = \"Laptop\",\n    Price = 1200.99m\n};<\/pre>\n\n\n\n<p>Cette syntaxe am\u00e9liore la lisibilit\u00e9 et r\u00e9duit les erreurs potentielles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-3-integration-amelioree-avec-blazor\">3. Int\u00e9gration Am\u00e9lior\u00e9e avec Blazor<\/h2>\n\n\n\n<p>Blazor se renforce dans .NET 9 avec une meilleure gestion des composants et un support WebAssembly plus performant. Cela ouvre des possibilit\u00e9s pour des applications web interactives et dynamiques.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Voici un composant Blazor simple utilisant des param\u00e8tres :<\/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=\"\">@code {\n    [Parameter]\n    public string Message { get; set; }\n}\n\n&lt;h3&gt;@Message&lt;\/h3&gt;<\/pre>\n\n\n\n<p>Ce composant peut \u00eatre appel\u00e9 avec :<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;MyComponent Message=\"Bonjour, Blazor!\" \/><\/pre>\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-ameliorations-pour-lia-et-le-machine-learning\">4. Am\u00e9liorations pour l&rsquo;IA et le Machine Learning<\/h2>\n\n\n\n<p>.NET 9 apporte des mises \u00e0 jour majeures \u00e0 ML.NET pour faciliter l&rsquo;int\u00e9gration de mod\u00e8les d&rsquo;apprentissage automatique. La compatibilit\u00e9 accrue avec les frameworks comme TensorFlow et ONNX simplifie les workflows IA.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple-de-code\">Exemple de Code :<\/h5>\n\n\n\n<p>Voici un exemple d\u2019entra\u00eenement d\u2019un mod\u00e8le simple avec ML.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=\"\">using Microsoft.ML;\nusing Microsoft.ML.Data;\n\nvar context = new MLContext();\nvar data = context.Data.LoadFromTextFile&lt;ModelInput>(\"data.csv\", hasHeader: true, separatorChar: ',');\nvar pipeline = context.Transforms.Text.FeaturizeText(\"Features\", nameof(ModelInput.Text))\n    .Append(context.BinaryClassification.Trainers.SdcaLogisticRegression());\n\nvar model = pipeline.Fit(data);<\/pre>\n\n\n\n<p>Cette flexibilit\u00e9 permet de d\u00e9velopper des solutions IA directement dans l\u2019\u00e9cosyst\u00e8me .NET.<\/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-innovations-pour-le-cloud\">5. Innovations pour le Cloud<\/h2>\n\n\n\n<p>Le cloud est un domaine cl\u00e9 de .NET 9, avec un support \u00e9tendu pour Azure Functions et l&rsquo;orchestration d&rsquo;applications cloud-native. Ces outils simplifient le d\u00e9veloppement et le d\u00e9ploiement \u00e0 grande \u00e9chelle.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Le nouveau SDK am\u00e9liore le d\u00e9ploiement de microservices via Kubernetes :<\/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=\"\">using Microsoft.Extensions.Hosting;\nusing Microsoft.Extensions.DependencyInjection;\n\nvar host = Host.CreateDefaultBuilder(args)\n    .ConfigureServices(services =>\n    {\n        services.AddHostedService&lt;MyKubernetesService>();\n    })\n    .Build();\n\nawait host.RunAsync();<\/pre>\n\n\n\n<p>Cette int\u00e9gration favorise un d\u00e9veloppement cloud rapide et efficace.<\/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-6-securite-renforcee\">6. S\u00e9curit\u00e9 Renforc\u00e9e<\/h2>\n\n\n\n<p>.NET 9 met un accent particulier sur la s\u00e9curit\u00e9, avec des mises \u00e0 jour pour le chiffrement, les authentifications modernes et la gestion des secrets dans les applications.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"aioseo-exemple\">Exemple :<\/h5>\n\n\n\n<p>Voici un exemple d\u2019utilisation de l&rsquo;API Data Protection :<\/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=\"\">using Microsoft.AspNetCore.DataProtection;\n\nvar provider = DataProtectionProvider.Create(\"MyApp\");\nvar protector = provider.CreateProtector(\"MyPurpose\");\n\nvar encrypted = protector.Protect(\"Sensitive Data\");\nvar decrypted = protector.Unprotect(encrypted);\n\nConsole.WriteLine(decrypted);<\/pre>\n\n\n\n<p>Cette fonctionnalit\u00e9 garantit une meilleure protection des donn\u00e9es sensibles.<\/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>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Avec la sortie r\u00e9cente de .NET 9, Microsoft continue de renforcer son \u00e9cosyst\u00e8me d\u2019outils de d\u00e9veloppement. Cet article vous propose&#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\/\" 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,41,56],"tags":[47,48,49,54,53],"ppma_author":[286],"class_list":["post-914","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-netcore","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":914,"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":927,"url":"https:\/\/oussamasaidi.com\/en\/announcing-dotnet-9-whats-new-key-features-you-need-to-know-part-2\/","url_meta":{"origin":914,"position":1},"title":"Les Nouveaut\u00e9s de .NET 9 : Un Aper\u00e7u Complet [Partie 2]","author":"Saidi Oussama","date":"January 6, 2025","format":false,"excerpt":"Si les nouveaut\u00e9s pr\u00e9c\u00e9demment \u00e9voqu\u00e9es sont d\u00e9j\u00e0 impressionnantes, .NET 9 propose \u00e9galement d'autres fonctionnalit\u00e9s tout aussi importantes. Voici un aper\u00e7u des fonctionnalit\u00e9s suppl\u00e9mentaires : 1. Am\u00e9liorations dans les Minimal APIs2. Am\u00e9liorations de l'Interop\u00e9rabilit\u00e93. SignalR Optimis\u00e94. Prise en Charge du Framework MAUI5. Nouveaux Sc\u00e9narios pour les Tests Unitaires6. Gestion Optimis\u00e9e de\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":1086,"url":"https:\/\/oussamasaidi.com\/en\/logging-centralise-avec-opentelemetry-dans-net-core\/","url_meta":{"origin":914,"position":2},"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":1325,"url":"https:\/\/oussamasaidi.com\/en\/building-professional-modern-api-documentation-in-net-core-with-scalar\/","url_meta":{"origin":914,"position":3},"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":[]},{"id":1035,"url":"https:\/\/oussamasaidi.com\/en\/creer-un-chatbot-avec-deepseek-et-net-9-tutoriel-complet\/","url_meta":{"origin":914,"position":4},"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":399,"url":"https:\/\/oussamasaidi.com\/en\/serilog-in-aspnet-core-3-1\/","url_meta":{"origin":914,"position":5},"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":[]}],"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\/914","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=914"}],"version-history":[{"count":11,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/posts\/914\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/posts\/914\/revisions\/930"}],"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=914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/categories?post=914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/tags?post=914"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/oussamasaidi.com\/en\/wp-json\/wp\/v2\/ppma_author?post=914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}