EmDash, le CMS de Cloudflare, isole les plugins pour régler la faille de sécurité de WordPress
Fin août 2026, Cloudflare a publié EmDash, un CMS en TypeScript présenté comme le successeur spirituel de WordPress, et y a migré son propre blog. L’idée maîtresse tient en un mécanisme, isoler chaque plugin dans un sandbox avec des permissions déclarées, là où 96 % des failles WordPress viennent des plugins.
Fin août 2026. Cloudflare publie EmDash, un CMS entièrement écrit en TypeScript et présenté comme le successeur spirituel de WordPress, puis bascule son propre blog dessus. 96 %. C’est la part des incidents de sécurité WordPress qui proviennent des plugins, selon Patchstack. Pourquoi c’est important : plutôt que de corriger des plugins un par un, EmDash attaque le problème à la racine en isolant chaque extension dans un sandbox, avec des permissions déclarées à l’installation.
Reconstruire WordPress depuis zéro
Le point de départ de EmDash est une observation : WordPress propulse plus de 40 % du web, mais son architecture de plugins n’a pas changé depuis que le projet est né, il y a 24 ans. À l’époque, Amazon EC2 n’existait pas ; aujourd’hui, héberger un site consiste souvent à déployer un bundle JavaScript sur un réseau distribué, pour un coût quasi nul.
Cloudflare affirme avoir reconstruit WordPress de zéro avec ses agents de codage en deux mois, après avoir déjà réécrit Next.js en une semaine. Le résultat : un CMS serverless qui peut tourner sur le matériel de votre choix ou sur n’importe quelle plateforme, propulsé sous le capot par Astro. EmDash est intégralement open source, sous licence MIT, et aucun code de WordPress n’a été réutilisé — ce qui explique la licence permissive.
Le mode de construction mérite une mention : Cloudflare dit avoir écrit EmDash en deux mois avec ses agents de codage, une pratique que la communauté self-hosting observe avec un mélange d’enthousiasme et de prudence — l’éditeur de selfh.st notait d’ailleurs en août qu’il distingue désormais « assistance IA » et « vibe coding » dans son annuaire. Pour l’adoptant, la question n’est pas qui a tapé le code, mais si le résultat est maintenable et auditable.
Le choix d’Astro n’est pas anodin. C’est un framework orienté contenu qui génère du HTML statique par défaut et n’hydrate que ce qui a besoin de JavaScript — ce qui permet de servir un site EmDash comme de simples fichiers statiques, pour un coût d’hébergement quasi nul, sans runtime PHP ni base de données. C’est le même saut architectural que Cloudflare met en avant : un CMS vieux de vingt-quatre ans reconstruit pour l’ère statique et serverless.
Le sandboxing des plugins, la vraie rupture
La faille structurelle de WordPress est simple à décrire : un plugin est un script PHP qui s’accroche directement au cœur, avec un accès complet à la base de données et au système de fichiers. Installer un plugin, c’est lui confier presque tout. Les chiffres de Patchstack sont sans appel : 96 % des failles viennent des plugins, et 2025 a vu plus de vulnérabilités à haute sévérité que les deux années précédentes réunies.
EmDash inverse la logique. Chaque plugin s’exécute dans son propre isolate, via les Dynamic Workers de Cloudflare. Il ne reçoit pas un accès direct aux données, mais des capacités accordées par liaison, selon ce que le plugin déclare explicitement dans son manifeste. La garantie est stricte : un plugin ne peut faire que ce qu’il a déclaré, rien d’autre.
import { definePlugin } from "emdash";
export default () =>
definePlugin({
id: "notify-on-publish",
version: "1.0.0",
capabilities: ["read:content", "email:send"],
hooks: {
"content:afterSave": async (event, ctx) => {
if (event.collection !== "posts" || event.content.status !== "published") return;
await ctx.email!.send({
to: "[email protected]",
subject: `New post published: ${event.content.title}`,
text: `"${event.content.title}" is now live.`,
});
ctx.log.info(`Notified editors about ${event.content.id}`);
},
},
}); Ce plugin déclare deux capacités — lire le contenu et envoyer un e-mail. Il n’a aucun accès réseau : s’il en veut un, il doit déclarer l’hôte exact. L’administrateur sait donc, avant l’installation, exactement ce que le plugin demande, comme lors d’un flux OAuth.
Casser le verrou du marketplace
Le sandboxing règle un second problème, moins visible : le verrou du marketplace. WordPress.org examine manuellement chaque plugin, et la file d’attente dépassait 800 plugins pour un délai d’au moins deux semaines au moment de l’annonce. Pire, comme les plugins s’exécutent dans le même contexte que WordPress, une partie de l’écosystème considère qu’ils doivent hériter de la licence GPL — un verrou juridique qui force l’auteur à donner son code partout, sauf sur le marketplace.
EmDash évacue les deux contraintes. D’une part, chaque plugin peut porter n’importe quelle licence, puisqu’il tourne indépendamment et ne partage aucun code avec le cœur. D’autre part, comme le code s’exécute dans un sandbox, un site peut faire confiance à un plugin sans jamais en voir le code. C’est un changement de modèle économique pour les développeurs d’extensions, et un changement de niveau de risque pour les hébergeurs.
Un aperçu précoce, pas encore un remplaçant
EmDash est livré en v0.1.0, au stade de bêta développeur. On peut le déployer sur un compte Cloudflare ou sur n’importe quel serveur Node.js, et l’essayer via le playground d’EmDash. Le périmètre reste celui d’un aperçu : compatible avec les usages WordPress dans l’esprit, mais loin de la maturité d’un écosystème vieux de vingt-quatre ans — thèmes, extensions, migrations et documentation.
C’est exactement là qu’il faut placer l’attente. EmDash n’est pas encore le remplaçant de WordPress ; c’est une preuve de concept sérieuse, portée par un acteur qui a les moyens de la faire mûrir, et qui a déjà le courage de l’utiliser pour son propre blog. Pour un self-hoster, c’est un signal à suivre de près, pas forcément une migration immédiate.
Pour un self-hoster, le déploiement de base est simple : EmDash étant propulsé par Astro, le site généré peut être servi sur un serveur Node.js ou sur la plateforme Cloudflare. La promesse de sandboxing des plugins, elle, repose sur le runtime Workers de Cloudflare — un détail d’architecture à peser si l’on veut conserver une indépendance totale vis-à-vis de leur écosystème.
Verdict
Si vous lancez un nouveau blog ou site de contenu auto-hébergé, EmDash mérite un essai dès maintenant : l’isolation des plugins par capacités est la réponse la plus propre, à ce jour, au problème structurel de WordPress, et la licence MIT lève les frictions juridiques classiques.
Si vous exploitez un site WordPress en production, ne migrez pas encore : la v0.1.0 est un aperçu, et l’écosystème de thèmes et d’extensions n’existe pas à l’échelle de ce que vous utilisez. Suivez le rythme de publication et préparez un plan de bascule pour le jour où la maturité sera là.
Si vous développez des plugins, regardez attentivement le modèle de capacités et de licences d’EmDash : c’est une opportunité de distribuer des extensions sans la contrainte GPL ni la dépendance à un marketplace unique — un terrain que WordPress ne pourra pas offrir.