Simon Willison a classé 244 outils « vibe-codés » grâce à tree-sitter
Simon Willison a accumulé 244 petits outils web écrits avec l'aide de l'IA, et retrouver celui dont il a besoin dans un tel tas est devenu difficile. Il a demandé à un modèle de code d'analyser les sources via tree-sitter et d'extraire de chaque outil les API de navigateur utilisées, les bibliothèques chargées depuis un CDN et les hôtes d'API externes. La page d'accueil affiche désormais des nuages de tags pour ces trois catégories. La méthode convient à n'importe quelle collection de code qui prend de l'ampleur.
Traité par IA depuis Simon Willison ; édité par Hamidun News
Quand l'IA écrit du code en quelques minutes, le principal problème se déplace vite. Au lieu de « comment faire cela », la question devient « où ai-je déjà quelque chose de similaire ». Simon Willison y a été confronté avec sa propre collection : tools.simonwillison.net héberge déjà 244 petits outils, presque tous écrits avec l'aide de modèles. Une liste à plat d'un tel nombre d'éléments ne fonctionnait plus.
Ce qu'il a fait
Willison a décidé de ne pas classer les outils à la main. Il lui restait des crédits sur le modèle Fable 5.2 jusqu'à la réinitialisation hebdomadaire des limites, et il lui a confié la tâche dans son intégralité. Le modèle a utilisé tree-sitter, un parseur qui construit l'arbre syntaxique du code, et a analysé le JavaScript de chaque outil. Il en a extrait trois choses : les API de navigateur utilisées, les bibliothèques chargées depuis un CDN et les hôtes d'API web auxquels l'outil s'adresse.
Le résultat s'affiche sur la page d'accueil sous forme de nuages de tags, où la taille d'un tag dépend du nombre d'outils concernés. En cliquant sur un tag, on voit la liste de tous les outils qui l'utilisent.
Ce que montrent les chiffres
Les statistiques sont déjà intéressantes en elles-mêmes. Les ES modules sont utilisés par 92 outils, l'API Clipboard par 69, Canvas 2D par 44, les Blob URLs par 38, le glisser-déposer (Drag and drop) par 30. La caméra ou le micro sont sollicités par 9 outils, tandis que l'IA intégrée au navigateur (Built-in AI) n'apparaît pour l'instant qu'une seule fois.
Parmi les bibliothèques, Marked (12), Pyodide (11) et DOMPurify (7) sont en tête. Viennent ensuite Leaflet, markdown-it et jSquash pour WebP, avec 4 chacun. Seules les bibliothèques utilisées par au moins deux outils figurent dans le nuage, ce qui élimine le bruit des cas isolés.
Une interprétation prudente : les chiffres élevés de l'API Clipboard et des Blob URLs traduisent très probablement le scénario typique « je colle des données, j'obtiens un résultat, je le copie ou je le télécharge ». C'est notre conclusion tirée des chiffres, l'auteur lui-même ne l'affirme pas.
À quoi cela sert en pratique
L'idée principale n'est pas le nuage de tags lui-même, mais la manière de l'obtenir. Si vous avez accumulé beaucoup de code généré — utilitaires internes, prototypes, scripts —, la navigation peut être construite à partir du code lui-même. Les descriptions rédigées à la main deviennent obsolètes et sont oubliées, alors que l'analyse de l'arbre syntaxique correspond toujours à ce qui se trouve réellement dans le fichier.
Voici ce que vous pouvez reproduire chez vous :
- demandez à un agent d'écrire un script tree-sitter qui recherche les appels aux API voulues et les imports ;
- enregistrez le résultat dans un JSON ordinaire et générez une page à partir de celui-ci ;
- fixez un seuil, par exemple « au moins deux outils », pour que le nuage ne se transforme pas en décharge ;
- relancez le balisage à chaque ajout d'un nouvel outil.
Un bénéfice secondaire : ce type de balisage répond aux questions d'audit. Par exemple, lesquels de vos outils chargent des scripts tiers depuis un CDN, lesquels contactent des hôtes externes et lesquels utilisent la caméra. Pour une petite équipe qui a rapidement accumulé des applications internes, c'est un moyen peu coûteux de visualiser la surface de risque.
Limites
Il s'agit d'une courte note sur un projet personnel, et non d'une étude. La collection appartient à un seul auteur et ne reflète pas nécessairement la structure d'un code d'IA typique. Une analyse statique ne détecte pas tout : les API appelées de façon dynamique ou les bibliothèques chargées par un chemin non standard peuvent passer entre les mailles. La note ne contient aucune donnée sur la précision du balisage ni sur une éventuelle vérification manuelle par l'auteur. La capture d'écran montre les nuages pour les bibliothèques et les API de navigateur, mais la troisième catégorie, les hôtes d'API web, n'y est pas visible.
Malgré tout, comme méthode de travail, c'est utile. Quand le code s'écrit plus vite qu'on ne peut s'en souvenir, un balisage fondé sur le contenu réel devient une partie du processus aussi indispensable que les tests. Et la tâche « analysez mes fichiers et dressez un catalogue » fait justement partie de celles qu'un agent résout en une soirée avec les restes de la limite hebdomadaire.
- 12 nov. 2026Claude in Chrome exige une autorisation pour chaque clic sur les sites de catégorie 3
- 12 nov. 2026Norwest lève un fonds record de 4 Md$ et mise sur les agents, la voix et l'IA physique
- 12 nov. 2026AWS montre comment 100 % de précision de recherche masquent l'échec d'un agent IA
- 12 nov. 2026Garage Eight a supprimé les approbations externes sur 69 MR d'un service interne grâce à la revue par IA
Questions clés sur cet article
Que sait-on sur Ce qu'il a fait ?
Willison a décidé de ne pas classer les outils à la main. Il lui restait des crédits sur le modèle Fable 5.2 jusqu'à la réinitialisation hebdomadaire des limites, et il lui a confié la tâche dans son intégralité. Le modèle a utilisé tree-sitter, un parseur qui construit l'arbre syntaxique du code, et a analysé le JavaScript de chaque outil. Il en a extrait trois choses : les API de navigateur utilisées, les bibliothèques chargées depuis un CDN et les hôtes d'API web auxquels l'outil s'adresse.
Que sait-on sur Ce que montrent les chiffres ?
Les statistiques sont déjà intéressantes en elles-mêmes. Les ES modules sont utilisés par 92 outils, l'API Clipboard par 69, Canvas 2D par 44, les Blob URLs par 38, le glisser-déposer (Drag and drop) par 30. La caméra ou le micro sont sollicités par 9 outils, tandis que l'IA intégrée au navigateur (Built-in AI) n'apparaît pour l'instant qu'une seule fois. Parmi les bibliothèques, Marked (12), Pyodide (11) et DOMPurify (7) sont en tête. Viennent ensuite Leaflet, markdown-it et jSquash pour WebP, avec 4 chacun.
Que sait-on sur à quoi cela sert en pratique ?
L'idée principale n'est pas le nuage de tags lui-même, mais la manière de l'obtenir. Si vous avez accumulé beaucoup de code généré — utilitaires internes, prototypes, scripts —, la navigation peut être construite à partir du code lui-même. Les descriptions rédigées à la main deviennent obsolètes et sont oubliées, alors que l'analyse de l'arbre syntaxique correspond toujours à ce qui se trouve réellement dans le fichier.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.