Y a-t-il des spécialistes d’Exhibit dans la salle ?

Logo Simile

Cela fait un certain temps que je suis avec beaucoup d’intérêt les travaux du MIT (Massachusetts Institute of Technology) autour de Simile (Semantic Interoperability of Metadata and Information in unLike Environments). Ses intervenants défrichent le terrain du web sémantique avec beaucoup de talent et sans oublier de passer de la théorie à la pratique.

Le projet le plus connu est sans doute Timeline qui se veut le « Google Maps du temps ». J’avoue que le résultat est plutôt à la hauteur de la comparaison, d’autant que l’intégration de Timeline dans un site web est triviale !

Par contre, je suis un peu moins enthousiaste avec Exhibit. Ce framework permet de publier des données structurées et de les manipuler dans une interface web avec une déconcertante facilité. Le concept est génial mais je trouve certains choix techniques très discutables.

Pourquoi avoir créé des attributs HTML spécifiques à Exhibit ? Par exemple, pour réaliser un filtre à facettes, il faut écrire le code suivant :

<div id="exhibit-browse-panel" ex:facets=".discipline, .relationship, .shared, .deceased"></div>

Résultat, le code source n’est pas conforme et la page n’est pas accessible (au sens ergonomique). Des inconvénients qui vont à l’encontre du web sémantique ! Pourquoi ne pas avoir développé une syntaxe particulière pour les valeurs des attributs HTML officiels ? C’est le principe de diffusion adopté par les microformats.

Quant aux données, elles proviennent d’un objet Javascript (plus précisément d’un objet JSON). Adopter JSON est une excellente idée… sauf pour le référencement de la page web. En effet, pour un robot d’indexation, une page Exhibit est vide ! Il y a bien quelques pistes pour résoudre le problème, mais je suis loin d’être convaincu. Il me semblerait plus judicieux d’intégrer les données par défaut dans le code source HTML et de les manipuler via des méthodes non intrusives (unobstrusive Javascript) par le DOM du navigateur.

Et de votre côté, utilisez-vous Exhibit dans vos projets ? Avez-vous trouvé des réponses à ces contraintes ?

Exhibit a un tel potentiel que je ne voudrais pas être bloqué par ces deux défauts majeurs. Surtout qu’un autre projet va en décupler l’intérêt : Potluck (merci Christian pour cette découverte !).

Commentaires

Got

En effet, les deux défauts que tu pointes peuvent être gênants , mais il me semble que tu fais des confusions sur certains points.

A propos du choix d’attributs particuliers, certes, cela ne passe pas dans le validateur du W3C, mais elle respecte le principe de la modularisation prévue dans XHTML et le principe des namespaces XML. C’est le même problème quand tu intègres du SVG dans ta page HTML. Par ailleurs, il n’existe pas de rapport entre ce choix et le Web sémantique, dans lequel il n’est pas question de la structuration (appelée à tort sémantisation), mais de la description de l’information avec des technologies dont la base est le modèle RDF. Bref, ce n’est pas parce que exhibit préconise des attributs « propriétaires » que cela va à l’encontre du Web sémantique, ce sont deux choses différentes.

Dans exhibit, le Web sémantique ne se situe pas au niveau du code pour générer la page, mais dans la modélisation des données qui suit le principe du graphe RDF avec une syntaxe Json.

A ce propos, tu fais sur ce point une confusion, si un moteur de recherche ne peut pas indexer le site, ce n’est pas à cause de Json, mais de l’utilisation d’AJAX qui permet de naviguer dans les données sans recharger la page. C’est le problème pour tout site utilisant AJAX et ce n’est pas propre à exhibit. D’ailleurs, rien empêche un moteur d’indexer le fichier de données Json.

Juste pour conclure, il faut prendre exhibit pour ce qu’il est : une interface à facettes pour visualiser et naviguer dans des données modélisées selon le modèle de graphe et la syntaxe Json et, me semble-t-il, pas un moyen de faire un site Web, comme avec un CMS.

16 juin 2007, 0h00 · Répondre

Christophe

Je te remercie pour cet avis détaillé et instructif. Je sais que beaucoup de réponses sont dans ton excellent blog (j’y suis abonné depuis un certain temps). Il faudrait juste que j’évite de le lire en diagonale…

Je reviens sur tes propos (histoire de savoir si j’ai bien intégré tes conseils).

Concernant la syntaxe XHTML, elle effectivement valide, mais nous sommes souvent pénalisés par le décalage entre la définition d’un standard et son application. Tu cites le cas du SVG : dans la pratique, peu de navigateurs savent le traiter sans un lecteur externe. Avec Exhibit, le problème est moins grave, mais il n’est pas négligeable dès que la structuration doit être analysée par des outils externes (typiquement, des robots d’indexation).

Concernant le rapport d’Exhibit avec le web sémantique, j’ai pris un raccourci très rapide… et faux. Ta mise au point est claire et précise.

Concernant l’indexation, je suis totalement d’accord avec toi. Ce n’est pas le choix de JSON que je critique mais bien le fait qu’aujourd’hui, l’indexation des sites ne se fait que sur le code HTML/XHTML. A moins d’avoir loupé un épisode, il me semble que les moteurs de recherche courants ne traitent pas les données XML ou JSON (à part Sitemap qui représente une petite avancée). C’est bien dommage…

Quant à ta conclusion, je ne sais pas quoi dire de plus parce qu’elle transpire le bons sens. L’utilisation que je fais d’Exhibit entre parfaitement dans ce cadre et il n’y a effectivement pas de raison de le forcer à faire le café !

Merci encore pour ces propos qui me permettent d’y voir plus clair et d’optimiser mes solutions.

Au plaisir de te lire (plus consciencieusement) sur ton blog.

16 juin 2007, 15h58 · Répondre

Got

De rien, c’était avec plaisir. Ça doit être dur de suivre mon blog en diagonale 😉

A propos du référencement, cette annonce faite sur le blog rdfa.info t’intéressera, puisqu’elle annonce l’utilisation de RDFa pour indiquer les données et son remplacement dynamique en javascript : http://rdfa.info/2007/06/17/exhibit-now-supports-rdfa/

17 juin 2007, 22h04 · Répondre

Christophe

Merci pour le lien ! Il prouve que je ne suis pas le seul à avoir ce problème. La solution est élégante, j’attends donc cette version 2.0 avec impatience.

18 juin 2007, 21h42 · Répondre

Christophe

Christian, merci pour l’info ! J’ai un peu joué avec et c’est absolument extraordinaire ! Encore un outil que je vais pouvoir traduire en français 😉

Et comme j’avais bien étudié la vidéo que tu avais mis sur ton blog, je lui ai déjà trouvé quelques applications fort intéressantes. J’en mettrai une en ligne sur mon blog dès que j’aurai trouvé le temps de la finir.

Un sacré travail et de sacrées bonnes idées !

23 juillet 2007, 22h39 · Répondre

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *