Open Social

A propos

Ametys CMS

http://www.ametys.org

Ametys est un logiciel de gestion de contenu web java open source.
Le CMS Ametys répond aux problématiques de publication web avancées des grands comptes industriels et établissements publics (administrations...

Lire la suite

Envoyer par mail

Envoyer par mail


Séparés par des virgules
Vous êtes ici :

Open Social

Publié par Lucie Administratrice le 27 mars 2013 à 13:59

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
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
    Plugin Gadgets sous Ametys

  • 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 iGoogleNetvibes, 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/

1 commentaire(s)

  • Commentaire de arizton advisory And Intelligence posté le 17 mai 2022 à 03:09

    I know this if off topic but I'm looking into starting my own blog and was curious what all is

    required to get set up? I'm assuming having a blog like yours would cost a pretty penny?

    I'm not very web savvy so I'm not 100% positive. Any recommendations or advice would be greatly appreciated.

    Cheers

    • Commentaire de how to start an llc posté le 17 mai 2022 à 03:37

      I like looking through an article that will make men and women think.

      Also, many thanks for allowing me to comment!

      • Commentaire de how to start an llc posté le 17 mai 2022 à 04:36

        Hey! I'm at work browsing your blog from my new iphone 3gs!

        Just wanted to say I love reading your blog and look forward to all your posts!

        Keep up the great work!

        • Commentaire de Condom Market Size posté le 17 mai 2022 à 05:27

          Excellent post however , I was wanting to know if you could write

          a litte more on this subject? I'd be very thankful if you could elaborate a little bit

          more. Thanks!

          • Commentaire de how to start a llc posté le 17 mai 2022 à 05:38

            Hi there! I simply wish to offer you a huge thumbs up for the excellent info you have got right

            here on this post. I'll be coming back to your site for more soon.

            • Commentaire de 창원여드름피부과 posté le 17 mai 2022 à 06:27

              Howdy outstanding blog! Does running a blog similar to this require a great deal

              of work? I've no understanding of coding but

              I was hoping to start my own blog in the near future.

              Anyhow, if you have any recommendations or techniques for new blog owners please share.

              I know this is off topic nevertheless I simply needed to ask.

              Cheers!

              • Commentaire de Data Center Market posté le 17 mai 2022 à 09:28

                Wow, that's what I was looking for, what a information! existing

                here at this web site, thanks admin of this website.

                • Commentaire de click this posté le 17 mai 2022 à 10:13

                  Wow! This blog looks exactly like my old one!

                  It's on a totally different subject but it has pretty much the same layout and design. Wonderful choice of colors!

                  • Commentaire de Arizton posté le 17 mai 2022 à 10:37

                    Hello there, There's no doubt that your web site could be having browser compatibility problems.

                    Whenever I take a look at your website in Safari, it looks fine however, if opening in I.E., it has some overlapping issues.

                    I just wanted to provide you with a quick heads up! Aside from that, great blog!

                    • Commentaire de cell and gene therapy Market posté le 17 mai 2022 à 10:52

                      Thanks for finally writing about >Open Social - Welcome to the Ametys

                      Blog <Liked it!

                      • Commentaire de Online Pharmacy Market posté le 17 mai 2022 à 11:06

                        I like what you guys are up too. Such clever work and exposure!

                        Keep up the excellent works guys I've added you guys to my blogroll.

                        Les champs suivis d'un astérisque * sont obligatoires

                      Les champs suivis d'un astérisque * sont obligatoires

                    Les champs suivis d'un astérisque * sont obligatoires

                  Les champs suivis d'un astérisque * sont obligatoires

                Les champs suivis d'un astérisque * sont obligatoires

              Les champs suivis d'un astérisque * sont obligatoires

            Les champs suivis d'un astérisque * sont obligatoires

          Les champs suivis d'un astérisque * sont obligatoires

        Les champs suivis d'un astérisque * sont obligatoires

      Les champs suivis d'un astérisque * sont obligatoires

    Les champs suivis d'un astérisque * sont obligatoires

Les champs suivis d'un astérisque * sont obligatoires