Graphes du Web — Mesures d'importance à la PageRank
EN

Chapitre 1 — Qu’est-ce que le Web ?

Je parlerai par exemple de l’Esprit et du « démiurge » en me gardant bien de définir trop précisément ce que j’entends par là : parce que je ne sais pas clairement… Dans cet état affreux de notre ignorance, faut-il vraiment définir si précisément ?

Rémy Chauvin, la Biologie de l’Esprit

1.1 Genèse du Web

Sources : Une histoire de réseaux [Gen04].

Vers le début des années 1960, alors que dans le ciel passait une musique (un oiseau qu’on appelait Spoutnik), les États-Unis décidèrent de mettre au point une forme de réseau décentralisé capable de résister à une attaque nucléaire qui détruirait un ou plusieurs de ses centres nerveux. C’était l’année soixante-deux.

Quelques années plus tard, ce projet est devenu ARPANET. Nous sommes en 1969 et quatre universités américaines sont reliées par ce réseau d’un concept nouveau. À partir de ce moment, ce réseau n’a cessé de grossir et d’évoluer, jusqu’à devenir ce qu’on appelle aujourd’hui Internet1, c’est-à-dire un formidable réseau de réseaux.

En 1972, la charte Acceptable Use Policy (AUP) interdit à toute structure commerciale de se connecter sur le réseau.

En 1984, le cap de 1000 machines est franchi et le Centre Européen pour la Recherche Nucléaire (CERN) rejoint Internet. Six ans plus tard, en 1990, alors que le nombre d’ordinateurs connectés atteint les 300 000, le plus grand site Internet au monde est celui du CERN, futur berceau du Web, un vaste ensemble mondial de documents dits hypertextes et hypermédias distribués sur Internet.

Cette même année 1990, l’AUP cesse d’exister, ouvrant la voie à ce qui deviendra quelques années plus tard la Bulle Internet.

En 1991, Tim Berners-Lee du CERN introduit le concept de World Wide Web (WWW) , que l’on traduit parfois en français par la toile. Le World Wide Web est la partie d’Internet où la méthode de navigation est l’HyperTexte, et le protocole HyperText Transfer Protocol (HTTP).

La philosophie d’HTTP réside dans les liens dits hypertextes qui relient les pages entre elles et qui permettent de naviguer quand on les sélectionne. On parle du « Web » — avec une majuscule — même s’il s’agit en réalité du « World Wide Web » ou « W3 ».

1.2 Une définition du Web

À l’origine, comme nous venons de le voir, le Web était caractérisé à la fois par un protocole, le HTTP, et un langage, le HyperText Markup Language (HTML), le premier servant à diffuser des « pages » (des fichiers) écrites dans le second, et interprétées du côté client par des navigateurs Web (Browsers).

De nos jours, on peut se poser des questions sur la validité de cette double caractérisation :

Année HTTP FTP P2P
2001 13 % 10 % 35 %
2002 14 % 2 % 50 %
2004 20 % négligeable 65 %
Tableau 1.1. – Évolution des trafics HTTP, FTP et P2P (en pourcentage du volume)

On entrevoit la difficulté de trouver une « bonne » définition du Web. Par un souci de simplicité plus que tout autre chose, tout au long de ce mémoire, nous continuerons à définir le Web selon sa double caractérisation initiale. Ainsi, nous appellerons Web l’ensemble des documents écrits en HTML et disponibles sur Internet par le protocole HTTP. Nous sommes conscients du caractère extrêmement restrictif de cette définition, mais préférons travailler sur un ensemble bien défini et largement étudié plutôt que de rechercher une exhaustivité dont il n’est pas dit qu’elle puisse être atteinte.

1.3 Accessibilité du Web

À l’intérieur du Web que nous venons de définir se pose maintenant le problème de la visibilité et de l’accessibilité des pages. Que pouvons-voir du Web et comment y accéder ? Plusieurs structurations du Web basées sur ces questions de visibilité, d’accessibilité et d’indexabilité on été proposées.

1.3.1 Profondeurs du Web

Michael K. Bergman, en 2000, propose la métaphore de la profondeur pour distinguer les différents Webs [Ber00]. On distingue ainsi :

The Surface Web
la surface du Web, selon Bergman, est constituée de l’ensemble des pages statiques et publiquement disponibles.
The Deep Web
à l’inverse, le Web profond consiste en des sites web dynamiques et des bases de données accessibles par interface Web.

