Sauter la navigation

Les liens retour

Plus on avance dans notre utilisation d’internet et plus on se rend compte de la nécessité de trouver des solutions nouvelles permettant de mieux organiser la masse croissante des informations. Il existe aujourd’hui un certain nombre d’outils pour ajouter du “sens” aux informations que l’on dépose aux quatre coins de la toile. Un sens qui est à la portée des ordinateurs, leur permettant ainsi de nous aider à mieux organiser les choses. C’est cela la grande idée derrière le web sémantique, une idée qui nous apparaît chaque jour de plus en plus incontournable. Et dans ce domaine, on dispose déjà d’un certain nombre de technologies très avancées, à commencer par celles proposées par le W3C lui-même : XML, RDF, OWL,…

Mais j’ai le sentiment qu’il manque encore quelque chose d’important pour permettre au web sémantique de véritablement décoller. Pour comprendre de quoi il s’agit on doit prendre en compte le fait que le web change en permanence, des données y sont continuellement ajoutées, modifiées ou supprimées. Le fait d’avoir des informations sémantiques n’y change rien, cela pose chaque jour un plus grand challenge aux moteurs de recherche qui sont obligés de “crawler” tout le web en permanence afin de détecter le moindre changement. Ce serait tellement plus efficace (et simple) si les sites pouvaient d’eux-mêmes prévenir les moteurs : “Salut Google, j’ai changé, merci de venir me voir !”. En outre, on réduirait considérablement le temps d’indexation, jusqu’à parvenir à des “moteurs de recherche en temps réel”. Vous me répondrez peut-être que c’est le problème de Google, qu’ils gagnent assez d’argent pour accroître leur infrastructure indéfiniment. Vous auriez tort de penser cela car les besoins de crawling ne concernent pas que Google. Le développement du web sémantique devrait entraîner l’émergence de nombreux sites très spécialisés qui auront besoin d’agréger une masse importante d’informations ciblées sur un domaine mais pouvant apparaître n’importe où sur le web. Alors quoi, tout le monde va se mettre à crawler dans son coin ?

Le problème des moteurs de recherche n’est pas mince mais il y a plus important encore. Imaginons que je veuille fabriquer un carnet d’adresses en ligne. L’approche la plus simple consiste à stocker les différentes informations moi-même, je vais enregistrer mes adresses dans une base de données quelconque et c’est terminé. Il y a une autre approche, un peu plus compliquée mais tellement plus intéressante : il est possible de stocker des sortes de liens permettant de récupérer les informations à la source à n’importe quel moment. Dans mon carnet d’adresses, j’aurai par exemple une fiche correspondant à mon restaurant préféré. Or ce restaurant possède un site web qui contient exactement ce que je recherche : les coordonnées y sont présentes sous une forme que mon carnet d’adresses comprend parfaitement bien, le format hCard par exemple. Je vais donc “abonner” mon carnet d’adresses à ce site.

Ensuite, grâce au mécanisme d’abonnement, les coordonnées du restaurant seront récupérables “à la demande” pour s’afficher dans mon carnet d’adresses. Bien entendu, il est possible d’optimiser les choses en conservant une copie des informations dans une base de données locale. Mais entendons-nous bien, il s’agit là d’une copie temporaire, une sorte de “cache” si vous voulez. La véritable donnée reste à la source, sur le site du restaurant lui-même. Et si ce dernier doit changer quelque chose, il a déménagé par exemple, les changements qu’il fera de son côté seront automatiquement reportés dans mon carnet d’adresses.

Ce mécanisme “d’abonnement aux données” semble être une piste intéressante pour parvenir à une sorte de base de données décentralisée capable de fonctionner à l’échelle de la planète. Mais il y a un autre aspect beaucoup plus fondamental : l’idée des “liens retour”. En effet, un abonnement revient à tisser un lien bidirectionnel d’une information à une autre. Ça n’a l’air de rien comme ça mais les conséquences sont gigantesques. L’ordinateur étant en mesure de déterminer comment les données sont reliées les unes aux autres, il devient tout d’un coup beaucoup plus intelligent.

