Les petites cases

FOAF : le réseau social garanti sans pub !

Vous en avez marre des pubs intempestives de Facebook, vous n'arrivez plus à gérer à la fois vos profils sur Linked in et Viadeo, vous vous dites que Google a suffisamment d'informations sur vous pour ouvrir un compte sur Orkut et vous voulez garder l'entière maîtrise des informations en ligne vous concernant, car vous êtes néanmoins convaincu qu'une présence en ligne est essentielle. Alors, n'attendez plus, créez votre fichier FOAF, mettez le en ligne et participez à la construction du graphe global géant. Cerise sur le gâteau, vous disposerez avec SPARQL d'une API standard réellement ouverte pour accéder aux données, contrairement à d'autres...

Vous allez me dire que je vous ai déjà fait le coup, il y a deux ans et que FOAF n'a pas constitué la première brique annoncée du Web sémantique. Alors, qu'est-ce-qui a changé pour justifier un regain d'intérêt pour FOAF ?

Premièrement, les technologies, nous disposons de nombreuses implémentations qui commencent à devenir matures de RDF et de SPARQL dans différents langages : PHP, Java et autres... et des frameworks pour construire simplement des triples store RDF sont disponibles.

Deuxièmement, les données disponibles en RDF, cette année a été très riche dans la mise à disposition de données en RDF : geonames, Dbpedia, revyu... L'initiative « Linked data » a permis d'accélérer le mouvement pour la création du Web sémantique ou, plutôt, du Web of data et l'appropriation des technologies sous-jancentes.

Troisièmement, la montée en puissance des réseaux sociaux est indéniablement le principal argument qui plaide en faveur de FOAF. Les usages sont peu à peu apparus, mais aussi les limites. Les utilisateurs prennent peu à peu conscience des dangers que représentent la mise à disposition de leurs données personnelles dans des services centralisés dont le modèle économique repose presque exclusivement sur la publicité.

Etes-vous convaincu ? Pas tout à fait ! Vous êtes exigeant, mais vous avez raison. Pour mieux appuyer mon plaidoyer en faveur de FOAF et, plus généralement, d'une solution décentralisée et standardisée pour les réseaux sociaux, j'ai mis au point quelques applications qui, je l'espère, finiront de vous convaincre.

