<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Général Dotnet</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Forum dédié aux questions sur le développement .NET en général. Avant de poster -> FAQs .NET, Articles .NET, Sources .NET]]></description>
		<language>fr</language>
		<lastBuildDate>Thu, 03 Sep 2026 08:13:14 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Général Dotnet</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>Intelligent Terminal 0.2, un fork de Windows Terminal intégrant nativement un agent IA, est disponible</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185134&amp;goto=newpost</link>
			<pubDate>Thu, 13 Aug 2026 13:07:09 GMT</pubDate>
			<description>*Intelligent Terminal 0.2, un...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Intelligent Terminal 0.2, un fork expérimental de Windows Terminal intégrant nativement un agent IA, est disponible, avec la prise en charge des modèles IA locaux</font></b><br />
<br />
<b>Intelligent Terminal est un fork expérimental de Windows Terminal intégrant nativement un agent IA. Microsoft annonce la version 0.2 d'Intelligent Terminal. Cette mise à jour ajoute la prise en charge des modèles IA locaux, vous permet d’exécuter un agent IA différent dans chaque onglet grâce à l’option <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/agent</span>, intègre OpenCode à la gamme d’agents intégrés, exécute votre agent IA au sein de WSL, et améliore le volet Agent pour une navigation plus fluide et une meilleure lisibilité.</b><br />
<br />
Intelligent Terminal est un fork expérimental de Windows Terminal intégrant nativement un agent IA. Intelligent Terminal fonctionne avec n'importe quelle interface CLI d'agent compatible avec le protocole ACP (Agent Client Protocol). Il vous suffit d'installer l'interface CLI de votre choix sur votre PC. Si vous n'avez pas d'agent préféré, Microsoft vous aidera à configurer l'interface CLI de GitHub Copilot. Intelligent Terminal reprend toutes les fonctionnalités que vous appréciez dans Windows Terminal, telles que : les onglets, les profils, les thèmes, les paramètres, les shells et les raccourcis clavier, qui fonctionnent tous comme vous vous y attendez.<br />
<br />
Récemment, Microsoft annonce la version 0.2 d'Intelligent Terminal. Cette mise à jour ajoute la prise en charge des modèles IA locaux, vous permet d’exécuter un agent IA différent dans chaque onglet grâce à l’option <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/agent</span>, intègre OpenCode à la gamme d’agents intégrés, exécute votre agent IA au sein de WSL, là où se déroule réellement votre travail, et améliore le volet Agent pour une navigation plus fluide et une meilleure lisibilité. Elle optimise également la fonctionnalité Autofix et corrige une longue liste de problèmes de fiabilité.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/RA3AtxZPPUY?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
<b>La prise en charge des modèles locaux est disponible</b><br />
<br />
L'une des demandes les plus fréquentes depuis la première version concernait la possibilité d’utiliser des modèles locaux. La version 0.2 ajoute la prise en charge des modèles locaux dans le volet Agent, ce qui vous permet d’exécuter les workflows de votre agent sur un modèle hébergé sur votre propre machine, en les gardant privés, hors ligne et sans dépendance vis-à-vis du cloud.<br />
<br />
La configuration ne nécessite que quelques clics. Dans les paramètres de l’agent, ouvrez la section des fournisseurs BYOM (bring your own model), cliquez sur « Ajouter un nouveau » et indiquez votre point de terminaison en renseignant l’URL de base et l’ID du modèle. Enregistrez, puis sélectionnez votre nouveau fournisseur dans le menu déroulant « Modèle ». Cette fonctionnalité est compatible avec GitHub Copilot et OpenCode ; vous pouvez ainsi exécuter un modèle hébergé localement par Ollama ou tout autre serveur utilisant l’API OpenAI.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678174d1786632438/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 1140
Taille : 61,2 Ko"  style="float: CONFIG" /></div><br />
<b>Nouvelles commandes « / »</b><br />
<br />
Après <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/fix</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/model</span> dans la dernière version, la version 0.2 en ajoute quelques-unes supplémentaires :<br />
<br />
- <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/agent</span> exécute un agent différent dans chaque onglet. À chaque tâche son agent. Grâce à <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/agent</span>, chaque onglet peut exécuter l’agent spécifique le mieux adapté au travail que vous effectuez, sans perturber les agents en cours d’exécution dans vos autres onglets. Utilisez Copilot dans le volet Agent d’un onglet, Claude dans un autre et Codex dans un troisième ! Choisissez parmi les agents installés et autorisés par votre politique dans un sélecteur, ou complétez le nom d’un agent directement au fur et à mesure que vous tapez. Vos conversations restent isolées par onglet, ce qui vous permet de faire fonctionner plusieurs agents en parallèle.<br />
<br />
- La commande <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/move</span> permet de repositionner le volet. Déplacez le volet « Agent » de chaque onglet indépendamment vers la gauche, la droite, le haut ou le bas, sans modifier la disposition de vos autres onglets.<br />
<br />
- Recherchez vos sessions à l’aide de la commande <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/sessions</span>. Appuyez sur <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/</span> pour filtrer les titres des sessions, mettre en surbrillance les correspondances et reprendre plus rapidement la bonne conversation.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678175d1786632445/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 677
Taille : 44,2 Ko"  style="float: CONFIG" /></div><br />
<b>OpenCode est désormais pris en charge</b><br />
<br />
OpenCode rejoint la gamme d’agents intégrés en tant qu’option de premier plan. Utilisez-le dans le volet Agent pour le chat et la correction automatique, reprenez ses sessions précédentes et, si vous le souhaitez, installez des hooks de suivi afin que vos sessions OpenCode interactives apparaissent dans la gestion des sessions. Aucune commande d’agent personnalisée n’est requise.<br />
<br />
<b>Intégrez votre agent dans WSL</b><br />
<br />
Votre travail s’effectue souvent au sein d’une distribution WSL, et désormais votre agent peut en faire de même. Votre agent du volet Agent et votre agent de délégation <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">?&lt;prompt&gt;</span> peuvent désormais être configurés par profil dans les paramètres du terminal intelligent. Choisissez un agent WSL hébergé sous Windows ou local à la distribution pour chacun d’eux, afin que chaque profil utilise les bons outils, chemins d’accès et répertoires de travail. Les profils non configurés continuent d’utiliser les valeurs par défaut globales.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678176d1786632539/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/3.jpg/" border="0" alt="Nom : 3.jpg
Affichages : 690
Taille : 60,8 Ko"  style="float: CONFIG" /></div><br />
<b>Un volet Agent plus riche et plus lisible</b><br />
<br />
Le volet Agent a bénéficié d’une série d’améliorations visant à faciliter son utilisation :<br />
<br />
- Navigation et copie à la souris. Faites défiler avec précision, faites glisser pour sélectionner, double-cliquez sur un mot, triple-cliquez sur une ligne et appuyez sur Ctrl+C pour copier des sélections compatibles Unicode.<br />
<br />
- Rappel des instructions génératives récentes. Appuyez sur les touches Haut et Bas pour parcourir vos invites récentes, jusqu’à 50 par onglet, en conservant les brouillons et les saisies multilignes.<br />
<br />
- Activité plus claire. La réflexion reste visible dans une ligne stable pendant que le travail est en cours, et les appels d’outils affichent désormais des états animés, des glyphes d’opération et les chemins ou commandes concrets qu’ils utilisent, afin que vous sachiez toujours ce que fait l’agent.<br />
<br />
- Des couleurs adaptées à votre volet. Les barres de titre, le texte, les séparateurs et les logos des agents s’adaptent désormais à l’arrière-plan de chaque volet au lieu de rester en noir par défaut.<br />
<br />
- L’utilisation des jetons en un coup d’œil. La barre d’état de l’agent peut désormais afficher votre utilisation et le coût des jetons pendant que vous travaillez, ce qui vous permet de surveiller votre consommation sans quitter le terminal. Activez ou désactivez cette fonctionnalité dans les paramètres.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678177d1786632545/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/4.jpg/" border="0" alt="Nom : 4.jpg
Affichages : 679
Taille : 11,1 Ko"  style="float: CONFIG" /></div><br />
<b>Coller des images dans le volet de l’agent</b><br />
<br />
Collez une image du presse-papiers directement dans le chat de l’agent avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Alt+V</span>. Les captures d’écran et les fichiers image copiés sont envoyés à l’agent sous forme de bloc de contenu image, ce qui vous permet de montrer à votre agent un schéma, une capture d’écran d’erreur ou une maquette d’interface utilisateur au lieu de le décrire (l’action sur l’image dépend de la prise en charge des images par l’agent lui-même). Dans la version 0.2, les pièces jointes sous forme d’images collées sont également modifiables et numérotées de manière unique, ce qui garantit un comportement prévisible lorsque vous déplacez le curseur, supprimez, restaurez des brouillons ou parcourez l’historique.<br />
<br />
<b>Correction automatique plus intelligente</b><br />
<br />
La correction automatique reconnaît désormais davantage d’erreurs réelles, notamment les erreurs d’exécution de Windows PowerShell 5.1, les erreurs d’analyse syntaxique de PowerShell, les boucles d’invite Bash et les cas de commande introuvable, et propose des suggestions de correction plus sûres. Il comprend également votre environnement de volet réel, en résolvant les alias de profil PowerShell, les scripts locaux et votre répertoire de travail, au lieu de proposer des conseils génériques pour les commandes dont vous disposez déjà.<br />
<br />
<b>Fiabilité et améliorations</b><br />
<br />
Outre les fonctionnalités mentionnées ci-dessus, la version 0.2 comprend une longue liste d’améliorations en matière de fiabilité et de qualité. En voici quelques-unes :<br />
<br />
- La connexion à Copilot vous redirige directement vers l’authentification après l’installation et réactive un agent inactif après une connexion via le navigateur.<br />
<br />
- Le glissement d’un onglet d’une fenêtre à l’autre maintient actifs le shell et les sessions de l’agent.<br />
<br />
- La fermeture d’un onglet en cours de réponse n’interrompt plus les agents présents dans vos autres onglets.<br />
<br />
- Le collage multiligne et la combinaison Maj+Entrée préservent chaque ligne dans la saisie et la transcription.<br />
<br />
- Le sélecteur de modèle reste synchronisé avec la session d’agent active.<br />
<br />
- Les erreurs de délégation restent à l’écran au lieu que l’onglet ne se ferme en clignotant.<br />
<br />
Pour la prochaine version, Microsoft se concentre sur la restauration des sessions de terminal. À l’instar de la gestion des sessions d’agent, Microsoft travaille à ce que vos sessions de shell, vos onglets, vos volets et votre contexte d’exécution soient enregistrés et restaurés quand vous le souhaitez, et qu’ils soient consultables dans votre liste de gestion des sessions. Fermez la fenêtre, revenez plus tard et reprenez là où vous vous étiez arrêté. En outre, ils continueront à corriger les bugs et à répondre aux demandes de fonctionnalités tant qu’Intelligent Terminal restera en phase expérimentale. <br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://github.com/microsoft/intelligent-terminal" target="_blank">Intelligent Terminal 0.2</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/381042/Pourquoi-l-IA-vous-recommande-t-elle-autant-d-utiliser-Terminal-Cette-preference-pour-les-lignes-de-commande-est-utile-pour-les-developpeurs-mais-pose-des-risques-de-securite-les-utilisateurs-non-avertis/" target="_blank">Pourquoi l'IA vous recommande-t-elle autant d'utiliser Terminal ? Cette préférence pour les lignes de commande est utile pour les développeurs, mais pose des risques de sécurité les utilisateurs non avertis</a><br />
<br />
:fleche: <a href="https://windows.developpez.com/actu/337799/Windows-Terminal-est-maintenant-defini-par-defaut-dans-Windows-11-22H2-toutes-les-applications-en-ligne-de-commande-s-ouvriront-desormais-automatiquement-dans-Windows-Terminal/" target="_blank">Windows Terminal est maintenant défini par défaut dans Windows 11 22H2. Toutes les applications en ligne de commande s'ouvriront désormais automatiquement dans Windows Terminal</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381516/Copilot-se-transforme-en-desastre-pour-Microsoft-Microsoft-brandit-la-menace-judiciaire-face-a-l-accord-Amazon-OpenAI-a-50-milliards-pendant-qu-OpenAI-pousse-les-limites-de-leur-exclusivite-cloud/" target="_blank">Copilot se transforme en désastre pour Microsoft : Microsoft brandit la menace judiciaire face à l'accord Amazon-OpenAI à 50 milliards, pendant qu'OpenAI pousse les limites de leur exclusivité cloud</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p678174d1786632438/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678175d1786632445/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678176d1786632539/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/3.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678177d1786632545/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/4.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185134/dotnet/general-dotnet/intelligent-terminal-0-2-fork-windows-terminal-integrant-nativement-agent-ia-disponible/</guid>
		</item>
		<item>
			<title>Microsoft annonce la préversion des outils de développement Work IQ</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185079&amp;goto=newpost</link>
			<pubDate>Mon, 10 Aug 2026 08:04:38 GMT</pubDate>
			<description>*Microsoft annonce la...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft annonce la préversion des outils de développement Work IQ, une expérience orientée agents IA pour l'extensibilité de Microsoft 365 Copilot</font></b><br />
<br />
<b>Microsoft annonce la préversion pour développeurs des outils Work IQ Developer Tools (WIQD), l’expérience orientée agents IA pour l’extensibilité de Microsoft 365 Copilot qui permet de transformer n’importe quel plugin (compétences, connecteurs, agents déclaratifs) d’un dossier vide en un produit publié et surveillé. En simplifiant le cycle de vie, les développeurs déploient des agents plus spécialisés, et plus il y a d’agents, plus Work IQ s’enrichit, offrant ainsi un contexte plus large et mieux ancré à tous les autres agents qui s’appuient sur lui. </b><br />
<br />
Un agent IA, ou IA agentique, est un programme d’intelligence artificielle capable de poursuivre des objectifs, d’utiliser des logiciels ou d’autres outils, et d’agir avec un certain degré d’autonomie. L’IA agentique se distingue de l’IA « outil », qui exécute une tâche précise et limitée, telle que répondre à des questions (comme c’est le cas avec les chatbots tels que ChatGPT) ou des algorithmes traditionnels d’apprentissage automatique.<br />
<br />
Les caractéristiques communes des agents IA comprennent un comportement orienté vers des objectifs, des interfaces en langage naturel, la capacité à utiliser des outils externes et la capacité à effectuer des tâches en plusieurs étapes. Leur flux de contrôle est souvent piloté par de grands modèles de langage (LLM). Les systèmes d'agents peuvent également inclure des composants de mémoire, une logique de planification, des interfaces d'outils et des logiciels d'orchestration pour coordonner les composants des agents.<br />
<br />
Les logiciels évoluent : ils passent d’applications conçues pour les utilisateurs à des agents capables de raisonner en fonction du contexte et d’agir pour le compte d’une personne. Microsoft 365 Copilot a mis cette évolution à la portée de centaines de millions d’utilisateurs, et Work IQ a fourni aux agents une couche d’intelligence prête à l’emploi sur laquelle s’appuyer. Ce qui manquait, c’était le chemin intermédiaire : passer d’une idée à un agent de production fonctionnant devant les clients.<br />
<br />
C'est pourquoi, Microsoft annonce la préversion pour développeurs des outils Work IQ Developer Tools (WIQD), l’expérience orientée agents IA pour l’extensibilité de Microsoft 365 Copilot qui permet de transformer n’importe quel plugin (compétences, connecteurs, agents déclaratifs) d’un dossier vide en un produit publié et surveillé. Une seule installation. Un seul modèle mental. L’ensemble du cycle de vie dans un flux unique que le développeur, ou Copilot, peut exécuter de bout en bout.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678118d1786349989/dotnet/general-dotnet/microsoft-annonce-preversion-outils-developpement-work-iq/0.jpg/" border="0" alt="Nom : 0.jpg
Affichages : 449
Taille : 64,0 Ko"  style="float: CONFIG" /></div><br />
Voici l'annonce de Microsoft :<br />
<br />
<b><font size="3">Annonce de la préversion des outils de développement Work IQ</font></b><br />
<br />
Si vous avez développé un plugin Microsoft 365 Copilot, qu’il s’agisse d’une compétence, d’un connecteur ou d’un agent déclaratif au cours des six derniers mois, vous connaissez la marche à suivre. Vous créez une structure, enregistrez, validez, partagez, ciblez, soumettez et suivez la certification à travers différents systèmes. Les outils de développement Work IQ transforment ce cycle de vie fragmenté en une expérience de développement cohérente, centrée sur le produit. L’extensibilité de Microsoft 365 Copilot ne doit plus nécessairement être un cycle intensif suivi d’un précipice à chaque étape. Si vous souhaitez déployer des plug-ins Copilot à la vitesse que Copilot rend possible, l’ensemble du parcours doit devenir une interface unique qu’un agent peut exécuter de bout en bout. Et cette interface, ce sont les outils de développement Work IQ.<br />
<br />
<b>Conçus pour que Copilot prenne le relais</b><br />
<br />
L’interface de ligne de commande (CLI) est sans doute la partie la moins intéressante. Ce qui compte, c’est que le parcours de l’idée à la mise en production forme un flux unique que vous pouvez confier à un agent, et les outils de développement Work IQ fournissent tout ce dont un agent a besoin pour exécuter cette boucle dès le premier jour.<br />
<br />
- <b>Un plugin d’agent</b> expose l’intégralité du cycle de vie au sein de Copilot et du chat de l’EDI. Décrivez ce que vous souhaitez (« créer la structure d’un agent de triage du support, ajouter un connecteur Graph, le valider et générer des évaluations ») et les compétences appropriées s’en chargent. C’est Copilot qui fournit des plugins Copilot.<br />
<br />
- <b>Un serveur de langage (LSP)</b> vous fournit des diagnostics en temps réel sur les fichiers liés aux plugins, y compris les manifestes déclaratifs d’agents, les manifestes de plugins et les cartes adaptatives, au fur et à mesure que vous (ou votre agent de codage) tapez. Le même mécanisme qui vous maintient sur la bonne voie maintient également l’agent sur la bonne voie.<br />
<br />
- <b>Des sorties lisibles par machine partout.</b> Chaque invite interactive possède un indicateur équivalent, chaque commande utilise le format JSON, et les codes de sortie restent stables ; ainsi, les mêmes commandes que vous exécutez manuellement s’intègrent directement dans un pipeline.<br />
<br />
En arrière-plan, la phase de construction crée le manifeste, identifie ses dépendances (outils MCP via une connexion en temps réel, plugins API, connecteurs d’agents, compétences), intègre leurs schémas dans le manifeste et configure le LSP. L’agent comprend la sémantique des outils et prend des décisions d’intégration qu’une simple interface de commande restreinte ne saurait prendre seule.<br />
<br />
<b>Un flux unique, de bout en bout</b><br />
<br />
Les outils de développement Work IQ fournissent aux humains et aux agents de codage la même grammaire pour l’ensemble du cycle de vie :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">create &rarr; configure &rarr; validate &rarr; provision &rarr; package &rarr; share &rarr; ask &rarr; eval &rarr; publish &rarr; monitor</code><hr />
</div><br />
<br />
Créez une seule fois, puis réutilisez le modèle. Les mêmes verbes fonctionnent que vous décriviez ce que vous voulez dans un chat, que vous saisissiez la commande dans votre terminal pour plus de précision, ou que vous l’intégriez dans un pipeline CI/CD. Même moteur, même comportement, même contrat, car l’interface en ligne de commande (CLI), le plugin d’agent et l’extension VS Code s’exécutent tous sur un seul noyau.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678117d1786349945/dotnet/general-dotnet/microsoft-annonce-preversion-outils-developpement-work-iq/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 398
Taille : 35,5 Ko"  style="float: CONFIG" /></div><br />
<b>Les plugins constituent l’unité réutilisable ; les agents sont une composition</b><br />
<br />
Les outils de développement Work IQ considèrent le plugin comme l’unité de produit durable. Un plugin peut contenir un agent déclaratif, des compétences SKILL.md réutilisables, des connecteurs MCP distants, ainsi que les métadonnées qui regroupent ces capacités au sein d’un package d’application Microsoft 365. Un agent déclaratif est un composant à part entière de ce plugin ; il ne s’agit pas du conteneur dans lequel chaque capacité réutilisable doit nécessairement être hébergée.<br />
<br />
Ce modèle permet à une équipe de créer une fonctionnalité ciblée une seule fois, de la publier dans le registre partagé, puis de l’intégrer dans plusieurs expériences d’agent. Les développeurs d’agents passent moins de temps à recréer des intégrations, tandis que les propriétaires de plugins disposent d’une source unique de référence pour la validation, la gestion des versions et les corrections.<br />
<br />
<b>La qualité fait partie intégrante du cycle, ce n’est pas un simple ajout</b><br />
<br />
À mesure que les plug-ins passent du stade de la démonstration à celui des flux de travail réels, les exigences de mise en production augmentent en conséquence. Les clients s’attendent à des plug-ins précis, fiables et cohérents pour l’ensemble des invites qu’ils reçoivent réellement. Pour répondre à ces exigences, il faut une évaluation objective, reproductible et intégrée à votre façon de travailler.<br />
<br />
Les outils de développement Work IQ lisent votre manifeste et génèrent des évaluations ciblées au format YAML standard. Exécutez-les localement dans votre boucle interne ou dans votre environnement CI/CD, mesurez les régressions d’une exécution à l’autre au lieu de les évaluer à l’œil nu, puis itérez. Besoin de déboguer ? L’outil extrait les informations pertinentes du provisionnement et lance votre agent directement depuis le terminal à l’aide de Work IQ, ce qui vous évite de copier-coller des identifiants d’un outil à l’autre.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #339933;"># Using your preferred agentic experience</span>
&gt; Evaluate my plugin based on its configuration 
&nbsp;
<span style="color: #339933;"># Or using the CLI</span>
wiqd agent eval init
wiqd agent eval</pre></td></tr></table></code><hr />
</div><br />
<br />
<b>Déployez auprès de vrais clients, puis développez-vous</b><br />
<br />
La publication était le point où l’ancienne chaîne d’outils s’arrêtait et où commençait le marathon des portails. Désormais, la dernière étape est intégrée au même flux :<br />
<br />
- <b>Publiez là où se trouvent vos clients.</b> Soumettez votre application au Microsoft Marketplace via le Partner Center ou au Centre d’administration Microsoft 365 pour les scénarios métier sans quitter votre projet.<br />
<br />
- <b>Ciblez avant de soumettre.</b> Choisissez votre audience dès le départ au lieu de découvrir les règles de ciblage dans un portail après avoir déployé votre application.<br />
<br />
- <b>Une source unique de vérité.</b> Votre package génère les métadonnées de soumission, vous évitant ainsi de saisir à nouveau les mêmes données sur différents systèmes.<br />
<br />
La mise en production est un début, pas une fin. wiqd agent monitor extrait de Work IQ les données télémétriques d’utilisation, de santé et d’adoption pour les afficher sur votre terminal. Identifiez ce qui fonctionne, réinjectez les données d’utilisation réelles dans vos évaluations, republiez et observez l’évolution de la courbe, le tout sans quitter l’environnement que vous avez créé.<br />
<br />
<b>Comment cela s’intègre à Work IQ</b><br />
<br />
Le nom reflète la relation : WIQD signifie « Work IQ Developer Tools », et la connexion fonctionne dans les deux sens. Il s’appuie sur la même plateforme Work IQ qui alimente l’intelligence des agents en production, la couche qui permet aux agents de raisonner sur le contexte organisationnel grâce à une gouvernance tenant compte des autorisations, ainsi que sur les nouvelles API Work IQ qui dotent les agents d’intelligence, de rapidité, d’efficacité, d’évolutivité et de sécurité intégrées.<br />
<br />
C’est ainsi que cette plateforme s’enrichit. Chaque plugin que vous déployez via celle-ci devient une nouvelle source de contexte spécialisée et bien ciblée. Un modèle qui devine le fonctionnement de votre système de facturation est moins performant qu’un agent de facturation qui le connaît réellement. En simplifiant le cycle de vie, les développeurs déploient des agents plus spécialisés, et plus il y a d’agents, plus Work IQ s’enrichit, offrant ainsi un contexte plus large et mieux ancré à tous les autres agents qui s’appuient sur lui. C’est cette boucle que nous recherchons véritablement.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://microsoft.github.io/wiqd/getting-started/" target="_blank">Commencer avec Work IQ Developer Tools</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/383175/Microsoft-annonce-la-preversion-publique-de-l-outil-d-evaluation-des-agents-Microsoft-365-Copilot-qui-aide-les-developpeurs-a-mesurer-et-a-ameliorer-la-qualite-des-agents-crees-avec-Microsoft-365-Copilot/" target="_blank">Microsoft annonce la préversion publique de l'outil d'évaluation des agents Microsoft 365 Copilot, qui aide les développeurs à mesurer et à améliorer la qualité des agents créés avec Microsoft 365 Copilot</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381516/Copilot-se-transforme-en-desastre-pour-Microsoft-Microsoft-brandit-la-menace-judiciaire-face-a-l-accord-Amazon-OpenAI-a-50-milliards-pendant-qu-OpenAI-pousse-les-limites-de-leur-exclusivite-cloud/" target="_blank">Copilot se transforme en désastre pour Microsoft : Microsoft brandit la menace judiciaire face à l'accord Amazon-OpenAI à 50 milliards, pendant qu'OpenAI pousse les limites de leur exclusivité cloud</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/384614/Oubliez-le-prompt-engineering-le-loop-engineering-fait-desormais-fureur-Plutot-que-de-dicter-chaque-instruction-a-l-agent-IA-vous-concevez-une-boucle-autonome-qui-s-en-charge-a-votre-place/" target="_blank">Oubliez le « prompt engineering » : le « loop engineering » fait désormais fureur. Plutôt que de dicter chaque instruction à l'agent IA, vous concevez une boucle autonome qui s'en charge à votre place</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p678117d1786349945/dotnet/general-dotnet/microsoft-annonce-preversion-outils-developpement-work-iq/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678118d1786349989/dotnet/general-dotnet/microsoft-annonce-preversion-outils-developpement-work-iq/0.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185079/dotnet/general-dotnet/microsoft-annonce-preversion-outils-developpement-work-iq/</guid>
		</item>
		<item>
			<title>Annonce de la version 2.0 du SDK C# officiel du Model Context Protocol (MCP) pour serveurs et clients</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184982&amp;goto=newpost</link>
			<pubDate>Tue, 04 Aug 2026 11:13:17 GMT</pubDate>
			<description>*Microsoft annonce la version...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft annonce la version 2.0 du SDK C# officiel du Model Context Protocol (MCP) pour serveurs et clients, un framework d’IA développé en collaboration avec Microsoft</font></b><br />
