Synthèse et ouverture – Vers l’API et au delà –

A la base pensé comme une vitrine statique, le web a su se diversifier en proposant, au-delà de documents scientifiques, de plus ne plus de divertissements. Avec l’apparition des blogs et a fortiori de la communication instantanée, le web social se dessinait déjà mais son apogée est arrivée avec l’avènement de facebook. Les réseaux sociaux deviennent notre nouveau quotidien. Ainsi pour qu’un site soit “efficace” son intégration au sein des réseaux sociaux est cruciale. C’est ce que permettent les APIs : lier notre environnement (web) à ces plateformes de relations.
Que nous a valu une telle évolution ? Notre goût pour le sur mesure et notre besoin de personnalisation et de contact plus direct sans doute.
Un signe de ras le bol à l’horizon ? Il ne semble pas, le règne des réseaux sociaux paraît stable et ne pas sourciller.

Alors maintenant lecteurs, à vos apis, prêts ? Produisez !

 

Près de 6 mois se sont en effet écoulés au cours desquels nous avons tout fait pour familiariser nos interactions avec les apis. Au cours de ce travail de veille, nous avons donc décidé de dresser un panorama des apis sociales pour ensuite nous concentrer sur celles qui nous parlent le plus, à savoir twitter et facebook et peut être la plus facile d’usage twitter, dans un soucis de simplicité et d’universalité de la portée de ces articles.

Le contexte de cette étude repose donc sur le web 2.0, un web qui se veut social et que les internautes veulent personnalisables et plus proche d’eux pour optimiser leur expérience des contenus.

Article 1 : Lors de cette introduction, nous avons présenté les concepts d’API et de réseau social servant de mise en bouche à cette veille technologique.

Article 2 : Ce second article fut l’occasion de nous consacrer aux fonctionnalités offertes par les 2 géants du web social : twitter et facebook. Concernant twitter, nous avons décrit ici les différents types d’API ainsi que ses éléments constitutifs, des tweets, aux followers et autres concepts mis en place avec Larry. Pour facebook, nous nous sommes intéressés au fonctionnement même de facebook en présentant le concept de socialgraph.

Article 3 : Cet article a été l’occasion de présenter les CGU de Twitter. Seules celles concernant l’utilisation et la création d’applications utilisant le système d’API son évoquées. Cela nous a permis de découvrir les limitations imposées par le réseau, ainsi que les obligations auxquelles sont soumis les développeurs.

Article 4 : Lors de cette quatrième étape nous avons exposé comment fonctionne la création d’une application Twitter, ainsi que les démarches à effectuer sur le site web. Ensuite, nous avons montré les mécanismes généraux d’authentification via une API en utilisant pour l’exemple une bibliothèque pour java.

Article 5 : Ce cinquième billet nous a permis de recadrer le plan de notre étude. En effet, au lieu d’exposer les étapes de développement d’une application basée sur les réseaux sociaux, nous avons préféré survoler les bibliothèques permettant d’utiliser les fonctionnalités de Twitter en java, C++, javascript et php. Il en est ressortit que les bibliothèques pour les langages web sont en plus grands nombres et plus complètes que celles des langages de programmation où elles peuvent être parfois inexistantes.

Article 6 : Dans cet article nous avons tout d’abord parlé des CGU de Facebook et plus particulièrement celles touchant à l’utilisation de la plateforme API. Ces conditions n’ont rien d’exceptionnel comparées à celles de Twitter précédemment évoquées, avec un flou sur l’usage des données transmises à Facebook. La seconde partie ouvre le sujet en traitant de l’importance prise par ces réseaux sociaux dans le Web 2.0. Servant aujourd’hui à la fois d’outils de partage,  de vitrine commerciale voire de tribune politique, ce morceau social du web a une emprise bien réelle sur notre monde avec laquelle nous devons composer.

Concernant nos impressions quant au sujet des API des réseaux sociaux, nous n’avions jamais eu l’occasion ni la nécessité d’utiliser les API. Nous nous limitions alors juste à l’usage normal des réseaux sociaux. C’est donc sans connaissance préliminaire que nous nous sommes lancés dans ce sujet qui a parfois pris la tournure d’une expédition à la découverte du monde des APIs.

