12k
All articles

Les meilleurs éditeurs de code en ligne

Comparez CodePen, StackBlitz, CodeSandbox, Replit et Bolt. Découvrez leurs capacités, l’importation depuis GitHub et les moyens d’éviter la dépendance à une plateforme.

OpenReplay Team
OpenReplay Team
Les meilleurs éditeurs de code en ligne

Le meilleur éditeur de code en ligne dépend de la tâche à accomplir, parmi trois possibles : un playground front-end (CodePen, JSFiddle) pour des démos avec rendu, un environnement de développement dans le navigateur (StackBlitz, CodeSandbox, Replit) pour les projets qui nécessitent un véritable processus Node, ou un générateur orienté IA (Bolt) pour transformer un prompt en projet fonctionnel.

Imaginez qu’un mainteneur vous demande une reproduction minimale d’un bug. Vous lui envoyez un lien CodePen, puis vous vous rendez compte que le bug n’apparaît qu’après un npm install et un build Vite. Un simple rapport de bug vient de vous coûter un après-midi.

Cet article classe les outils en trois catégories et évalue chacun selon les cinq mêmes critères. Il aborde également les nouveautés de CodePen 2.0, la facilité avec laquelle vous pouvez migrer votre travail ailleurs et l’endroit où votre code est réellement stocké. Les éditeurs de bureau et les IDE cloud sur VM, comme GitHub Codespaces, ne sont pas traités ici.

Points clés

  • Les éditeurs de code en ligne se répartissent en trois catégories aux usages distincts : les playgrounds front-end, les environnements dans le navigateur qui exécutent un véritable processus Node, et les générateurs orientés IA qui produisent un projet à partir d’un prompt.
  • CodePen 2.0, lancé en juillet 2026, ajoute les Pens multifichiers, les paquets npm dans package.json et le déploiement en un clic. Il devient ainsi un playground plus complet et un hébergeur de sites léger, mais pas un environnement de développement Node.
  • StackBlitz exécute Node dans l’onglet du navigateur grâce aux WebContainers. Votre projet reste néanmoins enregistré sur le service de StackBlitz, sauf s’il se trouve dans votre propre dépôt.
  • L’éditeur en ligne le plus facile à quitter est celui où le projet est un dépôt GitHub, car le code, son historique et son manifeste existent déjà en dehors de l’outil.

Quelles sont les trois catégories d’éditeurs de code en ligne ?

Chaque éditeur de code en ligne appartient à l’une de ces trois catégories. C’est la catégorie qui détermine ce que l’outil peut exécuter : choisissez donc d’abord la catégorie, puis l’outil.

  • Playgrounds front-end (CodePen, JSFiddle) : vous écrivez du HTML, du CSS et du JavaScript, et la page s’affiche dans un aperçu en direct. Ils sont conçus pour les démos et les petites reproductions de bugs.
  • Environnements de développement dans le navigateur : ils exécutent un véritable processus Node avec des paquets installés et une étape de build. StackBlitz exécute Node dans l’onglet grâce aux WebContainers. Les Devboxes de CodeSandbox et Replit exécutent les projets sur des machines distantes.
  • Générateurs orientés IA (Bolt) : un prompt produit un projet complet, que vous faites ensuite évoluer par itérations.

Comparer CodePen à CodeSandbox relève généralement d’une erreur de catégorie. CodePen est conçu pour partager une démo avec rendu, tandis que CodeSandbox est conçu pour exécuter un projet avec une étape de build et des paquets installés. Classer des outils issus de catégories différentes les uns par rapport aux autres conduit à des comparaisons trompeuses.

Qu’est-ce qui change avec CodePen 2.0 ?

CodePen 2.0 rapproche CodePen d’un outil de gestion de projet, sans pour autant en faire un. L’article de lancement de CodePen date le lancement du 23 juillet 2026. Il présente un éditeur unique qui remplace à la fois l’ancien éditeur de Pens et l’ancien éditeur de Projects, avec de nouvelles fonctionnalités en prime.

