Cloudflare a annoncé le lancement d’EmDash 1.0, la version stable de son système de gestion de contenu open source basé sur Astro. Le système cible les sites de production, les plateformes de création et d’hébergement de sites, ainsi que les équipes de développement et de rédaction qui souhaitent combiner une interface d’administration traditionnelle avec des outils utilisables par des agents logiciels via une API, une CLI et un serveur MCP intégré.
Cloudflare indique que cette version fait suite à cinq mois de tests sur des usages réels, avec un accent mis sur l’intégrité des données, la migration des bases de données, les flux de travail éditoriaux, la localisation, la sécurité des extensions, les performances, ainsi que la fiabilité des interfaces d’administration, des interfaces de programmation et de la gestion des médias. Parmi les exemples d’utilisation, l’entreprise Avulux a transféré un site personnalisé vers EmDash, tandis que Cloudflare a transféré son blog vers le système en août afin de tester son fonctionnement sous un trafic atteignant des millions de visites par semaine, avec des pics de 5 000 requêtes par seconde de trafic légitime, en plus d’attaques DDoS sporadiques.
Des extensions aux permissions définies
Le modèle d’EmDash diffère de celui des extensions traditionnelles qui s’exécutent dans le même processus et disposent théoriquement d’un accès étendu à la base de données, aux fichiers et au réseau. Dans EmDash, chaque extension fonctionne dans un environnement isolé et dispose d’un espace de stockage dédié. Par défaut, elle n’accède ni au contenu, ni aux médias, ni aux utilisateurs, ni aux secrets, ni au système de fichiers, ni au réseau.
La plateforme affiche les permissions demandées par l’extension avant son exécution. Celle-ci n’obtient des capacités supplémentaires qu’après les avoir déclarées et avoir reçu l’approbation de l’administrateur du site. Il est par exemple possible d’accorder à une extension l’autorisation de lire les médias afin d’améliorer les images sans lui donner accès au contenu des utilisateurs, ou de l’autoriser à lire certains événements et à envoyer des notifications sans lui permettre d’accéder aux réseaux privés ou au stockage d’autres extensions. Ces limites sont imposées par l’environnement d’exécution, et ne reposent pas uniquement sur le respect des règles par le développeur de l’extension.
Sur Cloudflare, les extensions fonctionnent comme des Dynamic Workers via Worker Loader, tandis que le déploiement sur Node.js utilise l’environnement workerd comme processus distinct. Les deux plateformes utilisent les mêmes métadonnées et des interfaces de programmation limitées par les capacités, avec des différences au niveau de la configuration et de l’environnement d’exécution.
Un registre décentralisé pour les extensions
Avec la version 1.0, Cloudflare a lancé un registre d’extensions qui sépare l’extension elle-même du catalogue permettant de la découvrir et de l’installer. Le développeur conserve le paquet de l’extension, son historique des versions et son identité, tandis qu’EmDash fournit un catalogue par défaut que d’autres services peuvent indexer ou remplacer par des catalogues appliquant des politiques différentes.
Le registre repose sur l’AT Protocol, également utilisé par Bluesky. Les enregistrements des paquets et des versions sont publiés dans le compte de l’éditeur et signés par celui-ci. EmDash vérifie l’enregistrement de la version, le nom du paquet, le numéro de version, la liste des permissions demandées et, si nécessaire, la source de compilation, puis s’assure que le paquet téléchargé correspond à l’enregistrement signé. Le catalogue par défaut applique également une modération des noms, des descriptions, des liens et des images, sans réécrire la version ni en devenir propriétaire.
Le registre prend actuellement en charge les extensions gratuites, tandis que Cloudflare prévoit de proposer des extensions payantes à l’avenir. L’entreprise a publié ses services de registre, notamment l’agrégateur et le service de classification utilisant Workers AI, en tant que composants open source.
Qu’est-ce qui change concrètement ?
EmDash combine une gestion de contenu basée sur Astro, une intégration native avec les outils d’agents et un modèle de sécurité plus restrictif pour les extensions. Cela peut intéresser les équipes de développement qui souhaitent réduire les risques liés à l’installation de code externe, ainsi que les plateformes qui gèrent plusieurs sites et doivent accorder à chaque extension le moins de permissions possible. La version ne supprime toutefois pas la nécessité d’examiner les extensions : l’isolation limite l’étendue de l’accès, tandis que la capacité de l’extension à exécuter la tâche qui lui a été accordée et les conséquences de son adoption restent sous la responsabilité du propriétaire du site.
Cloudflare indique que plus de 175 personnes ont contribué au projet à travers plus de 1 800 changements, et que la communauté a traduit EmDash dans 25 langues. L’entreprise a également lancé une version préliminaire open source d’EmDash Build, un outil destiné à créer des sites avec l’intelligence artificielle. Chaque projet y obtient un conteneur Cloudflare Sandbox et utilise l’agent MCP pour créer le modèle de contenu et les pages, tandis que les Artifacts enregistrent les changements sous forme de commits Git avant la publication du site sur Workers for Platforms.
Il est possible de créer un site localement à l’aide de la commande npm create emdash@latest. Les questions encore ouvertes concernent la maturité du système en dehors de l’environnement Cloudflare, l’ampleur de l’écosystème des extensions et la manière dont le modèle de paiements décentralisé sera appliqué lors de son lancement.