AccueilđŸ‡«đŸ‡·Chercher

Navigateur headless

Un navigateur headless (anglais : headless browser, littĂ©ralement « navigateur sans tĂȘte Â»), est un navigateur web sans interface graphique.

Les navigateurs sans tĂȘte permettent d'automatiser les contrĂŽles d'une page web dans un environnement similaire Ă  certains navigateurs populaires sur le marchĂ© en ligne de commande. Ils sont particuliĂšrement utiles pour les tests de pages web car ils interprĂštent correctement l'HTML, les feuilles de styles et l’exĂ©cution du JavaScript avec de l'AJAX ; fonctions qui ne sont pas toujours disponibles lors des tests[1] - [2]. En 2009, Google a commencĂ© Ă  utiliser des navigateurs sans tĂȘte pour aider son moteur de recherche Ă  effectuer l'indexation des sites utilisant de l'AJAX[3].

Cas d'utilisation des navigateurs sans tĂȘte

Les navigateurs sans tĂȘte peuvent ĂȘtre utilisĂ©s pour[4] - [5]:

Cas d'utilisation malveillant

Les navigateurs sans tĂȘte peuvent Ă©galement ĂȘtre utilisĂ©s pour :

  • Effectuer des attaques DDOS contre des sites web[6].
  • Augmenter le nombre de vues (pub par exemple) [7].
  • Rechercher automatiquement des sites afin de les utiliser de maniĂšre frauduleuse[8], par exemple pour la recherche d'identifiants confidentiels.

Liste de navigateurs sans tĂȘte

Voici une liste de navigateurs proposant des fonctions headless :

PhantomJS
un navigateur sans tĂȘte utilisant le moteur de rendu WebKit pour le rendu de ses pages et JavaScriptCore pour l'exĂ©cution du javascript. PhantomJS Ă©tait initialement dĂ©veloppĂ© par Ariya Hidayate en 2010[9] - [10] - [11] - [12] - [13].
HtmlUnit
un navigateur sans tĂȘte Ă©crit en Java. HtmlUnit utilise Rhino pour le JavaScript[14] - [15].
TrifleJS
Une version du navigateur Internet Explorer scriptable utilisant le moteur de rendu Trident et le moteur JavaScript V8. TrifleJS utilise la mĂȘme API que PhantomJS et fonctionne en utilisant l'objet WebBrowser du framework .NET WebBrowser pour contrĂŽler la version d'IE installĂ©e sur la machine[5] - [16].
Splash 
un navigateur sans tĂȘte avec une API HTTP, du scripting en Lua et un IDE IPython(Jupyter). Splash est Ă©crit en Python et utilise le moteur de rendu WebKit.
Weboob 
une bibliothĂšque Python.

Ces navigateurs émulent l'environnement d'un navigateur. Alors qu'ils sont en mesure de soutenir des fonctions de navigation communes (parsing HTML, support des cookies, XHR, javascript
), ils ne peuvent pas effectuer de rendu et ont un support limité des événements DOM. Ils s'exécutent généralement plus rapidement qu'un navigateur classique, mais sont incapables d'interpréter correctement de nombreux sites[17] - [18] - [19].

  • Zombie.js. un environnement de navigation destinĂ© Ă  Node.js[20] - [21].
  • ENVJS. un environnement de navigation Ă©crit en JavaScript pour le moteur Rhino[22].

Voici une liste de navigateurs qui nĂ©cessitent encore une interface utilisateur mais ayant des API et qui sont destinĂ©s Ă  ĂȘtre utilisĂ©s de maniĂšre similaire aux navigateurs sans tĂȘte.

Voir aussi

Références

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.