Voici ce que cela signifie si vous avez l’habitude des Pens classiques :

  • Plusieurs fichiers dans un même Pen. Auparavant, vous enchaîniez trois Pens et importiez le JavaScript des deux autres. Désormais, les fichiers résident dans un seul Pen. La documentation de CodePen sur les fichiers précise que les Pens gratuits sont limités à trois fichiers et ne peuvent pas contenir de médias importés, comme des images. Les offres PRO relèvent la limite de fichiers et autorisent les fichiers multimédias.
  • Paquets npm dans package.json. Les dépendances sont versionnées dans un manifeste au lieu d’être collées sous forme d’URL de CDN. Rien n’est installé pour autant. La documentation de CodePen sur les paquets explique que le compilateur convertit package.json en import map, et que les paquets sont toujours chargés depuis le CDN esm.sh.
  • Collaboration. Avec les offres payantes, vous pouvez inviter des personnes en tant qu’éditeurs. Vous pouvez travailler ensemble sur un Pen en temps réel, ou apporter des modifications pendant que les autres sont hors ligne. Les utilisateurs PRO peuvent également ouvrir un Live Preview dans un autre onglet ou un autre navigateur, qui se met à jour au fil de vos modifications. La FAQ « What changed » de CodePen décrit ces deux fonctionnalités.
  • Blocks. Les nouveaux langages et outils s’intègrent sous forme de Blocks. MJML en est un exemple. La page What’s New présente les Blocks comme le moyen par lequel CodePen ajoute de nouvelles technologies.
  • Déploiements. Un clic suffit pour déployer le Pen sur un sous-domaine *.codepen.app. Les offres PRO permettent également d’y faire pointer votre propre nom de domaine.

Les Pens classiques n’ont pas disparu. L’éditeur classique fonctionne toujours comme avant. La conversion d’un Pen existant vers la version 2.0 est facultative, même si CodePen a indiqué qu’il pourrait convertir tous les Pens en 2.0 à l’avenir.

Aucune des fonctionnalités confirmées de la version 2.0 n’est un runtime serveur ou un terminal. Pour une repro qui nécessite un serveur de développement Node, CodePen reste dans la mauvaise catégorie. Pour les limites des offres au-delà du nombre de fichiers, consultez la page tarifaire de CodePen.

Les autres outils

JSFiddle, StackBlitz, CodeSandbox, Replit et Bolt sont présentés ci-dessous selon les cinq mêmes critères. Pour tous, la tarification fonctionne de la même manière : il existe une offre gratuite, et les offres payantes apportent davantage de capacité et d’options de confidentialité. Consultez la page tarifaire de chaque éditeur pour plus de détails.

JSFiddle

Ce qui s’exécute : HTML, CSS et JavaScript dans un aperçu navigateur. Offre gratuite : suffisante pour des snippets publics. Import de dépôt : aucun qui s’intègre à un workflow basé sur un dépôt. Intégration/partage : vous partagez une URL. Portabilité : vous copiez manuellement le contenu des panneaux. Utilisez JSFiddle lorsque le bug tient sur un seul écran.

StackBlitz

Ce qui s’exécute : Node.js dans l’onglet du navigateur, via les WebContainers. La documentation d’import de StackBlitz prévient que tout ce qui sort du cadre de Node.js ne fonctionnera pas. Cela exclut des langages comme PHP, Python et Java, ainsi que des bases de données comme MySQL et PostgreSQL qui nécessitent leur propre programme serveur. Offre gratuite : utile pour des repros publiques. Import de dépôt : ouvrez stackblitz.com/github/{user}/{repo} pour charger n’importe quel dépôt public. Le projet StackBlitz suit ensuite le dépôt, de sorte que les nouveaux commits que vous poussez sur GitHub y apparaissent également. Intégration/partage : vous pouvez intégrer des projets dans de la documentation ou des articles de blog, et ajouter des boutons « Open in StackBlitz » à un README. Si vous avez besoin d’un éditeur au sein de votre propre produit plutôt que d’une démo intégrée, c’est un autre besoin, traité dans Create your own Code Editor with React. Portabilité : élevée lorsque vous partez de GitHub. Utilisez StackBlitz lorsqu’une repro nécessite un npm install.

