écrits/blog/2026/06
Blog20 juin 2026·6 min

Bun en 2026 : le runtime JavaScript tout-en-un

Guide pratique pour les développeurs sur Bun en 2026 : un binaire qui remplace Node, npm, webpack et jest, désormais soutenu par Anthropic et au cœur de Claude Code.

Pendant une décennie, livrer une application JavaScript signifiait assembler une boîte à outils : Node pour exécuter le code, npm pour installer les paquets, webpack pour le bundling, Babel pour la transpilation, Jest pour les tests, ts-node pour TypeScript et nodemon pour le rechargement. Bun condense tout cela dans un seul binaire. Comme le dit son créateur Jarred Sumner : « Nous n'avons pas créé Bun pour remplacer Node.js. Nous l'avons créé pour remplacer les 15 outils dont vous avez besoin à côté de Node.js. »

En 2026, cette promesse a porté ses fruits. Bun a atteint la version stable v1.3, a franchi près de 98 % de compatibilité avec les API de Node.js réellement utilisées, puis — dans un mouvement qui a redessiné le paysage — a été racheté par Anthropic en décembre 2025. Bun sert désormais d'infrastructure centrale pour Claude Code et le Claude Agent SDK, tout en restant open source sous licence MIT.

Ce guide passe en revue ce que fait réellement Bun, les commandes du quotidien et son adéquation à votre stack.

Pourquoi Bun est rapide

Bun est écrit en Zig et bâti sur le moteur JavaScriptCore d'Apple plutôt que sur le V8 de Google. Résultat : un temps de démarrage nettement réduit et un débit supérieur. Dans les benchmarks de 2026, un serveur HTTP basique sous Bun encaisse environ 52 000 requêtes par seconde contre près de 13 000 pour Node, démarre en environ 290 ms contre 940 ms pour Node, et consomme 25 à 40 pour cent de mémoire en moins au repos.

C'est au niveau du gestionnaire de paquets que la plupart des équipes ressentent la différence en premier. Installer une nouvelle application React avec ses dépendances prend environ 2 secondes avec bun install, contre près de 18 secondes avec npm install. Pour des pipelines CI qui tournent des centaines de fois par jour, cet écart représente une économie bien réelle.

Premiers pas

Installez Bun en une seule commande, sans gestionnaire de versions :

curl -fsSL https://bun.sh/install | bash
 
# Vérification
bun --version
 
# Créer un nouveau projet
bun init

Bun exécute TypeScript et JSX directement, sans étape de build. Les enums, decorators et namespaces fonctionnent d'emblée :

bun run index.ts

Un binaire, quatre métiers

La valeur fondamentale de Bun réside dans la consolidation. Le même binaire prend en charge les quatre tâches qui nécessitent habituellement quatre outils distincts.

Gestionnaire de paquets

Bun lit votre package.json existant et remplace npm, yarn ou pnpm sans friction. Depuis la v1.2, il écrit un fichier de verrouillage textuel et lisible (bun.lock) plutôt qu'un fichier binaire, ce qui rend les diffs vérifiables.

bun install            # installer les dépendances
bun add hono           # ajouter une dépendance
bun add -d vitest      # ajouter une dépendance de développement
bun remove lodash      # supprimer un paquet
bunx cowsay "hello"    # exécuter un paquet sans l'installer (comme npx)

Lanceur de tests

Bun embarque un lanceur de tests compatible avec Jest, intégré au binaire. Rien à installer, aucun fichier de configuration à écrire.

import { test, expect } from "bun:test";
 
test("addition works", () => {
  expect(2 + 2).toBe(4);
});
bun test               # exécuter tous les tests
bun test --watch       # relancer à chaque modification

Bundler

bun build regroupe le code frontend et backend. Depuis Bun 1.3, un seul build peut produire les ressources navigateur et un serveur, et les exécutables autonomes prennent désormais en charge les applications full-stack.

bun build ./index.ts --outdir ./dist --target browser --minify

Runtime

Au-delà de l'exécution de scripts, Bun expose des API natives rapides. Bun.file et Bun.write gèrent les entrées-sorties plus vite que leurs équivalents Node, et --hot offre un rechargement à chaud sans nodemon :

bun --hot server.ts

Construire une application full-stack

