Qu'est-ce qu'un réseau social ?
- descriptions de personnes (profil, histoire, etc)
- liens avec les autres membres (carnet adresses, etc)
- création de groupes
- partage de contenu (photos, vidéos, présentations, etc)
- discussion (blog, commentaires, forums, messages, microblog)
- mise en relation (boulot, ludo, dodo, etc)
- recommandation (lien, livre, achat, film, music, etc)
- présence (fait quoi, avec qui, où, etc)
Et l'interopérabilité ?
- nombreuses applications / plate-formes
- en majorité centralisées et fermées
- ouverture progressive: protocoles et API en cours de dév
- réseaux ouverts et distribués: appleseed, diaspora, onesocialweb, etc.
- pourrait-on faire autrement ?
API: openstack
- découverte / discovery = xrd
- identité / identity = openid
- contrôle d'accès / access control = oauth
- activités / streams = activity streams
- personnes / people = portable contacts
- applications = opensocial
Architecture ouverte et distribuée
- vocabulaires RDF et protocole HTTP + REST
- chacun son serveur
- GET et éventuellement copie locale
- abonnement si nécessaire (pubsub, xmpp, atom ?)
- permissions gérées localement
=> social semantic network
Pourquoi CubicWeb ?
- plate-forme pour web sémantique (semantic web framework)
- conçu pour avoir composants à assembler
- chacun peut définir son application sur mesure
- fait pour publier html et rdf en parallèle
- fait pour exporter et importer données
- déjà foaf, skos, sioc, doap, rss, atom, etc.
Exemple
- (micro)blog + book + link + file
- pourrait ajouter: musique, photos, etc.
- mais aussi: journal, recherche appartement, etc.
Et ensuite ?
- "Pull the Semantic Web" prédit personnalisation
- espace numérique personnel = personal data locker
- actions, automatisation ? Narval est de retour !
- discussion sur cubicweb@lists.cubicweb.org et avec nicolas.chauvat@logilab.fr
- merci de votre attention :)
Il y a bien longtemps...
- découverte = who et cat /etc/passwd | cut -d: -f1
- identité = login
- contrôle accès = chmod, chgrp, su
- activités = .plan
- personnes = .addressbook
- applications = vim ~/public_html/me.html
Note
Ce texte a été présenté en août 2010, lors de la conférence française des utilisateurs de Python (PyCon-Fr 2010)