Bien qu’il existe de nombreux tutoriels sur l’usage des APIs à la fois sur les sites officiels mais aussi sur des articles rédigés par des internautes faisant partager leurs compétences, lorsque l’on veut pousser un peu plus loin la recherche sur le fonctionnement de ces fonctionnalités les choses se corsent en particulier à cause de la diversité des fonctionnalités (comme par exemple la plateforme facebook).

Si le temps nous le permettait, nous continuerions cette veille en proposant le développement d’une véritable application, comme nous l’avions souhaité au départ. Toutefois, l’intérêt majeur restait de découvrir les apis dans un cadre suffisamment large.
Un autre point intéressant serait d’étudier en détail les APIs non présentées pour les réseaux sociaux cités dans nos billets.

Plan du Rapport d’étude

  1. Présentation du web social

    1. Historique

    2. Principales plateformes sociales

  2. Le but des apis

    1. Définition

    2. Le cas facebook

    3. Le cas twitter

  3. Les possibilités offertes

    1. Un engouement croissant

    2. Une communauté dédiée

 

Auteurs : Nicolas DAVID & Sylvain PALOMINOS
Encadrant : Morgan MAGNIN
Licence Creative Commons

Le poids du Web social

Voici donc notre dernier article sur les API des réseaux sociaux. Comme promis, nous allons exposer dans la première partie de cet article les conditions d’utilisation de Facebook concernant l’utilisation des outils et API pour ensuite ouvrir sur une réflexion sur le web social.

CGU Facebook (Utilisation de facebook plateform)

Nous ne pouvions définitivement pas passer à côté des CGU de Facebook que plusieurs d’entre nous seront vraisemblablement amenés à étudier s’ils envisagent de travailler un jour dans le monde de l’entreprenariat et du web.

Ici, nous nous attacherons donc à décrire la partie concernant l’utilisation des outils et de l’API. En effet, décrire l’ensemble des CGU ne rentre pas dans le cadre de nos articles et d’autres site le font très bien, de manière assez complète comme clubic ou encore numerama.

 

Utilisation des données :

Ce qui nous intéresse ici, c’est la partie “Autre sites web et applications” qui parle plus spécifiquement de l’usage des informations transmises à des applications ou à des sites tiers.

 

Cas des applications :

Lors de votre première connexion à une application facebook, celle-ci demande à avoir accès à vos informations facebook afin de vous identifier. Lorsque vous validez, le réseau social va transmettre l’ensemble des “informations publiques” de votre profil ainsi que “la liste de vos amis”.

 Autant “la liste de vos amis” est un terme assez transparent (liste de toute les personnes que vous avez acceptées en tant qu’amis), autant les “informations publiques” semblent plus obscures. Plus en avant dans cette déclaration on en trouve la définition.

Il est décrit qu’elles contiennent au minimum :

  • votre nom
  • votre photo de profil
  • votre photo de couverture
  • vos réseaux
  • votre sexe
  • votre nom d’utilisateur
  • votre identifiant
  • toutes les autres informations non configurées comme privées (les précédentes étant nécessairement publiques)

Selon la manière dont vous aurez paramétré votre compte, elles auront accès à plus ou moins d’informations sur vous. Dans le cas où une application nécessiterait des droits d’accès plus importants à vos informations comme par exemple à vos photos, elle devra le demander explicitement et il vous revient d’accepter ou non.

 

En revanche, il est possible de désactiver l’accès par des applications à vos informations par l’intermédiaire de l’onglet “Application” du paramétrage de votre compte.

Tant que l’application n’a pas été désactivée, elle pourra avoir accès à vos informations, les mettre à jour et les stocker. Une fois celle-ci supprimée de votre compte, elle n’y a bien entendu plus accès, mais elle garde celles qu’elle a pu collectées sur vous. Il faudra donc personnellement contacter les éditeurs des applications afin de leurs demander de supprimer ces informations.

 

Cas des sites web :

Lorsque vous désirez vous identifier sur un site web via facebook, il existe deux moyens de procéder.

  • soit le site va vous proposer de vous identifier via les outils sécurisés fournis par le réseau social
  • soit celui-ci va utiliser l’adresse mail de votre compte pour le site en question, l’envoyer à facebook (de manière sécurisée) afin de pouvoir associer les deux comptes

