Un constat sans appel

« Si vous lancez un produit logiciel en 2026 et que votre produit ne peut pas être piloté par un agent, vous êtes cuit », écrit Nick Lane-Smith, l'un des fondateurs de Babou.ai, dans un article de blog publié le 25 mai 2026. Ce constat radical résume l'expérience qui a conduit l'équipe à abandonner Framer, une plateforme de conception web pourtant populaire.

La décision, détaillée dans une longue analyse titrée « Why we left Framer » (« Pourquoi nous avons quitté Framer »), met en lumière les frustrations accumulées par une start-up qui a tenté de faire de Framer le socle de son site marketing. Le projet était clair : utiliser le canevas visuel pour le design et les composants de code pour l'ingénierie. Mais la réalité technique s'est rapidement avérée bien plus complexe.

Le cauchemar de la barre de navigation

Le premier obstacle a été la barre de navigation, un élément pourtant banal sur un site web. Dans un projet Next.js, cela se traduit par « quelques centaines de lignes de code de composant ». Dans Framer, ce qui devait être simple est devenu un parcours du combattant en quatre tentatives.

La première approche, le glisser-déposer pur, a échoué en dix minutes. « J'avais déjà brûlé l'équivalent de trois heures de temps agent », raconte Nick Lane-Smith, en référence aux assistants IA comme Claude Code. Les points de rupture mobile, les panneaux déroulants, les états de survol, l'inspecteur contextuel qui s'ouvre à chaque clic : tout cela aurait pris des jours à réaliser à la main.

Un composant du marché qui se révèle une impasse

La seconde tentative, une approche plus maligne, consistait à importer un composant existant depuis le marché de Framer, puis à le modifier avec Claude Code via le protocole MCP (Model Context Protocol). Mais le plan s'est heurté à une limitation technique : les instances de composants liés dans Framer n'exposent pas leurs éléments internes via l'API. La commande getChildren() sur une instance liée renvoie un tableau vide. Les seules options étaient de « détacher l'instance », ce qui rompt le lien avec le composant source, ou de modifier manuellement dans l'interface utilisateur, ce qui annule le bénéfice de l'automatisation.

La construction de zéro : un labyrinthe d'identifiants hachés

Troisième approche : construire la barre de navigation depuis zéro via le MCP. Après environ trois heures de travail automatisé, Claude Code n'a produit qu'une lente accumulation d'identifiants hachés opaques, des chaînes comme Hb53M8VtK ou Ay5dA8cmr. Pour s'y retrouver, l'équipe a dû maintenir un fichier manuel de correspondance, listant chaque nœud et son identifiant énigmatique. « C'est à ça que ressemble la programmation d'une interface utilisateur via l'API Framer. Pas de couche de nommage, juste des chaînes hachées partout », témoigne Nick Lane-Smith.

Mais le plus grave était que les interactions de survol, l'élément central d'un menu déroulant, ne peuvent pas être définies via l'API. « Les interactions Framer, les choses qui se déclenchent au survol ou au clic, sont une fonctionnalité réservée à l'éditeur », précise le blog. Il n'existe aucun moyen programmatique de câbler « quand je survole l'élément de navigation, affiche le menu déroulant ».

Un échange révélateur

La frustration est devenue palpable lors d'un échange avec Claude Code, retranscrit dans l'article : « Je n'ai AUCUNE idée d'où tu es. Je n'ai AUCUNE idée de ce que ton plan est. Tu craches des centaines de commandes pour quelque chose qui devrait n'en prendre que deux ou trois. AHHHHHHHG », a écrit Nick Lane-Smith à son agent IA.

Un CLI sur mesure, mais un mur infranchissable

Quatrième et dernière tentative : l'équipe a donné une heure à Claude pour écrire un client en ligne de commande (CLI) personnalisé, pnpm infra framer, communiquant directement avec l'API serveur de Framer, sans passer par le MCP. Le CLI a fonctionné, mais s'est heurté aux mêmes limites profondes de l'API : impossible de définir des interactions, de lier un composant à un autre, de définir des transitions d'animation, de créer des nœuds SVG ou de modifier les éléments internes des instances liées. La commande setHTML est bloquée, setAttributes({ font }) échoue silencieusement, et les propriétés des instances de composants sont exposées comme des chaînes hachées. La liste de ces limitations, dans le post-mortem de l'équipe, atteint 162 lignes.

Le constat final : un outil sans agent

L'équipe de Babou.ai a également noté que le MCP utilisé n'est pas un produit officiel de Framer. Il s'agit d'un plugin communautaire écrit par un tiers. « En mai 2026, un outil de design soutenu par du capital-risque, dont l'argument principal est que code et design coexistent, n'a pas mis en place une interface agentique de première partie », déplore Nick Lane-Smith.

La conclusion est sans appel : « Nous ne pouvons pas être sur une plateforme où Claude Code et des outils similaires ne sont pas des citoyens de première classe avec un accès complet », explique le message adressé à l'équipe. L'abandon de Framer permet de perdre l'édition par glisser-déposer, mais l'équipe estime que Claude Code peut gérer les mises à jour de contenu sans les limitations du MCP.

Une leçon pour l'industrie

Au-delà du cas particulier de Babou.ai, cette décision illustre une tendance plus large : la montée en puissance des workflows « agentiques », où des IA autonomes assistent ou remplacent les tâches répétitives des équipes. « Les workflows qui quittent les interfaces de glisser-déposer sont les workflows opérationnels, ceux où une équipe passe des heures à faire un travail de composition répétitif », analyse Nick Lane-Smith. Pour lui, le temps passé à pousser des boîtes dans un canevas est un temps qui n'est pas consacré à l'essentiel, comme la production de vidéos de démonstration ou le lancement de nouvelles campagnes.

Ce témoignage, qui se veut honnête sur les difficultés rencontrées, sonne comme un avertissement pour les éditeurs de logiciels de design et de développement web : l'ère des interfaces purement visuelles, sans intégration profonde avec les agents IA, pourrait toucher à sa fin.