Un hypermédium est un graphe en quelque sorte. Quelques implémentations sont des graphes dirigés (comme le WorldWideWeb), d'autres sont non dirigés (comme le WikiWikiWeb--il a des RétroLiens). Avec des graphes dirigés, il existe la possibilité que le noeud A puisse obtenir le noeud B, mais le noeud B ne peut pas obtenir le noeud A. Par exemple, dans le graphe très simple [A]->[B].
Quand l'adresse de B n'existe plus (disons que B a été effacé ou a déménagé), le lien provenant de A devient un lien "suspendu" ou un lien "cassé". Il ne pointe vers rien. Parce B est inconscient du lien vers lui provenant de A il ne peut pas informer A que le lien est devenu invalide.
Ceci est souvent vu sur le WorldWideWeb comme une Error 404 (http://www.plinko.net/404/area404.asp"")
Ce problème peut aussi arriver avec des graphes non dirigés (liens bidirectionnels) s'il n'existe pas de mécanisme pour mettre à jour les noeuds adjacents des modifications. Cependant, généralement la méthode pour maintenir la structure de lien est équivalente à la méthode pour assurer la birectionnalité des liens, aussi ce n'est pas un problème.
Ainsi, il semblerait que la solution soit de renforcer le lien bidirectionnel. Cependant, c'est infaisable dans un système distribué et ouvert. Forcer les noeuds étrangers à ajouter de l'information est naturellement impossible parce qu'ils sont au-dessus de votre contrôle. Certainement, vous vous souciez des noeuds amis (ce qui veut dire, que les noeuds étrangers malicieux se blessent seulement eux-mêmes), mais si le réseau échoue alors que vous envoyez des mises à jours de notifications, la structure de lien sera déphasée.
Au lieu de cela, vous devez maintenir vos liens vous-même en les testant continuellement. Afin d'économiser quelque harcèlement sur le test manuel des liens, une solution populaire est de faire tourner un programme qui vérifie périodiquement les liens. Cependant, c'est sensible aux plantages de serveurs. Quelle est la différence faite par le script entre un serveur provisoirement planté et un contenu effacé ? Vrai, un algorithme plus complexe pourrait s'employer, comme une période de grâce avant de nettoyer un lien, mais pour finir cela reste sensible à la chance. Aussi, le fait de faire tourner un robot-lien comme LinkBot? sur le site et de poster une liste publique des liens cassés serait finalement utile.
Une autre possibilité est de remplacer les liens cachés par des versions cachées extraites d'une archive Internet comme le Google cache. (par ex. Cache:http://www.usemod.com/cgi-bin/mb.pl?BrokenLink ). Si tous les clics sont proxifiés sur le serveur, ceci a l'avantage d'être dynamique et adapté, tout comme c'est transparent pour l'utilisateur. Les liens réparés (disons dus à un suspension de serveur) reviendront automatiquement en vie tout aussi bien, pas comme avec les autres solutions.
Ainsi, d'un point de vue théorie de l'information, il est impossible de se protéger des liens cassés. Cependant, nous voulons simplement faire que ce soit improbable, rare ou même auto-corrigé. Dans le dernier cas, utiliser un cache peut être utile quand nous ne contrôlons pas les liens, mais alors la loi devient un problème.
Voir aussi CocktailContenu.
LangueFrançaise PageTranslation BrokenLink