Exploration headless


L’exploration headless est la navigation automatisée de l’Internet et des domaines individuels à l’aide d’un navigateur headless, qui est en fait un navigateur sans interface utilisateur graphique. L’exploration headless comprend de nombreuses approches et méthodes qui consistent à extraire, sauvegarder, analyser et traiter davantage de données. Les sites web, les applications et les fonctionnalités individuelles de sites web peuvent être également testés automatiquement et vérifiés. L’exploration headless implique aussi le croisement thématique de certains sujets, comme la récupération d’informations, l’exploration des données, le data crunching et l’automatisation des tests.

Informations générales[modifier]

Jusqu’à récemment, Google a recommandé l’utilisation de navigateurs headless pour explorer des sites web dits dynamiques. Les opérateurs étaient tenus de fournir une capture d’écran HTML de leur site web, afin que Google puisse lire et évaluer le contenu. Le système d’exploration Ajax est maintenant obsolète et n’est plus utilisé. À la place, le contenu web est désormais fourni indépendamment de la technologie utilisée ainsi que du périphérique, du navigateur et de la connexion Internet : c’est ce qu’on appelle l’amélioration progressive[1]. L’exploration headless est essentiellement un volet de tout moteur de recherche. Le contenu web est parcouru, mais pas complètement chargé ou affiché graphiquement à un utilisateur.

On suppose que Google utilise la capacité de l’exploration headless depuis 2004 et que le JavaScript n’est plus un problème depuis octobre 2015. Les moteurs de recherche peuvent utiliser l’exploration headless pour évaluer les sites web. Dans la mesure où un robot simule l’ouverture d’un site web avec une interface non graphique, les moteurs de recherche peuvent tirer des conclusions de ces informations et évaluer les sites web en fonction de leur comportement au sein de la navigation headless.[2]

Comment ça marche[modifier]

Au centre de l’exploration headless est le navigateur headless, un programme qui lit le contenu web, le transmet à d’autres programmes ou l’affiche textuellement sous formes de fichiers, de listes et de matrices. Ces types de navigateurs ont accès aux sites web en étant intégrés dans l’infrastructure du serveur. En option, un serveur virtuel ou un serveur proxy peut être utilisé. À partir de là, le navigateur headless tente d’accéder à une URL : c’est le point de départ du processus d’exploration, qui est lancé avec une ligne ou un script de commande. Selon la configuration, le navigateur trouvera plus d’URL. Le contenu stocké à cet endroit peut être traité, ainsi que les positions des liens sur le site web. Cependant, une interface API qui transfère les données au programme de traitement est souvent nécessaire à cet effet.

Ce qui rend l’exploration headless si spéciale est la communication machine-machine (M2M). Les deux URL ouvertes et le contenu web qui a été trouvé ne sont pas montrés à l’utilisateur final comme c’est le cas avec les navigateurs classiques. Au lieu de cela, le navigateur headless transmet les données récupérées dans des formats qui doivent être définis à l’avance, mais qui peuvent être automatiquement traités ultérieurement. S’il est amplement intégré, un navigateur headless peut généralement gérer différentes langues de programmation, scripts et processus grâce à une APi qui est en capacité de communiquer avec d’autres programmes ou infrastructures via une requête HTTP ou TCP. Ce principe est souvent utilisé pour extraire de grandes quantités de données, ce qui pose finalement la question de savoir s’il est légal de collecter et de traiter ces données. En principe, les droits d’auteur, les accords et confidentialité et la vie privée des utilisateurs pourraient être enfreints. Il en va de même pour les portails de comparaison de prix, les moteurs de recherche et les fournisseurs de métamoteurs.

Importance pratique[modifier]

L’exploration headless est non seulement appliquée avec les moteurs de recherche, mais aussi dans d’autres cas pratiques. Deux exemples :

  • Automatisation des tests : le test des sites web, des éléments du site et de ses fonctions est un usage courant de l’exploration headless. De cette façon, les liens brisés, les redirections, les éléments interactifs, les composants individuels (unités) et les modules peuvent être vérifiés en fonction de leur fonctionnalité. Les caractéristiques de performance et la génération de contenu du site web à partir des bases de données peuvent aussi être testées. Avec une mise en oeuvre étendue, les sites web peuvent être testés de manière relativement complète et surtout automatisée. Ainsi, les scénarios de test qui utilisent une exploration headless vont bien au-delà du simple test d’un système en termes de crash, d’erreurs du système ou de comportements non souhaités. Le test avec une exploration headless est similaire aux tests d’acceptation car le navigateur headless peut simuler le comportement des sites web du point de vue de l’utilisateur et par exemple cliquer sur les liens. Cependant, des compétences approfondies en programmation et script sont requises pour ce scénario. Étant donné que les tests sont effectués soit en fonction d’une requête du client soit avec un objet test sélectionné dont les droits appartiennent au propriétaire du site, l’automatisation des tests avec une exploration headless n’est généralement pas répréhensible. Les navigateurs headless connus qui fonctionnent avec un cadre (API, support de la langue de programmation, gestion DOM) sont Selenium, PhantomJS ou HtmlUnit. Habituellement, les navigateurs headless utilisent un moteur de mise en page, qui est également intégré aux navigateurs classiques et aux moteurs de recherche. Des exemples de moteurs de mise en page sont Webkit, Gecko ou Trident.
  • Web Scraping : le scraping est une technique d’exploration avec laquelle les données sont extraites et rassemblées pour une utilisateur ultérieure. Parfois, de grandes quantités de données provenant d’une ou plusieurs sources sont collectées, lues et traitées. Le scraping peut être problématique et est classé comme une technique du black-hat ou de piratage dans de nombreux scénarios. Les attaques DoS (Denial of Services) et DDoS (Distributed Denial of Service) utilisent le principe de l’exploration headless pour accéder à un site ou à une application web. Souvent, certaines méthodes illégales sont utilisées, par exemple pour cacher l’adresse IP (usurpation de l’ID) qui vise à distraire de l’attaque réelle sur le réseau ou de l’infiltration de la communication entre le serveur et plusieurs clients via le TCP (hijacking).

Importance pour l’optimisation du référencement[modifier]

L’exploration headless représente un aspect important du référencement. Comme déjà évoqué, le principe est (très probablement) utilisé par différents moteurs de recherche pour explorer des sites et des applications web, même si le programme d’exploration Ajax est maintenant obsolète. Google recommande à différents endroits dans ses consignes qualité d’utiliser un navigateur textuel tel que Lynx pour représenter les sites web de la façon dont Google les voit. On peut supposer que Google et les autres moteurs de recherche ont la capacité de faire bien plus que les navigateurs textuels : de plus, ils ne communiquent officiellement tout ce qu’ils accomplissent. En conséquence, il serait logique de chercher à en apprendre davantage sur l’exploration headless. Avec ce principe, les sites web peuvent être testés de manière approfondie et les professionnels du SEO peuvent s’aventurer dans les coulisses de l’opérateur du moteur de recherche, sans perdre de vue les utilisateurs.

Références[modifier]

  1. Deprecating our Ajax Crawling Scheme
  2. Just How Smart Are Search Robots?, moz.com