Une fois l’authentification faite, le site aura accès aux mêmes informations que les applications.

La présence de facebook peut aussi se faire de manière plus discrète via des modules sociaux tels que des boutons, des cases ou encore des actualités (comme par exemple les boutons “J’aime” ou des champs de commentaires avec votre photo de profil). Le plus souvent ils fonctionnent exactement comme des applications et récoltent les mêmes informations. Mais de son côté, facebook va lui aussi collecter des informations sur le site ainsi que les interactions effectuées via le module social.

 

Déclaration des droits et des responsabilités : https://www.facebook.com/legal/terms

 Cette déclaration regroupe toutes les directives de bonne conduite sur le site et ses applications afin d’assurer une bonne expérience utilisateur.

 Le paragraphe 9 s’intéresse plus particulièrement aux développeurs utilisant les outils et API de facebook.

 Ce paragraphe précise la manière dont doit se comporter le développeur de l’application quant à l’utilisation des données reçues. Il y est précisé qu’il ne peut en aucun cas en faire usage en dehors de son application. Il ne peut en aucun cas les transmettre à un tiers, ni les revendre, ni les conserver après que l’utilisateur lui ait demandé de les supprimer. Afin de signifier clairement à l’utilisateur l’usage qui en sera fait, une politique de confidentialité des données doit être publiée.

Facebook oblige aussi à se conformer à sa politique envers les utilisateurs quant à la mise disposition d’un moyen simple de contacter ou encore de supprimer le lien entre l’application et le compte utilisateur.

Par ailleurs, le réseau social se donne certains droits comme celui de rendre la plateforme regroupant API et outils payante, de modifier l’application par ajout de publicités ou informations diverses, voire même de faire une application similaire à la vôtre…

 N’est décrite ici qu’une partie des conditions d’utilisation concernant les outils de développement car elles sont présentées à travers une dizaine de documents différents. Chaque terme important tel que les informations publiques ou la notion de “personnes de manière à ce qu’elles n’aient plus aucun lien avec vous” ne sont pas redéfinies explicitement mais des liens vers d’autres documents donnent des éléments de réponse et en font une quête intéressante.

 

Vous savez donc maintenant par où transitent vos données et ce qui peut leur arriver (en partie)… mais au final, pourquoi se logue-t-on avec Facebook ? Pourquoi retwittons nous une information ? Pourquoi les plateformes de musiques proposent de se connecter aux réseaux sociaux ? Pourquoi les e-boutiques vous invitent elles à commenter un produit acheter ?

Pour résumer, d’un point de vu développeur comme utilisateur, qu’est ce qui explique cette floraison des api sociales ?

L’un d’entre nous a travaillé durant son stage ingénieur dans l’agence Web Colorz, en tant que chef de projet et au cours des échanges avec les clients, les fonctionnalités sociales des sites étaient souvent abordées. En effet : Le web est passé d’un statut statique à un statut collaboratif, et avec ce web 2.0 c’est un web social qui s’est dessiné. Ce web social s’appuie en effet sur une demande de l’internaute qui souhaite plus de personnalisation et plus de recommandation des autres personnes comme lui.

 Ainsi, on peut voir dans les commentaires des boutiques en ligne un prémice de ces API sociales que des géants comme facebook ont proposé de généraliser en offrant aux créateurs de sites des possibilités d’interconnexions entre différentes plateformes et ce de façon simplifiée.

Intégrer une API social sur son site va en effet permettre à une boutique ou un blogueur de toucher une grande communauté de personnes, de mieux positionner et segmenter son offre grâce aux préférences des profils sur les réseaux sociaux, de fidéliser ses consommateurs en leur proposant de partager des articles ou d’y réagir et enfin de se promouvoir de manière indirecte par ce même partage.

C’est donc une stratégie à part entière, à faible coût et pensée pour cibler son public dans un web où les géants sociaux semblent s’intégrer à tout en dressant une nouvelle table de références des utilisateurs, véritable base de données (ou plutôt fichage de l’internaute) dans laquelle pourront venir piocher les services externes de manière réglementée (comme nous vous l’avons fait comprendre avec l’étude des CGU) et que l’utilisateur continue d’alimenter.

