Le 19 Avril dernier s’est déroulé un Facebook Developer Garage, un petit évènement sur le développement autour de Facebook. Comme son nom l’indique, c’est un peu technique et la suite de ce billet l’est tout autant. Le principe est simple, des employés de Facebook font des présentations devant un public. Il y a également une session de questions et réponses.
L’Open Graph
Le sujet principal de ce rassemblement (ce n’est pas le premier) est l’Open Graph et ses bonnes pratiques. Je rappelle rapidement ce qu’est l’Open Graph, il s’agit d’un protocole qui permet d’ajouter de la sémantique à des objets ou des actions. Par exemple, un magazine a un titre, un numéro, un auteur et une description. Il peut être créé ou lu par plusieurs personnes. Les propriétés et actions doivent être décrites informatiquement afin d’être exploitées (par Facebook).Le premier avantage de l’Open Graph est de mettre en place la viralité d’une application à travers Facebook, afin de recruter plus d’utilisateurs. Bref, ce que je fais sur Madmagz peut être posté sur Facebook et mes amis le verront.
Le gain est incontestable à condition d’être bien fait et que l’intérêt de l’utilisateur est expliqué clairement. L’un des orateurs parle de frictions qu’il faut éviter dans la boucle virale, cela veut juste dire que le workflow doit être toujours simple pour l’utilisateur et qu’il faut vérifier tous les scénarios (et il y en a).
L’implémentation
Ce qui nous (développeurs) intéresse, ce sont les informations qui aident à comprendre comment intégrer l’Open Graph dans notre application. Facebook fournit tout de même une documentation et des bonnes pratiques mais avec les changements permanents, la théorie ne marche pas toujours.
Ce que j’ai retenu, c’est qu’il fallait partir du principe que les permissions peuvent être révoquées à tout moment, et donc demander les autorisations à l’utilisateur à chaque appel API si nécessaire. Facebook n’est pas non plus notre base de données, c’est moins performant et des informations peuvent être effacées, on doit stocker les objets et actions Open Graph nous même.
Compte tenu de sa sortie récente, l’Open Graph et ses outils évoluent en permanence. C’est pourquoi il est conseillé de l’utiliser comme un mécanisme viral optionnel, il est évidemment dangereux de dépendre totalement d’un service tiers.
Le déploiement
L’une des présentations parlait d’un tout autre sujet, celui du déploiement du code sur Facebook.
Ils ont un rythme similaire à Madmagz. La mise en ligne normale se fait une fois par semaine. Ils ont pour principe d’aller vite quitte à casser des choses, mais il faut réparer rapidement.
Évidemment, ça ne veut pas dire qu’il n’y a aucune vérification. Avec plus de 15 000 modifications par mois, j’imagine que tout est bien segmenté … enfin j’espère pour eux.
Pour réparer, il faut au plus tôt détecter les problèmes. C’est pourquoi ils font très attention au monitoring du logiciel. Et pour déployer le nouveau code, après la compilation HipHop en binary, ils utilisent bittorrent. Cela leur réduit considérablement le temps de l’opération.
Conclusion
Finalement, cet évènement était accessible à n’importe qui car les orateurs expliquaient le mécanisme général et les avantages de l’Open Graph.
L’implémentation peut se faire au fur et à mesure, la viralité se paufine et se teste car Facebook améliore (et donc modifie) son algorithme d’affichage des informations en permanence.