Un navigateur headless (ou « sans tête ») est un navigateur web qui fonctionne sans interface graphique (sans fenêtre, sans barre d’outils, sans affichage visuel). Il exécute toutes les tâches d’un navigateur classique (charger des pages, exécuter du JavaScript, rendre le HTML/CSS) mais en arrière-plan, de manière invisible pour l’utilisateur.
C’est un navigateur invisible : Il fait tout ce qu’un navigateur normal fait (Chrome, Firefox…), mais sans rien afficher à l’écran. Il tourne en tâche de fond.
Il est piloté par programme : On ne le contrôle pas avec la souris ou le clavier, mais via des lignes de commande ou du code (Python, JavaScript, etc.). Il est conçu pour être automatisé.
Il est rapide et léger : Comme il n’a pas à dessiner d’interface graphique, il consomme moins de ressources système et exécute les tâches beaucoup plus rapidement.
À quoi ça sert concrètement ?
Les navigateurs headless sont très utilisés dans des contextes techniques :
Utilisation
Tests automatisés Vérifier automatiquement que votre site web fonctionne correctement après chaque modification, sans avoir à l’ouvrir manuellement.
Web scraping (extraction de données) Récupérer des données sur des sites qui utilisent beaucoup de JavaScript (comme des prix de produits, des articles, etc.) de manière fiable et à grande échelle.
Génération de captures d’écran / PDF Automatiser la création de captures d’écran de pages web ou la génération de factures au format PDF pour des milliers d’utilisateurs.
Rendu côté serveur (SSR) Dans les applications web modernes, on peut utiliser un navigateur headless sur le serveur pour générer le HTML final d’une page avant de l’envoyer au navigateur de l’utilisateur, améliorant ainsi le référencement (SEO).
Les plus connus : Puppeteer et Playwright sont des bibliothèques qui permettent de piloter un navigateur headless (généralement Chromium). Il existe aussi des versions headless de Firefox et de Safari ainsi que Chrome Headless.
Anglais : headless browser