4 points par GN⁺ 2026-02-25 | 1 commentaires | Partager sur WhatsApp
  • vinext est un framework compatible Next.js créé en une semaine par une IA et un seul ingénieur, basé sur Vite et déployable sur Cloudflare Workers avec une simple commande
  • La vitesse de build est jusqu’à 4,4 fois plus rapide, et la taille du bundle client est réduite de 57 %, tout en réutilisant à l’identique la structure de répertoires et la configuration des projets Next.js existants
  • Conçu pour Cloudflare Workers, il prend en charge des fonctionnalités de pré-rendu basé sur le trafic comme le cache ISR basé sur KV et le Traffic-aware Pre-Rendering
  • La majeure partie du code a été écrite par l’IA, avec plus de 1 700 tests et des revues de code automatisées pour garantir la qualité
  • Ce projet est un exemple montrant que l’IA a atteint un niveau où elle peut réimplémenter des frameworks complexes, et il suggère de possibles évolutions futures dans la structure du développement logiciel

Limites de déploiement de Next.js et constat du problème

  • Next.js est l’un des principaux frameworks basés sur React, mais le déploiement en environnement serverless nécessite un processus complexe de transformation de la sortie de build
    • Pour déployer sur Cloudflare, Netlify, AWS Lambda, etc., il faut restructurer le résultat de build Turbopack de Next.js selon chaque plateforme
  • OpenNext a tenté de résoudre ce problème, mais la nécessité d’effectuer de la rétro-ingénierie sur la sortie de build de Next.js a entraîné une instabilité structurelle selon les versions
  • Une API d’adaptateur pour Next.js est en cours de développement, mais la structure du serveur de développement, dédiée à Node.js, rend les tests d’API spécifiques à chaque plateforme difficiles

Architecture et caractéristiques de vinext

  • vinext est un framework alternatif qui réimplémente directement l’API de Next.js au-dessus de Vite
    • Après npm install vinext, il suffit de remplacer la commande next par vinext pour exécuter le projet existant tel quel
    • Les commandes vinext dev, vinext build et vinext deploy unifient développement, build et déploiement
  • Les principales fonctionnalités de Next.js, comme le routage, le rendu côté serveur, les React Server Components, les Server Actions, le cache et les middlewares, sont implémentées sous forme de plugins Vite
  • Il génère des sorties de build indépendantes de la plateforme grâce à la Vite Environment API

Benchmarks de performance

  • Comparaison avec Next.js 16 sur la même application comportant 33 routes
    • Temps de build : vinext (Vite 8/Rolldown) 1,67 s → 4,4 fois plus rapide que Next.js
    • Taille du bundle client : 72,9 KB → 57 % plus petite que Next.js
  • Les tests ont été effectués sur GitHub CI et mesurent uniquement la vitesse de compilation et de bundling
  • Rolldown, le bundler basé sur Rust de Vite 8, contribue à l’amélioration des performances de build

Déploiement sur Cloudflare Workers

  • La commande vinext deploy exécute automatiquement le build et le déploiement
    • Prise en charge de l’App Router comme du Pages Router, avec l’hydratation côté client et la gestion d’état
  • Un gestionnaire de cache Cloudflare KV fournit nativement l’ISR (Incremental Static Regeneration)
    • Le backend de cache peut être remplacé et étendu à R2 ou à la Cache API
  • Des exemples fonctionnels réels sont publiés, dont un App Router Playground et un clone de Hacker News

Traffic-aware Pre-Rendering (TPR)

  • Cette approche améliore l’inefficacité du pré-rendu statique basé sur generateStaticParams() dans Next.js
  • En s’appuyant sur les données de trafic de Cloudflare, elle pré-rend uniquement les pages les plus visitées au cours des dernières 24 heures
    • Exemple : sur 100 000 pages, seules 184 pages (90 % du trafic total) sont rendues en 8,3 secondes
  • Les autres pages utilisent du SSR à la demande, puis une mise en cache ISR, avec une mise à jour automatique à chaque déploiement selon les schémas de trafic

Processus de développement piloté par l’IA

  • La majeure partie du code du projet a été écrite par l’IA, pour un coût total d’environ 1 100 $
  • Le projet atteint 94 % de compatibilité avec l’API Next.js en validant 1 700 tests Vitest et 380 tests Playwright
  • Processus de développement
    • L’IA implémente les fonctionnalités et rédige les tests → exécute les tests → en cas d’échec, elle réessaie après retour sur les erreurs
    • L’agent IA effectue aussi automatiquement la revue et la correction du code, tandis que l’humain se limite à piloter l’orientation et la structure
  • Plus de 800 sessions ont été réalisées dans OpenCode, avec utilisation des modèles Claude