<br />
<b>Le SDK C# du Model Context Protocol (MCP) est désormais disponible en version 2.0, mettant en œuvre la révision du 28 juillet 2026 de la spécification MCP. Il s’agit de la plus importante révision du protocole depuis son lancement. La révision du 28 juillet 2026 revient aux fondamentaux et repense le fonctionnement du MCP sur HTTP. Elle rend le protocole sans état par défaut, normalise l’interface HTTP afin que l’infrastructure HTTP standard puisse acheminer le trafic MCP, et introduit les requêtes à allers-retours multiples (Multi Round-Trip Requests) pour que les outils interactifs n’aient plus besoin d’une session de longue durée.</b><br />
<br />
Le Model Context Protocol (MCP) est un standard ouvert et un framework open source lancé par Anthropic en novembre 2024 afin de normaliser la manière dont les systèmes d’intelligence artificielle (IA), tels que les grands modèles de langage (LLM), s’intègrent et partagent des données avec des outils, des systèmes et des sources de données externes. Le MCP fournit une interface standardisée pour lire des fichiers, exécuter des fonctions et gérer les invites contextuelles. Suite à son annonce, le protocole a été adopté par les principaux fournisseurs d’IA, notamment OpenAI et Google DeepMind.<br />
<br />
Le SDK C# du Model Context Protocol (MCP) est désormais disponible en version 2.0, mettant en œuvre la révision du 28 juillet 2026 de la spécification MCP. Il s’agit de la plus importante révision du protocole depuis son lancement. Cette version se distingue des précédentes. Les mises à jour antérieures ajoutaient des fonctionnalités en plus de la structure existante du protocole. La révision du 28 juillet 2026 revient aux fondamentaux et repense le fonctionnement du MCP sur HTTP. Elle rend le protocole sans état par défaut, normalise l’interface HTTP afin que l’infrastructure HTTP standard puisse acheminer le trafic MCP, et introduit les requêtes à allers-retours multiples (Multi Round-Trip Requests) pour que les outils interactifs n’aient plus besoin d’une session de longue durée.<br />
<br />
Cette évolution joue directement en faveur des atouts de .NET. Après tout, le MCP sur HTTP est une charge de travail web, et ASP.NET Core s’est toujours concentré sur les préoccupations mêmes auxquelles s’intéresse cette révision de la spécification MCP : routage, middleware, en-têtes, équilibrage de charge et évolutivité horizontale. Le SDK MCP en C# s’appuie directement sur ASP.NET Core ; ainsi, une grande partie de ce qu’exige la nouvelle spécification est déjà une seconde nature dans .NET. Et avant d’aller plus loin, voici une assurance d’emblée : la version 2.0 est rétrocompatible. La mise à niveau du SDK ne vous oblige pas à abandonner les clients et serveurs dont vous disposez déjà, et votre code v1 stable continue de se compiler et de s’exécuter. <br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/W9XtugrmHts?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
Voici un aperçu des nouveautés :<br />
<br />
<b><font size="3">Sans état par défaut</font></b><br />
<br />
Dans la spécification précédente, appeler un outil via Streamable HTTP impliquait d’abord d’effectuer la poignée de main d’initialisation et, avec les paramètres par défaut du SDK v1, d’établir une session. Le serveur renvoyait un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Mcp-Session-Id</span> que le client devait transmettre à chaque requête ultérieure, l’associant ainsi à l’instance de serveur qui l’avait émis. Les déploiements horizontaux nécessitaient un routage « sticky » ou une migration de session pour que cela fonctionne.<br />
<br />
La révision du 28 juillet 2026 remplace cette configuration liée à la connexion par des requêtes autonomes : la procédure <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">initialize</span> / <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">initialized</span> a disparu (SEP-2575), tout comme l’en-tête <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Mcp-Session-Id</span> (SEP-2567), et la version du protocole ainsi que ses capacités sont désormais transmises avec chaque requête. Concrètement, cela signifie que n’importe quelle instance de serveur peut traiter n’importe quelle requête ; ainsi, les sessions persistantes et les magasins de sessions partagés dont les déploiements horizontaux avaient besoin ne sont plus nécessaires au niveau de la couche protocole. Les déploiements sans serveur, multi-instances et en périphérie fonctionnent tout simplement.<br />
<br />
Le SDK évolue au rythme de la spécification : le transport serveur HTTP fonctionne désormais sans état par défaut. Alors que la v1 configurait des sessions avec état par défaut, dans la v2, la valeur par défaut de <b>HttpServerTransportOptions.Stateless</b> est <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">true</span>.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">using</span> ModelContextProtocol.Server;
<span style="color: #0000ff;">using</span> System.ComponentModel;
&nbsp;
<span style="color: #0000ff;">var</span> builder = WebApplication.CreateBuilder<span class="br0">&#40;</span>args<span class="br0">&#41;</span>;
builder.Services.AddMcpServer<span class="br0">&#40;</span><span class="br0">&#41;</span>
    .WithHttpTransport<span class="br0">&#40;</span><span class="br0">&#41;</span>   <span style="color: #808080;">// stateless by default now</span>
    .WithToolsFromAssembly<span class="br0">&#40;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">var</span> app = builder.Build<span class="br0">&#40;</span><span class="br0">&#41;</span>;