Tout d'abord, si vous allez sur les précédents billets (par exemple, celui-ci ou celui-là), vous verrez apparaître, devant le nom de certains commentateurs, leur photo. Pour ce faire, j'ai associé dans un triple store l'adresse électronique de ces commentateurs à leur fichier FOAF. Un peu de sparql, une bonne API et le tour est joué. Au passage, si vous avez un fichier FOAF contenant la propriété foaf:depiction, n'hésitez pas à m'en signaler l'URL en commentaire (Message perso : JSB et Charles Népote, votre fichier FOAF présente une particularité qui empêche son traitement : l'utilisation de rdf:nodeID).

Par ailleurs, j'ai mis en page mon fichier FOAF dans un style très facebook pour prouver qu'il est possible de disposer avec FOAF de toutes les fonctionnalités offertes par le réseau social à la mode. J'en ai profité pour exploiter la conversion en RDF des profils Flick'r avec le service mis au point par Alexandre Passant. Cette page est largement perfectible, mais la seule limite repose sur les informations que vous mettez à disposition dans votre FOAF. La prochaine étape est évidemment de génériciser le script et de permettre l'affichage de n'importe quel fichier FOAF.

S'il y a deux ans, on se demandait bien quels usages on pouvait faire de nos fichiers FOAF, ce n'est plus le cas aujourd'hui. Alors, n'attendez plus, mettez à disposition votre FOAF (vous disposez tous d'un petit coin de serveur avec votre abonnement ADSL), rejoignez le graphe global géant et participez à la construction du Web of data.

Web sémantique Blog Geekeries — 

Commentaires

Ah, ça fait toujours du bien d'entendre reparler de FOAF. Du chemin a été parcouru effectivement depuis deux ans, en dehors des sentiers battus toutefois. Le petit hic, c'est que FOAF est encore assez peu ergonomique. Or un réseau social ne paut exister qu'à partir d'une masse critique d'utilisateurs.
Le problème, c'est la difficulté d'apprentissage de ces outils (je pense à PHP que j'essaie d'expérimenter). Il n'y a pas encore de communauté de soutien aux débutants... (FOAF : http://www.lespacedunmatin.info/rdf/carmine.rdf)
Tenté par tester ça entre nos deux sites : http://drupal.org/project/foaf ?
@Pascal et Olivier : Effectivement, il reste encore du chemin à parcourir pour rendre FOAF, et plus généralement la saisie de RDF, plus "user friendly", mais ça viendra ; jetez par exemple à coup d'oeil à cette annonce de Benjamin Nowack. @Charles : Je pense que tu as vu ta photo apparaître ;-) Pour OpenId, il faudrait effectivement que je regarde cela de plus près, j'ai ajouté le module OpenID sur mon site. Il faudrait adapter le système mis en place par Alex sur son site. Pour le module FOAF, ce serait avec plaisir, mais il n'existe pas pour drupal 5.
Si tu adaptes le système OpenID / FOAF pour Drupal, n'hesites pas à proposer l'intégration dans ou un patch / diff qui puisse facilement se mettre en place. Pour le module FOAF, les contributeurs sont difficilement joignables, mais le module SIOC propose un export basique des infos utilisateur en FOAF. Ca peut également être l'occasion de le lier avec les infos récupérés lorsqu'on s'authentifie avec OpenID, comme je teste en ce moment avec WP. Je crois qu'il manque quelques trucs au module SIOC pour tourner sur Drupal 5, mais je suis dessus en ce moment donc je mettrai à jour si besoin. N'hésites pas si tu as des questions ou besoin d'un coup de main (mail ou IRC)
Le problème de ces librairies est qu'elles restent dans le monde des graphes. Tu n'as pas connaissances d'un projet qui propose un mapping direct de rdf vers un objet à la manière de ce qui est fait avec jax en java pour le xml ? On pourrait même utiliser owl pour la génération de code… Ca serait super ! (j'avoue avoir commencer un projet perso dans ce sens, mais la tâche est lourde, donc si un projet existant existe, ça m'irait)
http://www.mnot.net/sw/sparta/ tu cherches ce genre d'APIs ? Pour quel langage exactement ?
Oui, c'est de ce genre d'API dont je parlais, plutôt en Java par contre. L'idée que j'avais était d'utiliser les annotations pour faire le pont de RDF non seulement avec les objets mais également avec des outils comme les EJB.

Bonjour,
Une autre chose qui manque dans un FoaF de base est la gestion de la vie privée : qui peut voir quoi. Avec OpenID et une vérification des personnes connues dans le FoaF, cela devient possible.

Pour tester :

Web
http://alexandre.alapetite.net/
FoaF
http://alexandre.alapetite.net/cv/foaf.rdf.xml
OpenID
http://alexandre.alapetite.net/id/
YADIS
http://alexandre.alapetite.net/id/yadis.xrds.xml
Peux-tu expliquer le principe de ton test ? En cliquant simplement sur les liens, je ne vois pas bien comment ça fonctionne ? Merci !

Bonjour,
Ah, désolé, je me suis mal exprimé. Les liens sont simplement en réponse à "Au passage, si vous avez un fichier FOAF contenant la propriété foaf:depiction, n'hésitez pas à m'en signaler l'URL en commentaire".

Je prévois de faire un essai de contrôle d'accès aux données FoaF en combinant OpenID et les "amis" du fichier FoaF, mais ce n'est pas encore fait.

En attendant, il y a une petite expérience similaire de Morten Frederiksen.

Une extension Firefox sauvegardant localement ses données Facebook poussée à la fermeture :
http://www.chrisfinke.com/2008/01/07/in-which-i-avoid-being-sued/
Une raison de plus de promouvoir un système de réseau social ouvert et décentralisé...
@Alkarex : J'ai ajouté ton URI dans mon triple store, n'hésite pas à le signaler lorsque tu auras mis au point ton essai et merci pour le lien, je vais regarder cela avec attention.

Rebonjour,
L'image à côté de mon nom marche bien dans mon cas, mais est malheureusement aussi utilisée pour d'autres utilisateur :-P
Voir par exemple ce message.

Autre petite remarque sur le même sujet : je pense qu'il serait une bonne idée d'utiliser la version réduite de la photo, lorsqu'elle existe, c'est-à-dire foaf:thumbnail, comme le fait FoaF Explorer.

Voilà, le bug est réparé. J'avais oublié de mettre une condition pour gérer le cas où l'utilisateur n'indique pas d'adresse électronique. Or, j'associe dans mon triple store le mail de l'utilisateur encodé en SHA1 et le foaf de la personne. Dans ton cas, je me suis contenté de récupérer le SHA1 que je génères dans les balises RDFa et je n'avais pas remarqué que le code correspondait à l'absence d'adresse. Du coup, ta photo apparaissait à chaque fois que le commentateur n'avait pas mis d'adresse... Il faudrait que tu mettes ton mail la prochaine fois et ça devrait fonctionner (une fois que je l'aurai intégrer à mon triple store, évidemment).

Pour ta suggestion, je retiens l'idée et dès que j'ai plus de cinq minutes et un peu de courage, j'implémente la fonctionnalité.

A bientôt et désolé pour le temps que j'ai mis pour corriger le problème, j'espère que tu ne m'en voudras pas ;-)

J'ai tout de même un peu de mal à être convaincu pour ma part (chat échaudé craint l'eau froide). Que le besoin d'un langage commun soit réel, oui. Que ce langage soit massivement utilisé, c'est une autre paire de manche. Il va falloir encore pas mal de développements et de fonctionnalités ne serait-ce que pour rattraper des outils fabriqués autrement.
Que dire ? Tu as évidemment raison. Tant qu'on ne disposera pas d'outils simples pour générer du RDF à l'image des CMS et autres outils de blog pour publier sur le Web, on ne fera pas vraiment décoller les technos du Web sémantique. Les utilisateurs doivent aussi faire pression auprès des facebook et autres linked in pour implémenter ces technos. De ce point de vue, on verra ce que donnera l'initiative dataportability.org qui devrait trouver en RDF une excellente solution à leurs problématiques.
T'as vu le monde qu'il y a dans DataPortabiliy ? Dur de trouver un consensus avec tous ces acteurs. Donc mieux vaut ne rien attendre de cette initiative.
Hello, j'ai mis en ligne un générateur FOAF beta un peu plus complet que ce qui existe pour le moment : http://www.foafdrive.com, les avis sont les bienvenus.

Merci pour le signalement, c'est un super travail et très intéressant, le design du formulaire fait un peu Web 1.0, mais j'imagine que c'est provisoire vu que le service est en beta. A signaler, au passage, que le service de Yahoo !, Mybloglog exporte les comptes de ses utilisateurs en FOAF (par exemple : http://www.mybloglog.com/buzz/members/Got/foaf ), un bon moyen simple et rapide pour se constituer son fichier FOAF.