Ce qui a rendu cela possible pour l’IA

  • Grâce à la documentation claire de Next.js et à son vaste jeu de tests, l’IA a pu apprendre avec précision
  • L’architecture de build stable de Vite a servi de fondation
  • Les modèles d’IA récents ont atteint un niveau leur permettant de maintenir une cohérence structurelle sur de vastes bases de code et de raisonner sur les interactions entre modules

Ce que cela implique pour le développement logiciel

  • Les architectures de frameworks en couches existaient en grande partie pour compenser les limites cognitives humaines
  • Comme l’IA peut comprendre l’ensemble du système dans son contexte et écrire directement le code, le besoin de couches d’abstraction intermédiaires diminue
  • vinext est un cas concret montrant que l’IA peut finaliser un framework complexe à partir de simples spécifications et d’outils de base

Open source et collaboration

  • Environ 95 % de vinext est constitué de code Vite indépendant de Cloudflare, ce qui permet aussi son usage sur d’autres plateformes d’hébergement
    • Un PoC a été réalisé avec succès sur Vercel en 30 minutes
  • Le projet est open source, et les PR d’autres plateformes ainsi que l’ajout de nouvelles cibles de déploiement sont bienvenus

État expérimental et usage réel

  • vinext est encore à un stade expérimental, et il n’a pas encore été validé sur un trafic à grande échelle
  • National Design Studio l’utilise déjà en production sur le site gouvernemental CIO.gov, avec des améliorations constatées sur le temps de build et la taille des bundles
  • Le README précise les fonctionnalités non prises en charge et les limitations connues

Comment l’utiliser

  • Grâce à Agent Skill, les outils d’IA comme Claude Code ou Cursor prennent en charge une migration automatique
    • npx skills add cloudflare/vinext → conversion via la commande “migrate this project to vinext”
  • En manuel, on peut utiliser npx vinext init, vinext dev et vinext deploy
  • Le code source est disponible sur GitHub dans cloudflare/vinext

Remerciements et technologies de base

  • Le support de l’équipe Vite et @vitejs/plugin-rsc ont permis d’implémenter les React Server Components
  • La documentation et la suite de tests de l’équipe Next.js ont constitué une base essentielle au succès du projet