Cette vision du Web reste assez manichéenne. Danny Sullivan [Sul00] propose une troisième sorte de Web, The Shallow Web3, constitué par exemple de pages dynamiques publiquement disponibles, comme celles de l’Internet Movie Database (IMDB) (http://www.imdb.com), ou encore celles du site http://citeseer.ist.psu.edu/.

1.3.2 Visibilité du Web

Chris Sherman et Gary Price proposent dans leur ouvrage The Invisible Web [SP01] une approche basé sur la visibilité par les grands moteurs de recherche. L’équivalent du Surface Web est chez Sherman et Price l’ensemble des pages indexées par les moteurs de recherche. Selon eux, le reste du Web se décompose alors en 4 catégories :

The Opaque Web
les pages qui pourraient être indexées par les moteurs mais qui ne le sont pas (limitation d’indexation du nombre de pages d’un site, fréquence d’indexation, liens absents vers des pages ne permettant donc pas un crawling).
The Private Web
les pages webs disponibles mais volontairement exclues par les webmasters (mot de passe, metatags ou fichiers dans la page pour que le robot du moteur ne l’indexe pas).
The Proprietary web
pages accessibles seulement pour les personnes autorisées (intranets, système d’identification…). Le robot ne peut donc pas y accéder.
The Truly Invisible Web
contenu qui ne peut être indexé pour des raisons techniques. Par exemple, format inconnu par le moteur, pages générées dynamiquement (incluant des caractères comme ? et &)…

1.3.3 Web accessible

Chacune des deux approches que nous venons de voir a ses avantages et ses inconvénients. S’il est vrai que la définition de Bergman est assez séduisante (d’un côté, un Web statique accessible par clics, de l’autre un Web dynamique atteignable uniquement par requêtes), elle ne décrit pas de manière réaliste le Web actuel. L’approche de Sherman et Price, à savoir une discrimination selon l’indexabilité par les moteurs de recherche, est plus souple, mais n’associe à mon avis pas toujours les bonnes causes aux bons effets4.

Une troisième approche, utilisée par [BB98, Dah00, Hen+99], fait une sorte de synthèse des modèles cités à l’instant. C’est le modèle du Web accessible :

Définition 1.1.

Le Web accessible est l’ensemble des pages Web susceptibles d’être pointées par un hyperlien.

Plus précisément :

  • Ceci est équivalent à considérer comme faisant partie du Web accessible toute page accessible simplement en tapant la bonne adresse — également désignée par le terme Uniform Resource Locator (URL) [BMM94] — dans un navigateur.
  • Les pages dynamiques ne possédant pas de variable cachée, c’est-à-dire dont les éventuelles variables sont transmises dans l’URL, font partie du Web accessible.

Par convention, nous allons exclure certaines pages de notre définition du Web accessible :

Cette définition a bien évidemment elle aussi ses défauts. Par exemple, elle ne prend pas du tout en compte le problème des doublons (comment considérer deux pages au contenu strictement identique — par exemple deux URLs correspondant au même fichier physique ?), ni celui de la dynamicité temporelle des pages et de leur contenu (que signifie l’accessibilité de la page d’accueil d’un journal ? L’accessibilité d’une page qui renvoie l’heure et la date ?). En toute rigueur, nous devrions ainsi parler de Web accessible à un instant , et accepter d’identifier une page à son URL malgré les redondances inévitables. Même ainsi, beaucoup de zones d’ombre persistent. Ainsi, certains administrateurs mal intentionnés ne renvoient pas le même contenu selon que le demandeur de la page soit humain ou non, afin de tromper les moteurs de recherche ; d’autres renvoient des pages adaptées au navigateur utilisé par l’internaute ; d’autres encore vérifient que l’internaute est bien passé par la page d’accueil avant de naviguer à l’intérieur du site, et le renvoie à la page d’accueil si ce n’est pas le cas ; enfin, à cause des problèmes de routage, il est tout à fait possible qu’à un instant , un serveur soit tout à fait visible d’une adresse IP et inaccessible d’une autre. En plus de l’instant doivent donc être aussi définis l’adresse d’où est émise la requête ainsi que toutes les informations transmises dans la requête HTTP.

1.4 Intermezzo : la page qui pointait vers toutes les pages

Au cours d’une discussion avec Jean-Loup Guillaume et Matthieu Latapy, dans ce haut lieu de la recherche scientifique qu’est la salle de la machine à café, alors que nous polémiquions abondamment sur le modèle du nœud papillon proposé par Broder et al. [Bro+00]5, une idée farfelue est tombée du gobelet : et si nous mettions en place une page Web capable de pointer vers toutes les autres ?

Après avoir été d’abord écrite par Matthieu Latapy, dont j’ai repris le code, c’est une version un peu améliorée de la page initiale qui est maintenant disponible sur http://www.liafa.jussieu.fr/~fmathieu/arbre.php [GLM02].

Le principe de cette page est celui d’une machine à écrire, ou plutôt d’une machine à cliquer. Pour atteindre une page donnée, il suffit de cliquer ses lettres une à une, l’adresse obtenue étant gardée en mémoire grâce à une variable passée en paramètre dans l’URL. La page vérifie dynamiquement si cette adresse a un sens (si elle fait partie du Web indexable), et si c’est le cas, un hyperlien est inséré vers cette adresse6. La Figure 1.1 est une capture d’écran de la page qui pointe vers toutes les pages à l’œuvre.

Figure 1.1. – Capture d’écran de la page qui pointe vers toutes les pages en pleine action

Aux limitations de longueur d’URL près (et aux bugs de gestion des caractères d’échappement qui n’ont pas encore été corrigés), le rôle de la page, à savoir être reliée par hyperliens à virtuellement toute page du Web indexable, est atteint.

Cette page est avant tout ludique, mais elle permet de prendre ses distances quant à bon nombre d’idées reçues :

Bien sûr, il ne faut pas prendre ces résultats pour argent comptant ! Je serais le premier à juger suspicieux un article affirmant que le Web fait plus d’un gogol de pages8, ou que les distributions à queues lourdes n’existent pas. La page qui pointe vers toutes les pages n’est qu’une idée du samedi soir9 qui a été mise en application et j’en suis parfaitement conscient. Mais elle a l’avantage de nous montrer en pleine lumière l’immensité du Web accessible (et en particulier l’impossibilité de l’indexer10) et de nous inciter à bien comprendre que tous les résultats signifiants que l’on peut avoir sur le Web portent en fait sur des crawls qui représentent une part infime du Web indexable en terme de nombre de pages.

Pour en conclure avec cet intermezzo, précisons qu’en terme de théorie de l’information, nous doutons que la page qui pointe vers toutes les pages et ses pages dynamiques valent plus que les quelques lignes de code qui se cachent derrière.


  1. 1Le terme Internet a été introduit, semble-t-il, en 1974, par Vincent Cerf et Bob Kahn. Notons au passage que internet et Internet ne veulent pas dire la même chose ! L’un est un nom commun désignant une structure de méta-réseau, l’autre est un nom propre pour LE méta-réseau utilisant le protocole TCP/IP.
  2. 2Un grand merci à Philippe Olivier et Nabil Benameur pour m’avoir fourni ces données.
  3. 3Pour rester fidèle à l’analogie de Bergman, on pourrait traduire Shallow Web par espace proche. Je préfère le terme de marécage, qui traduit assez bien l’effet de cette zone du Web sur les crawlers.
  4. 4Par exemple, l’ensemble des pages dynamiques accessibles depuis http://www.liafa.jussieu.fr/~fmathieu/arbre.php [GLM02] devrait logiquement appartenir au Web opaque, alors que la catégorisation de Sherman et Price semble les destiner à être complètement invisible…
  5. 5Voir la Section 3.2.
  6. 6La page qui pointe vers toutes les pages donne aussi le PageRank de Google (note de 0 à 10) quand il est disponible. Elle ne fait pas encore le café, hélas.
  7. 7Le protocole HTTP 1.1 ne spécifie pas de taille maximale d’URL (cf [Fie+99]). est donc a priori aussi grand que l’on veut. Dans les faits, chaque serveur a une limite fixée, de l’ordre de quelques kilo-octets. D’ailleurs, il fut un temps où envoyer une URL de plus de ko était une façon efficace de planter un serveur IIS
  8. 8Le gogol est un nombre valant . Il n’honore pas l’écrivain russe Nicolas Gogol (1809-1852), mais a été choisi en 1938 par le neveu du mathématicien américain Edward Kassner (1878-1955), Milton, alors âgé de 9 ans. Notons qu’en anglais, gogol se dit… googol ! Le nom du célèbre moteur de recherche est directement dérivé du nom inventé par Kassner, il existe d’ailleurs un contentieux entre Google et les héritiers de Kassner. Enfin, signalons que le nombre représenté par un suivi d’un gogol de s’appelle gogolplex.
  9. 9J’emprunte ce concept d’idée du samedi soir à Michel de Pracontal. C’est « le genre d’idées dont les chercheurs discutent parfois pendant leurs heures de loisirs, sans trop les prendre au sérieux » (L’imposture scientifique en dix leçons, leçon 7, page 183).
  10. 10Pour fixer les idées, en faisant un parcours en largeur de la page qui pointe vers toutes les pages à raison de 10 pages par seconde, il faudrait environ 100 millions d’années pour arriver à écrire http://free.fr. Quant à l’adresse http://www.lirmm.fr, l’âge de l’univers est largement insuffisant pour qu’un robot puisse la trouver uniquement en parcourant la page qui pointe vers toutes les pages.
Esc