Ce Web social s’immisce ainsi dans notre réseau et même nos navigateurs, en atteste la socialAPI de firefox permettant de donner à notre navigateur une allure “facebook like” en rajoutant la barre latérale bien connue du réseau social où d’autres features liées au contenu des réseaux sociaux.

Il est donc important lors de la création d’un site de penser cette part de sociale comme un plus et une assurance de meilleure audience, si toutefois les réseaux sociaux ciblés sont les bons (professionnel, social, microblogage).

Aristote n’avait semble-t-il pas tort lorsqu’il décrivait l’homme comme “un animal social”. En tout cas, le développement du web semble bel et bien aller dans ce sens.

Nous reviendrons donc dans 2 semaines pour une synthèse sur ces quelques mois dans laquelle nous résumerons les points importants qui traduisent l’évolution de notre pensée vis à vis de cette découverte des API sociales ainsi que le plan de notre rapport.

Sources :

 

Auteurs : Nicolas DAVID & Sylvain PALOMINOS
Encadrant : Morgan MAGNIN
Licence Creative Commons

Les APIs des géants sociaux : Twitter & Facebook

API, vous vous rappelez ? Application programming interface ! (sinon allez relire notre premier article) Nous allons aujourd’hui entrer dans le vif du sujet. Que nous permettent les api des deux géants twitter et facebook ? Les utilisons nous fréquemment ?
Cette présentation sera illustrée d’exemples de sites web mettant en œuvre ces APIs dans des contexte variés, nous vous invitons bien évidemment à les visiter pour vous rendre compte de l’ampleur des possibilités qui sont offertes, en tant que développeur et en tant qu’utilisateur !

TWITTER

L’ensemble des fonctionnalités de l’API de Twitter sont divisées en trois grands groupes en fonction de leur cible :

  • Twitter for Websites (TfW) qui contient les principales fonctionnalités de Twitter. Il permet d’implémenter divers boutons ou widget permettant à un utilisateur de Twitter sur un sujet prédéfini, de suivre un compte, afficher une timeline …
  • REST API qui permet d’avoir accès à des fonctions faisant partie du coeur de Twitter tel que la mise à jour de statuts, les timelines et les informations des utilisateurs.
  • Streaming API qui donne accès aux données en temps réel. Cela peut être nécessaire pour certaines applications devant traiter une grande quantité de données ou devant fonctionner rapidement.

Nous allons présenter en détails l’API REST. Alors que Streaming et Twitter for Websites se concentrent sur un aspect bien particulier de l’usage de cet outil, REST procure l’ensemble des fonctionnalités associées à Twitter. Ici encore les différentes fonctions peuvent être découpées selon différents thèmes :

  • Timelines : Les timelines sont constituées d’un agrégats de tweets présentés dans l’ordre chronologique. Le développeur peut spécifier à travers les fonctions fournies sur quels critères sélectionner les tweets : sujet, auteur, followers …
  • Tweets : Cette famille de fonctions concerne directement le statut de l’utilisateur. Diverses fonctionnalités sont disponibles comme sa modification, sa mise à jour, récupérer les retweets associés…
  • Direct Message : Les utilisateurs inscrits peuvent s’envoyer entre eux des messages privés. Ces fonctions de l’API permettent de gérer ces messages : affichage, suppression, envoi…
  • Amis et Followers : Cet ensemble donne accès à toutes les informations concernant les amis et followers de l’utilisateur et de gérer les relations d’amitié et de suivi.
  • Utilisateurs : Une fois l’utilisateur connecté via son compte à l’application ces fonctions donnent accès à l’ensemble des paramètres et informations du profil afin de les récupérer, les afficher et les modifier
  • Utilisateur suggérés : Twitter fourni à travers ce thème un accès à la liste d’utilisateur qui sont susceptibles d’intéresser la personne connectée.
  • Favoris : Les fonctions associées permettent de retourner les tweets favoris de l’utilisateur, de les supprimer ou d’en créer
  • Listes : Cette famille de fonctions est très riche et variée. Elles ont comme point commun de retourner une liste que ce soit de tweets, d’utilisateurs, de statuts, de followers, en fonction des critères spécifiés.
  • Géolocalisation : Twitter est un réseau mondial et par conséquent les membres produisent de la donnée géolocalisée. Il est donc possible de récupérer les informations sur la localisation des utilisateurs et de leurs tweets (comme par exemple sur le site tweetping).
  • Tendance :Twitter est aussi un lieu de buzz où l’on retrouve les grandes tendances d’Internet. Des fonctions existent permettant d’explorer et suivre les différentes orientations des tweets.

