Mesuré par l'étude Pereira, Université du Minho. Le même travail dans chaque langage.
Tech
Plateforme IA cloud-native. Sur du .NET d'entreprise, dès le premier jour.
Le prompt, c'est la partie facile. La partie dure, c'est de survivre à un million d'appels MCP par semaine. On l'a construit sur .NET 10, Orleans, Aspire et le Microsoft Agent Framework : le .NET distribué d'aujourd'hui pour acteurs virtuels, IA typée et opérations cloud-native.
La garantie derrière tout ce que Prostir fait tourner.
Une adoption réelle et rapide du protocole que parle Prostir.
Un build Astro statique, rapide pour les gens comme pour les crawlers.
Le parcours
Votre idée tient en un prompt. La production tient en dix couches d'entreprise.
Toutes les démos d'IA se ressemblent dans ChatGPT. Le vrai écart est entre cette démo et un client qui continue de payer, et c'est là que la plupart des équipes calent. Voici donc la nôtre, du sol compilé jusqu'à l'URL publique. Dix couches. Chacune est le choix prudent et fiable. Chacune est une raison pour qu'une personne sans code puisse livrer un vrai produit.
-
01 Les fondations
.NET 10 et C# : rapide, sobre, compilé.
Toute histoire a besoin d'un sol solide. Le nôtre, c'est du .NET compilé. On n'a pas commencé avec Python ou Node, parce qu'à grande échelle les petites différences deviennent de grosses factures. Une étude de l'Université du Minho a mesuré l'énergie que chaque langage consomme pour la même tâche. C# utilise environ 3 fois l'énergie du C pur. Python en utilise environ 76. Donc un seul travail en Python peut brûler l'énergie, et le carbone, d'environ vingt-quatre serveurs .NET. Multipliez par une flotte de 18 000 serveurs MCP publics et le langage que vous choisissez devient à la fois votre facture cloud et votre facture climatique. La sécurité compte aussi. Les mondes de npm et de PyPI sont énormes, et les attaques sur la chaîne d'approvisionnement les frappent encore et encore. NuGet est plus petit, signé, et une cible bien plus réduite. C'est pourquoi C# est la ligne de code la plus sobre, et l'une des plus sûres, de cette page, et ASP.NET Core reste près du sommet de chaque test de vitesse TechEmpower.
-
02 Le cloud
Azure : de niveau entreprise, conforme, mondial.
Une démo tourne sur un portable. Un produit pour lequel un inconnu paie doit tourner là où un régulateur, un hôpital et un directeur financier font tous confiance en même temps. C'est Azure. Il a la plus large liste de conformité du cloud : RGPD, HIPAA, SOC, ISO 27001, PCI DSS, FedRAMP. Il soutient les services que Prostir utilise avec des garanties de disponibilité jusqu'à 99,99 %. Votre agent et ses données vivent dans la région que vous choisissez, dans l'UE ou aux États-Unis, et le réseau mondial d'Azure les garde au plus près de vos clients. Vous ne câblez aucun datacenter. La conformité, la disponibilité et la portée ne s'ajoutent pas plus tard. C'est là qu'un produit payant doit commencer.
-
03 Le pont local
Aspire : un seul AppHost, de vrais tests d'intégration.
Les mocks mentent. Aspire ne ment pas. Un seul fichier, le Prostir.AppHost, relie Cosmos DB, Azure Storage, le cluster Orleans, l'API, la passerelle MCP et la console de l'opérateur. Le même montage tourne sur votre portable, en CI et dans le cloud. Nos tests tournent contre les vrais services qu'Aspire démarre, jamais contre des imitations. C'est la seule façon de garder honnête un code écrit avec l'aide de l'IA. Si ça passe ici, ça passe en production, parce qu'ici et la production, c'est le même câblage.
-
04 Le runtime distribué
Orleans : chaque agent a un jumeau numérique.
Voici l'idée qui rend tout le reste simple. Orleans donne à chaque agent un acteur virtuel. Voyez-le comme un jumeau numérique : une copie logicielle d'une chose réelle, un agent, un client, qui garde sa propre mémoire et fait son propre travail dans sa pièce fermée à lui, sans que personne d'autre n'y touche. Une fois que tout est un jumeau, le travail ne porte plus sur des serveurs mais sur des objets qui se parlent. Vous décrivez juste qui envoie quel message à qui : une personne à un jumeau, un jumeau à un autre jumeau. C'est tout le modèle. Il est ancien et éprouvé. Erlang a fait tourner des réseaux téléphoniques comme ça pendant des décennies presque sans interruption. Orleans s'occupe des parties difficiles, comme l'endroit où vit chaque jumeau et la façon dont sa mémoire est sauvegardée et déplacée entre les machines. La montée en charge n'est donc jamais une astuce de cache fragile. C'est un jumeau sûr et isolé pour chaque chose qui compte.
-
05 La frontière MCP
ManagedCode.MCPGateway : du MCP distant qui passe à l'échelle.
La spec MCP décrit un protocole. Elle ne décrit pas les connexions multi-clients, les journaux d'audit, les plafonds de coût ni les limites d'usage, c'est-à-dire exactement ce dont un déploiement réel a besoin. ManagedCode.MCPGateway est la couche d'entrée que Managed Code a écrite pour que Prostir n'ait pas à le faire. Elle gère le transport sécurisé, l'accès par client, les limites par outil et les réponses d'erreur propres, le tout devant le runtime Orleans vers lequel elle achemine les appels. Une seule URL propre et protégée fait face au monde.
-
06 La couche de connaissance
ManagedCode.MarkdownLd.Kb : de la connaissance, pas du copier-coller dans le prompt.
Les fichiers que vous téléversez n'ont rien à faire dans le prompt. ManagedCode.MarkdownLd.Kb prend une source, que ce soit un fichier Markdown, un document Word, un PDF ou des données structurées, et la transforme en connaissance propre et typée, plus un graphe que l'agent peut interroger. ManagedCode.Storage la conserve sur Azure, et l'entrée de chaque outil est vérifiée contre un schéma avant de s'exécuter. Le créateur voit une bibliothèque. Le runtime voit un graphe. Le client reçoit une réponse sourcée, pas une hallucination.
-
07 Le cerveau IA
Une seule interface pour chaque modèle d'IA.
Chaque modèle parle une langue un peu différente. Microsoft a construit une seule interface .NET qui cache ces différences, pour qu'un agent puisse appeler OpenAI, Anthropic ou Azure avec le même code. Le Microsoft Agent Framework se place au-dessus et fait tourner les boucles d'agent : il planifie, appelle des outils et se souvient. Prostir livre les deux, reliés à tous les grands fournisseurs. L'idée est simple. Vous choisissez le modèle adapté à la tâche, et vous pouvez en changer la semaine suivante sans toucher à rien d'autre. Le cerveau change ; le corps reste.
-
08 La boucle des constructeurs
MCAF, Claude Code et Codex : les agents qui ont livré ceci.
On n'a pas tapé Prostir ligne par ligne. MCAF, le Managed Code Application Framework, est une méthode ouverte pour laisser des agents IA construire du logiciel de production digne de confiance. Les règles sont simples. AGENTS.md est la mémoire de long terme. Les tests d'intégration sont la seule source de vérité. Le travail sort en petites tranches verticales. Rien n'est fusionné tant que les tests ne sont pas verts. Au-dessus de ça, Claude Code rédige et OpenAI Codex relit, deux agents qui se contrôlent l'un l'autre jusqu'à être d'accord. La méthode est ouverte. Les agents sont commerciaux. Le produit dont vous lisez l'histoire est réel. C'est la boucle qui l'a construit.
Claude Code OpenAI Codex -
09 La face produit
Blazor, Stripe, Stateless, Jint : la surface côté créateur.
Le créateur ne voit jamais la passerelle. Il voit un espace de travail Blazor. L'opérateur ne voit jamais la carte des grains. Il voit une console en Blazor Server. Stateless met des rails sur une conversation. L'agent est toujours dans un état, et l'état décide de ce qui peut arriver ensuite. Mettez-la dans un état « rassembler les détails » et elle ne sautera pas à « donner la réponse » tant que les détails ne sont pas là, exactement comme vous n'enverriez pas un devis avant d'avoir entendu ce dont le client a besoin. Jint exécute de petits bouts de JavaScript dans un bac à sable quand un outil a besoin d'un nombre exact. Stripe.net transforme l'accès payant en vraies permissions, avec webhooks, checkout et limites d'usage. Cette couche produit sans éclat, c'est elle qui rend l'IA utilisable, et vendable.
-
10 La vitrine statique
Une landing Astro pour les crawlers, des données structurées pour l'IA.
La page que vous lisez est un build Astro statique. Elle est indexée pour un score PageSpeed parfait et explorée par les mêmes moteurs de réponses qui récupèrent llms.txt. Chaque route publique embarque des données structurées, des balises de langue, un sitemap et un fichier de découverte pour LLM, parce que l'écart entre un bon backend et un backend qu'on trouve tient dans les métadonnées. Statique là où il faut, dynamique là où c'est nécessaire. L'histoire se termine là où elle devait se lire, par les humains comme par les machines.
Le résultat
Un endpoint MCP hébergé, observable et vendable par agent.
Dix couches d'entreprise se réduisent à une seule URL. Le créateur la colle dans ChatGPT, Claude, Cursor ou n'importe quel client MCP. Connexion, facturation, connaissance, outils, état, mémoire, audit et limites arrivent tous avec elle, sur le .NET distribué d'aujourd'hui : ASP.NET Core, Aspire, Orleans, la passerelle MCP et Microsoft.Extensions.AI. Construit par IA. Exécuté sur .NET. Vendu par vous.
Pourquoi .NET
Même serveur MCP. Trois factures différentes.
Des benchmarks indépendants, sans arrangement marketing. Ce que chaque langage coûte vraiment en énergie, en vitesse et en fonctionnalités intégrées pour le même travail.
| Capacité | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| Énergie par tâche (moins = plus vert) | 1.4× .NET | 24× .NET | 1× (baseline) |
| Score composite TechEmpower | Mid pack | Bottom third | Top tier |
| Framework d'acteurs distribués | DIY / Akka.js | DIY / Ray | Orleans 10 virtual actors |
| DI, options et télémétrie intégrés | Add libraries | Add libraries | Microsoft.Extensions.* |
| Couche d'abstraction IA | LangChain.js | LangChain / LlamaIndex | Microsoft.Extensions.AI + Agent Framework |
| Compilation anticipée (AOT) | No | No | Native AOT |
| Typage fort sans rajout | TypeScript transpile | Pydantic / mypy | C# 14, source-generated |
| Hot reload sur toute la pile | Nodemon | Uvicorn reload | dotnet watch + Aspire |
Chiffres d'énergie de l'étude Pereira, Université du Minho (SLE'17 / SCP'21). Vitesse selon TechEmpower Round 22.
Pourquoi Azure
Même backend MCP. Pensé pour le cloud où il tourne.
Pas une grille tarifaire, une grille d'adéquation. Voici ce dont un backend MCP payant et multi-client a vraiment besoin, et où chaque élément se pose mieux sur Azure. AWS est excellent. C'est juste là que le produit se pose.
| Ce qui compte | Sur AWS | Prostir sur Azure |
|---|---|---|
| Étendue de la conformité | broad portfolio | GDPR · HIPAA · SOC · ISO · FedRAMP |
| SLA de disponibilité | per-service | up to 99.99% |
| Résidence des données | region pick | EU or US, your choice |
| Distribution mondiale | CloudFront add-on | global backbone built in |
| Proximité IA en première partie | Bedrock + Anthropic | Azure OpenAI + Anthropic |
| Identité pour utilisateurs finaux | Cognito | Microsoft Entra External ID |
| Alignement runtime open source | bring-your-own | .NET, Orleans, Aspire, all open source |
| Hébergement de site statique + domaine personnalisé | S3 + CloudFront | Azure Static Web Apps (this site) |
Capacités des services Azure en 2026. AWS propose des équivalents pour la plupart des lignes. Le tableau montre où la charge de Prostir se pose le mieux, pas qui est le moins cher.
Open source
L'open source qu'on livre, l'open source qu'on utilise.
Prostir est construit par Managed Code sur de l'open source Microsoft et communautaire. Chaque paquet ci-dessous est réel, tiré des fichiers de notre projet, pas une liste de souhaits marketing.
Construit par Managed Code
Managed Code n'est pas juste le crédit en pied de page. La passerelle MCP, le pipeline de connaissance, le stockage et les intégrations Orleans sous votre agent publié sont de l'open source Managed Code qu'on maintient et qu'on livre.
- Managed Code L'équipe derrière Prostir. On ouvre le code des primitives backend qu'on utilise nous-mêmes.
- ManagedCode on GitHub MCPGateway, MarkdownLd.Kb, Storage, Communication, extensions Orleans, et le reste.
- ManagedCode.MCPGateway Passerelle MCP distante avec OAuth, multi-client, audit et quotas par outil.
- ManagedCode.MarkdownLd.Kb Pipeline de connaissance Markdown-LD / JSON-LD avec recherche sur graphe.
- ManagedCode.Storage.Azure Abstraction de stockage pour fichiers, mémoire et artefacts runtime sur Azure Blob.
- ManagedCode.Communication Contrats Result, Command et CollectionResult aux frontières de l'API et d'Orleans.
Les fondations .NET
Tout ce que Microsoft fait passer en GA depuis .NET 6 s'est rejoint dans .NET 10 et Aspire. C'est la plomberie sans éclat et fiable sous chaque page de Prostir.
- .NET 10 Runtime compilé, Native AOT, générateurs de source.
- ASP.NET Core 10 HTTP, auth, OpenAPI, SignalR, JsonPatch, services hébergés.
- Aspire Orchestration AppHost, service defaults, ressources de déploiement.
- Microsoft Orleans 10 Runtime d'acteurs virtuels pour .NET distribué : grains, persistance, placement, stateless workers et télémétrie dashboard.
- EF Core 10 (Cosmos) Persistance et modèle de requête typés au-dessus d'Azure Cosmos DB.
- MudBlazor Composants Material Design pour l'espace de travail créateur.
IA, MCP et les bibliothèques au-dessus
La pile IA native .NET vers laquelle Microsoft converge depuis 2024 : une interface, tous les modèles, un Agent Framework qui remplace Semantic Kernel et AutoGen. Plus les petites bibliothèques tranchantes sur lesquelles s'appuie le runtime : Jint pour les scripts en bac à sable, Stateless pour les machines à états, Stripe.net pour la facturation.
- Microsoft.Extensions.AI Une seule interface pour le chat, les embeddings, les appels d'outils et la télémétrie.
- Microsoft Agent Framework Le successeur officiel de Semantic Kernel et AutoGen.
- Model Context Protocol C# SDK Le SDK officiel en C# pour serveurs et clients MCP.
- Jint Un moteur JavaScript dans .NET. Il exécute les scripts d'outils que le créateur écrit.
- Stateless Des machines à états qui décident de ce que l'agent peut faire ensuite.
- Stripe.net Le client Stripe pour l'accès payant, le checkout et les webhooks.
Comment ce site est construit et livré
Prostir est construit avec de l'IA et livré comme site statique. MCAF est la méthode ouverte, Claude Code et OpenAI Codex sont les agents qui rédigent et relisent, et Astro construit la page même que vous lisez. Vous pouvez utiliser la même boucle sur votre propre produit.
- MCAF (Managed Code Application Framework) Une méthode ouverte pour laisser des agents IA construire du logiciel de production digne de confiance.
- Claude Code L'agent de codage d'Anthropic. Il rédige et relit.
- OpenAI Codex L'agent de codage d'OpenAI. Il audite ce que Claude a proposé.
- Astro La landing statique et localisée, faite pour les moteurs de recherche et de réponses.
Tech
Reliez la technologie à un cas concret.
Les études de cas montrent où chaque couche du runtime compte : connaissance, outils, état, mémoire, facturation, accès, quotas, visibilité côté opérateur.