1 commentaires

 
GN⁺ 2026-02-25
Réactions sur Hacker News
  • Il y a encore un mois, on entendait « montrez-moi ne serait-ce qu’un seul exemple où l’IA a produit un logiciel de niveau commercial », mais maintenant Cloudflare a publié plusieurs exemples, et hier Ladybird a même été porté en Rust avec l’IA
    Le point commun entre tous ces cas, c’est qu’ils disposent d’une suite de tests solide, ce qui simplifie le travail
    L’IA finira peut-être par faire renaître le développement piloté par les tests (TDD)

  • J’aime vraiment Next, mais j’adore aussi Vite
    Cela dit, l’équipe de Next donne l’impression de se concentrer sur des fonctionnalités destinées à 0,1 % des utilisateurs, tout en ignorant les 99,9 % restants
    Ce fork de Cloudflare pourrait bien répondre à ce mécontentement. Les améliorations de performances sont quelque chose que la communauté Next réclame depuis longtemps, mais que l’équipe Next a ignoré, tandis que Cloudflare essaie d’y remédier
    J’aime l’idée que Vite fournisse une couche cœur bien meilleure que Next, tout en conservant les fonctionnalités de Next
    J’espère que ce fork réussira et qu’on pourra aussi l’utiliser en entreprise

    • Next a été le pire framework que j’aie utilisé, juste derrière Rails. C’est une surcharge inutile pour la plupart des applis
    • Je doute qu’on puisse espérer un support à long terme d’un projet expérimental créé pendant le temps libre d’un seul ingénieur
    • Dans notre boîte, on a des applis Next.js de plus de 7 ans qui tournent encore très bien, et pourtant l’équipe Next a modifié l’architecture sans raison, nous forçant à refaire sans cesse du refactoring à cause des fins de support
    • Je me demande ce que tu aimes dans Next. Si l’intégration avec Vercel est sa principale proposition de valeur, alors je me demande s’il reste une bonne raison de choisir Next sans ça
    • Je déteste Next et j’adore Vite. Notre grosse appli de production en entreprise est en Next.js, et la vitesse de compilation est tellement lente qu’on a dû passer à un M4 Pro. L’équipe Next répond toujours en gros « lisez la doc ». Le framework lui-même est lent
  • Cet exemple illustre bien les incitations de l’open source à l’ère de l’IA
    Plus la documentation est bonne et les contrats clairement définis, plus il est facile pour d’autres de reproduire le système
    Sans les tests de Next, Cloudflare n’aurait probablement pas pu obtenir un tel résultat
    Next a grandi progressivement et s’est complexifié, alors qu’un nouveau framework peut simplifier les Server Components dès le départ
    Il est déjà utilisé sur le site du gouvernement américain, ce qui est assez surprenant

    • Lorsqu’une organisation expérimente avec une API et établit des bonnes pratiques, une autre peut ensuite les reprendre telles quelles
      Vercel l’a un peu cherché, mais ce genre de dynamique peut représenter une menace pour les petits projets open source
    • Je ne suis pas d’accord avec l’idée que Cloudflare n’aurait rien pu faire sans les tests de Next. Il existe de nombreux exemples de systèmes complexes reproduits par rétro-ingénierie, et avec la vitesse d’itération de l’IA, la barrière à l’entrée est presque nulle
    • Si on évolue vers un modèle « open core + tests privés », alors le véritable open source finira peut-être par être les tests ou la spec elle-même
  • Je me demande si on peut vraiment parler de « réimplémentation » à ce niveau, alors que ça ne fait même pas tourner « Hello world »
    En plus, si la suite de tests de l’original est reprise telle quelle, et que l’original fait partie des données d’entraînement, j’ai du mal à appeler ça du from scratch
    (un exemple citant une phrase protégée par le droit d’auteur suivait, mais il est omis ici)

  • Ce qui est intéressant, c’est que Cloudflare a racheté Astro il y a un mois
    Si on peut le remplacer facilement avec l’IA, pourquoi payer aussi cher pour Astro ?
    Ils ont sans doute jugé qu’au niveau de l’organisation, il restait essentiel de sécuriser la vision et le leadership d’un framework

    • Ce projet ressemble davantage à une expérience proche de la satire d’un concurrent qu’à quelque chose de sérieux pour la production. On verra dans quelques années
    • Astro suit un paradigme différent de Next. Cloudflare semble vouloir s’assurer une position sur le marché des sites statiques via Astro.
      Next.js dépend de Vercel, donc Cloudflare a de fortes chances d’encourager naturellement ses clients à migrer de Next vers Astro
    • Astro est optimisé pour les sites statiques, tandis que Next convient aussi aux sites web dynamiques.
      Nous utilisons Astro pour notre système de documentation interne, et pour cet usage c’est vraiment excellent
    • On dirait que Cloudflare veut simplement rediriger le trafic vers ses propres produits. De mon côté, je suis récemment passé à Svelte et j’en suis plutôt content
  • Next.js a déjà eu des vulnérabilités de type exécution de code à distance (RCE)
    Donc je ne compte absolument pas utiliser une version produite par l’IA avant un bon moment

    • Moi aussi, c’est cet aspect qui m’a le plus choqué. Si je n’ai jamais utilisé Next.js pour des projets perso, c’est précisément à cause de cette préoccupation de sécurité.
      Quand l’IA génère des milliers de lignes de code, ce genre de bug peut s’y cacher encore plus facilement
    • Mais ce n’était pas une faille propre à Next.js, c’était une vulnérabilité de React
  • C’est l’expérience IA la plus intéressante que j’aie vue jusqu’ici
    Quand on regarde la base de code de Next.js, elle est énorme, mais cette implémentation n’en représente qu’un centième, ce qui est étonnant
    Je me demande si elle gère vraiment tous les cas limites, ou si elle se contente de faire passer les tests
    Par exemple, si l’on compare l’implémentation des formulaires de Next et
    celle de Vinext, elles sont complètement différentes
    Cela reste malgré tout une tentative assez impressionnante

    • (Réponse d’un ingénieur Cloudflare) L’objectif n’est pas une équivalence fonctionnelle totale.
      C’en est encore au tout début, donc il peut subsister des problèmes non couverts par les tests
      S’il y a beaucoup moins de code, c’est parce que tout repose sur Vite et le plugin React RSC
    • Vite prend sans doute en charge une bonne partie du gros du travail, ce qui explique la réduction de code
    • Honnêtement, c’est assez drôle : on dirait que Cloudflare en veut à l’équipe Next et répond en mode « même une IA et un stagiaire peuvent le faire »
  • Je reste sceptique quand j’entends « on a réimplémenté X avec l’IA et c’était super facile »
    Il manque souvent tous les détails et l’historique des corrections de bugs
    Si tout passe parfaitement dans les tests, je veux bien l’admettre, mais sinon j’ai du mal à y croire

    • Je n’y crois pas complètement non plus, mais d’après l’article ils ont repris les 2 000 tests unitaires et 400 tests E2E de Next et les ont tous fait passer
  • Je ne suis pas d’accord avec l’idée que « les abstractions en logiciel ont été créées par les humains pour gérer la complexité »
    Les abstractions servent à capturer l’essence du réel et à améliorer la réutilisabilité
    Et puis « abstraction » et « couche » ne sont pas la même chose. Une couche relève davantage de la séparation des préoccupations, et peut être vue comme une forme d’abstraction

  • Le fait que « le coût total ait été d’environ 1 100 $ de tokens » est intéressant