>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
TypeScript

Comment Cloudflare transforme la création d'outils bureautiques en dialogue avec un agent

Dans la plupart des entreprises informatiques, le zoo des outils de travail se ressemble : d'interminables Google Docs, Notion, quelques tableaux de bord internes sur Retool, et des dizaines de scripts éparpillés écrits par un collègue parti il y a deux ans. Quand un employé a besoin d'un outil simple pour une tâche précise, il demande soit des ressources à l'équipe de développement interne, soit essaie de bricoler quelque chose à la volée.

L'équipe Cloudflare a rendu open-source le dépôt cloudflare-os. C'est leur environnement de travail interne, où les employés, des ingénieurs aux commerciaux, créent des micro-applications directement via un chat avec un modèle de langage.

Un espace de travail pour la planification Q3 dans Cloudflare OS, avec un deck de diapositives généré par IA

Ce qui se cache derrière ce nom ambitieux

Le nom « système d'exploitation » ici fait davantage référence à la gestion des tâches et processus computationnels qu'au remplacement de Linux. Les auteurs ont donné deux sens à ce terme : un environnement sécurisé pour exécuter des charges de travail IA et une plateforme commune pour la productivité quotidienne au sein de l'entreprise.

Le concept central repose sur l'abandon du SaaS centralisé au profit de ce qu'ils appellent des Gadgets. Quand vous avez besoin d'une présentation interactive ou d'un tableau Kanban pour un sprint spécifique, le système n'ouvre pas un service tiers. À la place, un agent intégré génère une application web isolée, personnalisée pour vous.

Cette approche modifie plusieurs aspects familiers :

  • Sécurité des données. L'application s'exécute dans un bac à sable isolé séparé et ne peut physiquement pas envoyer d'informations vers l'extérieur sans permission explicite.
  • Personnalisation. Si le tableau généré manque d'un graphique ou d'un bouton d'export CSV, vous demandez simplement à l'agent d'ajouter cette fonction dans le code de l'application.

Si le résultat est satisfaisant, vous pouvez l'exporter en tant que Blueprint et partager le code avec vos collègues afin qu'ils puissent déployer des copies indépendantes.

Ce que le système peut faire

Le dépôt présente la deuxième version de la plateforme, que les développeurs ont complètement réécrite à partir de zéro après l'expérience d'utilisation interne.

Génération d'applications de travail à la volée

Au lieu de modèles de documents prêts à l'emploi, le système propose de générer des logiciels interactifs. Un prompt comme « construis-moi un tableau Kanban avec un minuteur Pomodoro » crée une interface client et un backend complets.

L'agent fonctionne en mode Code : il écrit des morceaux de code, les exécute immédiatement dans le runtime, détecte les erreurs et se corrige jusqu'à ce que l'application fonctionne comme prévu. Vous pouvez connecter n'importe quel LLM pris en charge via l'adaptateur de la bibliothèque Pi.

Collaboration en temps réel

Chaque application créée supporte immédiatement le mode multi-joueurs. Si vous partagez le lien avec un collègue, vous voyez tous les deux les actions de l'autre à l'écran en temps réel. Les développeurs n'ont pas besoin de configurer manuellement les WebSockets car chaque gadget dispose d'un état distribué alimenté par Cloudflare Durable Objects en coulisses.

Modèle de sécurité intelligent avec des Gatekeepers

D'habitude, les intégrations d'agents avec des services externes via MCP souffrent du problème de donner au bot des permissions trop larges. Ici, l'accès est structuré différemment :

  • Chaque service externe (GitHub, Slack, Google Docs, Notion, Supabase) est protégé par sa propre passerelle Gatekeeper.
  • Par défaut, l'agent n'a accès à rien. L'utilisateur l'« introduit » manuellement au dépôt ou document nécessaire.
  • Toutes les actions avec effets secondaires nécessitent une confirmation humaine.

