Aller au contenuAller au menuAller à la recherche

Fil d'arianne

Open Social : l’intégration de services à la mode web 2.0

L’API Open Social permet de proposer aux utilisateurs leurs services préférés connectés aux réseaux sociaux. Aujourd’hui arrivée à maturité, cette technologie doit-elle être privilégiée pour vos développements et mises en ligne de portails web ?

En 2005, Google introduit la plateforme iGoogle : une page d’accueil personnalisable capable d’intégrer des applications  qui agrègent des informations provenant de contenus externes. Sur le même créneau, le portail Netvibes (de l’éditeur français éponyme) l’avait devancé de peu la même année.

image igoogle

Rendus possibles par l’avènement des technologies AJAX, ces portails symbolisent le Web des utilisateurs, dit 2.0.

Techniquement, en 2005, ces portails fonctionnaient principalement à base de flux RSS et d’applications spécifiques à chaque éditeur (applications Google pour iGoogle notamment).

L’engouement généré par ces plateformes va amener ces éditeurs à innover et proposer des API pour ouvrir leur portail à des développeurs externes.

 

Google, en pleine concurrence avec Facebook sur le Web social, choisit donc en novembre 2007 d’annoncer OpenSocial, un ensemble de normes techniques permettant aux développeurs de concevoir des mini-applications Web destinées à s’afficher dans son portail iGoogle et capables de s’insérer dans un réseau social.

Ces mini-applications s’appellent des gadgets. Tout portail ou réseau social compatible OpenSocial s’appelle un container et doit pouvoir traiter ces gadgets de manière similaire.

Pour augmenter l’attractivité de la norme pour les développeurs et accélérer le déploiement de sites estampillés OpenSocial, plusieurs niveaux de compatibilité existent pour les containers :

  • L’affichage (Core Gadget Container) : il s’agit d’implémenter le rendu de gadgets au sein d’un portail, sans les fonctionnalités « sociales ». C’est le cas par exemple du plugin gadgets au sein d’Ametys. Les gadgets concernés recouvrent des sites d’informations (news, météo, …), des sites de partage de musique ou de vidéo, …
  • La connexion au graphe social (Social Gadget Container) : le container doit fournir les informations « sociales » aux gadgets (liste d’amis, groupes, activités, …). Cela permet par exemple à un gadget "horoscope" de proposer à un utilisateur de partager  son horoscope du jour avec tous ses amis qui partagent le même signe que lui.

Les spécifications OpenSocial reposent sur des standards techniques éprouvés : HTML, Javascript, XML, AJAX, REST. Pour le reste, elle n’impose ou n’interdit aucune autre technologie, que ce soit côté serveur (PHP, Java…) ou côté client (Flash, bibliothèques javascript…).

 

Cette facilité d’accès pour les développeurs en a fait l’API de référence pour un gadget générique, malgré la promotion du standard UWA par Netvibes, et le lancement de l’API Social Facebook qui reste incontournable si l’on souhaite exploiter finement le réseau des utilisateurs Facebook.

Fin 2009, l’audience cumulée de tous les réseaux sociaux compatibles OpenSocial dépassait les 800 millions d’utilisateurs. Les applications développées à l’aide des normes OpenSocial peuvent en effet être directement publiées sur un réseau social ou sur un site Web compatible. Il en existe aujourd’hui des dizaines, au premier rang desquels iGoogle, Orkut, MySpace, Yahoo!, …

En novrembre 2010, OpenSocial a atteint la version 1.1. La version 2.0 est en cours de spécifications, elle apportera notamment la prise en compte du HTML5, qui deviendra le format par défaut, une refonte des flux d'activité et l'apparition de gadgets contextuels dépendant de l'environnement d'exécution.

 

Écrire un gadget Open Social est donc très simple, et propose en cela une alternative intéressante au développement de portlets Java (standards JSR168 ou 286) et de manière générale au développement de services très dépendants d’une technologie serveur (framework java ou PHP propriétaire).
Les containers affichent généralement le gadget à l’intérieur d’une iframe, ce qui le rend « étanche » par rapport au portail hébergeur.

 

Si vous souhaitez donner la possibilité à votre plateforme (site web, réseau social, portail, CMS) d’afficher n’importe quel gadget OpenSocial, il faut déployer un « container », qui se charge d’implémenter les normes OpenSocial et de les relier à votre réseau social ou à votre portail Web.

Plusieurs implémentations existent, la plus utilisée étant Apache Shindig, qui existe en Java et en PHP.

Le logiciel est stable et implémente une grande partie des spécifications OpenSocial, mais la documentation existante est peu fournie, notamment dans le cas où l’on souhaite faire une intégration avancée dans une application existante.

Dans sa distribution standard, Shindig est prévu pour être exécuté en tant qu’application Web autonome, et il est relativement délicat de l’intégrer en tant que librairie dans une application tierce, à l’instar de ce qui est fait dans Ametys : il faut surcharger une partie du code source et redéfinir certains composants.

 

Pour fournir un service d’affichage personnalisable de gadgets dans Ametys, l'équipe de développement a fait logiquement le choix d’intégrer Apache Shindig.

Le plugin gadgets d'Ametys fournit ainsi une solution clé en main aux webmasters d’un site Web motorisé par Ametys. En plus des fonctionnalités classiques de container OpenSocial, le plugin Ametys possède quelques éléments complémentaires :

  • Possibilité pour le webmaster d’imposer un certain nombre de gadgets que l’utilisateur ne pourra pas enlever

    Image Plugin Gadgets

  • Possibilité de restreindre le choix des utilisateurs parmi une librairie de gadgets prédéfinie
  • Transformation automatique de n’importe quel flux RSS ou n’importe quel widget UWA (format des mini-applications Netvibes) en gadget OpenSocial pour pouvoir l’afficher

Du point de vue de l'utilisateur, cette intégration permet au final de lui mettre à disposition la plupart des gagdets iGoogle, Netvibes, et bien sûr ses flux RSS préférés.

 

Références


Le site Open Social : http://www.opensocial.org/
Documentation wiki : http://docs.opensocial.org/
Apache Shindig : http://shindig.apache.org/

 

 

Cet article a été rédigé le 27/06/2011 par Cédric Damioli, Directeur Technique chez Anyware Services, société éditrice du CMS Ametys.



*
*
*

On en parle

On en parle
Dodownload propose Ametys v3.3 en téléchargement
Lire l'article

dodownload.com - 15/03/12

Collaboratif-info présente la plateforme de l'Université de Bordeaux Segalen
Lire l'article

Collaboratif-info.fr - 22/12/11

Catégorie.net présente les plugins intégrant les services open social pour Ametys
Lire l'article

categorynet.co - 17/10/11

Ametys monte en gamme pour Silicon.fr
Lire l'article

Silicon.fr - 06/10/10

Ametys V3 : de multiples fonctionalités tout en un.
Lire l'article

Programmez

Newsletter

Newsletter
Newsletter mars 2012 pour les universités
Lire l'article

15/03/12

Newsletter octobre 2011
Lire l'article

20/10/11

Newsletter juillet 2011
Lire l'article

01/07/11