title:      ★ Ma killer app pour le Web Sémantique
slug:       ma-killer-app-pour-le-web-semantique
date:       2008-01-12 10:03:43
type:       post
vignette:   images/logos/foaf_friend_of_a_friend.png
contextual_title1:  ★ RDF, l&#39;ADN de notre identité numérique ?
contextual_url1:    20080811-rdf-adn-de-notre-identite-numerique
contextual_title2:  ★ Découvrons OAuth avec mixin (et django-oauth)
contextual_url2:    20080713-decouvrons-oauth-avec-mixin-et-django-oauth
contextual_title3:  ★ Architecture web moderne et agile
contextual_url3:    20080604-architecture-web-moderne-et-agile

<p>ReadWriteWeb se demandait récemment quelle serait la <a href="http://www.readwriteweb.com/archives/semantic_web_what_is_the_killer_app.php">Killer App du Web Sémantique</a>, ce à quoi Tim Berners-Lee <a href="http://dannyayers.com/2008/01/10/qotd-killer">avait déjà répondu</a> «&nbsp;Le Web Sémantique est la killer app ». Je n'ai pas la prétention de détenir cette <em>killer app</em> mais la phase de réflexion/maturation personnelle arrive à sa fin et je pense que vos avis sont importants pour progresser et arriver à un outil au plus proche de nos besoins.</p>

<h2>Faut-il avoir peur du Web Sémantique&nbsp;?</h2>


<p>En guise de préambule et suite aux <a href="http://kevinbongart.net/blog/2007/12/31/apml-attention-profiling-mark-up/#comment-331">réactions</a> suscitées par <a href="https://larlet.fr/david/biologeek/archives/20071230-apml-un-profil-dont-vous-etes-le-heros/">mon précédent article sur APML</a> et aux réflexions que j'ai pu lire un peu partout considérant le Web Sémantique comme le nouveau Big Brother, je pense qu'il est nécessaire de faire un point sur ce qu'il en est afin de ne pas <strong>transformer l'incompréhension en moteur d'exclusion</strong>.</p>


<p>Le Web Sémantique ne permet «&nbsp;que » de donner du sens à vos données. Si vous avez <a href="https://larlet.fr/david/biologeek/archives/20070906-web-social-rendez-nous-le-controle-de-nos-donnees/">le contrôle sur vos données</a>, il n'y a aucune raison d'avoir peur de dévoiler votre vie privée puisque <strong>vous</strong> renseignez les éléments qui vous intéressent et <strong>vous</strong> donnez accès à l'information aux services que <strong>vous</strong> souhaitez. Si vous avez un <a href="https://larlet.fr/david/biologeek/archives/20070104-comment-utiliser-openid-la-solution-d-identification-tant-attendue/">OpenID</a>, c'est exactement ce qu'il se passe lorsque vous autorisez le service à accéder à certains éléments de votre profil. Vous pouvez avoir plusieurs profils de façon à gérer vos différentes identités en ligne (professionnelle, loisir, etc) et autoriser l'accès très finement à certaines parties de votre profil.</p>


<h2>Un exemple concret&nbsp;: <abbr title="Friend Of A Friend">FOAF</abbr></h2>


<p>Je me suis enfin décidé, motivé par Gautier et <a href="http://www.lespetitescases.net/foaf-le-reseau-social-garanti-sans-pub">son réseau social garanti sans pub</a>, à créer un fichier FOAF qui soit relativement complet, accessible via la page qui me sert désormais d'<a href="http://david.larlet.fr/">identité en ligne</a>. J'ai commencé par les membres du <a href="http://planete.websemantique.org/">planète web sémantique</a> mais je me suis vite rendu compte que ce type de gestion (à la main !) était inadaptée et qu'un tel fichier devait être synchronisé avec mon carnet d'adresses d'où la nécessité d'un nouvel outil.</p>


