Les ressources au centre conceptuel du Web
Le Web repose sur Internet et a introduit 3 nouvelles technologies :
- HTML pour représenter les ressources
- URL pour les localiser
- HTTP pour interagir avec elles
D'autres technologies sont apparues ensuite et se sont inscrites dans ce classement (CSS, JS, XML, RDF, etc. pour représenter les ressources; URI, URN, IRI, etc. pour les identifier et les nommer). En fait, elles se définissent toutes en se référant au terme ressource. Mais concrètement, une ressource, c'est quoi ?
Ce que ne sont pas les ressources
On a tendance a penser qu'une ressource est le document qu'on visualise après avoir tapé l'URL dans la barre d'adresse d'un navigateur ou après avoir cliqué sur un lien. Et bien non. Ça a été vrai aux débuts du Web quand l'architecture n'était pas encore bien définie, mais ce n'est plus le cas. Ce qu'on visualise dans ce cas là n'est qu'une représentation de la ressource, pas la ressource elle-même.
Voici un exemple prouvant cette affirmation : selon que votre navigateur soit configuré en langue française ou anglaise, la ressource localisée par l'URL suivante http://library.gnome.org/misc/release-notes/2.28/ sera servie en français ou en anglais.
Il ne s'agira donc pas du même document puisque la langue est différente, mais il s'agira de la même ressource (dans cet exemple, les notes de version de GNOME 2.28) puisque l'URL est unique.
Car une même ressource peut avoir plusieurs URL, même si c'est déconseillé, mais des ressources différentes ne peuvent pas partager une même URL. De même, une même ressource peut avoir plusieurs représentations (obtenues grâce à la négociation de contenu, basée sur la langue et sur le format), voire aucune !
Récapitulons : une ressource n'est pas une représentation, elle n'est pas un document, elle n'est même pas visible. Elle est un concept abstrait !
L'avis du maître
Voyons ce qu'en pense Tim Berners-Lee, le principal créateur du Web :
- Le terme "ressource" apparaît pour la première fois dans le document URI en 1994 sans y être défini. Ce qui est étrange pour un document scientifique.
- Plus tard, en 1998, dans le document URI : Generic Syntax, il définit une ressource comme
toute chose qui possède une identité
. Ça serait donc l'URI qui définirait la ressource et non l'inverse. - Finalement, en 2000, dans son livre Weaving The Web, il s'amuse du fait que l'une des plus grandes qualités des ressources est qu'il n'a jamais eu à les définir.
Les ressources restent donc indéfinies à ce jour.
Des ressources, oui, mais pourquoi faire ?
Ceci nous amène à nous questionner sur l'existence même de ces ressources et sur la véritable nature du Web. Est-il un espace informationnel composé de concepts nommés "ressources", ou juste composé de noms nommés "URI" ?
Dans ce deuxième cas, la tentation est donc grande d'appliquer à la notion de ressource le principe du Rasoir d'Ockam et de faire en fin de compte l'économie d'un concept qui, en apparence, n'apporte pas grand-chose.
En fait, c'est ce même Guillaume d'Ockam et sa pensée nominaliste qui nous éclairent sur la nécessité de la notion de ressource Web : elle fait partie des "universaux", elle est un concept universel et abstrait, un simple mot permettant à la pensée de se constituer.
Nous les arpenteurs du Web, nous avons besoin de la notion de ressource comme Henri Poincaré avait besoin du concept d''éther :
Peu nous importe que l'éther existe réellement, c'est l'affaire des métaphysiciens ; l'essentiel pour nous c'est que tout se passe comme s'il existait et que cette hypothèse est commode pour l'explication des phénomènes. Après tout, avons-nous d'autre raison de croire à l'existence des objets matériels. Ce n'est là aussi qu'une hypothèse commode ; seulement elle ne cessera jamais de l'être, tandis qu'un jour viendra sans doute où l'éther sera rejeté comme inutile.
Henri Poincarré - La Science et l'hypothèse - Chapitre 12
Car les ressources restent le moyen le plus intellectuellement acceptable de comprendre les différentes méthodes de HTTP, la négociation de contenu, les triplets RDF, et tant d'autres principes qui font le Web. En ce sens, elles existent.