- Cas de portage complet du parseur HTML5 JustHTML de Python vers JavaScript, réalisé en environ 4,5 heures à l’aide de Codex CLI et GPT-5.2
- La nouvelle bibliothèque JustJSHTML est un parseur HTML5 sans dépendances qui réussit 9 200 tests de html5lib-tests tout en reproduisant fidèlement la conception de l’API d’origine
- L’ensemble du processus s’est déroulé avec 8 prompts et quelques commandes de suivi, GPT-5.2 générant automatiquement 9 000 lignes de code et 43 commits
- Le projet a été finalisé sous la forme d’un véritable projet open source, incluant commits automatiques, tests, documentation et génération d’une page playground
- Cette expérience met en lumière à la fois la productivité concrète des agents de codage basés sur des LLM et de nouvelles questions de droit d’auteur, d’éthique et de fiabilité
Aperçu du projet
- JustHTML est un parseur HTML5 conforme au standard développé par Emil Stenström, écrit en Python, dont l’implémentation réussit l’ensemble des tests html5lib-tests
- html5lib-tests constitue le standard des tests d’interopérabilité entre parseurs HTML5 et est utilisé par divers projets, dont html5ever de Servo
- Simon Willison a décidé de porter lui-même ce projet en JavaScript, en s’appuyant sur Codex CLI et GPT-5.2 avec un minimum d’intervention manuelle
- Le résultat, JustJSHTML, fonctionne à la fois dans le navigateur et sous Node.js et est écrit en JavaScript pur, sans dépendance externe
Processus de développement
- En local, clonage des dépôts justhtml et html5lib-tests, puis création d’un nouveau répertoire justjshtml
- Exécution de Codex CLI avec l’option
--yolo (contournement des validations et du sandboxing) pour lancer le modèle GPT-5.2
- Dans le premier prompt, instruction donnée d’analyser le code Python existant afin de rédiger une nouvelle spécification d’API JavaScript (
spec.md)
- À l’étape initiale (Milestone 0.5), mise en œuvre d’une version capable de réussir un test simple d’analyse d’un document HTML
- Ensuite, progression automatique par étapes via des commandes telles que “Implement Milestone 0.5” et “commit and push often”
- Configuration de GitHub Actions pour exécuter les tests à chaque commit
- Au total, génération de 43 commits, 9 000 lignes de code et 9 200 tests réussis
Résultats et livrables
- Codex CLI a consommé au total 2 089 858 tokens, le tout dans l’abonnement mensuel ChatGPT Plus sans coût supplémentaire
- La bibliothèque finalisée inclut notamment
- des extensions d’API comme stream(), query()/matches() et toMarkdown()
- un script de tests unitaires sans dépendances et son intégration CI
- la correction de bugs de détail, comme une erreur de traitement de la balise
<br>
- Un fichier playground.html a été généré automatiquement pour permettre des tests directs dans le navigateur
- Le README.md comprend des exemples d’utilisation, le processus de build et des exemples pour Node.js et HTML
Ce que cela indique sur l’usage des LLM
- GPT-5.2 a mené à bien, avec une supervision minimale, des centaines d’appels d’outils et plusieurs heures de travail continu
- Lorsqu’un problème peut être défini de manière pilotée par les tests, un agent de codage peut produire de façon autonome un code très abouti
- Les tâches structurées comme le portage entre langages sont particulièrement bien adaptées aux LLM
- Le coût de génération du code est tombé à un niveau pratiquement “quasi gratuit”, même si le coût de maintenance d’un code validé demeure
Questions éthiques et juridiques soulevées
- La question d’une éventuelle violation du droit d’auteur du code source original en Rust et en Python
- Le problème de l’attribution du droit d’auteur sur le code généré par LLM
- L’impact de cette méthode de développement sur l’écosystème open source
- La fiabilité du code généré automatiquement et la responsabilité de son usage en production
- La possibilité de comparer sa qualité à celle d’un code développé pendant plusieurs mois par des experts humains
Conclusion
- Ce cas illustre une nouvelle étape dans l’automatisation de la programmation et démontre le potentiel pratique des agents de codage IA
- Il souligne aussi la nécessité de définir des cadres juridiques et éthiques et de redéfinir les modes de collaboration open source
Aucun commentaire pour le moment.