Cet inventaire est un peu brutal. Mais il est important de connaître les possibilités offerte par l’API avant de commencer à l’utiliser.
C’est pourquoi lors du prochain article nous présenterons la mise en œuvre plus concrètes des fonctionnalités pour la conception d’application comme les méthodes d’authentification de OAuth, celles de recherches de Search ou encore de Streaming.

FACEBOOK

Avant de nous intéresser aux APIs en elles même, il est intéressant de comprendre le fonctionnement de facebook. Pour cela, nous allons nous intéresser au cœur de facebook, le socialgraph. Le social graph ? C’est quoi ?

  • un ensemble de sommet : les objets en relations que ce soient personnes, pages, messages ou autre contenu partageable possédant un identifiant unique
  • un ensemble d’arc entre ces sommet : représentant les liens entre les objets, de l’amitié au like

Connaissant l’ID il est alors possible d’obtenir les informations de l’objet. Par exemple, en vous connectant sur facebook, l’url de de votre profil est du type : “https://www.facebook.com/id” où id est une chaine de caractère (par exemple prenom.nom.int) en allant à l’adresse suivante, où id correspond à votre id récupéré en url, vous aurez ainsi une description au format JSon de votre profil !

https://graph.facebook.com/id

Cela marche aussi avec les photo par exemple ! Vous pourrez donc aller sur une photo, récupérer son id dans l’url et renvoyer la requête http correspondante pour obtenir une description de la photo en JSon, avec taille, source, description, commentaire et même id des personnes ayant liké !
Maintenant qu’on a les objets, il serait intéressant d’obtenir les connexions ! Les arcs reliant les objets peuvent avoir plusieurs types ! Avec une requête http, on peut obtenir les objets liés à notre objet par le type de relation voulue (aux règles d’autorisations prêt) par exemple, si vous tapez https://graph.facebook.com/id/friends vous devriez avoir la liste d’amis de la personne id… seulement si l’information est publique ! C’est là qu’interviennent les APIs.

“ When you create a story on Facebook, you’re not just posting text for someone to read. You’re also creating a set of structured relationships, as well. Your app, the person using your app and the article they like are all now connected. This is why we call it a graph. You’re not just telling stories, you’re also creating a structured history of the things that people have done in the world. “

 

facebook developpers documentation – open graph

Premièrement, notons que les APIs s’adaptent à tous les appareils (navigateur web, appli android, appli iphone, jeu)

  • Service de log in : en donnant à l’API votre log in de facebook, vous autorisez l’application à lire vos informations personnelles du socialgraph qui étaient inaccessibles par la simple requete http. ces informations servent à compléter votre profil pour l’application en question. C’est le facebook login. Si vous voulez savoir jusqu’à quel point vos informations personnelles peuvent être sollicités, n’hésitez pas à visiter ce site, assez dérangeant toutefois !
  • FQL = facebook query languages : Interface pour effectuer des requêtes de type SQL sur le social graph. Ces requêtes permettront de faire des recherches ou d’établir des statistiques basées sur le contenu du social graph. on y décèle un potentiel marketing indéniable ! Plus d’information dans le guide dédié
  • Open Graph : les APIs peuvent avoir accès au SocialGraph en écriture, notamment en proposant des articles facebook dans les sites webs ou en ajoutant des boutons like. Au final, on confère à l’application le droit d’accéder au social graph en écriture, comme on le donne à facebook en vous connectant, à des restrictions prêt bien sûr !
    On notera que l’accès en écriture permet aussi la suppression d’informations. On pensera notamment à Socialroulette, “Social Roulette has a 1 in 6 chance of deleting your account. What are you afraid of?” qui proposait de jouer à la roulette Russe avec son compte Facebook.
  • Tchat facebook qui peut être intégré à une autre application

Cette liste n’est pas exhaustive mais nous avons choisi ici de vous faire comprendre le fonctionnement général des APIs que nous rencontrons dans la vie de tous les jours, au détour d’un bouton like notamment !

Conclusion