CodeSandbox

Ce qui s’exécute : les Devboxes exécutent les projets sur des machines distantes. Offre gratuite : disponible, avec davantage de ressources de calcul dans les offres payantes. Import de dépôt : le workflow GitHub de CodeSandbox est en pleine évolution. Together AI a racheté CodeSandbox et migre les produits de CodeSandbox vers sa propre plateforme : consultez donc la documentation à jour avant de vous appuyer sur un quelconque processus d’import. Intégration/partage : espaces de travail partagés. Portabilité : dépend de l’adossement ou non du projet à un dépôt. Utilisez CodeSandbox lorsqu’une équipe a besoin d’un environnement distant partagé.

Replit

Ce qui s’exécute : des espaces de travail hébergés sur l’infrastructure de Replit, qui ne se limitent pas à Node. Offre gratuite : adaptée à l’apprentissage et aux petits prototypes. Import de dépôt : l’import GitHub de Replit ouvre un dépôt public à l’adresse replit.com/github.com/{user}/{repo}. Pour les dépôts privés, vous connectez votre compte GitHub sur replit.com/import. Les secrets et les variables d’environnement ne sont pas copiés. Intégration/partage : vous partagez un lien vers une application en cours d’exécution. Portabilité : le projet reste dans Replit, sauf si vous l’exportez. Utilisez Replit lorsque le back-end n’est pas en JavaScript.

Bolt

Ce qui s’exécute : les projets générés par Bolt s’exécutent dans le navigateur sur des WebContainers. Bolt est développé par StackBlitz, et son dépôt open source décrit la stack technique. Offre gratuite : suffisante pour tester un prompt. Import de dépôt : ce n’est pas son workflow principal. Intégration/partage : un aperçu hébergé. Portabilité : vérifiez les options d’export de Bolt avant de construire quoi que ce soit que vous souhaitez conserver. Si vous cherchez plutôt l’IA intégrée à un éditeur complet qu’un générateur qui transforme des prompts en applications, consultez AI-Powered Code Editors: Are They Actually Improving Developer Productivity?

OutilCe qui s’exécuteImport de dépôtIntégration/partagePortabilité
CodePen 2.0Fichiers front-end, BlocksNon documentéIntégrations, Live Preview, déploiementExport .zip
JSFiddleHTML/CSS/JSNonURLCopie manuelle
StackBlitzNode dans l’ongletURL GitHubIntégrations, boutonsÉlevée via GitHub
CodeSandboxDevboxes distantesEn évolutionEspace de travail partagéVariable
ReplitDistant, multilangageURL ou compte GitHubLien vers l’application en cours d’exécutionExport nécessaire
BoltNode dans l’onglet (généré)N/AAperçuVérifier l’export

Dépendance à l’outil et export

Vous pouvez quitter un outil facilement si votre travail se trouve déjà dans un dépôt GitHub. Vous êtes en revanche captif si votre travail n’existe que sous la forme d’un Pen, d’un Fiddle ou d’un projet de générateur IA hébergé.

L’import GitHub de StackBlitz fait du dépôt la copie de référence de votre code, ce qui en fait l’outil le plus facile à quitter parmi ceux présentés ici. Les projets uniquement hébergés nécessitent un travail manuel pour être récupérés. L’export de CodePen vous fournit un fichier .zip contenant vos fichiers sources et le résultat du dernier build, mais pour continuer à travailler en local, vous devez configurer vos propres outils de build.

Si le travail a de l’importance, partez d’un dépôt ou poussez-le vers un dépôt au plus tôt. Un projet portable se compose de fichiers simples, sans rien de spécifique à un outil :

{
  "name": "portable-repro",
  "private": true,
  "type": "module",
  "scripts": { "dev": "vite", "build": "vite build" },
  "devDependencies": { "vite": "^8.3.0" }
}
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><title>Portable repro</title></head>
<body>
  <div id="app"></div>
  <script type="module" src="/main.js"></script>