app.MapMcp<span class="br0">&#40;</span><span class="br0">&#41;</span>;
app.Run<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;http://localhost:3001&quot;</span><span class="br0">&#41;</span>;
&nbsp;
<span class="br0">&#91;</span>McpServerToolType<span class="br0">&#93;</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">class</span> EchoTool
<span class="br0">&#123;</span>
    <span class="br0">&#91;</span>McpServerTool, Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Echoes the message back to the client.&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span> Echo<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> message<span class="br0">&#41;</span> =&gt; <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;hello <span style="color: black;"><span class="br0">&#123;</span>message<span class="br0">&#125;</span></span>&quot;</span>;
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
Voilà tout ce qu’il y a à savoir sur le serveur. Placez-le derrière un équilibreur de charge de type « round-robin », déploiez-le sur autant d’instances que vous le souhaitez, et il n’y a rien à synchroniser entre elles. La conteneurisation se fait également de manière très simple : un serveur MCP sans état est une application ASP.NET Core ordinaire ; il vous suffit donc d’utiliser le <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Dockerfile</span> multi-étapes habituel sous .NET pour le déployer partout où des conteneurs sont exécutés.<br />
<br />
« Protocole sans état » ne signifie pas « application sans état ». Si votre serveur doit conserver l’état d’un appel à l’autre, faites ce que les API HTTP ont toujours fait : générez un identifiant explicite à partir d’un outil (un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">basketId</span>, un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">browserId</span>) et demandez au modèle de le renvoyer comme un argument ordinaire lors des appels suivants. Il s’avère que le modèle qui transmet un identifiant d’un appel à l’autre est souvent plus puissant qu’un état de session caché dans les métadonnées de transport : le modèle peut composer des identifiants entre différents outils, les analyser et les transférer d’une étape à l’autre.<br />
<br />
<b>Activation des sessions</b> : L’absence d’état est le comportement par défaut, pas une obligation. Si vous avez réellement besoin de messages serveur-client non sollicités ou d’un état de transport lié à une session, vous pouvez toujours activer le mode avec état. Les sessions étant désormais optionnelles, les points de terminaison SSE hérités et quelques options réservées au mode avec état sont désactivés ou obsolètes par défaut (diagnostics MCP9004 et MCP9006) ; vous recevrez donc un message d’avertissement si vous vous fiez à l’ancien comportement. Le principe est celui du « paiement à l’utilisation » : vous n’assumez la complexité liée aux sessions que lorsque vous les utilisez réellement.<br />
<br />
Il existe une raison plus subtile pour laquelle le mode sans état est le mode par défaut, et elle concerne l’avenir, pas seulement l’évolutivité horizontale. Étant donné que le format de transmission 2026-07-28 supprime entièrement la poignée de main <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">initialize</span> et le <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Mcp-Session-Id</span>, l’utilisation de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Stateless = <span style="color: #0000ff;">true</span></span> est le choix compatible avec les versions futures : c’est la configuration qui permet à votre serveur de répondre directement aux clients <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">2026</span>-<span style="color: #cc66cc;">07</span>-<span style="color: #cc66cc;">28</span></span>, en utilisant nativement le nouveau protocole. Les anciens clients ne sont pas laissés pour compte (le serveur revient toujours à la procédure de connexion héritée pour eux), mais les nouveaux clients bénéficient de la voie moderne sans aucun obstacle.<br />
<br />
<b><font size="3">Conçu pour évoluer sur du HTTP classique</font></b><br />
<br />
Le passage au mode « stateless » modifie la structure d’une requête MCP : il s’agit désormais d’une seule requête HTTP POST auto-descriptive. Cela ouvre une porte qu'on ne pouvait pas franchir auparavant : votre infrastructure HTTP existante peut enfin traiter le MCP comme n’importe quel autre trafic. Pas de sidecar, pas d’analyse du corps de la requête, pas de cas particuliers.<br />
<br />
La révision du 28 juillet 2026 normalise un petit ensemble d’en-têtes HTTP qui reflètent les champs qui intéressent réellement les intermédiaires (SEP-2243). Un appel de type <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">tools/call</span> est désormais accompagné des en-têtes <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Mcp-Method: tools/call</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Mcp-Name: get_order_status</span>, en plus du corps JSON-RPC. Ainsi, un équilibreur de charge, un proxy, une passerelle, un WAF ou un outil d’observabilité peut traiter le trafic MCP sans avoir recours à l’inspection approfondie des paquets. De plus, vous pouvez transformer n’importe quel paramètre d’outil en en-tête <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Mcp-Param-*</span> à l’aide d’un simple attribut.<br />
<br />
C’est exactement ce dont le routage géo-distribué a besoin. Imaginez un outil qui appelle un service backend (un service de gestion des commandes, par exemple) déployé dans plusieurs régions. L’outil reçoit une <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">region</span> et un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">orderId</span>, et un équilibreur de charge global doit acheminer chaque appel vers le déploiement régional colocalisé. Transforme <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">region</span> en en-tête, et le routeur peut l’utiliser directement pour l’acheminement, sans jamais lire le corps de la requête :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0"><span class="br0">&#91;</span>McpServerTool<span class="br0">&#40;</span>Name = <span style="color: #FF0000;">&quot;get_order_status&quot;</span><span class="br0">&#41;</span>,
 Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Gets order status from the regional orders service&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">async</span> Task&lt;<span style="color: #0000ff;">string</span>&gt; GetOrderStatus<span class="br0">&#40;</span>
    OrdersServiceClient orders,
    <span class="br0">&#91;</span>McpHeader<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Region&quot;</span><span class="br0">&#41;</span>, Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Orders service region&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span> <span style="color: #0000ff;">string</span> region,
    <span class="br0">&#91;</span>Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;The order to look up&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span> <span style="color: #0000ff;">string</span> orderId<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #808080;">// The client mirrors `region` into a request header:</span>
    <span style="color: #808080;">//   Mcp-Param-Region: eastus2</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">await</span> orders.GetStatusAsync<span class="br0">&#40;</span>region, orderId<span class="br0">&#41;</span>;
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
L’attribut [McpHeader] annote le paramètre et ajoute un mot-clé <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">x-mcp-header</span> au schéma d’entrée de l’outil, afin que les clients sachent qu’ils doivent transposer cet argument dans un en-tête lors de la transmission. Les objectifs de conception des en-têtes standardisés ressemblent à une lettre d’amour adressée à quiconque a déjà exploité un service derrière un proxy. Ils ont été conçus pour :<br />
<br />
- Refléter la méthode, le nom et les paramètres choisis dans les en-têtes de chaque requête.<br />
- Ne rien inspecter dans le corps : les intermédiaires acheminent les requêtes en se basant uniquement sur les en-têtes.<br />
- Préserver l’autorité du corps JSON-RPC : le serveur rejette tout en-tête qui ne correspond pas.<br />
- Encoder les valeurs non ASCII en toute sécurité à l’aide d’une sentinelle Base64 afin que les en-têtes restent propres.<br />
<br />
Ce troisième objectif est essentiel pour garantir l’exactitude. Le corps de la requête est toujours la source de vérité ; si un en-tête et le corps ne concordent pas, le serveur rejette la requête plutôt que de deviner, en renvoyant une erreur <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">HeaderMismatch</span>. L’ensemble de cette fonctionnalité est additive et sans rupture de compatibilité : les clients envoient les en-têtes sur Streamable HTTP, mais les serveurs ne les appliquent qu’une fois que les deux parties communiquent selon la norme du <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">2026</span>-<span style="color: #cc66cc;">07</span>-<span style="color: #cc66cc;">28</span></span>, de sorte que rien de ce que vous utilisez aujourd’hui ne sera affecté.<br />
<br />
C’est le genre de fonctionnalité qui ne semble évidente qu’avec le recul, et elle s’intègre parfaitement à ASP.NET Core, où les en-têtes, le routage et les middlewares font partie du vocabulaire natif. C’est aussi, si vous me permettez un peu de sentimentalisme, l’une de mes préférées : la personne qui l’a proposée a également écrit la première implémentation .NET, et cela se voit quand la proposition et le prototype proviennent du même clavier.<br />
<br />
<b><font size="3">Demande de saisie utilisateur</font></b><br />
<br />
Jusqu’à présent, le concept d’absence d’état ne présente que des avantages. Mais il y a un hic, et il vaut la peine de le nommer clairement, car c’est précisément ce que la v2 est censée résoudre.<br />
<br />
Certains outils ne peuvent pas répondre en un seul aller-retour. Une action importante nécessite d’abord une confirmation de la part de l’utilisateur. Un outil de synthèse souhaite que le LLM du client rédige un brouillon. Un outil de gestion de fichiers veut savoir à quelles racines de l’espace de travail il est autorisé à accéder. Dans l’ancien modèle, ces trois éléments (solicitation, échantillonnage et racines) faisaient l’objet de requêtes initiées par le serveur : celui-ci contactait le client en cours d’appel et attendait une réponse.<br />
<br />
Ce modèle ne fonctionne que dans le cadre d’une session active et avec état. Il nécessite un canal persistant entre le serveur et le client, ce à quoi le modèle sans état renonce précisément. Ainsi, ce qui permet justement au MCP d’évoluer à merveille (chaque requête pouvant aboutir sur n’importe quelle instance) est également ce qui aurait rendu les outils interactifs impossibles.<br />
<br />
Si l’histoire s’arrêtait là, le terme « sans état » s’accompagnerait d’un astérisque : une excellente évolutivité, mais au détriment de l’interactivité. Mais cela ne s’arrête pas là.<br />
<br />
<b><font size="3">Requêtes à allers-retours multiples</font></b><br />
<br />
Les requêtes à allers-retours multiples (MRTR) constituent la solution, et c’est la fonctionnalité phare de la révision du 28 juillet 2026 (SEP-2322). Au lieu que le serveur contacte à nouveau le client via une session, le serveur renvoie un résultat qui dit, en substance : « J’ai d’abord besoin de quelque chose de ta part. »<br />
<br />
Concrètement, un outil renvoie un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InputRequiredResult</span> (un résultat dont le type est <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #FF0000;">&quot;input_required&quot;</span></span> ) contenant une ou plusieurs demandes d’entrée et un blob opaque <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">requestState</span>. Le client répond à ces demandes (en interrogeant l’utilisateur, en appelant son LLM, en répertoriant les racines) et renvoie le même appel d’outil avec les <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">inputResponses</span> collectées et le <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">requestState</span> renvoyé. Ce processus peut se répéter sur plusieurs itérations et, surtout, il fonctionne sans aucune session, car toute la continuité est transmise dans la charge utile.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678001d1785847761/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 919
Taille : 55,5 Ko"  style="float: CONFIG" /></div><br />
<b><font size="3">Prise en charge de MRTR par le serveur</font></b><br />
<br />
Côté serveur, vous lancez une exception InputRequiredException depuis votre outil, en transmettant les données d’entrée requises ainsi qu’une chaîne <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">requestState</span> qui vous sera renvoyée lors de la nouvelle tentative. Vous construisez les requêtes individuelles à l’aide des méthodes d’usine <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InputRequest.ForElicitation<span class="br0">&#40;</span>...<span class="br0">&#41;</span></span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InputRequest.ForSampling<span class="br0">&#40;</span>...<span class="br0">&#41;</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InputRequest.ForRootsList<span class="br0">&#40;</span>...<span class="br0">&#41;</span></span>.<br />
<br />
Voici un outil qui demande confirmation avant d’exécuter une action importante :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br /></div></td><td valign="top"><pre style="margin: 0"><span class="br0">&#91;</span>McpServerTool, Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Closes a support ticket, recording why it was closed.&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span> CloseSupportTicket<span class="br0">&#40;</span>
    McpServer server,
    RequestContext&lt;CallToolRequestParams&gt; context,
    <span class="br0">&#91;</span>Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;The ID of the ticket to close&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span> <span style="color: #0000ff;">long</span> ticketId,
    <span class="br0">&#91;</span>Description<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Why the ticket is being closed&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span> <span style="color: #0000ff;">string</span>? closeReason = <span style="color: #0000ff;">null</span><span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #808080;">// Handles four client scenarios:</span>
    <span style="color: #808080;">//  1. Provided up-front: client sends `closeReason` in the initial call</span>
    <span style="color: #808080;">//  2. MRTR round-trip request: client confirms via `InputResponses[&quot;closeReason&quot;]`</span>
    <span style="color: #808080;">//  3. MRTR initial request: server proposes a default reason and asks for confirmation</span>
    <span style="color: #808080;">//     (with automatic SDK down-level bridge)</span>
    <span style="color: #808080;">//  4. Session-less down-level: server returns a guidance message requesting the reason up-front</span>
&nbsp;
    <span style="color: #808080;">// The default reason proposed to the caller and used if none is provided.</span>
    <span style="color: #0000ff;">string</span> defaultCloseReason = <span style="color: #FF0000;">&quot;completed&quot;</span>;
&nbsp;
    <span style="color: #808080;">// (1) Provided up-front. Works on any client, including down-level session-less.</span>
    <span style="color: #808080;">//     These requests are typically sent after (4) returns a guidance message.</span>
    <span style="color: #0000ff;">var</span> confirmedReason = closeReason;
&nbsp;
    <span style="color: #808080;">// (2) MRTR round-trip request. Works with native MRTR support or the automatic down-level</span>
    <span style="color: #808080;">//     SDK bridge after (3) throws an `InputRequiredException` to request a `closeReason`.</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span><span style="color: #0000ff;">string</span>.IsNullOrWhiteSpace<span class="br0">&#40;</span>confirmedReason<span class="br0">&#41;</span> &amp;&amp;
        context.Params?.InputResponses?.TryGetValue<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;closeReason&quot;</span>, <span style="color: #0000ff;">out</span> <span style="color: #0000ff;">var</span> reasonResponse<span class="br0">&#41;</span> <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">true</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">var</span> reasonResult = reasonResponse.Deserialize<span class="br0">&#40;</span>InputResponse.ElicitResultJsonTypeInfo<span class="br0">&#41;</span>;
&nbsp;
        <span style="color: #808080;">// Branch on the elicitation action: `decline` or `cancel` leaves the ticket open.</span>
        <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>reasonResult?.IsAccepted <span style="color: #0000ff;">is</span> not <span style="color: #0000ff;">true</span><span class="br0">&#41;</span> <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">&quot;Ticket close cancelled&quot;</span>;
&nbsp;
        <span style="color: #808080;">// Accepted: use the reason the caller confirmed, falling back to the proposed default.</span>
        confirmedReason = reasonResult.Content?.TryGetValue<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;closeReason&quot;</span>, <span style="color: #0000ff;">out</span> <span style="color: #0000ff;">var</span> reasonValue<span class="br0">&#41;</span> <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">true</span>
            ? reasonValue.GetString<span class="br0">&#40;</span><span class="br0">&#41;</span>
            : <span style="color: #0000ff;">null</span>;
        confirmedReason = <span style="color: #0000ff;">string</span>.IsNullOrWhiteSpace<span class="br0">&#40;</span>confirmedReason<span class="br0">&#41;</span> ? defaultCloseReason : confirmedReason;
    <span class="br0">&#125;</span>
&nbsp;
    <span style="color: #808080;">// (1) or (2) A reason is in hand; proceed with closing the ticket.</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>!<span style="color: #0000ff;">string</span>.IsNullOrWhiteSpace<span class="br0">&#40;</span>confirmedReason<span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;Closed ticket <span style="color: black;"><span class="br0">&#123;</span>ticketId<span class="br0">&#125;</span></span>: <span style="color: black;"><span class="br0">&#123;</span>confirmedReason<span class="br0">&#125;</span></span>&quot;</span>;
&nbsp;
    <span style="color: #808080;">// (3) MRTR initial request: propose &quot;completed&quot; as the default reason and ask the caller</span>
    <span style="color: #808080;">//     to confirm (or adjust) it. This uses the 2026-07-28 MRTR input request, but the SDK</span>
    <span style="color: #808080;">//     provides an automatic bridge to a legacy elicitation on a down-level, stateful</span>
    <span style="color: #808080;">//     session. When the bridge can be provided, `server.IsMrtrSupported` is `true` and the</span>
    <span style="color: #808080;">//     exception leads to a legacy elicitation response automatically.</span>
    <span style="color: #0000ff;">if</span> <span class="br0">&#40;</span>server.IsMrtrSupported<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> InputRequiredException<span class="br0">&#40;</span>
            inputRequests: <span style="color: #0000ff;">new</span> Dictionary&lt;<span style="color: #0000ff;">string</span>, InputRequest&gt;
            <span class="br0">&#123;</span>
                <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;closeReason&quot;</span><span class="br0">&#93;</span> = InputRequest.ForElicitation<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> ElicitRequestParams
                <span class="br0">&#123;</span>
                    Message = <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;Close ticket '<span style="color: black;"><span class="br0">&#123;</span>ticketId<span class="br0">&#125;</span></span>'? Accept the default reason or provide your own.&quot;</span>,
                    RequestedSchema = <span style="color: #0000ff;">new</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
                    <span class="br0">&#123;</span>
                        Properties =
                        <span class="br0">&#123;</span>
                            <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;closeReason&quot;</span><span class="br0">&#93;</span> = <span style="color: #0000ff;">new</span> ElicitRequestParams.StringSchema
                            <span class="br0">&#123;</span>
                                Title = <span style="color: #FF0000;">&quot;Close reason&quot;</span>,
                                Description = <span style="color: #FF0000;">&quot;The reason for closing the ticket&quot;</span>,
                                Default = defaultCloseReason,
                            <span class="br0">&#125;</span>,
                        <span class="br0">&#125;</span>,
                    <span class="br0">&#125;</span>,
                <span class="br0">&#125;</span><span class="br0">&#41;</span>
            <span class="br0">&#125;</span>,
            requestState: ticketId.ToString<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;   <span style="color: #808080;">// opaque; echoed back to us on the retry</span>
    <span class="br0">&#125;</span>
&nbsp;
    <span style="color: #808080;">// (4) Down-level and stateless: we can't prompt an elicitation through an MRTR</span>
    <span style="color: #808080;">//     round-trip request or an elicitation. Return a natural language response</span>
    <span style="color: #808080;">//     with guidance for providing the reason up-front.</span>
    <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">&quot;Closing a ticket requires a reason. Resend with `closeReason`.&quot;</span>;
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
Une seule méthode, pour tous les clients. L’outil peut gérer un aller-retour dans deux situations : un client du <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">2026</span>-<span style="color: #cc66cc;">07</span>-<span style="color: #cc66cc;">28</span></span> (MRTR natif), ou un client de niveau inférieur sur une session avec état, où le SDK redirige cette exception vers l’élucidation héritée. Dans les deux cas, il propose un motif de fermeture par défaut et termine lors de la nouvelle tentative à partir de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">context.Params.InputResponses</span>. Le seul cas qu’il ne peut pas couvrir est celui d’un client de niveau inférieur sans session, cas exclu par <b>McpServer.IsMrtrSupported</b>. Dans ce cas, il se rabat sur l’argument <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">closeReason</span>, afin que l’appelant fournisse directement le motif au lieu de se retrouver bloqué. Il s’agit du même outil, que le client prenne en charge MRTR ou non. Le tableau de compatibilité ci-dessous détaille les quatre cas.<br />
<br />
<b><font size="3">Prise en charge de MRTR par le client</font></b><br />
<br />
Côté client, l’interface de haut niveau <b>McpClient</b> gère automatiquement MRTR. Enregistrez les gestionnaires correspondants, et le client traitera les requêtes d’entrée et relancera l’appel à votre place. Il vous suffit de récupérer le résultat final via <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">CallToolAsync</span>.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">var</span> client = <span style="color: #0000ff;">await</span> McpClient.CreateAsync<span class="br0">&#40;</span>
    clientTransport,
    clientOptions: <span style="color: #0000ff;">new</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        Handlers = <span style="color: #0000ff;">new</span> McpClientHandlers
        <span class="br0">&#123;</span>
            ElicitationHandler = <span class="br0">&#40;</span>requestParams, ct<span class="br0">&#41;</span> =&gt;
            <span class="br0">&#123;</span>
                <span style="color: #808080;">// Accept the proposed default close reason.</span>
                <span style="color: #0000ff;">return</span> ValueTask.FromResult<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> ElicitResult <span class="br0">&#123;</span> Action = <span style="color: #FF0000;">&quot;accept&quot;</span> <span class="br0">&#125;</span><span class="br0">&#41;</span>;
            <span class="br0">&#125;</span>,
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #808080;">// The client transparently handles the input_required round trip.</span>
<span style="color: #0000ff;">var</span> result = <span style="color: #0000ff;">await</span> client.CallToolAsync<span class="br0">&#40;</span>
    <span style="color: #FF0000;">&quot;close_support_ticket&quot;</span>,
    <span style="color: #0000ff;">new</span> Dictionary&lt;<span style="color: #0000ff;">string</span>, <span style="color: #0000ff;">object</span>?&gt; <span class="br0">&#123;</span> <span class="br0">&#91;</span><span style="color: #FF0000;">&quot;ticketId&quot;</span><span class="br0">&#93;</span> = <span style="color: #cc66cc;">1234</span>L <span class="br0">&#125;</span>,
    cancellationToken: CancellationToken.None<span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
<b><font size="3">Un seul modèle remplace trois</font></b><br />
<br />
Comme MRTR généralise l’interaction « le serveur a besoin de quelque chose de la part du client », il remplace l’ancien modèle de requête initiée par le serveur pour l’élicitation, l’échantillonnage et les racines sur les serveurs sans état. L’élicitation s’effectue désormais avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InputRequiredException</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InputRequest.ForElicitation<span class="br0">&#40;</span>...<span class="br0">&#41;</span></span>. L’ancienne méthode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ElicitAsync</span> continue de fonctionner sur les sessions avec état, mais elle lève une exception en mode sans état, car il n’y a pas de session pour acheminer la requête initiée par le serveur.<br />
<br />
Pour le cas particulier du consentement sécurisé hors bande (OAuth tiers, données sensibles), la v2 ajoute <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">UrlElicitationRequiredException</span> pour l’élicitation en mode URL dans les flux sans état. Le client présente une URL hébergée par le serveur, recueille le consentement hors bande, puis effectue une nouvelle tentative. Consultez la documentation relative à l’obtention de consentement en mode URL (hors bande) pour plus de détails sur ce scénario.<br />
<br />
Les méthodes Sampling et Roots sont obsolètes (code de diagnostic MCP9005) afin de s’aligner sur la spécification SEP-2577. Les méthodes <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">SampleAsync</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">RequestRootsAsync</span> restent disponibles mais provoqueront également une exception en mode sans état.<br />
<br />
La journalisation a également été dépréciée dans le cadre de la norme SEP-2577 en raison d’un chevauchement avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">stderr</span> et OpenTelemetry. Les références à ces API génèrent des avertissements avec le MCP9005.<br />
<br />
<b><font size="3">MRTR et compatibilité rétroactive</font></b><br />
<br />
MRTR est conçu pour se dégrader en douceur. Voici comment il se comporte selon les versions du protocole et les modes de session :<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678002d1785847766/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 67
Taille : 46,3 Ko"  style="float: CONFIG" /></div><br />
C’est cette troisième ligne qui explique pourquoi l’outil <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">CloseSupportTicket</span> ci-dessus n’a pas besoin de variante pour les versions antérieures : lorsqu’un serveur v2 communique avec un client plus ancien via une session avec état, le SDK adapte automatiquement MRTR à l’ancien modèle de requête initié par le serveur. La quatrième ligne correspond au seul cas où aucune invite ne peut être affichée (un client de niveau inférieur sans session), ce qui explique précisément pourquoi l’outil accepte également l’argument facultatif <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">closeReason</span>, offrant ainsi à l’appelant une solution non interactive plutôt qu’une impasse.<br />
<br />
<b><font size="3">Rétrocompatible par conception</font></b><br />
<br />
Tenons maintenant la promesse faite au début de cet article. Un changement de version majeur peut être déstabilisant, alors précisons ce que signifie ici « rétrocompatible ».<br />
<br />
Votre code v1 continue de fonctionner. Les API 1.x stables et non dépréciées continuent de se compiler et de s’exécuter dans la version 2.0. Les dépréciations introduites dans cette version (MCP9005 pour les requêtes initiées par le serveur, MCP9006 pour les options « stateful-only », MCP9004 pour l’ancien SSE) sont des avertissements, pas des suppressions. Vous effectuez la migration à votre rythme.<br />
<br />
Les anciens clients et serveurs continuent de fonctionner, dans les deux sens. Un client v2 utilise de manière transparente la poignée de main d’initialisation héritée lorsqu’il communique avec un serveur de version antérieure, et un serveur v2 accepte toujours cette poignée de main provenant d’un client de version antérieure. La mise à niveau du SDK ne vous laisse pas bloqué d’un côté ou de l’autre d’une connexion. Il s’agit d’une position délibérée adoptée par le SDK : ses versions majeures suivent les révisions de la spécification, mais il conserve la prise en charge des protocoles antérieurs afin qu’un changement de version n’impose pas de date butoir. Notre stratégie de gestion des versions, annoncée lors de la sortie de la v1.0, reste la même avec la v2.0.<br />
<br />
Ils ont testé cette promesse en toute transparence. Tout au long des versions préliminaires de la v2, les utilisateurs ont confirmé : tant le client que le serveur restent rétrocompatibles avec la révision précédente de la spécification. Un client v2 peut piloter un serveur plus ancien, et un serveur v2 peut servir un client plus ancien, sans que vous ayez à effectuer de manipulation particulière.<br />
<br />
<b>La seule exception notable : les tâches</b><br />
<br />
Il n’y a qu’un seul cas où la v2 n’est pas compatible au niveau du protocole avec la v1 : l’extension « Tasks ». La refonte de « Tasks » dans la version 2.0 (SEP-2663) remplace l’extension expérimentale « Tasks » de la spécification du 25 novembre 2025 (prise en charge dans les versions v1.3.x et v1.4.x) et n’est pas compatible au niveau de l’API ou du protocole. Un client v2 qui appelle un serveur de tâches v1 obtient simplement un résultat d’outil ordinaire, et inversement. Si vous aviez adopté l’aperçu expérimental de « Tasks », c’est la seule migration à prévoir. Heureusement, la nouvelle conception est bien plus aboutie.<br />
<br />
Quelques points à retenir concernant la migration :<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678003d1785847771/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/3.jpg/" border="0" alt="Nom : 3.jpg
Affichages : 52
Taille : 67,6 Ko"  style="float: CONFIG" /></div><br />
<b><font size="3">Packages et frameworks cibles</font></b><br />
<br />
L’un des aspects les plus discrets mais les plus importants de ce SDK est sa portée. Les packages v2 ciblent net8.0, net9.0 et net10.0, ainsi que netstandard2.0 (pour une utilisation avec .NET Framework).<br />
<br />
Ces paquets sont regroupés en un ensemble compact et modulable. Commencez par <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ModelContextProtocol</span> pour la plupart des serveurs ; optez pour <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ModelContextProtocol.AspNetCore</span> si vous souhaitez utiliser le serveur HTTP Streamable ; et contentez-vous de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ModelContextProtocol.Core</span> si vous n’avez besoin que d’un client ou des composants de base de bas niveau.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p678004d1785847779/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/4.jpg/" border="0" alt="Nom : 4.jpg
Affichages : 51
Taille : 55,6 Ko"  style="float: CONFIG" /></div><br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #339933;"># Most servers:</span>
dotnet <span style="color: #0000ff;">add</span> package ModelContextProtocol
&nbsp;
<span style="color: #339933;"># HTTP servers:</span>
dotnet <span style="color: #0000ff;">add</span> package ModelContextProtocol.AspNetCore
&nbsp;
<span style="color: #339933;"># Just a client, or the low-level API:</span>
dotnet <span style="color: #0000ff;">add</span> package ModelContextProtocol.Core</pre></td></tr></table></code><hr />
</div><br />
<br />
Le paquet <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Core</span> intègre également des analyseurs Roslyn qui détectent les erreurs courantes lors de la compilation ; ainsi, une grande partie des recommandations de cet article est appliquée directement dans votre éditeur.<br />
<br />
<b><font size="3">Extensions : Apps et Tasks</font></b><br />
<br />
Vous avez peut-être remarqué dans ce tableau deux paquets qui ne font pas partie du SDK de base : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ModelContextProtocol.Extensions.Apps</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ModelContextProtocol.Extensions.Tasks</span>. Ce n’est pas un hasard de packaging. C’est l’architecture même.<br />
<br />
La révision du 28 juillet 2026 fait des extensions un concept de premier ordre, géré via des capacités allant au-delà du protocole de base. Le SDK MCP C# s’inscrit pleinement dans cette idée : les applications et les tâches ne sont pas intégrées au SDK de base. Elles sont fournies sous forme de paquets distincts qui s’ajoutent à <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ModelContextProtocol.Core</span>, et leur utilisation est strictement facultative. Vous ne les ajoutez que lorsque vous en avez besoin, et le SDK de base reste léger. C’est le même principe de « paiement à l’utilisation » que l’absence d’état : ne dépendre que de ce que vous utilisez.<br />
<br />
- MCP Apps permet aux serveurs de fournir des interfaces utilisateur interactives au sein des clients compatibles (SEP-1865). Vous l’activez avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">.WithMcpApps<span class="br0">&#40;</span><span class="br0">&#41;</span></span> et annotez les outils qui fournissent des ressources d’interface utilisateur. MCP Apps est une fonctionnalité expérimentale et les API nécessitent la suppression du diagnostic <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">MCPEXP003</span>.<br />
<br />
- Tasks prend en charge l’exécution d’outils de longue durée grâce à un interrogateur côté client et à une persistance extensible (SEP-2663). Vous pouvez commencer avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">.WithTasks<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> InMemoryMcpTaskStore<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></span>, et le MRTR transite par le magasin de tâches afin que les outils s’exécutant sur une longue durée puissent également demander des entrées. <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InMemoryMcpTaskStore</span> est destiné au développement et aux tests ; pour les tâches qui doivent survivre aux redémarrages de processus ou fonctionner sur plusieurs instances de serveur, implémentez <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IMcpTaskStore</span> en utilisant un stockage partagé durable.<br />
<br />
Les applications et les tâches MCP mériteraient chacune un article à part entière, mais pour l’instant, l’enjeu est d’ordre architectural : le SDK est délibérément conçu pour que ces fonctionnalités soient des modules complémentaires que vous activez à votre guise. À mesure que les concepts MCP continuent d’émerger et d’évoluer, l'équipe de Microsoft s'efforce de maintenir les paquets ModelContextProtocol et ModelContextProtocol.Core légers et limités aux comportements intégrés au protocole de base.<br />
<br />
<b>Prochaines étapes</b><br />
<br />
La version 2.0 du SDK MCP C# marque une étape importante pour le développement de serveurs et de clients MCP sur .NET. MCP a évolué pour le Web (sans état par défaut, routable via une infrastructure classique et interactif sans sessions grâce aux requêtes à allers-retours multiples), et .NET est prêt à l’accueillir, s’appuyant sur ASP.NET Core et remontant jusqu’au .NET Framework. Mieux encore, vous pouvez y parvenir sans avoir à abandonner vos clients, serveurs ou code existants.<br />
<br />
Avec l’intégration de la conformité à la spécification du 28 juillet 2026 dans la version 2.0, le SDK se concentrera désormais sur l’authentification et l’autorisation de bout en bout : rendre les déploiements MCP sécurisés aussi clés en main que le reste de la pile, en s’appuyant sur l’alignement plus étroit entre OAuth et OpenID Connect introduit par la spécification. Ce travail se poursuit dans la branche 2.x, et vous pouvez le suivre en open source.<br />
<br />
<b>Sources</b> : <a rel="nofollow" href="https://devblogs.microsoft.com/dotnet/announcing-v20-of-the-official-mcp-csharp-sdk/" target="_blank">Annonce de Microsoft</a>, <a rel="nofollow" href="https://github.com/modelcontextprotocol/csharp-sdk" target="_blank">GitHub MCP</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/385801/Le-protocole-MCP-Model-Context-Protocol-norme-open-source-regissant-les-interactions-entre-les-systemes-d-IA-a-connu-sa-plus-importante-mise-a-jour-depuis-son-lancement/" target="_blank">Le protocole MCP (Model Context Protocol), norme open source régissant les interactions entre les systèmes d'IA, a connu sa plus importante mise à jour depuis son lancement</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/382027/Presentation-du-serveur-IA-MCP-SQL-un-moyen-securise-et-riche-en-fonctionnalites-de-permettre-aux-agents-IA-d-acceder-aux-donnees-par-Jerry-Nixon/" target="_blank">Présentation du serveur IA MCP SQL : Un moyen sécurisé et riche en fonctionnalités de permettre aux agents IA d'accéder aux données, par Jerry Nixon</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381878/Microsoft-annonce-la-version-1-0-de-Microsoft-Agent-Framework-pour-NET-et-Python-offrant-une-orchestration-multi-agents-de-niveau-entreprise-et-la-prise-en-charge-de-modeles-d-IA-multi-fournisseurs/" target="_blank">Microsoft annonce la version 1.0 de Microsoft Agent Framework pour .NET et Python, offrant une orchestration multi-agents de niveau entreprise et la prise en charge de modèles d'IA multi-fournisseurs</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p678001d1785847761/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678002d1785847766/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678003d1785847771/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/3.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p678004d1785847779/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/4.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184982/dotnet/general-dotnet/annonce-version-2-0-sdk-csharp-officiel-model-context-protocol-mcp-serveurs-clients/</guid>
		</item>
		<item>
			<title>Microsoft travaille sur une « super-application » IA qui combine Copilot, Cowork, et des agents IA</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184927&amp;goto=newpost</link>
			<pubDate>Fri, 31 Jul 2026 07:29:24 GMT</pubDate>
			<description>*Microsoft travaille sur une...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft travaille sur une « super-application » IA qui combine Copilot Chat, Cowork, le codage et des agents IA autonomes pour un usage à la fois personnel et professionnel, selon le PDG Satya Nadella</font></b><br />
<br />
<b> Satya Nadella a annoncé que Microsoft regroupera en 2026 ses différentes expériences Copilot au sein d’une « super-application », combinant chat, codage, Cowork et agents autonomes pour un usage tant personnel que professionnel, alors que l’entreprise fait évoluer l’IA de la simple réponse aux questions vers l’exécution complète de flux de travail. Plutôt que de demander aux utilisateurs de naviguer entre différents produits Copilot, Microsoft souhaite proposer une interface unique capable de répondre à des questions, d’accéder au contexte professionnel, de générer du code et d’attribuer des tâches en plusieurs étapes à des agents autonomes.</b><br />
<br />
Satya Nadella est un dirigeant d'entreprise indo-américain. Il est président-directeur général (PDG) de Microsoft, ayant succédé à Steve Ballmer en 2014 au poste de PDG et à John W. Thompson en 2021 au poste de président. Avant de devenir PDG, il était vice-président exécutif du groupe Cloud et Entreprise de Microsoft, chargé de la mise en place et de l'exploitation des plateformes informatiques de l'entreprise.<br />
<br />
Sous la direction de Nadella, Microsoft a révisé sa mission pour qu'elle soit désormais la suivante : « donner à chaque personne et à chaque organisation de la planète les moyens d'aller plus loin ». Il a orchestré un changement de culture chez Microsoft en mettant l'accent sur l'empathie, la collaboration et l'« état d'esprit de croissance ». Il a transformé la culture d'entreprise de Microsoft en une culture qui met l'accent sur l'apprentissage et la croissance continus.<br />
<br />
Le 23 juillet 2026, Satya Nadella a annoncé que Microsoft commence à réorienter le travail au sein de ses propres produits, <a href="https://microsoft.developpez.com/actu/385512/Microsoft-remplace-les-modeles-d-OpenAI-et-d-Anthropic-au-sein-de-GitHub-Copilot-Excel-et-Outlook-par-son-propre-modele-MAI-moins-couteux-Copilot-Chat-et-PowerPoint-sont-les-prochains/" target="_blank">en délaissant OpenAI et Anthropic au profit de modèles qu’elle a développés en interne</a>. Satya Nadella a annoncé un système dans lequel les modèles MAI développés en interne par Microsoft prennent le relais des tâches autrefois gérées par les modèles de pointe de ses partenaires. GitHub Copilot, Excel et Outlook affichent déjà ce qu’il a qualifié de « premiers résultats prometteurs ». Copilot Chat et PowerPoint sont les prochains sur la liste. Selon Nadella, la logique repose sur les coûts, les modèles MAI surpassant déjà les modèles de pointe à usage général dans de nombreux cas d’utilisation, tout en consommant une fraction des jetons.<br />
<br />
Récemment, Satya Nadella a annoncé que Microsoft regroupera en 2026 ses différentes expériences Copilot au sein d’une « super-application », combinant chat, codage, Cowork et agents autonomes pour un usage tant personnel que professionnel, alors que l’entreprise fait évoluer l’IA de la simple réponse aux questions vers l’exécution complète de flux de travail. Il a déclaré que cette expérience unifiée serait disponible ce trimestre, bien que Microsoft n’ait pas communiqué de date de sortie définitive, de tarifs ni de plan de déploiement détaillé. Cette consolidation intervient alors que l’adoption, l’engagement et le chiffre d’affaires liés à Copilot continuent de croître.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677936d1785485507/dotnet/general-dotnet/microsoft-travaille-super-application-ia-combine-copilot-cowork-agents-ia/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 851
Taille : 25,2 Ko"  style="float: CONFIG" /></div><br />
<b>Microsoft regroupe ses produits Copilot sur une « super-application » IA</b><br />
<br />
Le PDG de Microsoft, Satya Nadella, a confirmé la sortie prochaine de la super-application Copilot lors de la conférence téléphonique sur les résultats financiers du quatrième trimestre fiscal 2026 de l’entreprise, le 29 juillet 2026. Nadella a déclaré que Copilot évoluait rapidement du chat vers Cowork et Autopilots. Il a ajouté que Microsoft allait regrouper ces expériences avec Code au sein d’une seule super-application couvrant à la fois les utilisations grand public et professionnelles, qualifiant cette initiative de « pas en avant majeur ».<br />
<br />
L’application fusionnera les capacités conversationnelles, de codage et d’agent de Copilot. Cette initiative est une combinaison de chat et de code avec la volonté de Microsoft de réduire la nécessité pour les utilisateurs de basculer entre différentes applications d’IA. L’application à venir devrait intégrer Copilot Chat, Copilot Cowork, des outils de codage et les Autopilots de Microsoft, qui sont des agents autonomes conçus pour gérer des tâches de longue durée. Selon certaines informations, le volet codage serait lié à GitHub Copilot, bien que Microsoft ne l’ait publiquement désigné que sous le nom de « Code ».<br />
<br />
Cette annonce s’inscrit dans la continuité de la décision prise par Microsoft en mars 2026 de regrouper ses équipes Copilot grand public et professionnelles au sein d’une seule et même organisation. À l’époque, Satya Nadella avait déclaré que l’entreprise souhaitait passer d’un ensemble de produits individuels à un système intégré couvrant l’expérience Copilot, les applications Microsoft 365, les modèles d’IA et la plateforme Copilot sous-jacente.<br />
<br />
Cette « super-application » incarne le résultat concret de cette stratégie au niveau des produits. Plutôt que de demander aux utilisateurs de naviguer entre différents produits Copilot, Microsoft souhaite proposer une interface unique capable de répondre à des questions, d’accéder au contexte professionnel, de générer du code et d’attribuer des tâches en plusieurs étapes à des agents autonomes.<br />
<br />
Microsoft a déjà rendu Copilot Cowork accessible à tous pour l’exécution de tâches en plusieurs étapes basées sur les données professionnelles. L’entreprise a également lancé les « Autopilots », des agents autonomes fonctionnant en continu et dotés de fonctionnalités de conformité d’entreprise. Microsoft n’a pas précisé si toutes les fonctionnalités seraient disponibles pour l’ensemble des utilisateurs dès le lancement, ni si l’accès varierait selon les abonnements individuels, les formules Microsoft 365 et les offres d’entreprise.<br />
<br />
<b>Microsoft révèle que l’adoption de Copilot continue de progresser</b><br />
<br />
Microsoft a révélé que Microsoft 365 Copilot compte désormais plus de 30 millions de licences payantes, le nombre net de licences ajoutées ayant plus que doublé d’un trimestre à l’autre. La société a également indiqué que le nombre de conversations par utilisateur avait presque doublé d’une année sur l’autre, tandis que l’engagement hebdomadaire moyen atteignait des niveaux comparables à ceux d’Outlook et de Teams.<br />
<br />
Les scores de satisfaction des utilisateurs ont doublé au cours des trois derniers trimestres, et la latence de Copilot a diminué de 25 % au cours du trimestre. Par ailleurs, GitHub Copilot a atteint les 50 millions d’utilisateurs. Microsoft a indiqué que le chiffre d’affaires de Copilot avait progressé de plus de 60 % d’un trimestre à l’autre, tandis que la base d’utilisateurs totale de GitHub s’élevait à 225 millions.<br />
<br />
Cette annonce a coïncidé avec la publication des résultats trimestriels de Microsoft, qui affiche un chiffre d’affaires de 90 milliards de dollars, soit une croissance de 18 % en glissement annuel. L’entreprise a indiqué que la demande pour Azure et ses applications d’IA propriétaires avait contribué à ces bons résultats. Toutefois, Microsoft n’a pas encore présenté publiquement la super-application finale ni communiqué de date de lancement définitive. Pour l’instant, l’entreprise a confirmé son intention de proposer cette expérience unifiée aux particuliers et aux professionnels au cours du trimestre en cours.<br />
<br />
En avril 2026, <a href="https://microsoft.developpez.com/actu/381886/Microsoft-precise-que-l-IA-Copilot-est-destinee-uniquement-a-des-fins-de-divertissement-que-son-utilisation-se-fait-a-vos-propres-risques-et-qu-il-ne-faut-pas-s-y-fier-pour-prendre-des-decisions-importantes/" target="_blank">Microsoft avait déjà mis à jour les conditions d'utilisation de ses outils d'IA Copilot</a>. La société indique que Copilot est destiné « uniquement à des fins de divertissement » et que son utilisation se fait à vos propres risques. Il semble que les nouvelles conditions d’utilisation visent à transférer la responsabilité des éventuelles inexactitudes commises par Copilot. Microsoft ne vous demande pas exactement de cesser complètement d'utiliser Copilot pour votre travail. Elle souhaite plutôt que vous utilisiez Copilot comme un outil, et non comme un décideur. L'entreprise souhaite que les utilisateurs vérifient les informations fournies par Copilot avant de s'y fier pour tout travail important.<br />
<br />
<b>Source</b> : Satya Nadella, PDG de Microsoft<br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381516/Copilot-se-transforme-en-desastre-pour-Microsoft-Microsoft-brandit-la-menace-judiciaire-face-a-l-accord-Amazon-OpenAI-a-50-milliards-pendant-qu-OpenAI-pousse-les-limites-de-leur-exclusivite-cloud/" target="_blank">Copilot se transforme en désastre pour Microsoft : Microsoft brandit la menace judiciaire face à l'accord Amazon-OpenAI à 50 milliards, pendant qu'OpenAI pousse les limites de leur exclusivité cloud</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/384891/Apres-trois-ans-de-matraquage-le-taux-d-adoption-de-l-assistant-IA-Copilot-reste-inferieur-a-4-5-pourcent-Seulement-1-pourcent-des-utilisateurs-s-en-servent-chaque-semaine-mais-Microsoft-continue-d-augmenter-les-prix/" target="_blank">Après trois ans de matraquage, le taux d'adoption de l'assistant IA Copilot reste inférieur à 4,5 %. Seulement 1 % des utilisateurs s'en servent chaque semaine, mais Microsoft continue d'augmenter les prix</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/375986/Satya-Nadella-est-hante-par-la-perspective-que-Microsoft-ne-survive-pas-a-l-ere-de-l-IA-Notre-secteur-regorge-d-exemples-d-entreprises-qui-etaient-autrefois-florissantes-et-qui-ont-tout-simplement-disparu/" target="_blank">Satya Nadella est hanté par la perspective que Microsoft ne survive pas à l'ère de l'IA : « Notre secteur regorge d'exemples d'entreprises qui étaient autrefois florissantes et qui ont tout simplement disparu »</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p677936d1785485507/dotnet/general-dotnet/microsoft-travaille-super-application-ia-combine-copilot-cowork-agents-ia/1.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184927/dotnet/general-dotnet/microsoft-travaille-super-application-ia-combine-copilot-cowork-agents-ia/</guid>
		</item>
		<item>
			<title><![CDATA[Microsoft remplace discrètement les modèles d'OpenAI et d'Anthropic par son propre modèle MAI, moins coûteux]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184829&amp;goto=newpost</link>
			<pubDate>Fri, 24 Jul 2026 14:04:10 GMT</pubDate>
			<description>*Microsoft remplace...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft remplace discrètement les modèles d'OpenAI et d'Anthropic au sein de GitHub Copilot, Excel et Outlook par son propre modèle MAI, moins coûteux, Copilot Chat et PowerPoint sont les prochains</font></b><br />
<br />
<b>Microsoft a commencé à réorienter le travail au sein de ses propres produits, en délaissant OpenAI et Anthropic au profit de modèles qu’elle a développés en interne. Satya Nadella a annoncé un système dans lequel les modèles MAI développés en interne par Microsoft prennent le relais des tâches autrefois gérées par les modèles de pointe de ses partenaires. GitHub Copilot, Excel et Outlook affichent déjà ce qu’il a qualifié de « premiers résultats prometteurs ». Copilot Chat et PowerPoint sont les prochains sur la liste.  Selon Nadella, la logique repose sur les coûts, les modèles MAI surpassant déjà les modèles de pointe à usage général dans de nombreux cas d’utilisation, tout en consommant une fraction des jetons.</b><br />
<br />
Microsoft AI (MAI) est un laboratoire américain de recherche en intelligence artificielle (IA) qui fait partie de Microsoft. Fondée le 19 mars 2024, Microsoft AI (MAI) est chargée de superviser Microsoft Copilot et plusieurs autres services précédemment développés par d’autres équipes, tels qu’Edge et Bing ; elle contribue également à fournir des ressources et à participer au développement de l’application Microsoft 365.<br />
<br />
En 2024, lors du lancement en grande pompe des PC Copilot+, Yusuf Mehdi, vice-président exécutif chez Microsoft, avait fait des promesses précises depuis la scène : Copilot allait s'intégrer partout dans Windows 11. Ce qu'il s'est passé entre-temps ressemble à un enchaînement de déceptions en cascade. De la retraite discrète de Copilot sur Windows 11 à la menace d'un procès fleuve contre OpenAI et Amazon, en 2026, <a href="https://microsoft.developpez.com/actu/381516/Copilot-se-transforme-en-desastre-pour-Microsoft-Microsoft-brandit-la-menace-judiciaire-face-a-l-accord-Amazon-OpenAI-a-50-milliards-pendant-qu-OpenAI-pousse-les-limites-de-leur-exclusivite-cloud/" target="_blank">Microsoft traverse une période révélatrice de ses contradictions profondes.</a> D'un côté, l'entreprise admet avoir trop poussé l'IA dans la gorge de ses utilisateurs et entreprend de dégraisser Windows 11. De l'autre, elle agite l'arme juridique pour protéger un monopole cloud que son ancien partenaire cherche activement à fuir.<br />
<br />
Par ailleurs, sur le marché des outils de développement, les développeurs lui préfèrent massivement la concurrence. Et dans les couloirs de Redmond même, les ingénieurs de Microsoft sont encouragés à utiliser Claude Code d'Anthropic, l'outil concurrent, pour faire leur travail. Copilot s'effondre sur tous les fronts à la fois. Dans ce contexte, Microsoft a commencé à réorienter le travail au sein de ses propres produits, en délaissant OpenAI et Anthropic au profit de modèles qu’elle a développés en interne.<br />
<br />
Satya Nadella a exposé son raisonnement dans un long message publié sur X. Satya Narayana Nadella est le président-directeur général (PDG) de Microsoft, ayant succédé à Steve Ballmer en 2014 au poste de PDG et à John W. Thompson en 2021 au poste de président. Avant de devenir PDG, il était vice-président exécutif du groupe Cloud et Entreprise de Microsoft, chargé de la mise en place et de l'exploitation des plateformes informatiques de l'entreprise.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677785d1784905083/dotnet/general-dotnet/microsoft-remplace-discretement-modeles-d-openai-d-anthropic-propre-modele-mai-couteux/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 11917
Taille : 25,1 Ko"  style="float: CONFIG" /></div><br />
<b>Microsoft remplace discrètement les modèles d'OpenAI et d'Anthropic par son propre modèle MAI</b><br />
<br />
En mars 2026, Microsoft AI a annoncé la création d’une division Copilot, qui regrouperait Copilot, Microsoft 365 et des applications grand public telles qu’Edge et Bing. Jacob Andreou serait à la tête de cette division et rendrait compte au PDG de Microsoft, Satya Nadella. Suleyman resterait chez MAI mais superviserait sa division MAI Superintelligence. En juin 2026, MAI a publié 7 nouveaux modèles développés en interne, dont MAI-Image-2.5 et MAI-Code-1-Flash, ainsi que 5 autres.<br />
<br />
Récemment, Satya Nadella a annoncé que ces nouveaux modèles intègreront les produits de Microsoft. Dans son message sur X, Satya Nadella décrit un système dans lequel les modèles MAI développés en interne par Microsoft prennent le relais des tâches autrefois gérées par les modèles de pointe de ses partenaires. GitHub Copilot, Excel et Outlook affichent déjà ce qu’il a qualifié de « premiers résultats prometteurs ». Copilot Chat et PowerPoint sont les prochains sur la liste.<br />
<br />
La logique repose sur les coûts. Selon Nadella, les logiciels ont désormais, pour la première fois, un coût marginal réel, ce qui fait du choix du modèle une décision commerciale plutôt qu’un choix technique par défaut. Les modèles de pointe restent utilisés pour les problèmes de pointe. Tout le reste est transféré vers des solutions moins coûteuses mais tout aussi performantes. Microsoft affirme que ses modèles MAI surpassent déjà les modèles de pointe à usage général dans de nombreux cas d’utilisation, tout en consommant une fraction des jetons.<br />
<br />
Voici le message de Satya Nadella :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			<b>Diffusion et maîtrise de la frontière</b><br />
<br />
Dans un monde où, pour la première fois, les logiciels ont un coût marginal réel, comment garantir que les avantages liés à cette frontière soient diffusés à l’ensemble de l’écosystème ?<br />
<br />
La clé réside dans l’optimisation de la frontière coût-résultat dans un contexte concret. Concrètement, cela implique d’utiliser le modèle adapté à chaque tâche et d’optimiser le contexte, les compétences, les outils et l’ensemble des agents qui l’entourent.<br />
<br />
C’est ce qui motive la création de notre famille de modèles MAI. Ces modèles ont été conçus de A à Z avec une traçabilité claire des données et optimisés pour le transfert d’apprentissage des compétences généralistes vers des compétences spécialisées dans les environnements RLE d’entreprise. Nous continuons à progresser rapidement dans cette voie.<br />
<br />
Nous sommes désormais en mesure de tirer parti de capacités de pointe saturées et de les déployer à grande échelle et à moindre coût grâce à des modèles optimisés pour les produits à forte utilisation, tout en continuant à utiliser les modèles de pointe pour les besoins de pointe. Nous en apportons la preuve à travers nos propres produits, créant ainsi un modèle pour toutes les autres entreprises spécialisées dans l’IA, le SaaS ou les solutions d’entreprise.<br />
<br />
Dans nos produits, les modèles de pointe d’OpenAI et d’Anthropic font partie du système d’orchestration aux côtés de MAI. Mais le modèle n’est qu’un élément du système d’optimisation par itération. Le harnais, la mémoire, le contexte, les outils, les compétences, les interactions avec les utilisateurs, etc. façonnent tous les évaluations et les performances de ces systèmes agentiques.<br />
<br />
L’autre critère essentiel pour garantir que vous gardez le contrôle est que vos évaluations doivent continuer à progresser même lorsqu’un modèle donné a été supprimé. C’est pourquoi nous construisons des RLE (Environnements d’apprentissage par renforcement) dans lesquels les modèles apprennent au sein du système produit et sont récompensés pour avoir accompli les tâches qui importent réellement aux clients. Nous entraînons les modèles en fonction du harnais produit réel, des interactions et des résultats auxquels ils seront confrontés. Et nous veillons stratégiquement à ce que le harnais, la mémoire, le contexte et les compétences soient externalisés en dehors du modèle.<br />
<br />
Les évaluations spécifiques au produit et l’indépendance vis-à-vis des modèles nous donnent le contrôle et une pente directe à gravir, que nous pouvons affiner jusqu’à atteindre le bon équilibre qualité-coût. Nous constatons désormais que les modèles MAI surpassent les modèles de pointe à usage général dans de nombreux cas d’utilisation, tout en n’utilisant qu’une fraction des tokens.<br />
<br />
Nous pensons que la plus grande opportunité réside dans l’optimisation conjointe de toutes ces couches au sein des produits que le monde utilise au quotidien. Et nous commençons à rediriger le trafic vers MAI via nos interfaces propriétaires dès que nos modèles égalent ou surpassent les alternatives de pointe.<br />
<br />
Nous observons des premiers résultats prometteurs sur GitHub Copilot, Excel et Outlook, et nous commençons à adopter la même approche sur Copilot Chat, PowerPoint et bien d’autres applications. Et tous ces résultats ne feront que s’améliorer à mesure que l’ensemble du système continuera à progresser !<br />
<br />
Ce que nous mettons en œuvre dans nos produits propriétaires est également ce que chaque entreprise cliente peut faire dans ses propres systèmes agentiques, en utilisant ses évaluations propriétaires, ses RLE propriétaires, ses workflows et son contexte. Nous mettons tout cela à disposition dans le cadre de Foundry et de notre chaîne d’outils.
			
		<hr />
	</div>
</div><blockquote class="twitter-tweet"><p lang="zxx" dir="ltr"><a rel="nofollow" href="https://t.co/GUwbNABiw6">https://t.co/GUwbNABiw6</a></p>&mdash; Satya Nadella (@satyanadella) <a rel="nofollow" href="https://x.com/satyanadella/status/2080329851127669104?ref_src=twsrc%5Etfw">July 23, 2026</a></blockquote> <b>Pourquoi Microsoft décide de s'orienter vers ses propres modèles d’IA plutôt que de s’appuyer sur OpenAI et Anthropic ?</b><br />
<br />
La famille MAI a été dévoilée le 2 juin, lorsque Mustafa Suleyman a annoncé sept nouveaux modèles couvrant le raisonnement, le codage, l’image, la voix et la transcription. Le modèle phare de raisonnement, MAI-Thinking-1, a été entraîné à partir de zéro sur ce que Microsoft qualifie de données « propres » et traçables — sans aucune distillation provenant d’autres laboratoires.<br />
MAI-Code-1-Flash gère 5 milliards de paramètres actifs et est spécialement conçu pour GitHub Copilot et VS Code. Microsoft affirme qu’il est comparable à Haiku, mais moins coûteux.<br />
<br />
C’est justement ce faible coût qui fait toute la différence. Le modèle optimisé par Microsoft pour Excel est équivalent à GPT 5.4 tout en fonctionnant jusqu’à 10 fois plus efficacement, selon l’entreprise. À l’échelle de Microsoft, avec des centaines de millions de licences Office, cet écart s’amplifie rapidement. Nadella a tenu à préciser un détail. Les modèles d’OpenAI et d’Anthropic restent intégrés au système d’orchestration au sein des produits Microsoft.<br />
<br />
Le mécanisme sur lequel Nadella revient sans cesse est l’environnement d’apprentissage par renforcement, ou RLE. Plutôt que de former un modèle de manière isolée puis de l’intégrer à un produit, Microsoft forme les modèles au sein même du produit, en les récompensant lorsqu’ils accomplissent les tâches qui importent aux clients. Suleyman appelle cela des « salles d’entraînement ». Microsoft vend cette même capacité aux entreprises via Foundry sous le nom de « Frontier Tuning », permettant ainsi aux sociétés de créer des modèles à partir de leurs propres données de flux de travail.<br />
<br />
Nadella a également défini un critère permettant de vérifier si Microsoft exerce véritablement le contrôle : les scores d’évaluation doivent continuer à s’améliorer même si un modèle particulier est retiré. La mémoire, le contexte, les outils et les compétences sont délibérément placés en dehors du modèle, afin qu’aucun fournisseur ne détienne le pouvoir de décision. Pour Microsoft, qui a investi des milliards dans OpenAI, c’est une position remarquable à afficher publiquement. L’entreprise décrit un modèle qu’elle espère voir copié par d’autres éditeurs de logiciels : utiliser le modèle coûteux là où il est rentable, et acheminer le reste vers une solution moins onéreuse que l’on possède soi-même.<br />
<br />
Les efforts de Microsoft pour sauver Copilot semblent admirable. Pourtant, la société a indiqué en avril que <a href="https://microsoft.developpez.com/actu/381886/Microsoft-precise-que-l-IA-Copilot-est-destinee-uniquement-a-des-fins-de-divertissement-que-son-utilisation-se-fait-a-vos-propres-risques-et-qu-il-ne-faut-pas-s-y-fier-pour-prendre-des-decisions-importantes/" target="_blank">Copilot est destiné « uniquement à des fins de divertissement »</a> et que son utilisation se fait à vos propres risques. Les nouvelles conditions d'utilisation des outils d'IA Copilot montrent que Microsoft souhaite que vous utilisiez Copilot comme un outil, et non comme un décideur. L'entreprise souhaite que les utilisateurs vérifient les informations fournies par Copilot avant de s'y fier pour tout travail important.<br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/383885/Microsoft-devoile-sept-nouveaux-modeles-d-IA-afin-de-reduire-sa-dependance-vis-a-vis-d-OpenAI-et-de-faire-baisser-les-couts-pour-les-developpeurs-dont-MAI-Code-1-Flash-son-premier-modele-dedie-au-codage-IA/" target="_blank">Microsoft dévoile sept nouveaux modèles d'IA afin de réduire sa dépendance vis-à-vis d'OpenAI et de faire baisser les coûts pour les développeurs, dont MAI-Code-1-Flash, son premier modèle dédié au codage IA</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/384891/Apres-trois-ans-de-matraquage-le-taux-d-adoption-de-l-assistant-IA-Copilot-reste-inferieur-a-4-5-pourcent-Seulement-1-pourcent-des-utilisateurs-s-en-servent-chaque-semaine-mais-Microsoft-continue-d-augmenter-les-prix/" target="_blank">Après trois ans de matraquage, le taux d'adoption de l'assistant IA Copilot reste inférieur à 4,5 %. Seulement 1 % des utilisateurs s'en servent chaque semaine, mais Microsoft continue d'augmenter les prix</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/375986/Satya-Nadella-est-hante-par-la-perspective-que-Microsoft-ne-survive-pas-a-l-ere-de-l-IA-Notre-secteur-regorge-d-exemples-d-entreprises-qui-etaient-autrefois-florissantes-et-qui-ont-tout-simplement-disparu/" target="_blank">Satya Nadella est hanté par la perspective que Microsoft ne survive pas à l'ère de l'IA : « Notre secteur regorge d'exemples d'entreprises qui étaient autrefois florissantes et qui ont tout simplement disparu »</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p677785d1784905083/dotnet/general-dotnet/microsoft-remplace-discretement-modeles-d-openai-d-anthropic-propre-modele-mai-couteux/1.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184829/dotnet/general-dotnet/microsoft-remplace-discretement-modeles-d-openai-d-anthropic-propre-modele-mai-couteux/</guid>
		</item>
		<item>
			<title>Microsoft lance Flint, un langage de visualisation destiné aux agents d’IA</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184587&amp;goto=newpost</link>
			<pubDate>Fri, 10 Jul 2026 10:58:30 GMT</pubDate>
			<description>*Microsoft lance Flint, un...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft lance Flint, un langage de visualisation destiné aux agents IA, permettant de générer des graphiques expressifs et visuellement à partir de spécifications simples et modifiables par l'utilisateur</font></b><br />
<br />
<b>Microsoft lance Flint, un langage de visualisation destiné aux agents d’IA. &#8239;Flint permet aux agents d’IA de générer de manière fiable des graphiques expressifs et visuellement soignés à partir de spécifications simples et modifiables par l’utilisateur.&#8239; Flint gère automatiquement le dimensionnement, l’espacement, les libellés et la mise en page afin que les graphiques restent lisibles même lorsque la cardinalité et la densité changent, sans configuration. Ce projet open source comprend la bibliothèque flint-chart et le serveur flint-chart-mcp, ce qui permet aux agents de créer, valider et afficher des graphiques directement dans des environnements de chat ou de codage.</b><br />
<br />
Microsoft lance Flint, un langage de visualisation destiné aux agents d’IA. &#8239;Flint permet aux agents d’IA de générer de manière fiable des graphiques expressifs et visuellement soignés à partir de spécifications simples et modifiables par l’utilisateur.&#8239;Flint exploite des types de données sémantiques pour exprimer la signification des données. Ceux-ci aident le compilateur à choisir les échelles, les lignes de base, le formatage et les palettes de couleurs appropriés.<br />
<br />
En outre, Flint gère automatiquement le dimensionnement, l’espacement, les libellés et la mise en page afin que les graphiques restent lisibles même lorsque la cardinalité et la densité changent, sans configuration. Une seule spécification Flint peut être compilée vers Vega-Lite, Apache ECharts ou Chart.js sans avoir à réécrire le graphique de zéro. Ce projet open source comprend la bibliothèque flint-chart et le serveur flint-chart-mcp, ce qui permet aux agents de créer, valider et afficher des graphiques directement dans des environnements de chat ou de codage.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677445d1783686637/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 1963
Taille : 67,2 Ko"  style="float: CONFIG" /></div><br />
<b>Flint : un langage de visualisation pour l'ère de l'IA</b><br />
<br />
La création d’un bon graphique nécessite de nombreuses décisions de conception : comment analyser les dates, si l’échelle doit commencer à zéro, comment formater les valeurs, de combien d’espace les étiquettes ont-elles besoin, et quelles couleurs facilitent la lecture des données. Les bibliothèques de visualisation modernes telles que Vega-Lite, Apache ECharts et Chart.js offrent ces contrôles, mais il y a un compromis : les spécifications succinctes qui s’appuient sur les paramètres par défaut du système produisent souvent des graphiques peu inspirants, tandis que les visualisations soignées nécessitent des spécifications détaillées avec des paramètres choisis à dessein, qui sont souvent verbeux, fragiles et sujets aux erreurs.<br />
<br />
Ce compromis s’accentue à mesure que les grands modèles de langage (LLM) et les agents d’IA prennent en charge davantage de tâches de visualisation. Les agents sont particulièrement sujets aux erreurs lorsqu’ils doivent gérer des détails de spécification complexes et de bas niveau, et le code fragile qui en résulte peut être difficile à inspecter, à corriger ou à réutiliser par des humains. Idéalement, il faudrait un juste milieu : une spécification compacte que les agents peuvent produire de manière fiable, que les humains peuvent modifier directement, et qu’un système peut compiler en un graphique bien conçu.<br />
<br />
Pour relever ce défi, Micrososft présente Flint, un langage intermédiaire de visualisation destiné à la création de graphiques pilotée par l’IA. Flint aide les agents IA à créer des graphiques expressifs et attrayants à partir de spécifications simples et modifiables par l’utilisateur. Au lieu d’exiger des paramètres de bas niveau verbeux pour les échelles, les axes, l’espacement et la mise en page, le compilateur Flint déduit des paramètres de graphique optimisés à partir des données, des types sémantiques, du type de graphique et des encodages. Une même spécification Flint peut être rendue via plusieurs backends, notamment Vega-Lite, Apache ECharts et Chart.js.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677446d1783686641/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 967
Taille : 58,6 Ko"  style="float: CONFIG" /></div><br />
<b>Fonctionnement de Flint</b><br />
<br />
La figure au-dessus illustre la manière dont le compilateur Flint transforme une spécification de graphique compacte en une carte thermique affinée.<br />
<br />
Pour produire une carte thermique de haute qualité, il faut généralement indiquer explicitement au système, à l’aide de propriétés de graphique de bas niveau, comment traiter le champ « period », comment étiqueter correctement les valeurs « MonthYear », dimensionner les cellules individuelles de la carte thermique et choisir une échelle de couleurs qui représente de manière appropriée les valeurs positives et négatives de « newUsers ». Sans ces configurations, les bibliothèques de visualisation doivent deviner à partir des noms de champs et des valeurs brutes, ce qui peut conduire à des graphiques techniquement valides mais potentiellement trompeurs. Bien qu’ils soient importants, le codage en dur de ces détails peut s’avérer difficile et source d’erreurs, et rend la spécification fragile et difficile à comprendre ou à adapter pour les utilisateurs.<br />
<br />
Dans Flint, ces détails de bas niveau sont gérés de manière systématique : le compilateur les déduit à partir des données de haut niveau et des spécifications du graphique. Ici, la spécification des données capture les types sémantiques et les métadonnées facultatives, tandis que la spécification du graphique définit le type de graphique et mappe les champs à des canaux visuels tels que x, y, la couleur, la taille ou la facette. À partir de ces informations, le compilateur déduit les règles d’analyse, les échelles, les axes, les agrégations, le formatage, les palettes de couleurs et la mise en page, puis génère la spécification native du backend, qui est utilisée pour rendre la visualisation finale peaufinée. Cela évite aux utilisateurs de devoir définir explicitement des détails de bas niveau, fragiles et sources d’erreurs.<br />
<br />
De plus, comme la représentation intermédiaire est indépendante de toute bibliothèque de rendu spécifique, Flint peut cibler des backends dotés d’API et de modèles de programmation très différents. Les utilisateurs peuvent conserver la même intention de graphique compacte lors de la compilation vers Vega-Lite, ECharts ou Chart.js, et choisir le backend dont les capacités correspondent le mieux à la visualisation.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677447d1783686647/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/3.jpg/" border="0" alt="Nom : 3.jpg
Affichages : 972
Taille : 62,3 Ko"  style="float: CONFIG" /></div><br />
<b>Flint pour la visualisation assistée par l’IA</b><br />
<br />
Flint est particulièrement adapté à la génération de graphiques basée sur les grands modèles de langage (LLM), car les types sémantiques sont souvent plus faciles à déduire pour les modèles que l’ensemble complet des paramètres de visualisation de bas niveau. Les noms de champs, les modèles de valeurs et les connaissances communes sur les données peuvent aider un agent à reconnaître si une colonne représente une date, un prix, un pourcentage, un pays, un classement ou une corrélation. Une fois ces significations explicitées, le compilateur peut prendre en charge de nombreuses décisions de conception qui, sans cela, se traduiraient par un code fragile et spécifique à une bibliothèque.<br />
<br />
Microsoft a mené une étude comparative de Flint à DirectVL, une référence qui demande au modèle de générer directement des spécifications Vega-Lite complètes (et plus complexes) dans un pipeline d’auto-évaluation LLM. Sur les trois modèles testés à partir des données de Tidy Tuesdays, Flint a obtenu des scores globaux plus élevés attribués par le LLM : 16,27 contre 15,91 avec GPT-5.1, 16,16 contre 15,60 avec GPT-5-mini, et 15,91 contre 15,34 avec GPT-4.1. En effet, Flint s’est révélé si puissant et fiable qu’il est désormais utilisé pour alimenter Data Formulator, un projet de Microsoft Research dédié à l’analyse et à la visualisation de données assistées par l’IA.<br />
<br />
Pour faciliter l’accès à Flint pour vos agents, Microsoft publie également <i>flint-chart-mcp</i>, un serveur MCP (Model Context Protocol) qui permet aux agents de créer, valider et afficher des graphiques au sein d’un environnement de chat ou de codage. Les appels MCP peuvent intégrer des données en ligne ou lire des fichiers locaux configurés, et le serveur peut ouvrir une vue interactive du graphique afin que les utilisateurs puissent inspecter et affiner les résultats.<br />
<br />
Flint s'oriente vers une couche sémantique commune pour la visualisation, où les utilisateurs et les agents d'IA peuvent travailler à partir d'une intention de graphique concise, tandis qu'un compilateur se charge des détails techniques de bas niveau.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://github.com/microsoft/flint-chart" target="_blank">Présentation de Flint</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/383885/Microsoft-devoile-sept-nouveaux-modeles-d-IA-afin-de-reduire-sa-dependance-vis-a-vis-d-OpenAI-et-de-faire-baisser-les-couts-pour-les-developpeurs-dont-MAI-Code-1-Flash-son-premier-modele-dedie-au-codage-IA/" target="_blank">Microsoft dévoile sept nouveaux modèles d'IA afin de réduire sa dépendance vis-à-vis d'OpenAI et de faire baisser les coûts pour les développeurs, dont MAI-Code-1-Flash, son premier modèle dédié au codage IA</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/381128/Anthropic-annonce-que-Claude-est-desormais-capable-de-creer-des-graphiques-des-diagrammes-et-des-visualisations-interactifs-directement-au-cours-d-une-conversation/" target="_blank">Anthropic annonce que Claude est désormais capable de créer des graphiques, des diagrammes et des visualisations interactifs directement au cours d'une conversation</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/384801/Mistral-AI-lance-Leanstral-1-5-l-IA-gratuite-qui-verifie-l-exactitude-de-votre-code-un-modele-d-agent-de-code-Lean-4-open-source-capable-de-resoudre-587-des-672-problemes-du-PutnamBench/" target="_blank">Mistral AI lance Leanstral 1.5, l'IA gratuite qui vérifie l'exactitude de votre code, un modèle d'agent de code Lean 4 open source capable de résoudre 587 des 672 problèmes du PutnamBench</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p677446d1783686641/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p677447d1783686647/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/3.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p677445d1783686637/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/1.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184587/dotnet/general-dotnet/microsoft-lance-flint-langage-visualisation-destine-aux-agents-d-ia/</guid>
		</item>
		<item>
			<title>Microsoft publie une préversion publique des conteneurs Windows Subsystem for Linux (WSL)</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184463&amp;goto=newpost</link>
			<pubDate>Wed, 01 Jul 2026 17:21:35 GMT</pubDate>
			<description>*Microsoft publie une...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft publie une préversion publique des conteneurs Windows Subsystem for Linux (WSL), en ajoutant un outil en ligne de commande intégré et une API permettant d'exécuter des conteneurs Linux</font></b><br />
<br />
<b>Microsoft a publié une préversion publique des conteneurs du sous-système Windows pour Linux (WSL), ajoutant un outil en ligne de commande intégré et une API permettant d’exécuter des conteneurs Linux directement au sein d’applications Windows sans logiciel tiers. Cette mise à jour apporte également un accès plus rapide aux fichiers, une gestion améliorée du réseau et de la mémoire, ainsi qu’une intégration avec Defender, Intune et VS Code.</b><br />
<br />
Windows Subsystem for Linux (WSL) est un composant de Microsoft Windows qui permet d'utiliser un environnement Linux depuis Windows, sans les contraintes d'une machine virtuelle et en tant qu'alternative au double démarrage. L'outil d'interface en ligne de commande WSL est installé par défaut sous Windows 11, mais une distribution doit être téléchargée et installée via cet outil avant toute utilisation. La majeure partie de WSL a été publiée en open source le 19 mai 2025, bien que certaines fonctions du système de fichiers reposent encore, en septembre 2025, sur une bibliothèque propriétaire fermée.<br />
<br />
Récemment, Microsoft a publié une préversion publique des conteneurs du sous-système Windows pour Linux (WSL), ajoutant un outil en ligne de commande intégré et une API permettant d’exécuter des conteneurs Linux directement au sein d’applications Windows sans logiciel tiers. Cette mise à jour apporte également un accès plus rapide aux fichiers, une gestion améliorée du réseau et de la mémoire, ainsi qu’une intégration avec Defender, Intune et VS Code.<br />
<br />
Le WSL a toujours constitué un moyen pratique d’exécuter des charges de travail Linux depuis Windows, et s’avère particulièrement pratique pour les développeurs Linux contraints de se conformer aux directives de leur entreprise les obligeant à utiliser un appareil Windows. L’interface en ligne de commande (CLI) pour les workflows de conteneurs de bout en bout renforce encore cet avantage. Microsoft a déclaré : « <i>Les conteneurs WSL permettent aux développeurs et aux organisations de créer, tester et exécuter plus facilement des charges de travail conteneurisées tout en bénéficiant de la sécurité, de la facilité de gestion et de l’intégration de la plateforme Windows.</i> »<br />
<br />
Il est également possible d’exécuter votre distribution Linux préférée en mode natif, mais cela n’est pas toujours envisageable, notamment si une entreprise tient particulièrement à la « sécurité, à la facilité de gestion et à l’intégration de la plateforme Windows ». Et c’est là un point important. La solution Microsoft Defender for Endpoint (MDE) existante pour WSL a été mise à jour (en préversion privée) afin de prendre en charge les événements liés aux conteneurs Linux, et Intune propose désormais des paramètres permettant de gérer les conteneurs WSL. La prise en charge est également présente dans une version préliminaire de VS Code, où le chemin Docker dans les paramètres du conteneur de développement peut être remplacé par wslc.<br />
<br />
Il existe également un nouveau système de fichiers par défaut pour les conteneurs WSL qui, selon Microsoft, double la vitesse d’accès aux fichiers Windows. Un nouveau mode réseau par défaut a été introduit pour améliorer la compatibilité, ainsi que de meilleures techniques de récupération de mémoire. Cependant, aucune de ces modifications ne sera activée par défaut dans WSL. Microsoft précise : « <i>Étant donné que ces changements touchent des chemins critiques tels que l’accès au système de fichiers et le réseau, ils ne sont pour l’instant activés que dans les conteneurs WSL.</i> » <br />
<br />
Voici l'annonce de Microsoft :<br />
<br />
<b><font size="3">Les conteneurs WSL sont désormais disponibles en préversion publique</font></b><br />
<br />
Lors de la conférence Microsoft Build 2026, nous avons présenté les conteneurs WSL, qui permettent d’intégrer directement le développement de conteneurs Linux dans Windows via le sous-système Windows pour Linux (WSL). Les conteneurs sont devenus un élément fondamental du développement moderne – des applications cloud natives et des charges de travail d’IA aux pipelines de test et de déploiement. Les conteneurs WSL simplifient cette expérience en offrant un moyen intégré et prêt à l’emploi pour les entreprises de créer, d’exécuter et de gérer des conteneurs Linux sous Windows, sans nécessiter d’outils tiers supplémentaires.<br />
<br />
Grâce à une nouvelle interface CLI dédiée aux workflows de conteneurs de bout en bout et à une API permettant aux applications Windows d’exploiter par programmation les conteneurs Linux, les conteneurs WSL facilitent la création, le test et l’exécution de charges de travail conteneurisées pour les développeurs et les entreprises, tout en leur faisant bénéficier de la sécurité, de la facilité de gestion et de l’intégration de la plateforme Windows.<br />
<br />
Vous pouvez désormais accéder à la fonctionnalité de conteneurs WSL dans notre dernière préversion de WSL ! Vous pouvez installer cette version dès maintenant en exécutant la commande <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">wsl --update --pre-release</span>, ou en la téléchargeant et en l’installant directement depuis GitHub.<br />
<br />
<b>Présentation</b><br />
<br />
La fonctionnalité de conteneurs WSL ajoute deux nouvelles fonctionnalités à WSL : une interface CLI intégrée pour les conteneurs Linux et une API permettant aux applications Windows d’exécuter des conteneurs Linux dans le cadre de leur logique d’application.<br />
<br />
<b>Interface en ligne de commande des conteneurs WSL – wslc.exe</b><br />
<br />
Lorsque vous effectuez la mise à jour vers la dernière version de WSL, un nouveau binaire est ajouté à votre chemin d’accès : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">wslc.exe</span>. Vous pouvez utiliser ce binaire pour réaliser l’ensemble de vos workflows de développement de conteneurs Linux, notamment l’exécution, le débogage, les tests et bien plus encore !<br />
<br />
Cet outil en ligne de commande présente un format et des fonctionnalités familiers, ce qui signifie que vous pouvez vous appuyer sur vos compétences existantes pour exécuter des conteneurs Linux. Par exemple, vous pouvez exécuter un bureau Linux complet dans un conteneur et vous y connecter comme suit : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">wslc run -d --name=webtop -e PUID=<span style="color: #cc66cc;">1000</span> -e PGID=<span style="color: #cc66cc;">1000</span> -e TZ=Etc/UTC -p <span style="color: #cc66cc;">3000</span>:<span style="color: #cc66cc;">3000</span> -p <span style="color: #cc66cc;">3001</span>:<span style="color: #cc66cc;">3001</span> lscr.io/linuxserver/webtop:ubuntu-kde</span>, ou vérifier l’accès à votre GPU à l’aide d’un script CUDA : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime python -c <span style="color: #FF0000;">&quot;import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))&quot;</span></span>. Enfin, cela inclut également un alias intégré pour container.exe qui exécute simplement <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">wslc.exe</span> ; vous pouvez donc utiliser la commande <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">container</span> ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">wslc</span>, selon votre préférence.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677299d1782957495/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 1080
Taille : 77,8 Ko"  style="float: CONFIG" /></div><br />
<b>API des conteneurs WSL</b><br />
<br />
Les applications Windows peuvent désormais également utiliser directement des conteneurs dans le cadre de leur logique d'application. WSL propose désormais un package NuGet disponible sur nuget.org ainsi que sur la page des versions de WSL. Celui-ci inclut la prise en charge de C, C++ et C#.<br />
<br />
Vos applications Windows natives peuvent désormais tirer parti de Linux pour leurs workflows de production. Cela peut s’avérer particulièrement utile pour réutiliser du code existant spécifique à Linux, exécuter localement des applications cloud ou confiner l’accès d’un processus Linux aux ressources de l’hôte.<br />
<br />
Cette API s’intègre également à MSBuild et CMake. Il vous suffit donc d’ajouter quelques lignes à vos fichiers de projet pour que les étapes de compilation et de déploiement du conteneur s’intègrent au processus de compilation de votre application – aucune intervention manuelle n’est nécessaire ! Clonez le dépôt Git et testez un exemple par vous-même, ou consultez la référence complète de l’API !<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677300d1782957503/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 1029
Taille : 80,8 Ko"  style="float: CONFIG" /></div><br />
<b>En savoir plus et voir des démonstrations</b><br />
<br />
Vous pouvez visionner cette présentation de la conférence BUILD 2026 pour en savoir plus sur les cas d’utilisation et voir des démonstrations de ces fonctionnalités en action. Vous pouvez également consulter notre page de documentation pour obtenir des guides détaillés et des exemples de code.<br />
<br />
<b>Intégration avec les outils d’entreprise</b><br />
<br />
Nous veillons à ce que l’excellente intégration de WSL avec les outils d’entreprise s’étende également aux conteneurs WSL.<br />
<br />
<b>Surveillez les événements de sécurité dans les conteneurs avec Microsoft Defender for Endpoint (MDE)</b><br />
<br />
Le plugin MDE existant de WSL a été mis à jour pour prendre également en charge les événements des conteneurs Linux, vous offrant ainsi la même couverture, que vous utilisiez une distribution WSL ou des conteneurs. Actuellement, cette fonctionnalité est disponible dans le cadre d’un aperçu privé auquel vous pouvez vous inscrire ici.<br />
<br />
<b>Gérez les paramètres des conteneurs WSL avec Intune</b><br />
<br />
Nous ajoutons également de nouveaux paramètres de gestion pour les conteneurs WSL. Vous pourrez contrôler si les utilisateurs sont autorisés à utiliser des distributions WSL ou des conteneurs au sein de votre organisation, et également définir une liste blanche des registres de conteneurs autorisés pour récupérer de nouvelles images de conteneurs. L’un de nos principaux objectifs dans ce domaine est de répondre à l’une des principales demandes de nos clients : « Comment puis-je contrôler quelles distributions/images Linux sont autorisées au sein de mon organisation ? ». L’utilisation des conteneurs WSL et de la liste blanche des registres facilite grandement cette tâche. Cette fonctionnalité est disponible dès aujourd’hui via les objets de stratégie de groupe (GPO) et une stratégie ADMX, et sera officiellement prise en charge dans les tableaux de bord Intune d’ici quelques semaines.<br />
<br />
<b>Conteneurs de développement VS Code</b><br />
<br />
De nombreuses entreprises s’appuient également sur des outils tels que les conteneurs de développement VS Code, et la prise en charge de WSLc a été ajoutée dans la préversion 0.462.0. Cette fonctionnalité est actuellement en préversion, mais sera bientôt disponible pour le grand public. Pour configurer cette fonctionnalité, ouvrez les paramètres du conteneur de développement VS Code, recherchez le paramètre « Docker Path » et remplacez-le par wslc.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p677301d1782957514/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/3.jpg/" border="0" alt="Nom : 3.jpg
Affichages : 750
Taille : 11,5 Ko"  style="float: CONFIG" /></div><br />
<b>Nouvelles améliorations apportées à WSL</b><br />
<br />
Parallèlement au développement de la fonctionnalité de conteneur WSL, nous apportons également d’importantes améliorations à la technologie sous-jacente qui alimente à la fois WSL et le conteneur WSL. Cela inclut :<br />
<br />
- Un nouveau système de fichiers par défaut pour le conteneur WSL : « virtiofs », qui double la vitesse d’accès aux fichiers sous Windows !<br />
<br />
- Un nouveau mode réseau par défaut pour le conteneur WSL : « consomme », qui vise à améliorer la compatibilité.<br />
<br />
La compatibilité est un enjeu complexe, car il existe une multitude de configurations réseau différentes entre les VPN, les proxys et bien d’autres encore. Il s’agit d’un mode réseau expérimental qui vise à résoudre certains de ces problèmes. Pour simplifier, Consomme relaie le trafic réseau Linux via Windows, ce qui permet aux applications Linux de bénéficier du même environnement réseau, des mêmes politiques de sécurité et des mêmes intégrations d’entreprise que celles disponibles pour les applications Windows.<br />
<br />
- Amélioration des techniques de récupération de mémoire afin de libérer progressivement et de manière cohérente de la mémoire vers l’hôte Windows lorsqu’elle n’est pas utilisée dans la machine virtuelle Linux.<br />
<br />
Comme ces modifications touchent des chemins critiques tels que l’accès au système de fichiers et le réseau, elles ne sont pour l’instant activées que dans les conteneurs WSL ; nous travaillons toutefois à les activer par défaut dans WSL à l’avenir. Il existe également d’autres outils CLI de conteneurs Linux exceptionnels sous Windows qui s’appuient sur WSL, tels que Docker Desktop, Podman Desktop et Rancher Desktop. Ces outils bénéficieront eux aussi de ces modifications de bas niveau apportées à la plateforme, ce qui vous permettra de disposer d’une large sélection d’outils de conteneurs performants sous Windows, adaptés à vos besoins.<br />
<br />
<b>Retours d'expérience et prochaines étapes</b><br />
<br />
Cette fonctionnalité n'est actuellement disponible que dans la version préliminaire de WSL, sous forme d'aperçu public. N'hésitez pas à l'installer et à la tester. Comme toujours, vous pouvez signaler vos problèmes et nous faire part de vos commentaires sur notre page GitHub ! Nous prévoyons de rendre cette fonctionnalité accessible à tous à l'automne 2026. Merci pour votre soutien, et bon codage !<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://devblogs.microsoft.com/commandline/wsl-container-is-now-available-for-public-preview/" target="_blank">Annonce de Microsoft</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://windows.developpez.com/actu/383795/Microsoft-adopte-Linux-dans-sa-nouvelle-version-de-Windows-11-axee-sur-les-developpeurs-devoilant-a-la-conference-Build-une-version-optimisee-pour-les-developpeurs-et-integrant-des-conteneurs-Linux-natifs/" target="_blank">Microsoft adopte Linux dans sa nouvelle version de Windows 11 axée sur les développeurs, dévoilant à la conférence Build une version optimisée pour les développeurs et intégrant des conteneurs Linux natifs</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/372226/Microsoft-rend-open-source-le-sous-systeme-Windows-pour-Linux-WSL-pres-de-dix-ans-apres-le-debut-de-son-developpement-les-developpeurs-pourront-telecharger-le-code-du-WSL/" target="_blank">Microsoft rend open source le sous-système Windows pour Linux (WSL) près de dix ans après le début de son développement. Les développeurs pourront télécharger le code du WSL</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/383946/Microsoft-annonce-la-preversion-publique-d-Azure-Linux-4-0-rendant-ainsi-disponible-a-des-fins-d-evaluation-sur-les-machines-virtuelles-Azure-sa-distribution-Linux-derivee-de-Fedora-et-basee-sur-RPM/" target="_blank">Microsoft annonce la préversion publique d'Azure Linux 4.0, rendant ainsi disponible à des fins d'évaluation sur les machines virtuelles Azure sa distribution Linux dérivée de Fedora et basée sur RPM</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p677299d1782957495/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p677300d1782957503/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p677301d1782957514/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/3.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184463/dotnet/general-dotnet/microsoft-publie-preversion-publique-conteneurs-windows-subsystem-for-linux-wsl/</guid>
		</item>
		<item>
			<title><![CDATA[Microsoft lance l'application de bureau GitHub Copilot pour gérer plusieurs agents IA]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184088&amp;goto=newpost</link>
			<pubDate>Thu, 04 Jun 2026 16:54:42 GMT</pubDate>
			<description>*Microsoft lance...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft lance l'application de bureau GitHub Copilot pour gérer plusieurs agents IA, marquant le passage d'assistants de codage passifs à des agents IA capables de gérer en parallèle des workflows</font></b><br />
<br />
<b>GitHub a dévoilé une application de bureau conçue pour servir de centre de contrôle centralisé pour les agents d'intelligence artificielle (IA). Annoncée lors de la conférence Microsoft Build 2026, la nouvelle application GitHub Copilot marque le passage d'assistants de codage passifs à des agents IA indépendants capables de gérer en parallèle des workflows de développement complexes.  La nouvelle application GitHub Copilot, actuellement disponible en préversion technique pour les niveaux Copilot Premium, introduit un tableau de bord « My Work ». Cette vue permet aux développeurs de surveiller et de diriger simultanément plusieurs agents IA sur différents dépôts. Parallèlement à l’application de bureau, GitHub a introduit plusieurs fonctionnalités clés visant à améliorer la collaboration entre les humains et l’IA. </b><br />
<br />
GitHub Copilot est un assistant IA de programmation et de complétion de code développé par GitHub et OpenAI qui aide les utilisateurs des environnements de développement intégrés (EDI) Visual Studio Code, Visual Studio, Neovim, Eclipse et JetBrains en complétant automatiquement le code. Actuellement disponible sur abonnement pour les développeurs individuels et les entreprises, ce logiciel d'intelligence artificielle générative a été annoncé pour la première fois par GitHub le 29 juin 2021. Les utilisateurs peuvent choisir le grand modèle de langage utilisé pour la génération.<br />
<br />
Récemment, GitHub a dévoilé une application de bureau conçue pour servir de centre de contrôle centralisé pour les agents d'intelligence artificielle (IA). Annoncée lors de la conférence Microsoft Build 2026, la nouvelle application GitHub Copilot marque le passage d'assistants de codage passifs à des agents IA indépendants capables de gérer en parallèle des workflows de développement complexes. Ce lancement intervient à un moment où la demande en matière d'activités de codage automatisées est forte. Selon les données internes de GitHub, les commits de code sur la plateforme ont presque doublé d’une année sur l’autre, dépassant désormais 1,4 milliard par mois, tandis que l’utilisation automatisée de GitHub Actions a bondi au-delà de 2 milliards de minutes par semaine.<br />
<br />
Si l’essor des agents IA a accéléré le développement logiciel, il a également créé une expérience fragmentée pour les ingénieurs qui doivent constamment changer de contexte, suivre de multiples tâches automatisées et réviser manuellement de grandes quantités de code généré par les agents. La nouvelle application GitHub Copilot, actuellement disponible en préversion technique pour les niveaux Copilot Premium, introduit un tableau de bord « My Work ». Cette vue permet aux développeurs de surveiller et de diriger simultanément plusieurs agents IA sur différents dépôts. Pour éviter que les agents n’interfèrent les uns avec les autres ou ne perturbent les fichiers locaux, chaque session active s’exécute automatiquement dans un arborescence Git isolée, supprimant ainsi le besoin d’une gestion manuelle des branches.<br />
<br />
Parallèlement à l’application de bureau, GitHub a introduit plusieurs fonctionnalités clés visant à améliorer la collaboration entre les humains et l’IA. L’une d’entre elles est Canvases : des surfaces visuelles interactives et bidirectionnelles qui affichent en temps réel le plan actuel de l’agent, les sorties du terminal, les déploiements ou les sessions de navigateur, permettant ainsi aux ingénieurs de modifier, réorganiser ou rediriger directement le travail de l’agent.<br />
<br />
Pour garantir la sécurité, les agents disposent d’environnements délimités pour tester et exécuter du code sans impact sur les systèmes de production réels. Les organisations peuvent choisir d’exécuter ces sandbox localement avec un accès restreint aux fichiers et au réseau, ou dans des environnements Linux hébergés dans le cloud, entièrement isolés et éphémères. Il y a ensuite Agent Merge, un outil d’automatisation qui surveille les pipelines d’intégration continue (CI), identifie les réviseurs humains requis, corrige les vérifications échouées et fusionne automatiquement le code une fois que toutes les conditions organisationnelles prédéfinies sont remplies.<br />
<br />
Cette annonce intervient alors que l'introduction d'un nouveau système de facturation à l'usage suscite un vif mécontentement parmi les utilisateurs de GitHub Copilot. Auparavant soumis à un abonnement fixe, les développeurs voient désormais leurs crédits s'épuiser rapidement en fonction de la complexité des requêtes et des modèles utilisés. Face à des coûts jugés imprévisibles et excessifs, <a href="https://microsoft.developpez.com/actu/383789/Des-developpeurs-mecontents-menacent-d-abandonner-GitHub-Copilot-alors-que-la-facturation-basee-sur-l-utilisation-s-impose-des-abonnes-rapportent-avoir-epuise-leurs-credits-mensuels-en-quelques-jours/" target="_blank">de nombreux professionnels critiquent Microsoft et menacent d'abandonner la plateforme</a> au profit de solutions alternatives moins onéreuses. Cette transition marque une rupture majeure avec la prédictibilité budgétaire habituelle dans le secteur des outils de développement assistés par l'IA.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676741d1780596874/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 13816
Taille : 69,3 Ko"  style="float: CONFIG" /></div><br />
Voici l'annonce de GitHub :<br />
<br />
<b><font size="3">Application GitHub Copilot : l'expérience de bureau native pour les agents</font></b><br />
<br />
Si la transition vers les agents a accéléré le développement, elle a également entraîné des flux de travail fragmentés, davantage de changements de contexte et un temps excessif consacré à la révision du code généré par les agents.<br />
<br />
Si les agents doivent s’inscrire durablement dans le processus de développement logiciel, ils doivent occuper une place réelle dans le flux de travail des développeurs. Or, la plupart des outils de développement n’ont pas été conçus pour gérer plusieurs agents en parallèle. Le contexte est dispersé entre les fenêtres. Vous perdez la trace de ce qui est en cours d’exécution. Le code atterrit dans des pull requests sans trace claire de ce que l’agent a essayé, de ce qu’il a validé ou des points nécessitant un jugement humain.<br />
<br />
Sur GitHub, les développeurs utilisent des agents pour passer de l’invite au plan, du ticket à la pull request, des commentaires de révision au code fusionné. À mesure que les workflows basés sur des agents deviennent la norme, la création de dépôts, l’activité de pull request et l’utilisation des API s’accélèrent sans aucun signe de ralentissement. Rien que sur GitHub, les commits ont presque doublé d’une année sur l’autre, dépassant les 1,4 milliard par mois, auxquels s’ajoutent plus de 2 milliards de minutes GitHub Actions par semaine.<br />
<br />
Pour répondre à cette demande et continuer à être le lieu de prédilection de tous les développeurs (et désormais de leurs agents), notre priorité est de faire évoluer nos systèmes sous-jacents et d’améliorer la résilience et la stabilité de l’ensemble de nos services, à chaque couche de la pile.<br />
<br />
GitHub construit ce système pour la frontière des agents, et c’est ce que nous présentons aujourd’hui à Microsoft Build.<br />
<br />
<b>Application Copilot : un centre de contrôle pour le développement natif des agents</b><br />
<br />
Vous commencez la journée avec trois tâches déjà en cours. Un agent enquête sur un bug en production. Un autre implémente un ticket du backlog. Un troisième traite les commentaires de révision sur une pull request. Chacun s’exécute dans son propre environnement isolé, produisant des modifications que vous pouvez inspecter, rediriger, tester et fusionner.<br />
<br />
Vous avez besoin d’un environnement capable de suivre le rythme.<br />
<br />
La nouvelle application GitHub Copilot est l’expérience de bureau native pour les agents, construite sur GitHub. À partir d’une seule vue « Mon travail », vous pouvez voir les tâches en cours dans tous les dépôts connectés : sessions actives, tickets, pull requests et automatisations en arrière-plan. L'application Copilot est désormais disponible en préversion technique pour les utilisateurs existants de Copilot Pro, Pro+, Business et Enterprise.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/mv6MMQ2j128?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
David Jobling | Architecte technologique principal, responsable Technologie et Avenir de la livraison, Solutions et Livraison mondiales, Avanade Inc : « <i>L'application GitHub Copilot est la dernière-née d'une gamme d'outils d'IA de GitHub qui transforme notre activité. Au-delà de l'assistance par l'IA, l'application offre un centre de contrôle indispensable pour le développement agentique. Nos ingénieurs déployés en avant-poste peuvent déployer une cohorte d’agents et gérer plusieurs initiatives, le tout depuis un seul et même endroit. Accès facile aux plans et aux pilotes automatiques, avec la possibilité de lancer des sessions interactives ou d’intervenir dans le code si nécessaire.</i> »<br />
   <br />
Chaque session s'exécute dans son propre arborescence Git, une copie réelle et isolée de votre branche. Cela permet aux sessions d'agents parallèles de fonctionner sans se marcher dessus. L'application gère toutes les arborescences à votre place : pas de configuration manuelle, pas de nettoyage, pas de jonglage entre les branches. Que vous partiez d'une invite ou d'un ticket dans votre boîte de réception, Copilot récupère le contexte dont il a besoin à partir des tickets existants, des pull requests et des dépôts que vous avez connectés.<br />
<br />
Ensuite, Agent Merge aide à faire passer cette pull request par les étapes de révision, de vérification et de fusion. Il surveille l’intégration continue (CI), suit les réviseurs requis, traite les vérifications ayant échoué et attend que toutes les conditions soient remplies. Vous choisissez jusqu'où Copilot doit aller : ramener l'intégration continue (CI) au vert, traiter les retours d'information ou fusionner lorsque vos conditions sont remplies. Vous décidez quelles automatisations sont activées et ce qui est déployé.<br />
<br />
<b>Canvas : là où l'intention devient un travail inspectable</b><br />
<br />
Le chat est puissant pour les instructions et les ambiguïtés. Mais dès qu'un agent commence à travailler concrètement, un fil de discussion devient un long défilement de décisions, de journaux et de corrections. Vous avez besoin d'un espace où le travail lui-même est visible.<br />
<br />
Aujourd’hui, nous introduisons également les canvases dans l’application GitHub Copilot. Les canvases sont des surfaces de travail bidirectionnelles pour les humains et les agents. Un canvas peut afficher un plan, une pull request, une session de navigateur, un terminal, un déploiement, un tableau de bord ou l’état d’un workflow. Les agents mettent à jour le canvas au fur et à mesure de leur travail, et les développeurs peuvent modifier, réorganiser, approuver ou rediriger ce travail sur la même surface.<br />
<br />
C'est le début de l'expérience agent (AX) dans l'application Copilot : des interfaces où les personnes et les agents travaillent ensemble. Le chat est l'endroit où vous donnez des instructions, discutez et clarifiez les ambiguïtés. Les canevas sont l'endroit où cette intention se transforme en travail visible que vous pouvez inspecter, orienter et vérifier.<br />
<br />
Les agents qui se contentent de suggérer du code vous laissent assumer une grande partie du travail. Pour être plus efficaces, les agents doivent exécuter du code, analyser les résultats, tester les modifications et itérer, sans toucher à l'environnement de production.<br />
<br />
Les environnements de test cloud et locaux pour GitHub Copilot offrent aux agents un espace délimité où agir. Choisissez où Copilot s'exécute — sur votre machine locale ou dans le cloud — et commencez à exploiter des workflows pilotés par des agents tout en donnant la priorité à la sécurité et à l'application des politiques d'entreprise, sans contraintes liées aux ressources locales.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/J8laUDXs08c?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
Avec le sandboxing local, Copilot s'exécute dans un environnement isolé directement sur votre machine, avec un accès restreint aux systèmes de fichiers, à la connectivité réseau et aux capacités du système. Les politiques de sandbox locales peuvent être configurées et appliquées de manière centralisée.<br />
<br />
Dans le cloud, chaque sandbox s'exécute dans un environnement Linux éphémère et entièrement isolé hébergé par GitHub. Les organisations définissent leurs propres politiques. Depuis le cloud, vous pouvez reprendre des sessions Copilot n'importe où, sur n'importe quel appareil, grâce au contrôle à distance.<br />
<br />
<b>Une révision de code qui s'adapte au volume de production des agents</b><br />
<br />
À mesure que les agents génèrent davantage de pull requests, la pression sur la révision de code s'intensifie. La révision de code Copilot propose un système adaptatif et agentique pour filtrer le bruit, vous permettant de concentrer votre énergie là où cela compte le plus pendant que Copilot effectue les révisions de code.<br />
<br />
Vous pouvez désormais étendre Copilot afin que chaque révision reflète vos propres normes, vos systèmes internes et votre contexte d'ingénierie via des compétences d'agent personnalisées, des connexions au serveur MCP et des workflows d'actions configurables.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676742d1780596881/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 1518
Taille : 69,3 Ko"  style="float: CONFIG" /></div><br />
La révision de code de Copilot propose désormais un niveau de révision « moyen », qui achemine les pull requests vers un modèle de raisonnement plus avancé pour une meilleure précision et un meilleur rappel. Les administrateurs peuvent définir des directives pour chaque dépôt, en choisissant entre « faible » et « moyen ». Cela vous permet d’affecter des modèles plus légers et plus économiques au code à faible risque, et de réserver l’utilisation de modèles plus robustes aux dépôts ayant un impact plus important.<br />
<br />
La compétence <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/security-review</span> offre à Copilot un chemin dédié à l’évaluation axée sur la sécurité. La compétence <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/rubberduck</span> est désormais disponible pour tous et permet d’utiliser plusieurs familles de modèles afin d’analyser votre implémentation et de détecter de nouveaux problèmes.<br />
<br />
Et si vous travaillez sur Azure DevOps, vous pouvez désormais utiliser la révision de code Copilot en mode natif. Bénéficiez de la même révision en un clic, des commentaires en ligne et des suggestions de corrections validables que vous attendez, et les administrateurs peuvent activer la révision de code sur les dépôts de leur choix.<br />
<br />
<b>Un seul runtime pour les applications, les outils et les agents</b><br />
<br />
Les mêmes capacités d’agent fonctionnent sur le terminal, dans le cloud et même avec vos propres outils, sur la même base.<br />
<br />
Vous pouvez désormais créer vos propres outils avec le SDK GitHub Copilot. Désormais disponible en version générale pour Node.js/TypeScript, Python, Go, .NET, Rust et Java, il expose le même runtime agentique qui alimente l'application Copilot. Si votre équipe a besoin d'un outil d'analyse de code interne, d'un générateur de notes de mise à jour personnalisé ou d'un agent intégré à un workflow d'assistance, vous le créez sur la même base plutôt que de monter une pile sur mesure. Un seul runtime, de nombreuses interfaces.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676743d1780596887/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/3.jpg/" border="0" alt="Nom : 3.jpg
Affichages : 1523
Taille : 85,3 Ko"  style="float: CONFIG" /></div><br />
Pour les développeurs qui préfèrent travailler dans le terminal, Copilot CLI dispose désormais d’une interface repensée, d’une saisie vocale et de tâches planifiées pour vous permettre de rester dans le terminal.<br />
<br />
Copilot CLI propose une interface utilisateur textuelle (TUI) repensée en mode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/experimental</span> avec un accès par onglets aux pull requests, aux tickets et aux gists depuis le terminal. Le mode vocal utilise la reconnaissance vocale intégrée à l'appareil, de sorte que les données audio ne quittent jamais votre machine. <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/every</span> planifie des invites récurrentes et des tâches en arrière-plan<br />
<br />
Les automatisations cloud permettent aux agents de s'exécuter selon un calendrier, de répondre aux événements GitHub, d'ouvrir des tickets et de laisser des commentaires. Par défaut, l'agent cloud demande l'autorisation avant chaque action d'écriture. Passez en mode pilote automatique une fois que vous avez établi la confiance.<br />
<br />
L'ingénierie ne s'arrête pas à l'écriture de code. Elle inclut la création de tickets, le lancement de discussions et la réponse aux relecteurs. L'agent cloud Copilot peut désormais gérer chacune de ces étapes.<br />
<br />
Memory++ et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">/chronicle</span> assurent la continuité de Copilot sur tous les appareils et au fil du temps. Interrogez le contexte à partir de sessions lancées dans l'application, via l'interface CLI, dans VS Code ou sur GitHub.<br />
<br />
Les applications d'agents développées par nos partenaires s'intègrent à GitHub Copilot pour aider à automatiser les tâches, générer du code, analyser le contexte et exécuter des actions. Utilisez vos outils préférés sans quitter GitHub. Attribuez des tickets à de nouveaux agents adaptés à votre workflow. Parmi nos partenaires, citons LaunchDarkly, Bright, Amplitude, Sonar, Endor Labs, Octopus Deploy, Packfiles, PagerDuty et Miro. Commencez dès aujourd’hui à utiliser ces applications d’agent. Et inscrivez-vous sur la liste d’attente pour que votre entreprise puisse également proposer ses propres applications d’agent sur GitHub.<br />
<br />
<b>Notre objectif</b><br />
<br />
Les logiciels professionnels exigent du discernement, de la vérification et de la responsabilité. C'est pourquoi l'application GitHub Copilot, les sandbox, la révision de code, l'automatisation, le contexte et l'écosystème de partenaires s'assemblent en un seul système : les agents peuvent accomplir une plus grande partie du travail, tandis que les développeurs gardent le contrôle de la qualité, des politiques et de la livraison.<br />
<br />
À mesure que les flux de travail basés sur des agents se développent sur GitHub, de la création de dépôts aux pull requests en passant par l'utilisation des API, la plateforme doit évoluer en parallèle. Nous continuerons à donner la priorité à la disponibilité. Nous nous engageons à renforcer ces systèmes afin que le développement natif pour les agents soit suffisamment rapide, disponible et fiable pour que les équipes puissent s'y fier au quotidien.<br />
<br />
C'est sur GitHub que ce système prend vie, car c'est déjà là que se trouvent le code, les revues, les tickets et les équipes.<br />
<br />
Allons-y.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://github.blog/news-insights/product-news/github-copilot-app-the-agent-native-desktop-experience/" target="_blank">Annonce de GitHub</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/383742/Combien-coute-l-IA-Les-utilisateurs-de-GitHub-Copilot-reagissent-au-nouveau-systeme-de-tarification-base-sur-l-utilisation-Certains-affirment-avoir-epuise-leur-quota-mensuel-de-credits-IA-en-une-journee/" target="_blank">Combien coûte l'IA ? Les utilisateurs de GitHub Copilot réagissent au nouveau système de tarification basé sur l'utilisation. Certains affirment avoir épuisé leur quota mensuel de crédits IA en une journée</a><br />
<br />
:fleche: <a href="https://jetbrains.developpez.com/actu/383179/JetBrains-presente-JetBrains-Central-un-systeme-ouvert-pour-le-developpement-de-logiciels-agentique-transformant-les-workflows-isoles-bases-sur-l-IA-en-un-systeme-de-production-unifie/" target="_blank">JetBrains présente JetBrains Central, un système ouvert pour le développement de logiciels agentique, transformant les workflows isolés basés sur l'IA en un système de production unifié</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/383482/Google-annonce-Antigravity-2-0-une-nouvelle-application-de-bureau-autonome-qui-offre-une-experience-entierement-optimisee-pour-les-agents-IA-disponible-sur-macOS-Linux-et-Windows/" target="_blank">Google annonce Antigravity 2.0, une nouvelle application de bureau autonome qui offre une expérience entièrement optimisée pour les agents IA, disponible sur macOS, Linux et Windows</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p676741d1780596874/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676742d1780596881/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676743d1780596887/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/3.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184088/dotnet/general-dotnet/microsoft-lance-l-application-bureau-github-copilot-gerer-plusieurs-agents-ia/</guid>
		</item>
		<item>
			<title>Microsoft a menacé de poursuites pénales un chercheur en sécurité qui avait publié des failles</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184006&amp;goto=newpost</link>
			<pubDate>Mon, 01 Jun 2026 19:39:21 GMT</pubDate>
			<description>*Microsoft a menacé de...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft a menacé de poursuites pénales un chercheur en sécurité qui a publié des failles, après avoir suspendu son compte de signalement des vulnérabilités, la communauté de la cybersécurité est en colère</font></b><br />
<br />
<b>Microsoft a publié un article de blog critiquant un chercheur en sécurité connu sous le nom de « Nightmare Eclipse » pour avoir divulgué publiquement une série de vulnérabilités non corrigées dans Windows Defender et BitLocker. Elle a averti que son unité chargée de la lutte contre la cybercriminalité « continuera à engager des poursuites contre ces acteurs et ceux qui facilitent leurs activités criminelles ». Les experts en sécurité ont immédiatement averti que cette formulation risquait d'avoir un effet dissuasif sur l'ensemble de la communauté scientifique, décourageant ainsi de futures divulgations responsables. Microsoft a alors clarifié sa position, atténuant ainsi les menaces juridiques perçues et réaffirmant son engagement en faveur d’une divulgation coordonnée des vulnérabilités.</b><br />
<br />
Microsoft Corporation est une multinationale américaine spécialisée dans les technologies, dont le siège social est situé à Redmond, dans l'État de Washington. L'entreprise a joué un rôle déterminant dans l'essor des ordinateurs personnels grâce à des logiciels tels que Windows et s'est depuis diversifiée dans des domaines tels que les services Internet, le cloud computing, l'intelligence artificielle, les jeux vidéo, etc. Comptant parmi les géants de la technologie, Microsoft est le premier éditeur de logiciels en termes de chiffre d'affaires, l'une des sociétés cotées en bourse les plus valorisées et l'une des marques les plus valorisées au monde.<br />
<br />
Récemment, Microsoft a publié un article de blog critiquant un chercheur en sécurité connu sous le nom de « Nightmare Eclipse » pour avoir divulgué publiquement une série de vulnérabilités non corrigées dans Windows Defender et BitLocker. L'entreprise a ensuite fait appel à son unité chargée de la criminalité numérique (Digital Crimes Unit), qui gère les signalements d'actes criminels et la coordination avec les forces de l'ordre. La communauté de la cybersécurité a réagi avec indignation.<br />
<br />
Ces failles, baptisées BlueHammer, RedSun, UnDefend et YellowKey, affectent le moteur antivirus intégré de Microsoft et son outil de chiffrement de disque. Le chercheur a publié le code d'exploitation sur GitHub (propriété de Microsoft) et GitLab sans laisser à Microsoft le temps de corriger les failles. Certaines de ces vulnérabilités ont depuis été exploitées par des pirates lors d'attaques réelles, selon Microsoft et la CISA.<br />
<br />
La position de Microsoft est que le chercheur aurait dû signaler les failles en privé afin que l'entreprise puisse les corriger avant leur divulgation publique. L'entreprise a qualifié cela de divulgation « responsable ». Dans un article de blog, elle a averti que son unité chargée de la lutte contre la cybercriminalité « continuera à engager des poursuites contre ces acteurs et ceux qui facilitent leurs activités criminelles ».<br />
<br />
Nightmare Eclipse présente une version différente des faits. Dans une série d'articles de blog publiés au cours des deux dernières semaines, le chercheur a affirmé avoir été en contact avec Microsoft. La société lui aurait retiré l’accès à son compte du Microsoft Security Response Center, le portail où les chercheurs soumettent leurs rapports de vulnérabilité. Le chercheur a laissé entendre qu’il n’avait d’autre choix que de rendre ces vulnérabilités publiques. Au moment de la publication, les failles étaient de type « zero-day » : des failles inconnues du fabricant du logiciel au moment où elles sont divulguées ou exploitées. Les comptes GitHub et GitLab du chercheur ont depuis été bannis.<br />
<br />
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Over the past several days, we have been listening to the conversation around coordinated disclosure and the relationship between security researchers and vendors. We recognize that this relationship is both critical and, at times, fragile. We deeply value the security community,…</p>— Microsoft Security Response Center (@msftsecresponse) <a rel="nofollow" href="https://x.com/msftsecresponse/status/2061293718942908925?ref_src=twsrc%5Etfw">June 1, 2026</a></blockquote> <b>La communauté de la cybersécurité est en colère</b><br />
<br />
Les vétérans de la cybersécurité ont réagi par de vives critiques. Katie Moussouris, fondatrice de Luta Security et pionnière du programme de prime aux bogues de Microsoft au milieu des années 2000, a déclaré que le langage utilisé par l’entreprise était provocateur. « <i>Invoquer le terme de divulgation « responsable » était la première frappe », a-t-elle déclaré à TechCrunch. « Ajouter une menace de poursuites en mentionnant la DCU était exagéré.</i> » Moussouris a averti que les conséquences pourraient s’étendre au-delà de cette affaire. « <i>Cela ne fera que pousser les chercheurs en sécurité à se méfier de Microsoft</i> », a-t-elle déclaré. Le fait que moins de chercheurs se manifestent pour signaler des failles « rend la situation moins sûre pour nous tous ».<br />
<br />
Kevin Beaumont, chercheur en sécurité et ancien employé de Microsoft, a qualifié la position de l’entreprise de « catastrophe dont elle est elle-même responsable ». Il a écrit : « La création et la distribution d’exploits de preuve de concept pour des vulnérabilités zero-day constituent désormais une “activité criminelle” ? La divulgation responsable est très souvent présentée comme visant à protéger le propriétaire du produit, et non le client. »<br />
<br />
Le débat sur la divulgation dure depuis des décennies mais n’est pas encore entièrement résolu. Le consensus du secteur est la « divulgation coordonnée » : les chercheurs signalent les bogues en privé, les entreprises les corrigent, et les détails sont publiés une fois qu’un correctif est disponible. Moussouris elle-même a convaincu Microsoft d’adopter cette formulation lorsqu’elle y travaillait, remplaçant le terme « divulgation responsable », que les chercheurs considéraient comme présentant les intérêts de l’entreprise comme la norme morale par défaut.<br />
<br />
La décision de Microsoft de revenir à une formulation « responsable » et de menacer de poursuites pénales constitue un recul significatif. Les programmes de prime aux bogues existent parce que le secteur a appris, au fil d’années de relations conflictuelles, qu’il est moins coûteux et plus sûr de payer les chercheurs pour qu’ils divulguent les failles en privé plutôt que de les ignorer jusqu’à ce qu’ils les rendent publiques. La plupart des entreprises versent désormais des primes à six chiffres pour les vulnérabilités critiques.<br />
<br />
<b>Les programmes de divulgation de vulnérabilités à l'ère de l'IA</b><br />
<br />
<a href="https://intelligence-artificielle.developpez.com/actu/383581/Le-projet-Glasswing-d-Anthropic-utilisant-le-modele-Claude-Mythos-Preview-a-decouvert-plus-de-10-000-vulnerabilites-de-gravite-elevee-ou-critique-dans-des-systemes-logiciels-cles-en-l-espace-d-un-mois/" target="_blank">Le projet Glasswing d’Anthropic a identifié 10 000 vulnérabilités critiques en un mois dans des logiciels open source</a>, et seules 97 ont été corrigées. L’écart entre la découverte et la correction se creuse dans l’ensemble du secteur. Menacer les personnes qui trouvent les failles ne comble pas cet écart. Cela ne fait que l’aggraver. Le paysage de la sécurité de l’IA crée de nouvelles catégories de vulnérabilités plus rapidement que les entreprises ne peuvent y remédier. L’exploit Claw Chain d’OpenClaw, le piratage du réseau ferroviaire TETRA à Taïwan et, désormais, les propres produits de Microsoft illustrent tous la même dynamique : la surface d’attaque s’étend, les chercheurs qui la cartographient sont essentiels, et les aliéner a des conséquences.<br />
<br />
La question concrète est la suivante : que se passe-t-il lorsqu’un chercheur découvre un bug critique, le signale par la voie officielle, et que l’entreprise résilie son compte ? Si le récit de Nightmare Eclipse concernant la résiliation par le MSRC est exact, Microsoft a créé les conditions de la divulgation publique qu’elle condamne aujourd’hui. Si ce récit est inexact, Microsoft ne l’a pas précisé.<br />
<br />
L'effet dissuasif décrit par Moussouris est déjà visible. D'innombrables chercheurs ont partagé leurs propres expériences négatives concernant le signalement de bogues à Microsoft en réponse à l'article de blog. Une entreprise qui dépend de chercheurs externes pour détecter les failles dans des produits utilisés par plus d'un milliard de personnes fait savoir à ces chercheurs que la découverte de failles pourrait entraîner des poursuites pénales. Le message est clair. Quant à savoir si c'est judicieux, c'est une tout autre question.<br />
<br />
En effet, Windows 11 n'est pas exempt de vulnérabilités. Au contraire, même <a href="https://windows.developpez.com/actu/377870/Windows-11-Microsoft-admet-que-presque-toutes-les-fonctionnalites-principales-de-son-OS-sont-defectueuses-apres-s-etre-fait-taper-sur-les-doigts-par-NVIDIA-qui-a-deploye-un-correctif-suite-au-Patch-Tuesday/" target="_blank">Microsoft a admis que presque toutes les fonctionnalités principales de son OS sont défectueuses</a>. En novembre 2025, Microsoft a confirmé plusieurs bogues dans Windows 11 remontant à juillet 2025. Ces bugs auraient été causés par la mise à jour 24H2 (KB5062553), qui a affecté les composants système reposant sur XAML, un langage de balisage utilisé dans Windows pour les composants d'interface utilisateur. Bien que ces problèmes apparaissent principalement lors de la mise en service d'appareils ou du démarrage d'images non persistantes, affectant principalement les déploiements en entreprise et dans l'éducation, il est inquiétant que Microsoft ait mis autant de temps à reconnaître la situation. Pourtant, en juillet 2025, la société affirmait que Windows 11 24H2 était la version Windows la plus fiable jamais conçue.<br />
<br />
Pour information, les programmes de prime aux bogues de l'entreprise ont versé plus de 60 millions de dollars aux chercheurs depuis 2013, dans le cadre de 18 programmes couvrant Azure, Windows, Microsoft Defender et les systèmes d'IA.<br />
<br />
<b>Microsoft clarifie sa position après la controverse</b><br />
<br />
Microsoft a clarifié sa position, atténuant ainsi les menaces juridiques perçues et réaffirmant son engagement en faveur d’une divulgation coordonnée des vulnérabilités, à la suite d’une vive polémique au sein de la communauté des chercheurs en sécurité. Dans un communiqué soigneusement rédigé publié fin mai 2026, le Centre de réponse aux incidents de sécurité de Microsoft (MSRC) a cherché à désamorcer une crise grandissante concernant sa gestion des relations avec la communauté des chercheurs en sécurité, en précisant qu’il n’avait « aucune intention d’intenter une action contre les personnes menant ou publiant leurs recherches en matière de sécurité ».<br />
<br />
Cette déclaration est intervenue quelques jours après la publication, le 28 mai, d’un article sur le blog du MSRC condamnant un chercheur connu sous le nom de Nightmare Eclipse pour avoir divulgué six vulnérabilités Windows « zero-day » non corrigées sans coordination, ce qui a été largement interprété comme une menace juridique générale à l’encontre de tous les chercheurs qui contournent les canaux officiels. Dans son premier article de blog, Microsoft a averti qu’il « engagerait des poursuites contre les acteurs et ceux qui facilitent leurs activités criminelles », tandis que le MSRC a également abordé la situation dans un article publié sur X.<br />
<br />
Les experts en sécurité ont immédiatement averti que ce langage pourrait avoir un effet dissuasif sur l’ensemble de la communauté des chercheurs, décourageant ainsi les futures divulgations responsables. Dans sa clarification ultérieure, Microsoft a établi une distinction nette entre la recherche de bonne foi et les activités malveillantes. La société a déclaré que des poursuites judiciaires ne seraient engagées que « lorsqu’un individu enfreint la loi et se livre à des activités malveillantes causant un préjudice réel à nos clients », séparant explicitement l’exploitation criminelle de la recherche et de la publication légitimes de vulnérabilités.<br />
<br />
La déclaration a reconnu que certaines interactions passées entre le MSRC et les chercheurs « n’avaient pas été à la hauteur » et s’est engagée à renouveler son attachement à « la transparence, une communication claire et le professionnalisme » dans chaque interaction relative à la divulgation. Microsoft a également reconnu l'ampleur et la complexité croissante de sa charge de travail en matière de divulgation, soulignant qu'elle traite chaque année un « volume élevé » de rapports de vulnérabilité, un chiffre qui ne cesse d'augmenter à mesure que la recherche en sécurité assistée par l'IA se développe.<br />
<br />
Voici le communiqué de Microsoft <br />
<br />
<b><font size="3">Une responsabilité partagée : protéger nos clients grâce à la divulgation coordonnée des vulnérabilités</font></b><br />
<br />
Au cours des dernières semaines, plusieurs vulnérabilités de type « zero-day » ont été rendues publiques. Les détails de ces vulnérabilités n’ont pas été communiqués à Microsoft avant leur publication, et ces divulgations ont exposé nos clients à des risques inutiles. <br />
<br />
Chaque année, nous collaborons avec des centaines de chercheurs en sécurité dans le cadre du programme de divulgation coordonnée des vulnérabilités (CVD) – la norme du secteur qui demande aux chercheurs de partager leurs découvertes avec les éditeurs concernés afin de leur donner l'occasion d'en comprendre l'impact et d'y remédier avant que les détails ne soient rendus publics. <br />
<br />
Ce partenariat nous permet d'apporter des mises à jour aux services concernés avant que le code de preuve de concept ne tombe entre les mains de personnes malveillantes. Grâce à ce précieux partenariat, nous veillons également à ce que les chercheurs soient rémunérés pour leurs divulgations responsables et reconnus publiquement pour leur expertise.<br />
<br />
Les vulnérabilités connues sous les noms de RedSun, UnDefend, BlueHammer, YellowKey, GreenPlasma et MiniPlasma n’ont pas fait l’objet d’une divulgation responsable. En réponse au risque inutile créé par ces divulgations, nos équipes de sécurité ont travaillé sans relâche pour en comprendre l’impact, protéger nos clients et développer des mises à jour de sécurité. <br />
<br />
Nous restons fermement opposés à ces actions, ainsi qu’à toute divulgation hors du cadre d’une coordination appropriée susceptible de nuire à nos clients et à l’écosystème numérique. Les divulgations non coordonnées qui mettent entre les mains de personnes malveillantes du code de preuve de concept pour des vulnérabilités non corrigées ne sont jamais justifiables et ont des conséquences concrètes. Nos équipes de sécurité à travers l’entreprise travaillent sans relâche pour traquer les acteurs malveillants qui recherchent des failles comme celles-ci pour attaquer Microsoft et nos clients. Notre Unité des crimes numériques continuera à engager des poursuites contre ces acteurs et ceux qui facilitent leurs activités criminelles, en coordonnant ses efforts si nécessaire avec les forces de l'ordre du monde entier. <br />
<br />
Nous encourageons les points de vue diversifiés qui aident la communauté de la sécurité à travailler ensemble pour protéger tout le monde. Nous sommes conscients que nous ne serons pas toujours d'accord sur tout, mais nous nous engageons à faire preuve de transparence et à continuer de créer des occasions de dialogue. Ces échanges ont lieu lors d'événements de reconnaissance des chercheurs, de conférences sur la sécurité et dans le cadre de notre travail quotidien commun visant à comprendre et à corriger les vulnérabilités. <br />
<br />
Notre équipe continuera à soutenir la recherche responsable tout en mettant tout en œuvre pour enquêter rapidement sur les vulnérabilités qui affectent nos clients, y remédier et publier des mises à jour. Nous avons toujours accueilli et continuerons d’accueillir les signalements de vulnérabilités de la part de  quiconque via notre portail public destiné aux chercheurs, indépendamment des interactions passées ou de la réputation de l’auteur. <br />
<br />
L’équipe MSRC<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://www.microsoft.com/en-us/msrc/blog/2026/05/a-shared-responsibility-protecting-customers-through-coordinated-vulnerability-disclosure" target="_blank">Communiqué de Microsoft</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que ce communiqué est crédible ou pertinent ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://securite.developpez.com/actu/383240/La-nouvelle-faille-de-securite-zero-day-YellowKey-de-BitLocker-sous-Windows-permet-en-etant-muni-d-une-cle-USB-de-deverrouiller-des-disques-chiffres-sous-Windows-11-et-Windows-Server-2022-2025/" target="_blank">La nouvelle faille de sécurité zero-day YellowKey de BitLocker sous Windows, permet en étant muni d'une clé USB de déverrouiller des disques chiffrés sous Windows 11 et Windows Server 2022/2025</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/382812/GPT-5-5-d-OpenAI-rivalise-avec-Claude-Mythos-d-Anthropic-en-matiere-de-capacites-de-cyberattaque-la-cybermenace-representee-par-Mythos-ne-serait-pas-une-avancee-propre-a-un-seul-modele/" target="_blank">GPT-5.5 d'OpenAI rivalise avec Claude Mythos d'Anthropic en matière de capacités de cyberattaque : la cybermenace représentée par Mythos ne serait pas une avancée propre à un seul modèle</a><br />
<br />
:fleche: <a href="https://securite.developpez.com/actu/383351/L-IA-de-pointe-a-bouleverse-le-format-ouvert-des-CTF-rendant-les-competitions-traditionnelles-de-Capture-The-Flag-inefficaces-pour-evaluer-les-competences-en-cybersecurite-dans-le-monde-reel/" target="_blank">L'IA de pointe a bouleversé le format ouvert des CTF, rendant les compétitions traditionnelles de Capture The Flag inefficaces pour évaluer les compétences en cybersécurité dans le monde réel</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184006/dotnet/general-dotnet/microsoft-menace-poursuites-penales-chercheur-securite-avait-publie-failles/</guid>
		</item>
		<item>
			<title><![CDATA[Microsoft annonce la préversion publique de l'outil d'évaluation des agents Microsoft 365 Copilot]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183690&amp;goto=newpost</link>
			<pubDate>Tue, 12 May 2026 19:18:00 GMT</pubDate>
			<description>*Microsoft annonce la...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft annonce la préversion publique de l'outil d'évaluation des agents Microsoft 365 Copilot, qui aide les développeurs à mesurer et à améliorer la qualité des agents créés avec Microsoft 365 Copilot</font></b><br />
<br />
<b>Microsoft a annoncé la préversion publique de l'outil d'évaluation des agnets de Microsoft 365 Copilot. L'outil CLI « Agent Evaluations » aide les développeurs à mesurer et à améliorer la qualité des agents qu'ils créent avec Microsoft 365 Copilot. Cette version constitue une étape vers l’intégration d’une évaluation rigoureuse et reproductible dans le processus de développement de Microsoft 365 Copilot, parallèlement aux travaux plus généraux menés sur l’ensemble de la plateforme, de Work IQ à la création d’agents avec le Microsoft 365 Agents Toolkit.</b> <br />
<br />
Début mai 2026, Microsoft a annoncé la préversion publique de l'outil d'évaluation des agnets de Microsoft 365 Copilot. L'outil CLI « Agent Evaluations » aide les développeurs à mesurer et à améliorer la qualité des agents qu'ils créent pour Microsoft 365 Copilot. Cet outil fournit une interface de ligne de commande qui envoie des invites à un agent déployé, capture les réponses et les note à l'aide des modèles LLM Azure OpenAI. Il génère des rapports structurés que les développeurs peuvent utiliser dans leur boucle de développement interne et dans leurs pipelines CI/CD. <br />
<br />
Cette version constitue une étape vers l’intégration d’une évaluation rigoureuse et reproductible dans le processus de développement de Microsoft 365 Copilot, parallèlement aux travaux plus généraux menés sur l’ensemble de la plateforme, de Work IQ à la création d’agents avec le Microsoft 365 Agents Toolkit. <br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676315d1778683728/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 3238
Taille : 55,9 Ko"  style="float: CONFIG" /></div><br />
<b>Pourquoi les évaluations sont-elles importantes aujourd’hui ? </b><br />
<br />
Selon Microsoft, sa mission est de permettre aux partenaires, aux éditeurs de logiciels indépendants (ISV) et aux développeurs d'entreprise d'étendre Microsoft 365 Copilot avec des agents, des actions et des connaissances personnalisés, afin que Copilot puisse raisonner à partir de n'importe quelle donnée et agir sur n'importe quel système.<br />
<br />
À mesure que les agents passent du stade de la démonstration à celui des workflows métier essentiels, les exigences en matière de livraison augmentent en conséquence. Les clients attendent des agents précis, fiables et cohérents face à l'ensemble des invites réelles qu'ils reçoivent. Pour répondre à ces attentes, les tests manuels ne suffisent pas. Il faut un cadre d’évaluation objectif, reproductible et intégré au flux de travail des développeurs. L’outil Agent Evaluations est conçu pour rendre cela possible. <br />
<br />
<b>Contenu de la préversion publique</b> <br />
<br />
La préversion publique intègre le cycle d’évaluation complet dans un flux de travail simple en ligne de commande. L’interface CLI est conçue pour s’intégrer naturellement à la manière dont les développeurs Microsoft 365 créent déjà des agents. Les développeurs peuvent invoquer l’interface CLI pour évaluer des agents déclaratifs directement dans le Microsoft 365 Agents Toolkit.<br />
<br />
- L’outil prend en charge l’évaluation de conversations à un ou plusieurs tours afin de permettre de tester la manière dont un agent conserve le contexte, gère les relances et accomplit des tâches de bout en bout, à l’image de la façon dont les utilisateurs réels interagissent avec lui.  <br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676316d1778683738/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 592
Taille : 51,8 Ko"  style="float: CONFIG" /></div><br />
- L'outil offre une expérience simple pour sélectionner l'agent sur lequel effectuer une évaluation. Le sélecteur d'agent interactif garantit que les équipes de test, aux côtés des équipes de développement, peuvent évaluer les agents.  <br />
<br />
- Les réponses sont ensuite notées automatiquement par rapport à des évaluateurs tels que Coherence, Groundedness (basé sur un LLM) ou ExactMatch /PartialMatch (basé sur du code), et d'autres évaluateurs.<br />
<br />
- Les résultats sont présentés dans un rapport sous forme de tableau de bord HTML. Les développeurs peuvent utiliser ce tableau de bord comme un artefact partageable qui capture des preuves objectives de la qualité des agents tout au long de leur boucle interne, de leurs revues de code et de leurs pipelines CI/CD.  <br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676317d1778683758/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/3.jpg/" border="0" alt="Nom : 3.jpg
Affichages : 592
Taille : 24,5 Ko"  style="float: CONFIG" /></div><br />
Vous pouvez également accéder à la fonctionnalité d'évaluation où que vous codiez avec vos agents de codage.<br />
<br />
L'outil en préversion est gratuit à installer pendant la préversion publique. Vous aurez besoin d'une licence Microsoft 365 Copilot, d'un agent déployé sur votre tenant, de Node.js 24.12.0 ou une version ultérieure, de l'autorisation de l'administrateur pour exécuter l'outil sur votre tenant, et d'un point de terminaison Azure OpenAI pour les évaluateurs LLM-judge. Demandez à votre administrateur d'activer l'outil pour votre tenant dès aujourd'hui.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://devblogs.microsoft.com/microsoft365dev/announcing-the-public-preview-of-the-microsoft-365-copilot-agent-evaluations-tool/" target="_blank">Annonce de Microsoft</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381878/Microsoft-annonce-la-version-1-0-de-Microsoft-Agent-Framework-pour-NET-et-Python-offrant-une-orchestration-multi-agents-de-niveau-entreprise-et-la-prise-en-charge-de-modeles-d-IA-multi-fournisseurs/" target="_blank">Microsoft annonce la version 1.0 de Microsoft Agent Framework pour .NET et Python, offrant une orchestration multi-agents de niveau entreprise et la prise en charge de modèles d'IA multi-fournisseurs</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381886/Microsoft-precise-que-l-IA-Copilot-est-destinee-uniquement-a-des-fins-de-divertissement-que-son-utilisation-se-fait-a-vos-propres-risques-et-qu-il-ne-faut-pas-s-y-fier-pour-prendre-des-decisions-importantes/" target="_blank">Microsoft précise que l'IA Copilot est destinée uniquement à des fins de divertissement, que son utilisation se fait à vos propres risques et qu'il ne faut pas s'y fier pour prendre des décisions importantes</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/381248/Mistral-AI-mise-sur-la-creation-d-IA-sur-mesure-et-annonce-Mistral-Forge-une-plateforme-permettant-aux-entreprises-de-creer-des-modeles-personnalises-entraines-a-partir-de-leurs-propres-donnees/" target="_blank">Mistral AI mise sur la « création d'IA sur mesure » et annonce Mistral Forge, une plateforme permettant aux entreprises de créer des modèles personnalisés entraînés à partir de leurs propres données</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p676315d1778683728/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676316d1778683738/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676317d1778683758/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/3.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183690/dotnet/general-dotnet/microsoft-annonce-preversion-publique-l-outil-d-evaluation-agents-microsoft-365-copilot/</guid>
		</item>
		<item>
			<title><![CDATA[Microsoft a été surpris en train d'insérer discrètement « Co-Authored-by Copilot » dans les commits de VS Code]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183564&amp;goto=newpost</link>
			<pubDate>Mon, 04 May 2026 18:32:57 GMT</pubDate>
			<description>*Microsoft a été surpris en...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft a été surpris en train d'insérer discrètement « Co-Authored-by Copilot » dans les commits de VS Code, même lorsque l'IA était désactivée, ce qui a suscité de la frustration et de la confusion</font></b><br />
<br />
<b>Une pull request pour VS Code suscite actuellement le mécontentement sur GitHub : elle fait de Copilot le co-auteur par défaut de chaque message de commit, à condition que l'outil IA ait été utilisé pour les modifications apportées à un projet à l'aide du logiciel de programmation VS Code. Au sein de la communauté des développeurs, cette mesure a suscité de la frustration, ainsi qu'une certaine confusion sur le sujet. Plusieurs utilisateurs se plaignent que Copilot soit également mentionné alors que l’outil n’a pas été utilisé du tout. Pourtant, selon Microsoft, la mention automatique de Copilot devrait se limiter aux cas où l’assistance par chatbot ou agent IA a été utilisée.</b><br />
<br />
Visual Studio Code (communément appelé VS Code) est un environnement de développement intégré développé par Microsoft pour Windows, Linux, macOS et les navigateurs Web. Il offre notamment des fonctionnalités de débogage, de mise en évidence de la syntaxe, de complétion intelligente du code, d'extraits de code, de refactorisation du code et de contrôle de version intégré avec Git. Les utilisateurs peuvent modifier le thème, les raccourcis clavier et les préférences, ainsi qu'installer des extensions qui ajoutent des fonctionnalités, notamment pour étendre ses capacités afin qu'il puisse fonctionner comme un EDI pour d'autres langages.<br />
<br />
GitHub Copilot est un assistant de programmation basé sur l'IA, développé par GitHub et OpenAI, qui aide les utilisateurs des environnements de développement intégrés (IDE) Visual Studio Code, Visual Studio, Neovim, Eclipse et JetBrains en complétant automatiquement le code. Actuellement disponible sur abonnement pour les développeurs individuels et les entreprises, ce logiciel d'intelligence artificielle générative a été annoncé pour la première fois par GitHub le 29 juin 2021. Les utilisateurs peuvent choisir le grand modèle de langage utilisé pour la génération.<br />
<br />
Début mai, <a href="https://visualstudio.developpez.com/actu/382792/Microsoft-publie-Visual-Studio-Code-1-118-qui-introduit-la-gestion-a-distance-des-sessions-Copilot-CLI-l-application-Visual-Studio-Code-Agents-en-preversion-et-l-indexation-semantique/" target="_blank">Microsoft a publié Visual Studio Code 1.118</a> qui introduit la gestion à distance des sessions Copilot CLI, permettant aux utilisateurs de suivre et de gérer les sessions actives depuis GitHub.com ou des appareils mobiles. L'indexation sémantique et la recherche dans la base de code sont désormais disponibles dans tous les espaces de travail, améliorant ainsi la découverte du code et la précision des réponses de Copilot, quelle que soit l'origine du référentiel. L'expérience Agents dans VS Code Insiders est plus facile d'accès, prend désormais en charge le partage d'état et l'intégration de l'agent Claude, et peut également être utilisée via un client web.<br />
<br />
Mais récemment, une pull request pour VS Code suscite actuellement le mécontentement sur GitHub : elle fait de Copilot le co-auteur par défaut de chaque message de commit, à condition que l'outil IA ait été utilisé pour les modifications apportées à un projet à l'aide du logiciel de programmation VS Code. Au sein de la communauté des développeurs, cette mesure a suscité de la frustration, ainsi qu'une certaine confusion sur le sujet. Cependant, toute personne ne souhaitant pas partager le message de commit avec Copilot peut désactiver ce paramètre.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676118d1777920727/dotnet/general-dotnet/microsoft-ete-surpris-train-d-inserer-discretement-co-authored-by-copilot-commits-vs-code/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 5068
Taille : 25,2 Ko"  style="float: CONFIG" /></div><br />
Selon la description de la pull request, le paramètre <b>git.addAICoAuthor</b> de l'extension Git pour VS Code est défini par défaut sur « all ». Conséquence : si une fonctionnalité de Copilot est utilisée pour une modification de code, comme les complétions en ligne ou l'utilisation d'un agent, cela est indiqué dans le message de commit lors de la publication sur Git. On peut alors lire « Co-authored-by: Copilot <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">copilot@github.com</span> ».<br />
<br />
Cela a d'abord semé la confusion au sein de la communauté ; certains utilisateurs ont désespérément tenté de supprimer manuellement la mention de Copilot du message de commit – pour la retrouver après publication, comme le rapporte quelqu'un dans ce fil de discussion Git. Pendant ce temps, les plaintes des utilisateurs s’accumulent sous la pull request elle-même. Beaucoup sont agacés par le manque de communication concernant ce changement et signalent également le comportement initialement inexplicable des messages de commit. Mais il semble y avoir des problèmes plus graves : plusieurs utilisateurs se plaignent que Copilot soit également mentionné alors que l’outil n’a pas été utilisé du tout.<br />
<br />
Ce nouveau comportement peut être désactivé via les paramètres de VS Code. Le menu correspondant est accessible via l’icône en forme d’engrenage en bas à gauche. Ici, sous Paramètres &gt; Extensions &gt; Git, l’option « off » doit être sélectionnée sous « Add AI Co Author ». Il est également possible de saisir « git.addAICoAuthor » : « off » dans le fichier settings.json. Selon Microsoft, la mention automatique de Copilot devrait donc se limiter aux cas où l’assistance par chatbot ou agent IA a été utilisée. Toutefois, si vous voulez en être sûr, vous devriez absolument choisir le paramètre « off ».<br />
<br />
Ce rapport intervient alors que <a href="https://microsoft.developpez.com/actu/381886/Microsoft-precise-que-l-IA-Copilot-est-destinee-uniquement-a-des-fins-de-divertissement-que-son-utilisation-se-fait-a-vos-propres-risques-et-qu-il-ne-faut-pas-s-y-fier-pour-prendre-des-decisions-importantes/" target="_blank">Microsoft a mis à jour les conditions d'utilisation de ses outils d'IA Copilot</a>. La société indique que Copilot est destiné « uniquement à des fins de divertissement » et que son utilisation se fait à vos propres risques. Il semble que les nouvelles conditions d’utilisation visent à transférer la responsabilité des éventuelles inexactitudes commises par Copilot. Microsoft ne vous demande pas exactement de cesser complètement d'utiliser Copilot pour votre travail. Elle souhaite plutôt que vous utilisiez Copilot comme un outil, et non comme un décideur. L'entreprise souhaite que les utilisateurs vérifient les informations fournies par Copilot avant de s'y fier pour tout travail important.<br />
<br />
Elle est surprenante également car <a href="https://microsoft.developpez.com/actu/381516/Copilot-se-transforme-en-desastre-pour-Microsoft-Microsoft-brandit-la-menace-judiciaire-face-a-l-accord-Amazon-OpenAI-a-50-milliards-pendant-qu-OpenAI-pousse-les-limites-de-leur-exclusivite-cloud/" target="_blank">Copilot s'est transformé en désastre pour Microsoft.</a> De la retraite discrète de Copilot sur Windows 11 à la menace d'un procès fleuve contre OpenAI et Amazon, Microsoft a traversé une période révélatrice de ses contradictions profondes fin mars 2026. D'un côté, l'entreprise admet avoir trop poussé l'IA dans la gorge de ses utilisateurs et entreprend de dégraisser Windows 11. De l'autre, elle agite l'arme juridique pour protéger un monopole cloud que son ancien partenaire cherche activement à fuir. Par ailleurs, sur le marché des outils de développement, les développeurs lui préfèrent massivement la concurrence. Et dans les couloirs de Redmond même, les ingénieurs de Microsoft sont encouragés à utiliser Claude Code d'Anthropic, l'outil concurrent, pour faire leur travail. Copilot s'effondre sur tous les fronts à la fois.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://github.com/microsoft/vscode/pull/310226" target="_blank">Pull request pour VS Code</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette proposition est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://droit.developpez.com/actu/382670/A-qui-appartient-le-code-genere-par-Claude-Copilot-ou-Cursor-Donner-des-instructions-a-une-IA-suffit-il-pour-en-etre-l-auteur-legal/" target="_blank">À qui appartient le code généré par Claude, Copilot ou Cursor ? Donner des instructions à une IA suffit-il pour en être l'auteur légal ?</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/371155/Un-developpeur-signale-que-l-IA-de-Microsoft-GitHub-Copilot-s-est-activee-sans-son-consentement-explicite-dans-des-espaces-de-travail-prives-les-exposant-a-des-risques-de-securite-et-de-confidentialite/" target="_blank">Un développeur signale que l'IA de Microsoft GitHub Copilot s'est activée sans son consentement explicite dans des espaces de travail privés. Les exposant à des risques de sécurité et de confidentialité</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/371580/30-pourcent-du-code-de-Microsoft-a-ete-genere-par-l-IA-Copilot-selon-son-PDG-Innovation-ou-dependance-algorithmique-La-technologie-s-impose-dans-l-environnement-quotidien-des-developpeurs-Microsoft/" target="_blank">30 % du code de Microsoft a été généré par l'IA Copilot, selon son PDG. Innovation ou dépendance algorithmique ? La technologie s'impose dans l'environnement quotidien des développeurs Microsoft</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p676118d1777920727/dotnet/general-dotnet/microsoft-ete-surpris-train-d-inserer-discretement-co-authored-by-copilot-commits-vs-code/1.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183564/dotnet/general-dotnet/microsoft-ete-surpris-train-d-inserer-discretement-co-authored-by-copilot-commits-vs-code/</guid>
		</item>
		<item>
			<title>Microsoft met en open source « le plus ancien code source DOS découvert à ce jour »</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183521&amp;goto=newpost</link>
			<pubDate>Fri, 01 May 2026 12:51:23 GMT</pubDate>
			<description>*Microsoft met en open source...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft met en open source « le plus ancien code source DOS découvert à ce jour », le code source de l'ancien 86-DOS remonte à l'époque précédant son rachat par Microsoft</font></b><br />
<br />
<b>Microsoft a récemment publié les documents de code source DOS les plus anciens connus à ce jour pour marquer le 45e anniversaire de 86-DOS 1.00. Cette nouvelle initiative de préservation des logiciels comprend les listes de source du noyau 86-DOS 1.00, plusieurs instantanés de développement du noyau PC-DOS 1.00 et des premiers utilitaires, dont CHKDSK. L'entreprise a décrit ces documents comme s'apparentant à un historique des commits imprimé, indiquant quand des fonctionnalités ont été ajoutées, quelles erreurs sont apparues et comment elles ont été corrigées. « <i>Aujourd'hui, à l'occasion du 45e anniversaire de 86-DOS 1.00, nous perpétuons cette tradition en préservant le plus ancien code source DOS découvert à ce jour</i> », a déclaré Microsoft. </b><br />
<br />
Microsoft a annoncé le jeudi 25 avril 2024 que <a href="https://systeme.developpez.com/actu/357016/Microsoft-publie-le-code-source-de-son-systeme-d-exploitation-MS-DOS-4-0-developpe-conjointement-avec-IBM-il-est-disponible-sous-licence-MIT-comme-le-code-source-de-MS-DOS-1-1-et-MS-DOS-2-0/" target="_blank">le code source original de son système d'exploitation emblématique MS-DOS 4.0 est désormais open source</a>. Le référentiel GitHub de MS-DOS 4.0 contient également le code source original et les binaires compilés pour MS-DOS 1.25 et MS-DOS 2.0. Les fichiers de MS-DOS 1.25 et 2.0 ont été initialement partagés au Computer History Museum le 25 mars 2014, mais Microsoft les a (re)publiés sur ce dépôt pour les rendre plus faciles à trouver, à référencer dans des écrits et travaux externes, et pour permettre l'exploration et l'expérimentation pour ceux qui s'intéressent aux premiers systèmes d'exploitation pour PC.<br />
<br />
Dans la continuité de cette initiative, Microsoft a récemment publié les documents de code source DOS les plus anciens connus à ce jour pour marquer le 45e anniversaire de 86-DOS 1.00. 86-DOS (connu en interne sous le nom de QDOS, pour « Quick and Dirty Operating System ») est un système d'exploitation aujourd'hui abandonné, développé et commercialisé par Seattle Computer Products (SCP) pour son kit informatique basé sur le processeur Intel 8086. 86-DOS partageait certaines de ses commandes avec d'autres systèmes d'exploitation tels que OS/8 et CP/M, ce qui facilitait le portage de programmes depuis ces derniers. Son interface de programmation d'applications était très similaire à celle de CP/M. Le système a été concédé sous licence puis racheté par Microsoft, qui l'a développé davantage sous les noms de MS-DOS et IBM PC DOS. <br />
<br />
Microsoft a acheté une licence non exclusive pour 86-DOS à Seattle Computer Products en décembre 1980 pour 25 000 dollars américains. En mai 1981, elle a embauché Tim Paterson pour porter le système sur le PC IBM, qui utilisait le processeur Intel 8088, plus lent et moins cher, et disposait de sa propre gamme spécifique de périphériques. En juillet 1981, un mois avant la sortie du PC, Microsoft a racheté tous les droits sur 86-DOS à SCP pour 50 000 dollars américains. Microsoft a concédé une licence d'utilisation de 86-DOS à IBM, et celui-ci est devenu PC DOS 1.0. Cette licence permettait également à Microsoft de vendre DOS à d'autres entreprises, ce qu'elle a fait, mais cela a causé un litige avec Seattle Computer Products devant le tribuna. <br />
<br />
Cette nouvelle initiative de préservation des logiciels, rendre open source le code de 86-DOS 1.00, comprend les listes de source du noyau 86-DOS 1.00, plusieurs instantanés de développement du noyau PC-DOS 1.00 et des premiers utilitaires, dont CHKDSK. Ces documents ont été conservés par Tim Paterson, l'auteur original de DOS, et offrent un aperçu de la manière dont les premiers systèmes d'exploitation pour ordinateurs personnels ont été conçus et révisés. « <i>Aujourd'hui, à l'occasion du 45e anniversaire de 86-DOS 1.00, nous perpétuons cette tradition en préservant le plus ancien code source DOS découvert à ce jour</i> », a déclaré Microsoft. « <i>Ces publications visent à rendre accessibles des logiciels système d'importance historique à des fins d'étude, de préservation et de simple curiosité.</i> »<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676088d1777640846/dotnet/general-dotnet/microsoft-met-open-source-plus-ancien-code-source-dos-decouvert-jour/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 77794
Taille : 61,7 Ko"  style="float: CONFIG" /></div><br />
Cette dernière publication s'inscrit dans le cadre du travail plus large de Microsoft en matière de préservation des logiciels. En 2018, la société a mis à disposition en open source les versions MS-DOS 1.25 et 2.11. Elle a poursuivi sur cette lancée en 2024 avec la publication de MS-DOS 4.0. La récente publication remonte encore plus loin, jusqu'aux tout premiers stades du développement du DOS.<br />
<br />
DOS, abréviation de Disk Operating System, est devenu l’un des éléments centraux du marché des premiers PC. Ses origines remontent aux travaux de Paterson chez Seattle Computer Products, où il a développé 86-DOS, initialement connu sous le nom de QDOS (Quick and Dirty Operating System), pour le processeur Intel 8086. Microsoft a acquis 86-DOS en 1981 et l'a adapté en MS-DOS pour le premier PC d'IBM. Le système d'exploitation est rapidement devenu un élément clé de l'écosystème compatible IBM PC et a contribué à asseoir la position de Microsoft sur le marché des logiciels tout au long des années 1980 et au début des années 1990.<br />
<br />
Ces nouveaux documents ne se limitent pas aux fichiers sources. Microsoft a indiqué que cette publication comprend des listages numérisés, des documents internes, des impressions d'assembleur et d'autres artefacts de développement datant de cette période. « <i>L'histoire du logiciel réside dans le code, certes, mais aussi dans les listages numérisés, les documents internes, les impressions d'assembleur et les artefacts parfois merveilleusement analogiques qui témoignent de la manière dont les systèmes d'exploitation ont vu le jour à la fin des années 1970 et au début des années 1980</i> », indique le message.<br />
<br />
Selon Microsoft, ces listages ne se limitent pas au code du produit final. Ils capturent également les étapes intermédiaires du développement, les notes manuscrites et les modifications apportées au fil du temps. L'entreprise a décrit ces documents comme s'apparentant à un historique des commits imprimé, indiquant quand des fonctionnalités ont été ajoutées, quelles erreurs sont apparues et comment elles ont été corrigées.<br />
<br />
Une équipe dirigée par Yufeng Gao et Rich Cini s'est chargée de localiser, numériser et transcrire les listages sources. Les documents physiques originaux, donnés par Paterson, devraient être mis à disposition pour consultation à l’Interim Computer Museum. Le code source et les listes numérisées sont désormais disponibles via le dépôt GitHub DOS-History/Paterson-Listings sous licence MIT. Cette publication met ces documents à la disposition des chercheurs, des amateurs et de toute autre personne intéressée par les débuts de l’histoire des systèmes d’exploitation pour PC.<br />
<br />
Voici l'annonce de Microsoft :<br />
<br />
<b><font size="3">Poursuivre l'histoire des débuts du développement du DOS</font></b><br />
<br />
Au cours des dernières années, nous nous sommes attachés à mettre en lumière certains des premiers chapitres de l'histoire des systèmes d'exploitation de Microsoft. En 2018, nous avons (re)mis en open source les versions 1.25 et 2.11 de MS-DOS, et plus récemment, en 2024, nous avons également pu mettre à la disposition du public le code source de MS-DOS 4.0. Aujourd’hui, à l’occasion du 45e anniversaire de 86-DOS 1.00, nous poursuivons cette tradition en préservant le code source DOS le plus ancien découvert à ce jour. Ces publications visent à rendre accessibles des logiciels système d’importance historique à des fins d’étude, de préservation et, tout simplement, de curiosité.<br />
<br />
Mais ce travail ne s’arrête pas à un dépôt GitHub. L’histoire du logiciel réside certes dans le code, mais aussi dans des listes de programmes numérisées, des documents internes, des impressions d’assembleur et les artefacts parfois merveilleusement analogiques qui témoignent de la manière dont les systèmes d’exploitation ont vu le jour à la fin des années 1970 et au début des années 1980. Si vous avez lu l’annonce originale concernant la réouverture du code source de MS-DOS 1.25 et 2.0 sur le blog Windows Command Line, vous savez à quel point le contexte est important pour comprendre d’où viennent les plateformes d’aujourd’hui.<br />
<br />
Nous sommes ravis aujourd’hui de vous présenter de nouveaux documents de code source qui offrent un aperçu encore plus ancien du développement de PC-DOS 1.00, la première version de DOS pour l’IBM PC. Une équipe dédiée d’historiens et de conservateurs, dirigée par Yufeng Gao et Rich Cini, s’est attelée à localiser, numériser et transcrire la pile de listes de sources de l’époque DOS provenant de Tim Paterson, l’auteur de DOS.<br />
<br />
Ces listes comprennent les sources du noyau 86-DOS 1.00, plusieurs instantanés de développement du noyau PC-DOS 1.00, ainsi que certains utilitaires bien connus tels que CHKDSK. Il ne s'agissait pas seulement de listes d'assemblage, mais aussi de listes de l'assembleur lui-même ! Ce travail offre un aperçu rare de la genèse de MS-DOS/PC-DOS et de la manière dont le développement des systèmes d'exploitation se faisait à l'époque, et non telle qu'elle a été reconstituée par la suite.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p676089d1777640898/dotnet/general-dotnet/microsoft-met-open-source-plus-ancien-code-source-dos-decouvert-jour/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 15107
Taille : 72,6 Ko"  style="float: CONFIG" /></div><br />
Il convient également de noter que ces documents ne sont pas simplement des versions de système d'exploitation au sens traditionnel du terme. Dans plusieurs cas, les listings représentent des états de fonctionnement à un moment donné et des notes manuscrites, conservées par Tim Paterson lui-même. Considérez-les comme un historique des commits imprimé d'un dépôt Git. Ils créent une chronologie des modifications, montrant quelles fonctionnalités ont été implémentées quand, quelles erreurs ont été commises et comment elles ont été corrigées. Vous pourrez bientôt découvrir ces artefacts vivants à l’Interim Computer Museum, car ils ont été généreusement donnés par Tim Paterson.<br />
<br />
Nous tenons à remercier toutes les personnes qui ont participé à la conservation et à la mise en valeur de ces documents de manière responsable et accessible. Ce type d’archéologie logicielle nécessite un véritable effort en matière d’examen juridique, de travail d’archivage et de validation technique, et constitue un élément important de la préservation de l’histoire commune de notre secteur.<br />
<br />
Si vous souhaitez vous plonger vous-même dans ces listages anciens, nous vous encourageons à consulter les articles complets de l'équipe sur le site web de Yufeng et celui de Rich, ainsi que les recherches de Joshua sur la reconnaissance optique de caractères (OCR) des listages d'imprimantes. Pour un aperçu du processus par des initiés, explorez les listes numérisées et le code OCR sur DOS-History/Paterson-Listings, pour lequel nous avons travaillé avec les responsables afin d'obtenir une licence MIT via une pull request pour les chercheurs, les amateurs et les passionnés comme nous ! <br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://opensource.microsoft.com/blog/2026/04/28/continuing-the-story-of-early-dos-development/" target="_blank">Annonce de Microsoft</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://www.developpez.com/actu/352567/86-DOS-0-1-la-plus-ancienne-version-connue-du-predecesseur-de-MS-DOS-a-ete-retrouvee-et-postee-sur-la-toile-son-archive-ne-contient-que-9-fichiers-en-comparaison-des-4-millions-de-Windows-10/" target="_blank">86 DOS 0.1, la plus ancienne version connue du prédécesseur de MS DOS, a été retrouvée et postée sur la toile. Son archive ne contient que 9 fichiers en comparaison des 4 millions de Windows 10</a><br />
<br />
:fleche: <a href="https://www.developpez.com/actu/69334/Microsoft-publie-le-code-source-de-MS-DOS-1-1-et-2-0-et-de-Word-pour-Windows-1-1a-sur-le-site-du-Computer-History-Museum/" target="_blank">Microsoft publie le code source de MS-DOS 1.1 et 2.0, et de Word pour Windows 1.1a, sur le site du Computer History Museum</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/372226/Microsoft-rend-open-source-le-sous-systeme-Windows-pour-Linux-WSL-pres-de-dix-ans-apres-le-debut-de-son-developpement-les-developpeurs-pourront-telecharger-le-code-du-WSL/" target="_blank">Microsoft rend open source le sous-système Windows pour Linux (WSL) près de dix ans après le début de son développement. Les développeurs pourront télécharger le code du WSL</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p676089d1777640898/dotnet/general-dotnet/microsoft-met-open-source-plus-ancien-code-source-dos-decouvert-jour/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p676088d1777640846/dotnet/general-dotnet/microsoft-met-open-source-plus-ancien-code-source-dos-decouvert-jour/1.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183521/dotnet/general-dotnet/microsoft-met-open-source-plus-ancien-code-source-dos-decouvert-jour/</guid>
		</item>
		<item>
			<title>Découvrez les types union dans C# 15, par Bill Wagner</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183189&amp;goto=newpost</link>
			<pubDate>Mon, 13 Apr 2026 15:42:01 GMT</pubDate>
			<description>*Découvrez les types union...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Découvrez les types union dans C# 15, par Bill Wagner</font></b> <br />
<br />
Les types union étaient très attendus dans C#, et ils sont enfin là. À partir de .NET 11 Preview 2, C# 15 introduit le mot-clé <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span>. Le mot-clé <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span> permet de déclarer qu’une valeur appartient exactement à l’un des types d’un ensemble fixe, avec une correspondance de motifs exhaustive imposée par le compilateur. Si vous avez déjà utilisé des unions discriminées en F# ou des fonctionnalités similaires dans d'autres langages, vous vous sentirez comme chez vous. Mais les unions C# sont conçues pour une expérience native de C# : ce sont des unions de types qui composent des types existants, s'intègrent à la correspondance de motifs que vous connaissez déjà et fonctionnent de manière transparente avec le reste du langage.<br />
<br />
<b><font size="3">Que sont les types union ?</font></b><br />
<br />
Avant C# 15, lorsqu'une méthode devait renvoyer l'un de plusieurs types possibles, les options disponibles étaient imparfaites. L'utilisation de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">object</span></span> n'imposait aucune contrainte sur les types réellement stockés : n'importe quel type pouvait s'y retrouver, et l'appelant devait écrire une logique défensive pour les valeurs inattendues. Les interfaces marqueurs et les classes de base abstraites étaient meilleures car elles restreignaient l'ensemble des types, mais elles ne peuvent pas être « fermées » : n'importe qui peut implémenter l'interface ou dériver de la classe de base, de sorte que le compilateur ne peut jamais considérer l'ensemble comme complet. Et ces deux approches exigent que les types partagent un ancêtre commun, ce qui ne fonctionne pas lorsque vous souhaitez une union de types sans rapport entre eux, comme <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">string</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Exception</span>, ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">int</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IEnumerable&lt;T&gt;</span>.<br />
<br />
Les types union résolvent ces problèmes. Une union déclare un ensemble fermé de types de cas — ils n’ont pas besoin d’être liés les uns aux autres, et aucun autre type ne peut être ajouté. Le compilateur garantit que les expressions <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">switch</span></span> traitant l’union sont exhaustives, couvrant tous les types de cas sans nécessiter de branche discard <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">_</span> ou par défaut. Mais cela va au-delà de l’exhaustivité : les unions permettent des conceptions que les hiérarchies traditionnelles ne peuvent pas exprimer, en composant n’importe quelle combinaison de types existants en un seul contrat vérifié par le compilateur.<br />
<br />
Voici la déclaration la plus simple :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">public</span> record <span style="color: #0000ff;">class</span> Cat<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> Name<span class="br0">&#41;</span>;
<span style="color: #0000ff;">public</span> record <span style="color: #0000ff;">class</span> Dog<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> Name<span class="br0">&#41;</span>;
<span style="color: #0000ff;">public</span> record <span style="color: #0000ff;">class</span> Bird<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> Name<span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">public</span> union Pet<span class="br0">&#40;</span>Cat, Dog, Bird<span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
Cette seule ligne déclare <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Pet</span> comme un nouveau type dont les variables peuvent contenir un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Cat</span>, un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Dog</span> ou un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Bird</span>. Le compilateur fournit des conversions implicites à partir de chaque type de cas, ce qui vous permet de leur attribuer directement n’importe lequel d’entre eux :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0">Pet pet = <span style="color: #0000ff;">new</span> Dog<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Rex&quot;</span><span class="br0">&#41;</span>;
Console.WriteLine<span class="br0">&#40;</span>pet.Value<span class="br0">&#41;</span>; <span style="color: #808080;">// Dog { Name = Rex }</span>
&nbsp;
Pet pet2 = <span style="color: #0000ff;">new</span> Cat<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Whiskers&quot;</span><span class="br0">&#41;</span>;
Console.WriteLine<span class="br0">&#40;</span>pet2.Value<span class="br0">&#41;</span>; <span style="color: #808080;">// Cat { Name = Whiskers }</span></pre></td></tr></table></code><hr />
</div><br />
<br />
Le compilateur génère une erreur si vous attribuez à un objet <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Pet</span> une instance d’un type qui ne fait pas partie des types de cas.<br />
<br />
Lorsque vous utilisez une instance d'un type <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span> dont on sait qu'elle n'est pas nulle, le compilateur connaît l'ensemble complet des types de cas, de sorte qu'une expression <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">switch</span></span> qui les couvre tous est exhaustive — aucune branche de rejet n'est nécessaire :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">string</span> name = pet <span style="color: #0000ff;">switch</span>
<span class="br0">&#123;</span>
    Dog d =&gt; d.Name,
    Cat c =&gt; c.Name,
    Bird b =&gt; b.Name,
<span class="br0">&#125;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
Les types <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Dog</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Cat</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Bird</span> sont tous des types non nuls. La variable <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">pet</span> est connue pour être non nulle, elle a été définie dans l'extrait de code précédent. Par conséquent, cette expression <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">switch</span></span> n’a pas besoin de vérifier la valeur <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">null</span>. Si l’un des types est nullable, par exemple <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">int</span>?</span> ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Bird?</span>, toutes les expressions <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">switch</span></span> pour une instance <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Pet</span> auraient besoin d’une branche <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">null</span> pour être exhaustives. Si vous ajoutez plus tard un quatrième type de cas à <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Pet</span>, toute expression <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">switch</span></span> qui ne le gère pas génère un avertissement du compilateur. C’est l’un des principes fondamentaux : le compilateur détecte les cas manquants au moment de la compilation, et non à l’exécution.<br />
<br />
Les modèles s'appliquent à la propriété <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> de l'union, et non à la structure d'union elle-même. Ce « déballage » est automatique : vous écrivez <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Dog d</span> et le compilateur vérifie <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> pour vous. Les deux exceptions sont <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">var</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">_</span>, qui s'appliquent à la valeur de l'union elle-même afin que vous puissiez capturer ou ignorer l'union dans son ensemble.<br />
<br />
Pour les types <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span>, le modèle <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">null</span> vérifie si <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> est nulle. La valeur par <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">d&eacute;faut</span> d'une structure d'union a une valeur <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> null :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td valign="top"><pre style="margin: 0">Pet pet = <span style="color: #0000ff;">default</span>;
&nbsp;
<span style="color: #0000ff;">var</span> description = pet <span style="color: #0000ff;">switch</span>
<span class="br0">&#123;</span>
    Dog d =&gt; d.Name,
    Cat c =&gt; c.Name,
    Bird b =&gt; b.Name,
    <span style="color: #0000ff;">null</span> =&gt; <span style="color: #FF0000;">&quot;no pet&quot;</span>,
<span class="br0">&#125;</span>;
<span style="color: #808080;">// description is &quot;no pet&quot;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
L'exemple <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Pet</span> illustre la syntaxe. Explorons maintenant des scénarios concrets pour les types union.<br />
<br />
<b><font size="3">OneOrMore&lt;T&gt; — valeur unique ou collection</font></b><br />
<br />
Les API acceptent parfois soit un élément unique, soit une collection. Une union avec un corps vous permet d'ajouter des membres d'aide aux côtés des types de cas. La déclaration <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">OneOrMore&lt;T&gt;</span> inclut une méthode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">AsEnumerable<span class="br0">&#40;</span><span class="br0">&#41;</span></span> directement dans le corps de l'union — tout comme vous ajouteriez des méthodes à n'importe quelle déclaration de type :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">public</span> union OneOrMore&lt;T&gt;<span class="br0">&#40;</span>T, IEnumerable&lt;T&gt;<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    <span style="color: #0000ff;">public</span> IEnumerable&lt;T&gt; AsEnumerable<span class="br0">&#40;</span><span class="br0">&#41;</span> =&gt; Value <span style="color: #0000ff;">switch</span>
    <span class="br0">&#123;</span>
        T single =&gt; <span class="br0">&#91;</span>single<span class="br0">&#93;</span>,
        IEnumerable&lt;T&gt; multiple =&gt; multiple,
        <span style="color: #0000ff;">null</span> =&gt; <span class="br0">&#91;</span><span class="br0">&#93;</span>
    <span class="br0">&#125;</span>;
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
Notez que la méthode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">AsEnumerable</span> doit gérer le cas où <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> est <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">null</span>. En effet, l'état null par défaut de la propriété <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> est « peut-être null ». Cette règle est nécessaire pour fournir des avertissements appropriés pour les tableaux d'un type union, ou les instances de la valeur par défaut de la structure <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span>.<br />
<br />
Les appelants transmettent la forme qui leur convient, et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">AsEnumerable<span class="br0">&#40;</span><span class="br0">&#41;</span></span> la normalise :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td valign="top"><pre style="margin: 0">OneOrMore&lt;<span style="color: #0000ff;">string</span>&gt; tags = <span style="color: #FF0000;">&quot;dotnet&quot;</span>;
OneOrMore&lt;<span style="color: #0000ff;">string</span>&gt; moreTags = <span style="color: #0000ff;">new</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="br0">&#123;</span> <span style="color: #FF0000;">&quot;csharp&quot;</span>, <span style="color: #FF0000;">&quot;unions&quot;</span>, <span style="color: #FF0000;">&quot;preview&quot;</span> <span class="br0">&#125;</span>;
&nbsp;
<span style="color: #0000ff;">foreach</span> <span class="br0">&#40;</span><span style="color: #0000ff;">var</span> tag <span style="color: #0000ff;">in</span> tags.AsEnumerable<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    Console.Write<span class="br0">&#40;</span><span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;[<span style="color: black;"><span class="br0">&#123;</span>tag<span class="br0">&#125;</span></span>] &quot;</span><span class="br0">&#41;</span>;
<span style="color: #808080;">// [dotnet]</span>
&nbsp;
<span style="color: #0000ff;">foreach</span> <span class="br0">&#40;</span><span style="color: #0000ff;">var</span> tag <span style="color: #0000ff;">in</span> moreTags.AsEnumerable<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    Console.Write<span class="br0">&#40;</span><span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;[<span style="color: black;"><span class="br0">&#123;</span>tag<span class="br0">&#125;</span></span>] &quot;</span><span class="br0">&#41;</span>;
<span style="color: #808080;">// [csharp] [unions] [preview]</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<b><font size="3">Les unions personnalisées pour les bibliothèques existantes</font></b><br />
<br />
La déclaration <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span> est une syntaxe abrégée qui reflète une approche particulière. Le compilateur génère une structure comportant un constructeur pour chaque type de cas et une propriété <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> de type <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">object</span>?</span> qui contient la valeur sous-jacente. Les constructeurs permettent des conversions implicites depuis n'importe quel type de cas vers le type union. L'instance de l'union stocke toujours son contenu sous la forme d'une seule référence <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">object</span>?</span> et encapsule les types de valeur. Cela couvre proprement la majorité des cas d'utilisation.<br />
<br />
Cependant, plusieurs bibliothèques communautaires fournissent déjà des types de type union avec leurs propres stratégies de stockage. Ces bibliothèques n’ont pas besoin de passer à la syntaxe <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">union</span> pour bénéficier des avantages de C# 15. Toute classe ou structure dotée d’un attribut <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span class="br0">&#91;</span>System.Runtime.CompilerServices.Union<span class="br0">&#93;</span></span> est reconnue comme un type union, à condition qu’elle respecte le modèle de base de l’union : un ou plusieurs constructeurs publics à paramètre unique (définissant les types de cas) et une propriété <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Value</span> publique.<br />
<br />
Dans les scénarios sensibles aux performances où les types de cas incluent des types de valeur, les bibliothèques peuvent également implémenter le modèle d'accès sans boxing en ajoutant une propriété <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">HasValue</span> et des méthodes <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">TryGetValue</span>. Cela permet au compilateur d'implémenter la correspondance de motifs sans boxing.<br />
<br />
Pour plus de détails sur la création de types union personnalisés et le modèle d'accès sans boxing, consultez <a rel="nofollow" href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/union#custom-union-types" target="_blank">la référence du langage sur les types union.</a><br />
<br />
<b><font size="3">Propositions associées</font></b><br />
<br />
Les types union vous fournissent un type qui contient l'un des éléments d'un ensemble fermé de types. Deux fonctionnalités proposées offrent des capacités connexes pour les hiérarchies de types et les énumérations. Vous pouvez en savoir plus sur ces deux propositions et leur lien avec les unions en consultant les spécifications des fonctionnalités :<br />
<br />
- Hiérarchies fermées : le modificateur <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Closed</span> appliqué à une classe empêche les classes dérivées d'être déclarées en dehors de l'assembly de définition.<br />
<br />
- Énumérations fermées : une énumération <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Closed</span> empêche la création de valeurs autres que les membres déclarés.<br />
<br />
Ensemble, ces trois fonctionnalités confèrent à C# une capacité d'exhaustivité complète :<br />
<br />
- Types union — correspondance exhaustive sur un ensemble fermé de types<br />
- Hiérarchies fermées — correspondance exhaustive sur une hiérarchie de classes scellées<br />
- Énumérations fermées — correspondance exhaustive sur un ensemble fixe de valeurs d'énumération<br />
<br />
Les types union sont désormais disponibles en préversion. Lorsque vous les évaluez, gardez à l'esprit cette feuille de route plus large. Ces propositions sont en cours, mais ne sont pas encore confirmées pour une version. Rejoignez la discussion alors que nous poursuivons leur conception et leur implémentation.<br />
<br />
<b><font size="3">Essayez-les vous-même</font></b><br />
<br />
Les types union sont disponibles à partir de .NET 11 Preview 2. Pour commencer :<br />
<br />
1. Installez le <a rel="nofollow" href="https://dotnet.microsoft.com/download/dotnet" target="_blank">SDK .NET 11 Preview.</a><br />
<br />
2. Créez ou mettez à jour un projet ciblant <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">net11.0</span>.<br />
<br />
3. Définissez <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">&lt;LangVersion&gt;preview&lt;/LangVersion&gt;</span> dans votre fichier de projet.<br />
<br />
La prise en charge par l'IDE dans Visual Studio sera disponible dans la prochaine version Visual Studio Insiders. Elle est incluse dans la dernière version C# DevKit Insiders.<br />
<br />
<b>Aperçu préliminaire : déclarez vous-même les types d'exécution</b><br />
<br />
Dans .NET 11 Preview 2, l'attribut <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">UnionAttribute</span> et l'interface <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IUnion</span> ne sont pas encore inclus dans le runtime. Vous devez les déclarer dans votre projet. Les versions d'aperçu ultérieures incluront ces types dans le runtime.<br />
<br />
Ajoutez ce qui suit à votre projet (ou récupérez RuntimePolyfill.cs depuis le dépôt de documentation) :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0">namespace System.Runtime.CompilerServices
{
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct,
        AllowMultiple = false)]
    public sealed class UnionAttribute : Attribute;

    public interface IUnion
    {
        object? Value { get; }
    }
}</pre></td></tr></table></code><hr />
</div><br />
<br />
Une fois ces éléments en place, vous pouvez déclarer et utiliser les types union :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">public</span> record <span style="color: #0000ff;">class</span> Cat<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> Name<span class="br0">&#41;</span>;
<span style="color: #0000ff;">public</span> record <span style="color: #0000ff;">class</span> Dog<span class="br0">&#40;</span><span style="color: #0000ff;">string</span> Name<span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">public</span> union Pet<span class="br0">&#40;</span>Cat, Dog<span class="br0">&#41;</span>;
&nbsp;
Pet pet = <span style="color: #0000ff;">new</span> Cat<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Whiskers&quot;</span><span class="br0">&#41;</span>;
Console.WriteLine<span class="br0">&#40;</span>pet <span style="color: #0000ff;">switch</span>
<span class="br0">&#123;</span>
    Cat c =&gt; <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;Cat: <span style="color: black;"><span class="br0">&#123;</span>c.Name<span class="br0">&#125;</span></span>&quot;</span>,
    Dog d =&gt; <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;Dog: <span style="color: black;"><span class="br0">&#123;</span>d.Name<span class="br0">&#125;</span></span>&quot;</span>,
<span class="br0">&#125;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div>Certaines fonctionnalités de la spécification complète de la proposition ne sont pas encore implémentées, notamment les fournisseurs de membres d'union. Elles seront disponibles dans les prochaines versions de prévisualisation.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://devblogs.microsoft.com/dotnet/csharp-15-union-types/" target="_blank">Explore union types in C# 15</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/360859/Proposition-officielle-d-unions-de-types-par-l-equipe-de-conception-du-langage-C-pour-tenter-de-fournir-des-solutions-a-tous-les-cas-d-utilisation-en-declarant-quatre-categories/" target="_blank">Proposition officielle d'unions de types par l'équipe de conception du langage C# pour tenter de fournir des solutions à tous les cas d'utilisation en déclarant quatre catégories</a><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/377739/Microsoft-presente-les-nouvelles-fonctionnalites-de-C-14-qui-devraient-permettre-aux-developpeurs-C-de-beneficier-de-certaines-des-ameliorations-de-performances-offertes-par-NET-10/" target="_blank">Microsoft présente les nouvelles fonctionnalités de C# 14 qui devraient permettre aux développeurs C# de bénéficier de certaines des améliorations de performances offertes par .NET 10</a><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/372078/Microsoft-presente-les-nouvelles-fonctionnalites-du-langage-de-programmation-de-C-14-membres-d-extension-affectation-par-condition-nulle-proprietes-field-stockees/" target="_blank">Microsoft présente les nouvelles fonctionnalités du langage de programmation de C# 14 : Membres d'extension, affectation par condition nulle, propriétés field stockées</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Bill Wagner</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183189/dotnet/general-dotnet/decouvrez-types-union-csharp-15-bill-wagner/</guid>
		</item>
		<item>
			<title>Microsoft nie que Copilot soit uniquement destiné à des fins de divertissement</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183064&amp;goto=newpost</link>
			<pubDate>Mon, 06 Apr 2026 14:29:32 GMT</pubDate>
			<description><![CDATA[*Microsoft précise que l'IA...]]></description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft précise que l'IA Copilot est destinée uniquement à des fins de divertissement, que son utilisation se fait à vos propres risques et qu'il ne faut pas s'y fier pour prendre des décisions importantes</font></b><br />
<br />
<b>Microsoft a mis à jour les conditions d'utilisation de ses outils d'IA Copilot. La société indique que Copilot est destiné « uniquement à des fins de divertissement » et que son utilisation se fait à vos propres risques. Il semble que les nouvelles conditions d’utilisation visent à transférer la responsabilité des éventuelles inexactitudes commises par Copilot. Microsoft ne vous demande pas exactement de cesser complètement d'utiliser Copilot pour votre travail. Elle souhaite plutôt que vous utilisiez Copilot comme un outil, et non comme un décideur. L'entreprise souhaite que les utilisateurs vérifient les informations fournies par Copilot avant de s'y fier pour tout travail important.</b><br />
<br />
Microsoft Copilot est un chatbot basé sur l'intelligence artificielle (IA) générative développé par Microsoft AI, une division de Microsoft. S'appuyant sur les séries de grands modèles de langage GPT-4 et GPT-5 d'OpenAI, il a été lancé en 2023 pour remplacer principalement Cortana, dont le développement a été arrêté. Le style de l'interface conversationnelle de Copilot ressemble à celui de ChatGPT. Le chatbot est capable de citer des sources, de créer des poèmes, de générer des chansons et d'utiliser de nombreuses langues et dialectes.<br />
<br />
Microsoft exploite Copilot selon un modèle freemium. Les utilisateurs de la version gratuite ont accès à la plupart des fonctionnalités, tandis que l'accès prioritaire aux nouvelles fonctionnalités, notamment la création de chatbots personnalisés, est réservé aux abonnés payants dans le cadre des services d'abonnement payants. Plusieurs chatbots par défaut sont disponibles dans la version gratuite de Microsoft Copilot, notamment le chatbot Copilot standard ainsi que Microsoft Designer, qui est orienté vers l'utilisation de son Image Creator pour générer des images à partir des instructions génératives textuelles.<br />
<br />
Selon un rapport de 2025, Microsoft, co-investisseur stratégique d’OpenAI et promoteur infatigable de l’IA dans la suite Office, fait face à une situation paradoxale : <a href="https://microsoft.developpez.com/actu/373305/Microsoft-peine-a-vendre-Copilot-aux-entreprises-que-ChatGPT-seduit-sans-effort-Microsoft-cofinance-le-developpement-de-ChatGPT-mais-voit-cet-outil-concurrencer-son-propre-produit-sur-le-terrain/" target="_blank">les entreprises rechignent à adopter sa solution Copilot, tandis que les salariés eux-mêmes se tournent spontanément vers ChatGPT</a>, perçu comme plus simple, plus accessible, voire plus puissant. Alors que Microsoft mise massivement sur son assistant Copilot (intégré à Word, Excel, Outlook ou Teams) pour faire entrer l’IA dans les flux de travail professionnels, la réalité du terrain est plus contrastée : les décideurs informatiques hésitent à payer le prix fort, et les utilisateurs contournent l’outil pour utiliser directement ChatGPT.<br />
<br />
Récemment, Microsoft a mis à jour les conditions d'utilisation de ses outils d'IA Copilot. La société indique que Copilot est destiné « uniquement à des fins de divertissement » et que son utilisation se fait à vos propres risques. Il semble que les nouvelles conditions d’utilisation visent à transférer la responsabilité des éventuelles inexactitudes commises par Copilot. Selon le site officiel de Microsoft, cette modification des conditions d’utilisation a été effectuée en octobre de l’année dernière.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/5-tzLvOu9lo?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
Les grands modèles de langage (LLM), tels que le GPT d’OpenAI ou Claude d’Anthropic, sont sujets à des « hallucinations », c’est-à-dire que l’IA peut inventer des informations au lieu de présenter des données réelles. Bien que ce phénomène ait diminué, il reste néanmoins un problème. La mise à jour des conditions d'utilisation de Microsoft laisse entendre que l'entreprise reste prudente quant à l'exactitude des informations fournies par l'IA. Ces nouvelles conditions permettraient à Microsoft d'échapper à toute poursuite judiciaire pouvant résulter d'informations inexactes fournies par l'IA.<br />
<br />
Microsoft ne vous demande pas exactement de cesser complètement d'utiliser Copilot pour votre travail. En substance, l'entreprise déclare qu'elle ne sera pas tenue responsable des erreurs commises par l'IA. Elle souhaite plutôt que vous utilisiez Copilot comme un outil, et non comme un décideur. L'entreprise souhaite que les utilisateurs vérifient les informations fournies par Copilot avant de s'y fier pour tout travail important. Notez que la plupart des modèles d'IA sont accompagnés de clauses de non-responsabilité concernant les inexactitudes et les erreurs potentielles qu'ils pourraient commettre.<br />
<br />
Par le passé, l'entreprise a particulièrement mis en avant Copilot auprès des utilisateurs professionnels, tout en proposant également l'outil aux particuliers. Malgré ce changement de condition d'utilisation, Microsoft n'a pas non plus cessé de promouvoir Copilot en tant qu'outil de productivité au travail. Selon un rapport, le PDG de Microsoft, Judson Althoff, a déclaré lors d'une réunion interne que l'entreprise avait atteint « des objectifs assez ambitieux » pour la vente de Copilot au cours du dernier trimestre. Pourtant, en janvier, l'entreprise avait confirmé que seuls 3 % de ses clients payaient pour Copilot au 31 décembre 2025.<br />
<br />
Pourquoi Microsoft peine à vendre Copilot ? En 2025, <a href="https://intelligence-artificielle.developpez.com/actu/375497/Un-essai-mene-par-le-gouvernement-britannique-sur-Microsoft-365-Copilot-n-a-revele-aucun-gain-de-productivite-notable-Copilot-excelle-dans-les-taches-banales-mais-bute-sur-les-taches-complexes/" target="_blank">le ministère britannique des Affaires et du Commerce a procédé à un essai du logiciel Microsoft 365 Copilot sur une période de trois mois.</a> Et les résultats sont très peu concluants. Le ministère n'a observé aucune augmentation significative de la productivité. L’impact réel était beaucoup plus nuancé que ne le suggéraient les supports marketing de Microsoft. La création de diapositives PowerPoint a été en moyenne plus rapide de sept minutes, mais a nécessité des corrections en raison d'une qualité &quot;inférieure&quot;. Même son de cloche du côté du gouvernement australien. Après une période d'essai, le personnel a jugé l'IA de Microsoft moins utile que prévu.<br />
<br />
Plus tôt cette année, l'entreprise a lancé Copilot Cowork afin de stimuler davantage la productivité grâce à l'IA. Copilot Cowork s'appuie sur Claude Cowork d'Anthropic, l'outil qui a fait trembler des entreprises SaaS telles que TCS et Infosys. L'entreprise a également utilisé des termes tels que « vibe working » (l'utilisation de l'IA pour travailler) lors de ses campagnes de marketing pour Copilot par le passé. Ce changement de condition d'utilisation intervient dans un contexte où <a href="https://microsoft.developpez.com/actu/381516/Copilot-se-transforme-en-desastre-pour-Microsoft-Microsoft-brandit-la-menace-judiciaire-face-a-l-accord-Amazon-OpenAI-a-50-milliards-pendant-qu-OpenAI-pousse-les-limites-de-leur-exclusivite-cloud/" target="_blank">Copilot se transforme en désastre pour Microsoft.</a><br />
<br />
De la retraite discrète de Copilot sur Windows 11 à la menace d'un procès fleuve contre OpenAI et Amazon, Microsoft a traversé une période révélatrice de ses contradictions profondes fin mars 2026. D'un côté, l'entreprise admet avoir trop poussé l'IA dans la gorge de ses utilisateurs et entreprend de dégraisser Windows 11. De l'autre, elle agite l'arme juridique pour protéger un monopole cloud que son ancien partenaire cherche activement à fuir. Par ailleurs, sur le marché des outils de développement, les développeurs lui préfèrent massivement la concurrence. Et dans les couloirs de Redmond même, les ingénieurs de Microsoft sont encouragés à utiliser Claude Code d'Anthropic, l'outil concurrent, pour faire leur travail. Copilot s'effondre sur tous les fronts à la fois.<br />
<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://www.microsoft.com/en-us/microsoft-copilot/for-individuals/termsofuse" target="_blank">Condition d'utilisation de Copilot</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/381658/Microsoft-365-Copilot-devoile-des-mises-a-jour-en-matiere-d-IA-Copilot-Cowork-gere-de-maniere-autonome-les-projets-tandis-que-Researcher-utilise-deux-modeles-d-IA-pour-la-recherche-approfondie/" target="_blank">Microsoft 365 Copilot dévoile des mises à jour en matière d'IA : Copilot Cowork gère de manière autonome les projets, tandis que Researcher utilise deux modèles d'IA pour la recherche approfondie</a><br />
<br />
:fleche: <a href="https://microsoft.developpez.com/actu/381759/Microsoft-enregistre-son-pire-trimestre-a-Wall-Street-depuis-2008-en-raison-des-inquietudes-liees-a-l-IA-l-action-chute-de-23-pourcent-au-premier-trimestre-effacant-pres-d-un-quart-de-sa-valeur/" target="_blank">Microsoft enregistre son pire trimestre à Wall Street depuis 2008 en raison des inquiétudes liées à l'IA : l'action chute de 23 % au premier trimestre, effaçant près d'un quart de sa valeur</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/379704/Microsoft-vend-Copilot-comme-l-avenir-du-travail-pourtant-ses-propres-ingenieurs-ne-l-utilisent-pas-au-quotidien-Microsoft-peut-elle-tout-de-meme-imposer-Copilot-aux-entreprises/" target="_blank">Microsoft vend Copilot comme l'avenir du travail, pourtant ses propres ingénieurs ne l'utilisent pas au quotidien. Microsoft peut-elle tout de même imposer Copilot aux entreprises ?</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183064/dotnet/general-dotnet/microsoft-nie-copilot-soit-uniquement-destine-fins-divertissement/</guid>
		</item>
		<item>
			<title>Microsoft annonce la version 1.0 de Microsoft Agent Framework pour .NET et Python</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183059&amp;goto=newpost</link>
			<pubDate>Mon, 06 Apr 2026 11:47:48 GMT</pubDate>
			<description>*Microsoft annonce la version...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft annonce la version 1.0 de Microsoft Agent Framework pour .NET et Python, offrant une orchestration multi-agents de niveau entreprise et la prise en charge de modèles d'IA multi-fournisseurs</font></b><br />
<br />
<b>L'équipe de Microsoft a annoncé que Microsoft Agent Framework est désormais disponible en version 1.0 pour .NET et Python. Il s'agit d'une version prête pour la production : elle offre des API stables et garantit un support à long terme. Que vous développiez un assistant unique ou que vous orchestriez une flotte d’agents spécialisés, Agent Framework 1.0 vous offre une orchestration multi-agents de niveau entreprise, la prise en charge de modèles multi-fournisseurs et une interopérabilité entre environnements d’exécution via A2A et MCP.</b><br />
<br />
Au cours de l'année écoulée, les développeurs ont expérimenté des agents IA sous toutes les formes imaginables. Les agents ne sont pas seulement des chatbots : ce sont des composants logiciels autonomes capables de raisonner sur des objectifs, d'appeler des outils et des API, de collaborer avec d'autres agents et de s'adapter de manière dynamique. Qu'il s'agisse d'un agent de recherche, d'un agent de codage intégré à un workflow de développement ou d'un agent de conformité garantissant l'application des politiques, les agents sont en train de devenir la prochaine couche de la logique applicative.<br />
<br />
C'est pourquoi, <a href="https://microsoft.developpez.com/actu/376441/Presentation-de-Microsoft-Agent-Framework-Preview-simplifier-les-agents-IA-pour-tous-les-developpeurs-par-Luis-Quintanilla/" target="_blank">Microsoft a lancé Microsoft Agent Framework en octobre 2025</a>. Microsoft Agent Framework est un SDK et un runtime open source conçu pour permettre aux développeurs de créer, déployer et gérer facilement des systèmes multi-agents sophistiqués. Il unifie les fondements prêts pour l'entreprise de Semantic Kernel avec l'orchestration d'AutoGen, afin que les équipes n'aient plus à choisir entre expérimentation et production.<br />
<br />
Selon Microsoft, Microsoft Agent Framework offre aux développeurs une base unique pour passer de l'expérimentation au déploiement en entreprise sans compromis. Microsoft Agent Framework prend en charge à la fois l'orchestration d'agents (raisonnement créatif et prise de décision pilotés par des modèles de langage de grande envergure) et l'orchestration de workflows (workflows multi-agents déterministes pilotés par la logique métier). Ensemble, elles permettent aux équipes de choisir l'approche la mieux adaptée au problème : une collaboration flexible pour les tâches ouvertes, ou des workflows structurés pour les processus d'entreprise reproductibles.<br />
<br />
Récemment, l'équipe de Microsoft a annoncé que Microsoft Agent Framework est désormais disponible en version 1.0 pour .NET et Python. Il s'agit d'une version prête pour la production : elle offre des API stables et garantit un support à long terme. Que vous développiez un assistant unique ou que vous orchestriez une flotte d’agents spécialisés, Agent Framework 1.0 vous offre une orchestration multi-agents de niveau entreprise, la prise en charge de modèles multi-fournisseurs et une interopérabilité entre environnements d’exécution via A2A et MCP.<br />
<br />
Mcirosoft commente l'annonce : « <i>Lorsque nous avons présenté Microsoft Agent Framework en octobre dernier, notre objectif était d’unifier les fondements prêts pour l’entreprise de Semantic Kernel avec les orchestrations innovantes d’AutoGen au sein d’un SDK open source unique. Lorsque nous avons atteint la version Release Candidate en février, nous avons figé l’ensemble des fonctionnalités et invité la communauté à le tester de manière approfondie. Aujourd'hui, après des mois de retours d'expérience, de renforcement et de validation en conditions réelles auprès de nos clients et partenaires, Agent Framework 1.0 est prêt pour la production.</i> »<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/yOBcPuLLmuY?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
<b><font size="3">Créez votre premier agent</font></b><br />
<br />
Pour commencer, quelques lignes de code suffisent. Voici comment créer un agent simple dans les deux langages.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;"># pip install agent-framework</span>
<span style="color: #808080;"># Use `az login` to authenticate with Azure CLI</span>
&nbsp;
<span style="color: #0000ff;">import</span> asyncio
&nbsp;
<span style="color: #0000ff;">from</span> agent_framework <span style="color: #0000ff;">import</span> Agent
<span style="color: #0000ff;">from</span> agent_framework.foundry <span style="color: #0000ff;">import</span> FoundryChatClient
<span style="color: #0000ff;">from</span> azure.identity <span style="color: #0000ff;">import</span> AzureCliCredential
&nbsp;
agent = Agent<span class="br0">&#40;</span>
*** client= FoundryChatClient<span class="br0">&#40;</span>
**** *project_endpoint=<span style="color: #FF0000;">&quot;https://your-project.services.ai.azure.com&quot;</span>,
***** model=<span style="color: #FF0000;">&quot;gpt-5.3&quot;</span>,
* ****credential=AzureCliCredential<span class="br0">&#40;</span><span class="br0">&#41;</span>,
*** <span class="br0">&#41;</span>,
*** name=<span style="color: #FF0000;">&quot;HelloAgent&quot;</span>,
*** instructions=<span style="color: #FF0000;">&quot;You are a friendly assistant.&quot;</span>
<span class="br0">&#41;</span>
&nbsp;
<span style="color: #0000ff;">print</span><span class="br0">&#40;</span>asyncio.run<span class="br0">&#40;</span>agent.run<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Write a haiku about shipping 1.0.&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// dotnet add package Microsoft.Agents.AI.OpenAI --prerelease</span>
<span style="color: #0000ff;">using</span> Microsoft.Agents.AI;
<span style="color: #0000ff;">using</span> Microsoft.Agents.AI.Foundry
<span style="color: #0000ff;">using</span> Azure.Identity;
&nbsp;
<span style="color: #808080;">// Replace the &lt;apikey&gt; with your OpenAI API key.</span>
<span style="color: #0000ff;">var</span> agent = <span style="color: #0000ff;">new</span> AIProjectClient<span class="br0">&#40;</span>endpoint:<span style="color: #FF0000;">&quot;https://your-project.services.ai.azure.com&quot;</span><span class="br0">&#41;</span>
*** .GetResponsesClient<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;gpt-5.3&quot;</span><span class="br0">&#41;</span>
*** .AsAIAgent<span class="br0">&#40;</span>
        name: <span style="color: #FF0000;">&quot;HaikuBot&quot;</span>, 
        instructions: <span style="color: #FF0000;">&quot;You are an upbeat assistant that writes beautifully.&quot;</span>
    <span class="br0">&#41;</span>;
&nbsp;
Console.WriteLine<span class="br0">&#40;</span><span style="color: #0000ff;">await</span> agent.RunAsync<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Write a haiku about shipping 1.0.&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Et voilà : un agent IA fonctionnel en quelques lignes. À partir de là, vous pouvez ajouter des outils de fonction, des sessions pour des conversations à plusieurs tours, des réponses en streaming, et bien plus encore.<br />
<br />
<b><font size="3">Workflows multi-agents</font></b><br />
<br />
Les agents individuels sont puissants, mais les applications concrètes nécessitent souvent la collaboration de plusieurs agents. Voici un workflow séquentiel dans lequel un rédacteur rédige un slogan et un réviseur fournit des commentaires :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">import</span> asyncio
&nbsp;
<span style="color: #0000ff;">from</span> agent_framework <span style="color: #0000ff;">import</span> Agent, Message
<span style="color: #0000ff;">from</span> agent_framework.foundry <span style="color: #0000ff;">import</span> FoundryChatClient
<span style="color: #0000ff;">from</span> agent_framework.orchestrations <span style="color: #0000ff;">import</span> SequentialBuilder
<span style="color: #0000ff;">from</span> azure.identity <span style="color: #0000ff;">import</span> AzureCliCredential
&nbsp;
&nbsp;
<span style="color: #0000ff;">async</span> <span style="color: #0000ff;">def</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> -&gt; <span style="color: #339933;">None</span>:
*** <span style="color: #808080;"># credentials read from .env</span>
*** client = FoundryChatClient<span class="br0">&#40;</span>credential=AzureCliCredential<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
*** writer = Agent<span class="br0">&#40;</span>
******* client=client,
******* instructions=<span style="color: #FF0000;">&quot;You are a concise copywriter. Provide a single, punchy marketing sentence.&quot;</span>,
******* name=<span style="color: #FF0000;">&quot;writer&quot;</span>,
*** <span class="br0">&#41;</span>
&nbsp;
*** reviewer = Agent<span class="br0">&#40;</span>
******* client=client,
******* instructions=<span style="color: #FF0000;">&quot;You are a thoughtful reviewer. Give brief feedback on the previous message.&quot;</span>,
******* name=<span style="color: #FF0000;">&quot;reviewer&quot;</span>,
*** <span class="br0">&#41;</span>
&nbsp;
&nbsp;
*** workflow = SequentialBuilder<span class="br0">&#40;</span>participants=<span class="br0">&#91;</span>writer, reviewer<span class="br0">&#93;</span><span class="br0">&#41;</span>.build<span class="br0">&#40;</span><span class="br0">&#41;</span>
*** outputs: list<span class="br0">&#91;</span>list<span class="br0">&#91;</span>Message<span class="br0">&#93;</span><span class="br0">&#93;</span> = <span class="br0">&#91;</span><span class="br0">&#93;</span>
*** <span style="color: #0000ff;">async</span> <span style="color: #0000ff;">for</span> event <span style="color: #0000ff;">in</span> workflow.run<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Write a tagline for Microsoft Agent Framework 1.0.&quot;</span>, stream=<span style="color: #339933;">True</span><span class="br0">&#41;</span>:
******* <span style="color: #0000ff;">if</span> event.type == <span style="color: #FF0000;">&quot;output&quot;</span>:
*********** outputs.append<span class="br0">&#40;</span>cast<span class="br0">&#40;</span>list<span class="br0">&#91;</span>Message<span class="br0">&#93;</span>, event.data<span class="br0">&#41;</span><span class="br0">&#41;</span>
*** <span style="color: #0000ff;">if</span> outputs:
******* <span style="color: #0000ff;">for</span> msg <span style="color: #0000ff;">in</span> outputs<span class="br0">&#91;</span>-<span style="color: #cc66cc;">1</span><span class="br0">&#93;</span>:
*********** <span style="color: #0000ff;">print</span><span class="br0">&#40;</span>f<span style="color: #FF0000;">&quot;[{msg.author_name or 'user'}]: {msg.text}&quot;</span><span class="br0">&#41;</span>
&nbsp;
<span style="color: #0000ff;">if</span> <span style="color: #0080ff;">__name__</span> == <span style="color: #FF0000;">&quot;__main__&quot;</span>:
*** asyncio.run<span class="br0">&#40;</span>main<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/KHI7Kmo1Lfs?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
<b><font size="3">Nouveautés de la version 1.0</font></b><br />
<br />
Voici les principales fonctionnalités de cette version :<br />
<br />
- <b>Agent unique et connecteurs de services</b> : L’abstraction de base de l’agent est stable et prête pour la production à la fois sur .NET et Python. Agent Framework est livré avec des connecteurs de services propriétaires pour Microsoft Foundry, Azure OpenAI, OpenAI, Anthropic Claude, Amazon Bedrock, Google Gemini et Ollama.<br />
<br />
- <b>Hooks de middleware</b> : Le pipeline de middleware vous permet d’intercepter, de transformer et d’étendre le comportement de l’agent à chaque étape de l’exécution : filtres de sécurité du contenu, journalisation, politiques de conformité, logique personnalisée – le tout sans modifier les invites de l’agent.<br />
<br />
- <b>Mémoire d'agent et fournisseurs de contexte</b> : Architecture de mémoire modulable prenant en charge l'historique des conversations, l'état clé-valeur persistant et la récupération vectorielle. Choisissez votre backend : mémoire dans Foundry Agent Service, Mem0, Redis, Neo4j ou utilisez un magasin personnalisé.<br />
<br />
- <b>Workflows d'agent</b> : Le moteur de workflow basé sur des graphes permettant de composer des agents et des fonctions en processus déterministes et reproductibles est désormais stable. Créez des workflows qui combinent le raisonnement des agents avec la logique métier, se ramifient en fonction de conditions, se déploient en étapes parallèles et convergent vers des résultats. Les points de contrôle et l'hydratation garantissent la survie des processus de longue durée en cas d'interruptions.<br />
<br />
- <b>Orchestration multi-agents</b> : Prise en charge stable des modèles d'orchestration issus de Microsoft Research et d'AutoGen : séquentiel, concurrent, transfert, discussion de groupe et Magentic-One. Tous les modèles prennent en charge le streaming, les points de contrôle, les validations par intervention humaine et la mise en pause/reprise pour les workflows de longue durée.<br />
<br />
- <b>Agents et workflows déclaratifs (YAML)</b> : Définissez les instructions, les outils, la configuration de la mémoire et la topologie d’orchestration des agents dans des fichiers YAML sous contrôle de version, puis chargez-les et exécutez-les à l’aide d’un simple appel API.<br />
<br />
- <b>A2A et MCP</b> : La prise en charge du MCP (Model Context Protocol) permet aux agents de découvrir et d'invoquer dynamiquement des outils externes exposés sur des serveurs compatibles MCP. La prise en charge du protocole A2A (Agent-to-Agent) (prise en charge d'A2A 1.0 à venir) permet la collaboration entre agents de différents environnements d'exécution : vos agents peuvent se coordonner avec des agents s'exécutant dans d'autres frameworks à l'aide d'une messagerie structurée et pilotée par protocole. <br />
<br />
- <b>Assistants de migration (Semantic Kernel et AutoGen)</b> : Pour les équipes issues de Semantic Kernel ou d'AutoGen, les assistants de migration analysent votre code existant et génèrent des plans de migration étape par étape. Le guide de migration Semantic Kernel et le guide de migration AutoGen fournissent des procédures détaillées.<br />
<br />
Microsoft conclut son annonce en déclarant : « <i>La version 1.0 est un début, pas une fin. Nous continuons à investir dans la finalisation des fonctionnalités en préversion, l’extension de l’écosystème de connecteurs et de compétences, l’approfondissement de l’intégration de Foundry et l’intégration des dernières recherches en orchestration de Microsoft Research. Le framework est 100 % open source : nous le développons en toute transparence, et vos commentaires et contributions façonnent ce qui va suivre. </i>»<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://github.com/microsoft/agent-framework" target="_blank">Microsoft Agent Framework 1.0</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/368113/L-IA-agentique-expliquee-Un-cadre-philosophique-pour-comprendre-les-agents-d-IA-par-David-Barkol/" target="_blank">L'IA agentique expliquée : Un cadre philosophique pour comprendre les agents d'IA, par David Barkol</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/380660/Perplexity-presente-Computer-un-nouvel-outil-qui-permet-aux-utilisateurs-d-assigner-des-taches-et-de-les-voir-executees-par-un-systeme-qui-coordonne-plusieurs-agents-IA-utilisant-differents-modeles/" target="_blank">Perplexity présente « Computer », un nouvel outil qui permet aux utilisateurs d'assigner des tâches et de les voir exécutées par un système qui coordonne plusieurs agents IA utilisant différents modèles</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/378354/Block-Anthropic-et-OpenAI-ont-lance-la-Fondation-Agentic-AI-sous-l-egide-de-la-Fondation-Linux-afin-d-etablir-des-normes-ouvertes-pour-les-agents-IA-promouvoir-l-interoperabilite-et-reduire-la-fragmentation/" target="_blank">Block, Anthropic et OpenAI ont lancé la Fondation Agentic AI sous l'égide de la Fondation Linux afin d'établir des normes ouvertes pour les agents IA, promouvoir l'interopérabilité et réduire la fragmentation</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f55/dotnet/general-dotnet/">Général Dotnet</category>
			<dc:creator>Alex</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183059/dotnet/general-dotnet/microsoft-annonce-version-1-0-microsoft-agent-framework-net-python/</guid>
		</item>
	</channel>
</rss>