Ainsi les api permettent de faciliter l’usage d’un web social, toutefois, jusqu’où vont elles ? Jusqu’à quel point se connecter à un site via facebook signifie lui offrir ses données personnelles ? Des sites comme takethislollipop ont soulevés ces problèmes pour un résultat choc destiné à marquer les esprits. Et en cliquant nonchalemment sur le bouton “se connecter”, vous êtes vous demandés où vos données allaient transiter et ce que ce site en ferait ?

Nous tâcherons donc aussi de nous intéresser aux Conditions Générales d’Utilisation de ces APIs et la réutilisation des données qu’elles permettent. Il est en effet important de noter que certains sites les utilisant peuvent présenter des comportements non prévus par les réseaux sociaux et ainsi se faire interdire a fortiori (on pensera notamment au principe de socialroulette).

Sources :
https://dev.twitter.com/docs/api/1.1
https://developers.facebook.com/blog
www.fr.wikipedia.org
http://graphism.fr/compendre-le-social-graph-de-facebook-en-3-minutes/

Auteurs : Nicolas DAVID & Sylvain PALOMINOS
Encadrant : Morgan MAGNIN
Licence Creative Commons

Bienvenue aux APIs des merveilles

Larry a pris la place des pigeons voyageurs, Facebook celle de nos albums photos, ce n’est pas un secret, les réseaux sociaux représentent une part importante du trafic internet mondial. Mais leur succès n’est pas seulement le miroir des connections sur leurs sites respectifs. Une masse importante des visiteurs et du contenu généré provient en effet d’applications tierces intégrant des fonctionnalités sociales via des interfaces de programmation (API) mises à disposition des développeurs.

Précisons tout d’abord ces termes ensemble afin de clarifier le sujet :

  • API
    Les interfaces de programmations, aussi désignées par API, sont un ensemble de classes, de méthodes et de fonctions mises à disposition par un éditeur de logiciel, de sites web, de bibliothèques, pour permettre à un tiers de développer un plugin ou une application en se basant dessus.
  • Réseaux sociaux
    A l’origine, ces réseaux représentent un groupe de personnes partageant des intérêts ou des liens personnels pouvant facilement se mettre en relation les uns avec les autres. Sur internet, ces réseaux sont devenus beaucoup plus massifs et les points communs entre les utilisateurs reliés sont devenus de plus en plus mince. Ils servent en particulier à partager sa vie, ses expériences, des médias voire se créer un réseau.

Bien entendu Facebook et Twitter ne sont pas seuls exemples, même s’ils comptent parmi les plus importants (et influents). On peut aussi citer :

  • Google + qui fut d’abord pensé comme un concurrent à Facebook.
  • Pinterest qui se base sur l’aspect collection.
  • Instagram qui est beaucoup plus orienté vers le partage de photos.
  • Tumblr qui est orienté microblogage.
  • LinkedIn qui se tourne vers le réseau professionnel.

Encadrée par Morgan MAGNIN pour l’École Centrale de Nantes, notre première rencontre a permis de décomposer cette étude selon 2 grands axes :

Nous aborderons au cours des premiers mois les possibilités fournies par les APIs de quelques uns de ces réseaux sociaux tout en essayant d’évaluer et relativiser les risques vis à vis des données personnelles qui sont alors sollicitées. (N’hésitez pas à partager des sites utilisant ces ces APIs en commentant nos articles).

Dans un second temps, nous envisageons de nous tourner vers l’utilisation technique d’une de ces APIs dans le cadre d’un projet que nous rendrions disponible via Github, ce point sera rediscuté avec notre encadrant dans les mois à venir.

Cet article comme les prochains, ainsi que nos éventuels codes sont placés sous licence Creative Commons. Vous pouvez donc librement réutiliser leur contenu (hors utilisation commerciale) en citant clairement nos noms : Nicolas DAVID et Sylvain PALOMINOS ainsi que le cadre de cette étude, à savoir : SOCIALAPI13.

Nous vous donnons donc rendez vous d’ici le 25 Octobre pour une présentation détaillée des possibilités offertes par les APIs de Twitter et de Facebook !

 

Auteurs : Nicolas DAVID & Sylvain PALOMINOS
Encadrant : Morgan MAGNIN
Licence Creative Commons