Bun 1.3 a transformé le runtime en véritable plateforme full-stack. Bun.serve() prend désormais en charge un objet de routes avec des paramètres de chemin dynamiques, des handlers distincts par méthode HTTP et l'import direct de fichiers HTML — autrement dit, votre frontend et votre API vivent dans un même serveur, avec rechargement à chaud offert.

import { serve } from "bun";
import homepage from "./index.html";
 
serve({
  port: 3000,
  routes: {
    "/": homepage,
    "/api/users/:id": {
      GET: (req) => Response.json({ id: req.params.id }),
      DELETE: (req) => Response.json({ deleted: req.params.id }),
    },
  },
});

Lorsque vous importez un fichier HTML, Bun regroupe automatiquement ses scripts et feuilles de style liés, applique le rechargement à chaud en développement et sert des ressources optimisées en production. Aucune configuration Vite ou webpack séparée à maintenir.

Des clients de base de données intégrés

Une fonctionnalité marquante de 2026 est l'accès natif aux bases de données sans pilote tiers. Bun.sql a démarré comme client PostgreSQL et constitue désormais une API unifiée couvrant PostgreSQL, MySQL, MariaDB et SQLite, accompagnée d'un client Redis intégré.

import { sql } from "bun";
 
const users = await sql`
  SELECT id, name FROM users WHERE active = ${true}
`;

Pour les données locales, bun:sqlite est un pilote SQLite synchrone et rapide intégré au runtime :

import { Database } from "bun:sqlite";
 
const db = new Database("app.sqlite");
db.run("CREATE TABLE IF NOT EXISTS notes (id INTEGER, body TEXT)");

Les requêtes en templates balisés sont paramétrées par défaut : vous bénéficiez d'une protection contre l'injection SQL sans ORM.

Le facteur Anthropic

Le plus grand virage stratégique de l'année a été le rachat de Bun par Anthropic en décembre 2025. Longtemps, le principal argument contre l'adoption de Bun fut la pérennité : un runtime rapide maintenu surtout par une petite équipe comporte un risque d'abandon. Cette inquiétude est aujourd'hui largement dissipée. Bun est le socle sur lequel reposent Claude Code et le Claude Agent SDK, ce qui signifie qu'une entreprise d'IA bien financée a tout intérêt à le garder rapide, compatible et maintenu pour des années.

Surtout, le projet est resté open source sous licence MIT après l'accord. Pour les équipes de la région MENA — où éviter la dépendance à un fournisseur et garder une infrastructure auto-hébergeable comptent — cette combinaison de soutien d'entreprise et de licence ouverte est le meilleur des deux mondes.

Faut-il migrer ?

Bun est prêt pour la production sur la plupart des charges de travail en 2026, mais la décision dépend de votre contexte :

  • Nouveaux projets : commencez avec Bun. Vous obtenez la vitesse, TypeScript sans configuration, un lanceur de tests et un bundler dès le premier jour.
  • CI et outillage : même si votre application tourne sous Node en production, basculer la CI vers bun install et bun test est un moyen peu risqué de réduire immédiatement le temps de pipeline.
  • Applications Node existantes : testez d'abord la compatibilité. La couverture avoisine 98 % pour les API courantes, mais les addons natifs et quelques rouages internes de Node peuvent encore différer. Exécutez votre suite de tests sous Bun avant de vous engager.
  • Edge et serverless : un démarrage à froid sous 300 ms fait de Bun un excellent choix pour les fonctions serverless, où le temps de boot domine le coût.

Conclusion

La promesse de Bun est simple : un binaire rapide plutôt qu'un empilement fragile d'outils. En 2026, cette promesse est tenue — versions stables, compatibilité Node quasi complète, serveur de développement full-stack, clients de base de données natifs et soutien financier d'Anthropic. Que vous l'adoptiez intégralement ou que vous l'utilisiez seulement pour accélérer votre CI, Bun n'est plus une expérimentation. C'est un socle sérieux et bien soutenu pour livrer du JavaScript et du TypeScript plus vite.

Si vous modernisez une stack web ou lancez un nouveau projet, Bun mérite une place sur votre liste restreinte. Chez Noqta, nous aidons les équipes en Tunisie et dans la région MENA à choisir et adopter les bons outils — rapides, ouverts et conçus pour durer.