krds - facebook developer garage paris

31
Integrating in the New Design with FBML or IFrames Deep dive into Facebook platform Thomas Guenoux – KRDS – [email protected]

Upload: krds

Post on 17-May-2015

24.040 views

Category:

Technology


2 download

DESCRIPTION

Integrating in the New Design with FBML or IFrames Deep dive into Facebook platform

TRANSCRIPT

Page 1: KRDS - Facebook Developer Garage Paris

Integrating in the New Design with FBML or IFrames Deep dive into Facebook platform

Thomas Guenoux – KRDS – [email protected]

Page 2: KRDS - Facebook Developer Garage Paris

/ 34

Bonne nouvelle !

12 avril 2023 2Facebook Developer Garage Paris

Page 3: KRDS - Facebook Developer Garage Paris

/ 34

Les éléments du nouveau design

Bookmarks

Application Tabs

Profile box

Application Info section

Publisher

Feed forms

12 avril 2023 3Facebook Developer Garage Paris

Page 4: KRDS - Facebook Developer Garage Paris

/ 34

Bookmarks

12 avril 2023 4Facebook Developer Garage Paris

Page 5: KRDS - Facebook Developer Garage Paris

/ 34

Application Tabs

12 avril 2023 5Facebook Developer Garage Paris

Page 6: KRDS - Facebook Developer Garage Paris

/ 34

Profile box

12 avril 2023 6Facebook Developer Garage Paris

Page 7: KRDS - Facebook Developer Garage Paris

/ 34

Application Info

12 avril 2023 7Facebook Developer Garage Paris

Page 8: KRDS - Facebook Developer Garage Paris

/ 34

Publisher

12 avril 2023 8Facebook Developer Garage Paris

Page 9: KRDS - Facebook Developer Garage Paris

/ 34

Feed forms

12 avril 2023 9Facebook Developer Garage Paris

Page 10: KRDS - Facebook Developer Garage Paris

/ 34

Création d’application

Quelles sont les problématiques clés ?

12 avril 2023 Facebook Developer Garage Paris 10

Page 11: KRDS - Facebook Developer Garage Paris

2. Iframe vs FBML

Page 12: KRDS - Facebook Developer Garage Paris

/ 34

I Think I’d Use Iframes

Charlie CheeverFacebook Engineer

12 avril 2023 12Facebook Developer Garage Paris

Page 13: KRDS - Facebook Developer Garage Paris

/ 34

Ne pas choisir à la légère

Most things you will want to do will be easier and faster with FBML.

12 avril 2023 13Facebook Developer Garage Paris

Page 14: KRDS - Facebook Developer Garage Paris

/ 34

Canvas page en mode IFrame habituel

© Charlie Cheever

12 avril 2023 14Facebook Developer Garage Paris

Page 15: KRDS - Facebook Developer Garage Paris

/ 34

Canvas page en mode FBML

© Charlie Cheever

12 avril 2023 15Facebook Developer Garage Paris

Page 16: KRDS - Facebook Developer Garage Paris

/ 34

La plateforme évolue et les règles changent

XFBMLFacebook Chat

12 avril 2023 16Facebook Developer Garage Paris

Page 17: KRDS - Facebook Developer Garage Paris

/ 34

Fonctionnement du XFBML

<fb:name uid="12345"></fb:name><fb:profile-pic uid="12345"></fb:profile-pic>

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/Featu

reLoader.js.php" type="text/javascript"></script><script type="text/javascript">

