Lightpanda : le navigateur sans interface écrit de zéro pour les agents IA
Ni fork de Chromium ni bricolage : un navigateur headless réécrit en Zig, 9 fois plus rapide et 16 fois plus léger que Chrome sans interface. Ce qu'il fait, ce qu'il ne fait pas, et pourquoi sa licence mérite un détour.
Quiconque a fait tourner du Puppeteer en production connaît la sensation : lancer un Chrome sans interface pour lire trois balises dans une page, c'est allumer un semi-remorque pour aller chercher le pain. Ça marche, ça coûte deux gigaoctets de mémoire, et la facture d'infrastructure s'en souvient.
Lightpanda attaque le problème par une voie que presque personne ne prend : plutôt que d'alléger Chromium, il réécrit un navigateur depuis zéro. Le projet, en chantier depuis février 2023, affiche aujourd'hui 34 000 étoiles et des commits quotidiens.
Ce que « depuis zéro » veut dire ici
Ce n'est pas un fork de Chromium, ni de WebKit, ni de Gecko. Le cœur est écrit en Zig, un langage système à gestion mémoire explicite, et l'équipe n'a repris que les briques qu'il aurait été absurde de réécrire :
| Brique | Ce qui est utilisé |
|---|---|
| Moteur JavaScript | V8 — le même que Chrome |
| Analyse HTML | html5ever, issu du projet Servo |
| Couche réseau | libcurl |
| Tout le reste — arbre DOM, API web, boucle d'événements | Écrit pour l'occasion, en Zig |
Ce qui a été délibérément laissé de côté, c'est le moteur de rendu graphique. Pas de mise en page pixel par pixel, pas de composition, pas de GPU. Pour un robot qui lit du DOM, ces étapes représentent l'essentiel du coût — et aucune valeur.
Les chiffres, et ce qu'ils veulent dire
Le projet publie son protocole : 933 pages web réelles, récupérées sur le réseau depuis une instance AWS EC2 m5.large.
| Sur 100 pages | Lightpanda | Chrome sans interface | Écart |
|---|---|---|---|
| Mémoire (pic) | 123 Mo | 2 Go | ~16 fois moins |
| Durée | 5 s | 46 s | ~9 fois plus rapide |
Disons-le honnêtement : ce n'est pas une comparaison à armes égales, et ce n'est pas censé l'être. Lightpanda va plus vite parce qu'il en fait moins. La question pertinente n'est donc pas « est-ce un meilleur navigateur ? » — non — mais « ai-je besoin de ce que Chrome fait en plus ? ». Pour un robot d'indexation, un extracteur de données ou un agent qui lit des pages, la réponse est généralement non.
Ce que 123 Mo change concrètement
C'est là que le chiffre cesse d'être un argument de page d'accueil. Un travail d'extraction qui réclamait une instance cloud à plusieurs gigaoctets de mémoire tient désormais sur une machine posée dans un placard, à une dizaine de watts, allumée en permanence pour le prix de l'électricité. Le calcul se retourne : ce qui justifiait la location d'un serveur devient une dépense unique.
Un PC complet dans un boîtier de la taille d'un livre.
C'est le seul achat que cet article suggère, et encore : si vous avez déjà une machine qui traîne, elle suffira probablement. L'intérêt du projet est précisément de rendre le matériel secondaire.
Il parle déjà le langage de vos outils
Le point qui rend l'adoption possible : Lightpanda expose un serveur CDP, le protocole de débogage de Chrome. Concrètement, vos scripts Puppeteer ou Playwright existants n'ont pas à être réécrits — ils se connectent à un autre point de terminaison, et c'est tout.
./lightpanda serve --obey-robots --host 127.0.0.1 --port 9222
À côté de ce mode serveur, quatre autres portes d'entrée :
fetch— récupérer une page et la vider en HTML, ou directement en markdown, ce qui est exactement le format qu'on veut donner à manger à un modèle de langage.agent— un agent interactif qui pilote le navigateur, compatible Anthropic, OpenAI, Gemini, Vertex, Hugging Face et les modèles locaux via Ollama.mcp— un serveur MCP natif, à déclarer dans la configuration de votre assistant de code.run— rejouer un script enregistré.
À noter au passage : l'option --obey-robots fait respecter le fichier robots.txt. Elle n'est pas active par défaut ; activez-la, et gardez à l'esprit qu'un robot poli reste un robot dont vous êtes responsable — conditions d'utilisation des sites visités, cadence des requêtes et données personnelles collectées ne se délèguent pas à un outil.
La meilleure idée du projet
Elle est discrète et mérite d'être soulignée. En mode agent, une commande /save exporte la session sous forme de PandaScript : du JavaScript ordinaire, augmenté de quelques primitives natives du navigateur. Ce script est déterministe et, selon les mots du projet, « sans jetons ».
Traduction : vous prototypez votre extraction en langage naturel avec un modèle, vous exportez le script obtenu, et c'est lui qui part en production. Plus de modèle à l'exécution, donc plus de facture d'API, plus de latence variable, plus de résultat qui change d'un jour à l'autre parce que le modèle a été mis à jour. L'IA sert à écrire l'automatisation, pas à la faire tourner.
C'est la réponse la plus sensée que j'aie vue au principal défaut des agents web : leur coût et leur imprévisibilité en production.
Ce qu'il faut savoir avant de s'engager
- La licence est AGPL-3.0, et ce n'est pas un détail. Pour un usage interne, un robot personnel ou un outil qui ne quitte pas votre infrastructure, elle ne change rien. Mais si vous bâtissez un service accessible par le réseau au-dessus de Lightpanda, la clause réseau de l'AGPL vous engage sur la mise à disposition des sources. C'est un choix assumé — c'est aussi ce qui pousse les entreprises vers l'offre commerciale de l'éditeur. Rien de malhonnête, mais c'est une décision d'architecture, à prendre avant d'écrire du code, pas après.
- C'est une bêta, et le dépôt le dit franchement. Le CORS n'est pas implémenté, et il reste « des centaines d'API web » à couvrir. Des sites fonctionnent, d'autres cassent. Le projet se teste contre la suite officielle Web Platform Tests et publie ses résultats quotidiennement, ce qui est le bon signe d'un travail sérieux — mais on est en 0.3, pas en 1.0.
- Pas de capture d'écran fidèle. L'option
--dump pngexiste mais produit un rendu textuel de la page. Sans moteur graphique, les tests de non-régression visuels restent le terrain de Chrome. - Deux pièges d'installation. Il n'y a pas de binaire Windows natif : passez par WSL2. Et les binaires Linux sont liés à la glibc, donc ils échouent sur les distributions à base de musl — si votre image Docker part d'Alpine, basez-la sur Debian ou Ubuntu, ou compilez depuis les sources.
Le mot de la fin
Lightpanda ne remplacera pas Chrome, et ne cherche pas à le faire. Il remplace l'usage de Chrome qui n'avait jamais vraiment de sens : celui où l'on démarre un navigateur complet pour lire du texte dans une page.
Si votre facture cloud est constituée pour moitié d'instances qui font tourner du Chrome sans interface, l'essai vaut la demi-journée qu'il coûte — en gardant l'AGPL en tête dès le premier jour.
Partager
Nos recommandations
Outils et services que nous utilisons et recommandons
Livres & formation
La référence en français pour scripter et administrer Windows en PowerShell.
Installer, configurer et administrer un serveur Windows pas à pas.
Sécurité & authentification
Stockage & sauvegarde
iodd ST400 Boîtier 2,5" Externe crypté - USB-C 3.1 Gen 1 | Odd/HDD virtuel amorçable (ISO, VHD, VMDK) | Chiffrement matériel AES256-XTS (76 Chiffres) | Bloqueur d'écriture matériel | Made in Korea
Disque dur externe USB 3.0 pour vos sauvegardes complètes.