</body>
</html>
const app = document.getElementById('app');
app.textContent = `Rendered at ${new Date().toISOString()}`;

Poussez ces trois fichiers sur GitHub, et le projet s’ouvre via l’URL /github/ de StackBlitz. Il s’exécute également en local avec npm install && npm run dev.

Confidentialité et utilisation hors ligne

Tous les éditeurs de code en ligne présentés dans cet article fonctionnent sur les serveurs d’un tiers. Lorsque le code s’exécute dans l’onglet du navigateur, cela change l’endroit où il est exécuté, pas celui où il est stocké. StackBlitz exécute votre code dans l’onglet, mais enregistre tout de même le projet sur son propre service, sauf si le projet se trouve dans votre dépôt.

Si le code ne doit pas quitter votre machine, aucun éditeur en ligne n’est l’outil adapté, y compris ceux qui s’exécutent dans l’onglet. Pour des modifications rapides de fichiers locaux, How to use Chrome as a Code Editor and Debugger montre comment les Workspaces des DevTools permettent de lire et d’écrire directement dans un dossier local.

Quel éditeur de code en ligne choisir ?

Aucun éditeur de code en ligne ne s’impose dans tous les cas. Choisissez en fonction de la tâche :

TâcheOutil
Démo visuelle à partagerCodePen
Repro minimale d’un bug pour une issueJSFiddle ou CodePen
Repro nécessitant une étape de build ou un npm installStackBlitz
Projet complet avec accès pour l’équipeDevboxes CodeSandbox
Back-end non NodeReplit
Prototype à partir d’un promptBolt, puis migration vers un dépôt

La catégorie à laquelle appartient un outil détermine ce qu’il peut exécuter. L’outil que vous choisissez au sein de cette catégorie détermine la facilité avec laquelle vous pourrez le quitter. La prochaine fois que vous ouvrirez un onglet pour créer quelque chose dont vous aurez besoin plus tard, placez-le d’abord dans un dépôt GitHub, puis choisissez l’éditeur capable de l’ouvrir.

FAQ

CodePen 2.0 exécute-t-il npm install pour les paquets de package.json ?

Non. CodePen 2.0 détecte les paquets utilisés par un Pen et les répertorie dans un package.json modifiable. Le compilateur de CodePen convertit ensuite ce fichier en import map qui charge chaque paquet depuis le CDN esm.sh. Rien n'est installé et aucun dossier node_modules n'existe. Vous pouvez ajouter votre propre import map, et CodePen donne la priorité à vos entrées sur celles générées automatiquement.

StackBlitz fonctionne-t-il dans Firefox et Safari ?

Oui, avec des limites. Les WebContainers, le runtime sur lequel reposent StackBlitz et Bolt, fonctionnent pleinement dans Chrome et les navigateurs basés sur Chromium. Firefox bénéficie d'une prise en charge en version bêta, tout comme Safari à partir de la version 16.4. Ni Firefox ni Safari ne prennent entièrement en charge le mode d'isolation cross-origin dont les WebContainers ont besoin : un aperçu serveur dans l'éditeur peut donc bloquer les ressources tierces. Ouvrir l'aperçu dans une fenêtre dédiée permet de contourner ce problème.

StackBlitz peut-il ouvrir un dépôt GitHub privé ?

Uniquement avec un abonnement StackBlitz payant. Les dépôts publics s'ouvrent gratuitement à l'adresse stackblitz.com/github/USER/REPO, mais l'import de dépôts privés est une fonctionnalité réservée aux abonnés. Un simple lien /github/ charge le dépôt sans accès en écriture, et votre premier enregistrement recharge la page dans votre propre copie. Ajoutez /fork avant le chemin GitHub, comme dans stackblitz.com/fork/github/USER/REPO, pour ouvrir directement une nouvelle copie.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — self-hosted, with full data ownership.

Star on GitHub

We use cookies to improve your experience. By using our site, you accept cookies.