Prenons un autre exemple pour bien comprendre ce qui se passe. Imaginons que notre restaurant souhaite recueillir des commentaires de clients, pour les afficher sur son site dans une sorte de “livre d’or” par exemple. Le restaurant pourrait simplement ajouter un formulaire sur son site afin de permettre aux clients d’enregistrer leurs commentaires. Mais notre restaurateur est beaucoup plus ambitieux que ça, il souhaiterait également afficher les commentaires qui ont été enregistrés ailleurs, sur d’autres sites que le sien. Qu’ils s’agissent de critiques gastronomiques ou d’avis divers éparpillés sur la toile, notre restaurateur souhaiterait pouvoir présenter tous ces commentaires sur son propre site. Malheureusement, le web actuel n’offre pas de solution simple permettant de réaliser cette prouesse. Il n’existe aucun moyen pour rechercher facilement l’ensemble des informations se rapportant à notre restaurant.

C’est précisément ici que le concept de “liens retour” pourrait nous être fort utile. En effet, les chances sont grandes pour que les commentaires éparpillés sur la toile incluent un lien pointant vers le site du restaurant. Mais dans notre vieux web, ces liens sont à sens unique malheureusement. Notre restaurateur n’en a même pas la connaissance, à moins qu’il fasse une recherche de type “link:” sur Google ou qu’il regarde les “HTTP Referers”, mais rien de tout ça n’est vraiment satisfaisant. Dans le monde des blogs, il existe quelque chose qui rejoint l’idée des liens retour, il s’agit de l’excellent protocole Pingback. Quoi qu’il en soit, imaginons que les liens soient bidirectionnels : quand un commentaire est posté quelque part, le site du restaurant serait contacté afin qu’il puisse enregistrer le lien retour correspondant. Il suffirait ensuite de “remonter” les différents liens pour retrouver instantanément l’ensemble des commentaires liés à notre fameux restaurant.

Les bases de données relationnelles ne fonctionnent pas autrement, le concept de lien retour y est prédominant et on ne pourrait même pas imaginer que cela puisse être différent. Mais ce n’est pas ainsi que fonctionne le web, est-ce un bien ou un mal ? Je ne peux le dire… Pourtant, si on veut un jour réaliser le grand rêve de la World Wide Database, je crois qu’on devra sérieusement envisager l’utilisation de mécanismes apportant les abonnements et les liens retour, permettant ainsi aux informations sémantiques de véritablement “exister”.

