<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Blazor | The .NET Blog</title><link>https://thedotnetblog.com/fr/tags/blazor/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>fr</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 23 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/fr/tags/blazor/index.xml" rel="self" type="application/rss+xml"/><item><title>Comment Copilot Studio a Migré vers .NET 10 WebAssembly et Gagné 20% de Vitesse</title><link>https://thedotnetblog.com/fr/news/emiliano-montesdeoca/copilot-studio-net10-webassembly-migration-performance/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/fr/news/emiliano-montesdeoca/copilot-studio-net10-webassembly-migration-performance/</guid><description>Les améliorations de .NET 10 WASM ne concernent pas seulement les nouveaux projets. Voici ce que Copilot Studio a mesuré après la mise à niveau depuis .NET 8 : fingerprinting automatique, WasmStripILAfterAOT par défaut et de vrais chiffres de performances d'exécution.</description><content:encoded>&lt;p&gt;L&amp;rsquo;équipe Copilot Studio a fait quelque chose que tous les développeurs Blazor WASM voulaient savoir : ils ont réellement mis à niveau une application de production de .NET 8 vers .NET 10 et mesuré les résultats. La publication partage des chiffres spécifiques, ce qui est rare et vraiment utile.&lt;/p&gt;
&lt;h2 id="la-migration-était-ennuyeuse-cest-positif"&gt;La Migration Était Ennuyeuse (C&amp;rsquo;est Positif)&lt;/h2&gt;
&lt;p&gt;Mettre à jour le framework cible, actualiser les références de paquets, corriger les changements cassants. C&amp;rsquo;est tout. La build .NET 10 tourne maintenant en production. La migration elle-même n&amp;rsquo;était pas la partie intéressante — les changements dans .NET 10 le sont.&lt;/p&gt;
&lt;h2 id="fingerprinting-automatique-des-ressources"&gt;Fingerprinting Automatique des Ressources&lt;/h2&gt;
&lt;p&gt;Auparavant, distribuer une application WASM impliquait d&amp;rsquo;écrire des scripts personnalisés pour renommer les ressources publiées avec des hachages SHA256 pour l&amp;rsquo;invalidation du cache. Copilot Studio avait un script PowerShell faisant exactement cela — renommer les fichiers, injecter des attributs &lt;code&gt;integrity&lt;/code&gt; dans le chargeur JavaScript, gérer tout manuellement.&lt;/p&gt;
&lt;p&gt;Dans .NET 10, tout cela est intégré. Les ressources publiées sont automatiquement empreintées, importées directement depuis &lt;code&gt;dotnet.js&lt;/code&gt; et validées avec intégrité sans intervention manuelle. L&amp;rsquo;équipe a supprimé le script de renommage.&lt;/p&gt;
&lt;p&gt;Petit changement en portée, réduction significative de la complexité.&lt;/p&gt;
&lt;h2 id="wasmstripilafteraot-est-maintenant-activé-par-défaut"&gt;WasmStripILAfterAOT Est Maintenant Activé par Défaut&lt;/h2&gt;
&lt;p&gt;Dans .NET 8, supprimer le IL des assemblages compilés AOT était opt-in. Dans .NET 10 c&amp;rsquo;est le comportement par défaut. Après la compilation AOT, le bytecode IL original est supprimé de la sortie — il n&amp;rsquo;est pas nécessaire au moment de l&amp;rsquo;exécution, et le garder gonflait la taille du paquet inutilement.&lt;/p&gt;
&lt;p&gt;Copilot Studio utilise une optimisation spécifique : il distribue à la fois un moteur JIT (démarrage rapide) et un moteur AOT (performances maximales en régime permanent), les chargeant en parallèle et passant de JIT à AOT une fois qu&amp;rsquo;il est prêt. Il déduplique également les fichiers identiques entre les deux moteurs.&lt;/p&gt;
&lt;p&gt;Le nouveau comportement de suppression d&amp;rsquo;IL signifie que les assemblages AOT ne correspondent plus bit pour bit à leurs homologues JIT, donc moins de fichiers sont dédupliqués :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET 8 : 59 fichiers partagés&lt;/li&gt;
&lt;li&gt;.NET 10 : 22 fichiers partagés&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Résultat net : taille du paquet approximativement 15% plus grande pour le moteur AOT. Le téléchargement AOT est ~6% plus lent sur LAN rapide, ~17% plus lent en 4G. Mais tout se passe en arrière-plan après que l&amp;rsquo;application est déjà interactive.&lt;/p&gt;
&lt;h2 id="les-chiffres-de-performance"&gt;Les Chiffres de Performance&lt;/h2&gt;
&lt;p&gt;Voici la partie qui compte :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;~20% plus rapide&lt;/strong&gt; sur le premier appel (chemin froid)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~5% plus rapide&lt;/strong&gt; sur les appels suivants (chemin chaud)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les améliorations sont les plus visibles dans les &amp;ldquo;grands bots&amp;rdquo; — des agents larges et complexes où le code compilé AOT domine. Pour des flux de travail plus simples, le gain est moindre.&lt;/p&gt;
&lt;h2 id="si-vous-êtes-encore-sur-net-8"&gt;Si Vous Êtes Encore sur .NET 8&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;histoire de migration est genuinement simple : mettez à jour &lt;code&gt;&amp;lt;TargetFramework&amp;gt;&lt;/code&gt;, actualisez les références de paquets, supprimez les scripts de fingerprinting personnalisés, et vous bénéficierez automatiquement de &lt;code&gt;WasmStripILAfterAOT&lt;/code&gt;. Si vous compilez en AOT, attendez-vous à des gains de performances similaires.&lt;/p&gt;
&lt;p&gt;Une note de la publication : si vous chargez le runtime .NET WASM dans un &lt;code&gt;WebWorker&lt;/code&gt;, définissez &lt;code&gt;dotnetSidecar = true&lt;/code&gt; lors de l&amp;rsquo;initialisation.&lt;/p&gt;
&lt;p&gt;Post original : &lt;a href="https://devblogs.microsoft.com/dotnet/copilot-studio-dotnet-10-migration/"&gt;Copilot Studio gets faster with .NET 10 on WebAssembly&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>