Les auteurs ont résolu le problème principal du mode Human-in-the-loop — les agents qui restent bloqués en attendant les clics de l'utilisateur. Gatekeeper simule une réponse de service réussie et renvoie des données synthétiques. Le bot continue la chaîne de raisonnement, et la personne approuve ensuite un lot d'actions accumulées en bloc à un moment opportun.

Communication intégrée homme et IA à l'intérieur du logiciel terminé

Le client et le serveur dans les gadgets communiquent via un protocole RPC Web Cap'n léger. Cela offre un avantage inattendu : l'interface de l'application est automatiquement compréhensible par le modèle de langage. Une fois que l'agent a assemblé un questionnaire interactif pour vous, vous pouvez lui demander de remplir certaines données ou de recalculer des statistiques directement dans la fenêtre créée.

Comment c'est structuré sous le capot

L'architecture de Cloudflare OS reflète un système d'exploitation traditionnel mais construit sur des primitives serverless :

  • Le Kernel est implémenté dans le package workshop-backend. Il gère le lancement des bacs à sable, le contrôle d'accès et la coordination des processus.
  • Les pilotes de périphériques sont représentés par des gatekeepers dans les packages packages/gatekeeper-*. Ils connectent le système avec les API externes.
  • Les processus et exécutables sont des gadgets et leurs modèles de blueprint.
  • L'interface utilisateur (Shell) est construite avec Vite et CodeMirror.

Le composant côté serveur de chaque gadget s'exécute dans un Dynamic Worker Facet avec un accès internet complètement désactivé. Le client s'ouvre dans un iframe protégé avec une Content-Security-Policy stricte et ne peut communiquer avec la fenêtre parent que via postMessage.

Il est intéressant de noter que le projet a été créé par les mêmes auteurs qui ont construit le runtime Workers lui-même. En substance, des fonctionnalités comme Dynamic Workers et Facets ont été ajoutées à la plateforme Cloudflare spécifiquement pour permettre cette architecture. Cependant, être lié au cloud n'est pas obligatoire : le système peut fonctionner sur le moteur open source workerd.

Comment lancer et tester

Pour les tests locaux, vous avez besoin du gestionnaire de paquets pnpm et de Node.js installé.

Clonez le dépôt et lancez la stack locale :

Après cela, l'interface s'ouvrira à http://localhost:8787. La base de données locale et l'environnement se lanceront via l'émulateur Wrangler intégré, et les données seront sauvegardées dans le dossier .wrangler.

Si vous souhaitez modifier le frontend ou le backend, vous pouvez les exécuter séparément dans deux terminaux :

Pour travailler avec des services externes, vous devrez configurer les clés OAuth pour les passerelles requises dans les dossiers packages/gatekeeper-*. Le dépôt inclut déjà des connecteurs prêts à l'emploi pour GitHub, Google API, Notion, Slack, Spotify et Home Assistant.

Impressions et nuances

Cloudflare OS ressemble à une expérience audacieuse sur la façon dont les entreprises peuvent écrire des logiciels pour leurs besoins internes. L'idée de donner à chaque employé une copie personnelle d'une application web au lieu d'une instance partagée semble non conventionnelle, mais elle résout parfaitement les problèmes de sécurité et de personnalisation.

Il est important de se rappeler que le projet est en statut accès anticipé. La documentation est encore minimale, le déploiement sur votre propre serveur via pure workerd est encore en cours de polissage, et les auteurs acceptent à peine les PR tierces dans le dépôt en raison de la complexité élevée de la revue.

Si vous cherchez un remplacement clé en main pour Jira ou Notion, le projet vous semblera encore brut. Mais si vous êtes intéressé par l'exploration d'une architecture de pointe basée sur Durable Objects ou souhaitez voir comment intégrer en toute sécurité des agents dans les processus internes de l'entreprise, le code source vaut définitivement quelques soirées de libre.

Projets similaires