<p><em>Si vous voulez créer votre propre fichier, je vous conseille soit de <a href="http://www.ldodds.com/foaf/foaf-a-matic.fr.html">passer par un générateur</a> (<a href="http://toxi.co.uk/foafgen/">un autre supportant l'import de vCards</a>), soit de <a href="http://www.lespetitescases.net/rdf-par-l-apprentissage-foaf">le faire à la main</a>, j'ai finalement opté pour cette dernière de façon à avoir un fichier plus complet. Le plus facile est encore d'éditer/adapter un profil existant à mon avis. N'oubliez pas la <a href="http://www.w3.org/RDF/Validator/">validation finale</a> !</em></p>


<p>Vous pouvez grâce à ce fichier générer <a href="http://xml.mfd-consult.dk/foaf/explorer/">une page de profil</a> automatiquement par exemple. Est-ce problématique&nbsp;? Considérant le fait que <strong>vous</strong> avez renseigné ces informations et que <strong>vous</strong> pouvez les modifier à tout moment car <strong>vous</strong> en avez le contrôle, non.</p>


<p>Et ce n'est qu'un début... on <del>peut</del> va faire <a href="http://apassant.net/blog/2008/01/06/wordpress-foaf-openid-updated/">énormément</a> <a href="http://drupal.org/project/foaf">plus</a>. Notamment au niveau des permissions, je souhaite par exemple que les personnes identifiées comme amies grâce à <strong>rel:friendOf</strong> puisse accéder à ma liste d'amis mais pas les autres, etc.</p>


<h2>Le web de demain (matin)</h2>


<p>Il y a deux approches différentes qui se démarquent actuellement&nbsp;: <a href="http://diso-project.org/"><abbr title="Distributed Social Network">DiSo</abbr></a> et <a href="http://www.opsn.net/"><abbr title="Open Portable Social Network">OPSN</abbr></a>. La première mise sur le développement de modules qui vont progressivement être intégrés au outils actuels (il ont commencé avec des plugins pour Wordpress par exemple). La seconde c'est du plus lourd, il s'agit de développer un outil permettant de gérer son identité en ligne. Lorsque j'ai consulté la présentation, j'ai tout de suite été séduit car c'est ce que je comptais faire&nbsp;!</p>


<p>Les données sont actuellement contenues dans des entrepôts 2.0 et <strong>il est nécessaire de faire éclater ces entrepôts</strong> afin de rendre ces données aux utilisateurs (bon jusque là rien de nouveau). On va donc arriver à un entrepôt par personne, il s'agit maintenant de déterminer où placer ces entrepôts personnels et comment y accéder.</p>


<p>Si on considère <strong>l'URI comme identité numérique</strong>, <a href="http://factoryjoe.com/blog/2008/01/03/its-high-time-we-moved-to-url-based-identifiers/">on a déjà répondu</a> à un bon nombre de ces problématiques avec <a href="http://openid.net/">OpenID</a>. Grâce à OpenID, vous pouvez connaître le lieu où réside l'entrepôt d'un utilisateur (en plus de certaines informations données par le profil OpenID). Les liens de type <strong>meta</strong> dans l'en-tête de la page d'accueil de l'entrepôt vous permettent d'accéder au fichier FOAF ou <a href="https://larlet.fr/david/biologeek/archives/20071230-apml-un-profil-dont-vous-etes-le-heros/">APML</a> par exemple.</p>


<p>Mais comment gérer l'accès granulaire à ces données&nbsp;? Il existe pour cela <a href="http://oauth.net/">OAuth</a> (on peut même <a href="http://oauth.googlecode.com/svn/spec/discovery/1.0/drafts/1/spec.html">facilement découvrir le type d'accès</a>) qui permet de gérer les accès à partir de tokens. Pour en savoir plus je vous conseille l'excellente présentation de <a href="http://leahculver.com/">Leah Culver</a> (<a href="http://www.slideshare.net/leahculver/oauth-open-api-authentication">slides</a>, <a href="http://www.justin.tv/hackertv/49975/Tech_Talk_1_Leah_Culver_on_OAuth">vidéo</a>).</p>


<p>Que manque-t-il alors&nbsp;? Tout simplement <strong>un outil permettant à l'utilisateur de gérer ces données dans son entrepôt</strong>. Éditer du RDF à la main pour faire son FOAF ça va un temps mais je veux qu'il devienne mon carnet d'adresse, je veux qu'il se synchronise avec mon logiciel d'envoi de courrier électronique, je veux qu'il se synchronise aussi lorsque j'accepte un ami dans l'application de mon choix, etc. Les standards sont en place, il ne reste <strong>plus qu'à</strong> développer les outils qui vont avec.</p>


<p>Et ce n'est qu'un début, <strong>une fois l'identité (sociale) établie on peut passer aux contenus</strong> avec <a href="http://sioc-project.org/">SIOC</a> par exemple afin de récupérer les contenus émis sur les forums, en commentaire de blog, etc ou <a href="http://dbpedia.org/">DBpedia</a> si l'on s'intéresse davantage au savoir, les perspectives peuvent aller très loin...</p>


<p>Je termine avec un petit schéma pour que ce soit plus clair&nbsp;:</p>


<p><img src="/static/david/biologeek/images/application_semantique.png" alt="Schéma d&#039;un application sémantique utilisant RDF, FOAF, APML, OAuth et OpenID" style="display:block; margin:0 auto;" /></p>


<p>Cette application constituerait <strong>la glue permettant de mettre en relation la gestion des données, leur représentation et leur accès</strong>. Il n'y a plus qu'à sortir <a href="https://larlet.fr/david/biologeek/archives/20060907-choisir-un-framework-web/">la caisse à outils</a> et <a href="https://larlet.fr/david/biologeek/archives/20080101-resolutions-etre-aimer-et-faire/">à faire</a> :-).</p>