FB.init(FB_API_KEY,« XD_RECEIVER"); </script>

XFBML

JavascriptAPI

Thomas Guenoux

12 avril 2023 17Facebook Developer Garage Paris

Page 18: KRDS - Facebook Developer Garage Paris

/ 34

Ce qui change pour le mode IFrame

“if you use XFBML, then you usually won’t need to make an API call to Facebook from your server (which means (4) and (5) don’t happen)”

“if you use XFBML, then you usually won’t need to make an API call to Facebook from your server (which means (4) and (5) don’t happen)”

12 avril 2023 18Facebook Developer Garage Paris

Page 19: KRDS - Facebook Developer Garage Paris

/ 34

Chargement des pages suivantes

12 avril 2023 19Facebook Developer Garage Paris

Page 20: KRDS - Facebook Developer Garage Paris

/ 34

Bonjour, je suis une Iframe avec un contenu de 1500 pixels de haut, pouvez-vous m’afficher entièrement s’il vous plaît ?

Une IFrame ? Comment gérer la hauteur ?

Hors de question, tu n’es

pas de mon domaine !

Solution :Cross Domain Communication

Channel

Solution :Cross Domain Communication

Channel

12 avril 2023 20Facebook Developer Garage Paris

Page 21: KRDS - Facebook Developer Garage Paris

/ 34

XFBML est-il aussi cool que le FBML ?

FBML fournit des modules très pratiques et dans le “look and feel” FB

C’est maintenant possible d’avoir toutes les balises FBML en Iframe.

12 avril 2023 21Facebook Developer Garage Paris

Page 22: KRDS - Facebook Developer Garage Paris

/ 34

Exemple d’utilisation du FBML en XFBML

12 avril 2023 Facebook Developer Garage Paris 22

XFBML <fb:serverfbml><script type="text/fbml"><fb:multi-friend-input /></script></fb:serverfbml>

Création d’une IFrame dans l’IFrame de l’application, qui contient le résultat du FBML.

Page 23: KRDS - Facebook Developer Garage Paris

/ 34

Ça se complique pour le mode Iframe !

• Iframe

• Iframes dans l’iframe

• Redimensionnement automatique de toutes les IFrames grâce au

Cross Domain Communication Channel

Mais cela fonctionne.Les systèmes s’égalisent

en termes de fonctionnalité.

12 avril 2023 23Facebook Developer Garage Paris

Page 24: KRDS - Facebook Developer Garage Paris

/ 34

Performances

Preload FQL pour FBML

12 avril 2023 24Facebook Developer Garage Paris

Page 25: KRDS - Facebook Developer Garage Paris

/ 34

Performances

Depuis peu : Preload FQL pour Iframe

12 avril 2023 25Facebook Developer Garage Paris

Page 26: KRDS - Facebook Developer Garage Paris

/ 34

• FBML– L’URL change pour chaque page

• Iframe– http://apps.facebook.com/monappli/index.php– L’URL est fixe si l’on navigue dans l’iFrame– Bouton Retour gêné– Attribut target=‘_top’ résout le problème, mais enlève une bonne

partie de l’intérêt de l’Iframe.

Pas de solutionPas de bookmark ou de partage de lien

en mode IFrame

Pas de solutionPas de bookmark ou de partage de lien

en mode IFrame

12 avril 2023 26Facebook Developer Garage Paris

URLs http://apps.facebook.com/monappli/index.php

Page 27: KRDS - Facebook Developer Garage Paris

/ 34

Authentification : qui regarde la page

• FBML– Tout est inclus dans $_POST

• Iframe– Les informations passées en GET– La session_key est incluse dans le HTTP_REFERER

« This is a pretty serious security flaw in our design »– Passage manuel des query_string dans les GET des liens– Solution avec Cookies : pas toujours compatible, alertes de

sécurité de certains navigateurs et fastidieux.

12 avril 2023 27Facebook Developer Garage Paris

Mode Iframe moins sécuriséMode Iframe moins sécurisé

Page 28: KRDS - Facebook Developer Garage Paris

/ 34

FBML

• Avantages

– Chargement homogène de la page

– Tout le contenu est dans le flot, pas d’IFrame

– Utilisation simple de modules Facebook (Wall, MFI…)

– On conserve les URLs

– Le mécanisme d’authentification est fiable (intégré à FB)

• Inconvénients

– Le Chat a ralenti la plateforme

– Le contenu transite par Facebook

– Ajax lent, passe par Facebook (Eventuellement Proxy local)

12 avril 2023 28Facebook Developer Garage Paris

Page 29: KRDS - Facebook Developer Garage Paris

/ 34

Iframe

• Avantages

– Sans rechargement du Facebook Chrome, c’est plus rapide

– Utilisation de JS/HTML/CSS habituels (framework et librairies)

– Ajax rapide

• Inconvénients

– Redimensionnement des IFrames non fiables à 100%

– Pas d’URLs pour chaque page, pas de bouton Retour

– Authentification plus complexe à mettre en œuvre

– XFBML est long à charger (1-2 secondes)

12 avril 2023 29Facebook Developer Garage Paris

Page 30: KRDS - Facebook Developer Garage Paris

/ 34

Conclusion

Sauf pour certains cas, utilisez FBML

Thomas GuenouxKRDS

12 avril 2023 30Facebook Developer Garage Paris

Page 31: KRDS - Facebook Developer Garage Paris

Thank youFeel free to contact us, we love share about facebook platform.twitter.com/krds - krds.fr - [email protected] - applications-facebook.com