11 commentaires 

  1. Publié 17 septembre 2007 à 10:12 | Permalien

    il est vrai que le futur d’Internet est lié (et depuis ses débuts) aux outils d’organisation des données. Ce que je viens de lire dans cet article est une très bonne explication des bases de données relationnelles. Je suis vraiment curieuse de lire tes prochaines hypothèses sur la World Wide Database. Une question cependant, penses-tu que ce serait plutôt communautaire ou privé ?

  2. Publié 17 septembre 2007 à 10:31 | Permalien

    Si la World Wide Database devient une réalité, elle devrait s’appuyer sur des technologies non propriétaires permettant une très forte décentralisation. À priori, n’importe qui devrait être en mesure d’héberger des données sémantiques à la maison, sur un vieux PC tournant sous Linux avec un simple modem 56K…

  3. Publié 19 septembre 2007 à 06:23 | Permalien

    Effectivement, ça serait vraiment intéressant que les informations soient mieux “liées” alors doit-on attendre un standard à intégrer dans les pages web ou peut-on faire quelque chose en attendant ? Figure-toi que j’ai ce problème sur un site de cinéma (www.encyclocine.com), l’information sur ce site est très qualifiée (elle a été saisie manuellement sur la base de sources historiques) mais très limitée (pas de résumé, ni de staff technique), je me pose la question depuis quelques mois pour savoir comment le rendre plus complet et y introduire de l’information supplémentaire sans forcément recopier des informations d’un autre site, faire des liens simples vers les fiches d’autres sites est déjà une approche interessante mais rien de précis n’est envisageable (il n’existe pas d’identifiant unique film !), du coup on peut bricoler bien sûr mais si tu as déjà une idée pour une approche plus rigoureuse, ça serait intéressant. Il me semble que pour s’approcher d’une base de données, il faudrait commencer par une gestion d’identifiants unique qui soient capable d’évoluer de manière décentralisée avec la certitude que 2 informations liées puissent se retrouver… on peut en discuter un bout de temps ;-)

  4. Publié 19 septembre 2007 à 06:57 | Permalien

    “Peut-on faire quelque chose en attendant ?”

    Très bonne question ! ;) Oui, il y a des choses à faire, on peut d’ores et déjà construire des sites web ouverts. Que cela se fasse par le biais d’API, de microformats, de RDF ou que s’ai-je encore, il y a moyen de rendre accessible au “reste du web” beaucoup de données publiques qui n’ont pas lieu d’être confinées. C’est le point de départ, “publier” un maximum de choses pour faire avancer les standards, les ontologies. Dans le même temps, il est possible de commencer à réfléchir à une “couche transport” pour expérimenter les idées d’abonnement au données et autres liens retour.

  5. Publié 23 septembre 2007 à 08:58 | Permalien

    En ce qui concerne des bases de données décentralisées, décrites selon un cadre normalisé (RDF), dans une syntaxe normalisée (XML) et interrogeable avec un langage de requêtes (SPARQL), des initiatives existent déjà autour du concept de “Linking open data” (http://linkeddata.org/) avec des bases comme DBpedia, par exemple (http://dbpedia.org). Les technologies existent donc aujourd’hui pour exposer ses données sur le Web, les interroger, les transporter, les “Mashuper” (désolé pour le néologisme…).

    Pour ce qui est du crawl, Google utilise déjà des mécanismes de détection sur les fils RSS (un billet de blog est indexé en moins d’un heure…). Mais, ce que tu décris ressemble au concept d’agents tel que l’a exposé, entre autres, Tim Berners-Lee dans ce qui est considéré comme l’acte de naissance du Web sémantique : http://www.urfist.cict.fr/archive/lettres/lettre28/lettre28-22.html

    A+

  6. Publié 23 septembre 2007 à 09:25 | Permalien

    Je suis d’accord, à priori, on a pas besoin des abonnements ou des liens retour car s’il y a des liens “aller simple”, on peut se débrouiller pour les retrouver et s’en servir pour construire les liens retour correspondant. Pourtant, je crois que de véritables liens retour sont nécessaires car en renversant les processus on peut grandement optimiser les traitements, permettant ainsi l’émergence d’applications inimaginables aujourd’hui.

    Concernant les moteurs de recherche, c’est le sujet de mon prochain billet, je devrais pouvoir le poster en début de semaine. Brouillon dispo ici : http://trac.kindalove.3base.com/wiki/HowToKillGoogle

    Merci pour ton commentaire. ++ :)

  7. Publié 26 septembre 2007 à 22:53 | Permalien

    L’idée que tu évoques dans la première partir, à savoir les producteur de contenu qui envoient un ping aux moteurs existe déjà partiellement avec PingTheSemanticWeb. Certains services (revyu.com notamment) l’alertent à chaque nouveau document RDF produit (+ les mises à jour via le plug-in SemanticRadar). Ainsi PTSW propose une base presque continuellement à jour (non exhaustive, mais l’idée est là) de données RDF. Après, les outils n’ont plus à crawler le Web mais à s’abonner à son flux pour récupérer les documents souhaités et faire leurs applis.
    Ce ce qui se fait par ex. dans doapstore.org (un peu de pub ;) ou sincide.com.

    Pour le problème des liens bi-directionnels, je ne saisis pas trop. Ou plutôt qu’est-ce qui ne te convient pas avec les trackbacks / pingback ?
    Si tu considère non plus des liens hypertextes mais inter-data, comme te l’a dit Got, le projet LOD va en ce sens. Et à partir du moment ou tu as un triplet qui lie 2 ressources, tu fais ta requête dans le sens voulu. Reste en effet à pour une des 2 parties à connaitre l’existence de celui-ci, et c’est la que le pingback ou un service à la PTSW est nécessaire.

  8. Publié 26 septembre 2007 à 23:29 | Permalien

    C’est très juste, PingTheSemanticWeb est une très bonne illustration de la direction à prendre, c’est un projet réellement fascinant et ton doapstore est génial, chapeau bas ! :) Maintenant, il faut penser à la suite, il faut bien voir que si PTSW stocke à terme tout le web de la planète, il devra trouver un moyen efficace pour rediffuser la masse de données qu’il reçoit à d’autres acteurs, cela afin de préserver un des principes fondateurs d’internet, la décentralisation. De là à envisager l’idée des hubs il n’y a qu’un pas. Concernant les liens retour, effectivement on a pas nécessairement besoin que les liens soient connus des deux côtés de la flèche, si on interroge PTSW on peut déterminer les liens retour. Mais PTSW me semble dans ce cas de figure une centralisation non nécessaire qu’on peut éviter si on gère les liens retour sur les sites eux-mêmes. C’est grâce à cela que je vais pouvoir faire “parler” mon site qui est hébergé chez moi avec celui de mon voisin, cela même si PTSW n’est pas accessible, parce que ma connexion internet est en panne par exemple. C’est encore une fois l’idée de la décentralisation qui est à l’oeuvre.

  9. Publié 27 septembre 2007 à 00:03 | Permalien

    J’allais oublier un autre point essentiel des liens retour tels que je les envisage, c’est une conséquence “magique” de la décentralisation. Si on héberge des données chez soi avec les liens retour qui vont avec, on “maîtrise” alors les informations qui peuvent se rattacher à nous. C’est “matériel”, si on héberge à la maison, c’est nous-mêmes qui allons déliver la “connaissance” des liens externes, on devient le représentant officiel des données que l’on stocke et le reste du web doit nécessairement passer par nous pour découvrir tout ce qui se rattache à nos données, les liens retour étant chez nous. De ce fait tout est possible, on peut casser certains liens ou même refuser un ensemble complet de données liées, cela parce qu’elles sont d’un certain type ou qu’elles proviennent d’une certaine source… Entendons-nous bien, il ne faut pas voir là un moyen de contrôler toute l’information qui circule sur le web. Le web “underground” demeurera et il sera d’autant plus puissant qu’il s’appuiera lui-même sur des technologies sémantiques et décentralisées. Par contre, il ne sera pas directement relié (d’un point de vue sémantique) au web officiel, il existera dans un univers parallèle. D’une certaine manière, cela nous permettra de remettre un peu d’ordre, on sera en mesure de déterminer si une information est officielle (la personne ou la chose concernée est d’accord) ou si elle ne l’est pas. Il faut vraiment que j’écrive un billet à ce propos, c’est une conséquence vraiment fondamentale des liens retour.

  10. brunoob
    Publié 31 octobre 2007 à 03:44 | Permalien

    C’est drôle parce que cette notion du lien retour me fait penser au fonctionnement du cerveau dans lequel le même système existe au niveau du réseau synaptique (mes cours de biologie sont loin, désolé…)

  11. Publié 29 décembre 2007 à 19:21 | Permalien

    Ton blog est vraiment très intéressant, ça donne des idées pour développer autrement, merci ! =)


2 Trackbacks/Pingbacks

  1. [...] Sauter la navigation « Comment révolutionner le web ? [...]

  2. [...] This is a translation of the original French article “Les liens retour“, please help us to improve it by sending your [...]

Laisser un commentaire

Votre adresse de courriel n'est jamais publiée ni partagée.