API facebook et le FBML (Partie 1)

API facebook et le FBML (Partie 1)

sommaire :

  1. Le FBML
  2. Afficher les informations de nos amis
  3. Utiliser les médias qu'offre facebook
 

Nous allons voir dans cette article, le langage FBML (Facebook Markup Langage) qui, au niveau de la syntaxe s’approche du html.
C’est grâce à ce langage que l’on va pouvoir manipuler facilement l’affichage des informations que Facebook a stockées sur l’utilisateur (l’individu qui parcours notre gadget).


Pour suivre ce tutoriel, il faut savoir se connecter sur l’API Facebook, mais si ce n’est pas le cas, pas de panique ! Il faut juste lire cet article.

Le FBML

Le langage FBML (Facebook Markup Langage) est interprété par le moteur Facebook. Tout comme le moteur PHP, celui-ci va récupérer le code source, faire du traitement et enfin renvoyé le résultat en HTML. Vous n’êtes pas obligé d’utiliser le FBML pour développer votre application Facebook, mais il est largement conseillé puisqu’il va nous faciliter grandement la vie.


Pour une meilleur compréhension du FBML, nous allons développer une application qui mettra en valeur toute les informations sur différents contacts (amis ou pas). Il est bien évident que cet application n’apportera aucun service en plus, mais il aura l’avantage de vous faire découvrir les possibilités que nous offrent le FBML.


Il faut savoir aussi que le FBML apporte tous les mois son lot de nouvelles fonctions, ce tutoriel ne pourra pas vous fournir la liste exhaustive de ce langage. Mais pas de panique amis développeurs, tout l’essentiel sera là !
Toutefois, voici la liste exhaustive et mise à jour régulièrement des fonctions du FBML, (aussi n’hésitez pas à poster un commentaire sur une fonction que je n’aurai pas expliqué).

Bon fini de chipoter, let’s go!

afficher les informations de nos amis

Pour plus de simplicité, j’ai fait appel à un fichier php qui se connecte à Facebook automatiquement.
Je l’ai appelé connexion.php

<?php
// on charge la librairie facebook
require_once 'lib-facebook/facebook.php';
// on défini la clé et le code secret
$sAppapikey = 'VOTRE CLE';
$sAppsecret = 'VOTRE CODE SECRET';
// on se connecte à facebook par la creation d'un objet Facebook
$oFacebook = new Facebook($sAppapikey, $sAppsecret);
// on demande à l'utilisateur de se loguer
$sUser_id = $oFacebook->require_login();
?>

<fb:header> : la balise qui affiche un titre de notre application

facebook

facebook



<fb:header>Mes amis</fb:header>



Comme base, nous allons afficher une liste de 5 de nos amis.
Et petit à petit nous allons afficher toute sorte d’information sur eux :D.

<?php
// on se connecte à  facebook
require_once 'connexion.php';
?>
<fb:header>Mes amis</fb:header>
<br/><br/>
<?php
//on récupére les 5 premiers amis de l'utilisateurs
$aFriends = $oFacebook->api_client->friends_get();
$aFriends = array_slice($aFriends, 0, 5);
// on affiche leurs informations à partir de leur identifiant
foreach ($aFriends as $iKey => $sFriend) {
	echo '<h1> Ami '.($iKey+1).'</h1><br/>';
  	echo '<div>';
  	echo 'Identifiant : '.$sFriend;
  	echo '</div>';
  	echo '<br/><br/>';
}
?>

Pour un ami voilà ce qu’ affiche notre gadget :
facebook

facebook

Je l’admets, on a rien du tout comme information, mais on va vite remédier à ça, avec tout ce que le FBML va nous offrir ^^.

Nous allons afficher les photos de nos amis en utilisant la balise fb:mediaheader:

Dans notre boucle il suffit d’entrer :

  	echo '<div>';
  	echo 'Identifiant : '.$sFriend.'<br/>';
  	echo '<fb:mediaheader uid="'.$sFriend.'"/>';
  	echo '</div>';

Déjà ça rend un peu mieux :

facebook FBML

facebook FBML


Qui est mon ami ?

On va maintenant demander à Facebook si la liste de contacts sont bien nos amis.

<fb:if-is-friends-with-viewer uid=”IDENTIFIANT UTILISATEUR”>

c’est mon ami
<fb:else>
ce n’est pas mon ami
</fb:else>
</fb:if-is-friends-with-viewer>

foreach ($aFriends as $iKey => $sFriend) {
	echo '<h1>';
	echo '<fb:if-is-friends-with-viewer uid="'.$sFriend.'">';
  	echo 'Ami ';
  	echo '<fb:else>Inconnu </fb:else>';
  	echo'</fb:if-is-friends-with-viewer>';
	echo ($iKey+1).'</h1><br/>';
  	echo '<div>';
  	echo 'Identifiant : '.$sFriend.'<br/>';
  	echo '<fb:mediaheader uid="'.$sFriend.'"/>';
  	echo '</div>';
  	echo '<br/><br/>';
}

Là vous remarquez, que ça n’a rien changer à notre page. Normal, vu que l’on a que des amis.
Pour faire le test sur d’autre personnes, il suffit d’entrer des nouveaux identifiants dans notre tableau $aFriends.

$aFriends[]=15632748619; // jacques chirac
$aFriends[]=1619545751; // le père noel
$aFriends[]=1605863542; // charles le singe

Voila, vous savez maintenant les bases du FBML, dans la prochaine partie nous verrons la liste
beaucoup plus complète des balises FBML.

La seconde partie est en ligne, elle traite la partie média du FBML.

Note de l'article




1 Star2 Stars3 Stars4 Stars5 Stars (9 votes, moyenne: 4,22 max : 5)
Loading ... Loading ...

  1. Thomas Says:

    Merci pour cet article simple et clair :)

  2. farabel Says:

    Hello.
    Je suis tombée sur ton site hier et je le trouve très bien.
    J’ai une petite question à te poser : je suis en train de développer une application Facebook et je voudrais savoir si je peux mixer PHP 5 et FBML.
    L’idéal serait d’utiliser le FBML uniquement pour récupérer mes amis et envoyer une invitation et tout le reste en PHP5 (boutons, texte area).
    Je sais qu’il existe ces éléments en FBML mais ensuite, pour faire des requêtes, c’est pas top (puisque d’après ton article sur FQL, on ne peut faire que des “SELECT”) et donc, j’aimerai utiliser du SQL.
    Merci d’avance pour ta réponse!

  3. roul Says:

    Salut,

    Merci pour vos commentaires :).

    Farabel, tu peux très bien mixer le FBML et le PHP.
    Le FBML est surtout utile pour faire des beaux formulaires.
    C’est juste de l’affichage.

    Après le FQL te sera utile pour récupérer les informations sur tes amis.

    Une fois que tu les auras récupérées , rien ne t’empêche de les stocker dans ta propre base de données et faire ce que tu veux avec (les modifier, supprimer …)

    Si ça te parait trop vague n’hésite pas à me le dire. :)

  4. farabel Says:

    Je te remercie de ta réponse!!

    Je suis en train de tester mais bon, toujours un nouveau problème..
    Je m’explique : en index, un bouton doit être affiché. Cependant, je préfère le faire en html/php (bouton image) et ensuite, lorsque l’on clique, on arrive sur une page avec tous les amis répertoriés. Si je configure l’application en FBML, le bouton ne s’affiche pas et si je mets en iFrame, les amis ne s’affichent pas..

    J’avais l’idée d’ajouter la balise en insérant une url mais c’est horrible parce que j’ai un cadre tout autour..

    Ma question est : je dois laisser en FBML ou en iFrame?

  5. nokol Says:

    j ai 2 pade php index et article
    pour afficher les images de mes contacts il ça marche ce code mais donc la page article il ça marche pas je sais pa pourquoi
    plz aide moi
    merci d avance

  6. Cymon Says:

    Super !
    Ce matin en me levant, j’ai eu l’idée d’une apli FB, et avec tes conseils, je vais faire ça les doigts dans le nez… Merci beaucoup !!!
    Bonne continuation à toi et à ton site…

    Cordialement,

  7. Florian Laffont Says:

    Merci j’ai pour projet une traduction de l’api sa tinteresse di partisiper?

  8. Shizuarika Says:

    Bonjour,
    merci pour ce tuto en premier lieu,
    j’ai un problème l’api ne veut pas m’afficher les images des contacts, j’ai même essayé avec les noms cela ne fonctionne pas!!!
    Quelqu’un aurait-il une idée
    merci

  9. farabel Says:

    @Shizuarika : l’idéal serait de voir le bout de code pour afficher les images de tes contacts.. comme ça on verra plus clair ton problème !

  10. Wandroll Says:

    @Shizuarika : ça m’a fait le même problème au début,
    vérifie dans le tableau d’administration de ton application, dans l’onglet Canvas que tu a bien coché FBML et pas iFrame sinon il n’affichera pas les images

  11. 6 conseils pour construire une Fan Page Facebook d’entreprise efficace | Erwan Le Nagard Says:

    [...] de Fan Pages Facebook personnalisées - L’application Static FBML -  Tutoriel FBML - Console de développement - Wiki des [...]

  12. Petit Raptor Says:

    Bonjour, il y a quelque chose que je n’arrive pas du tout à comprendre.

    J’espère que le problème ne viens pas de mon hébergeur mais, moi, avec ce code dans mon index.php:

    Mes amis

    api_client->friends_get();
    $aFriends = array_slice($aFriends, 0, 5);
    // on affiche leurs informations à partir de leur identifiant
    foreach ($aFriends as $iKey => $sFriend) {
    echo ”;
    echo ”;
    echo ‘Ami ‘;
    echo ‘Inconnu ‘;
    echo”;
    echo ($iKey+1).”;
    echo ”;
    echo ‘Identifiant : ‘.$sFriend.”;
    echo ”;
    echo ”;
    echo ”;
    }
    ?>

    cela me donne ça:

    Mes amis

    Ami Inconnu 1

    Identifiant : 1064231110

    Ami Inconnu 2

    Identifiant : 1172393373

    Ami Inconnu 3

    Identifiant : 1293094174

    Ami Inconnu 4

    Identifiant : 1358974022

    Ami Inconnu 5

    Identifiant : 1418653575

    Est-ce que ce serais mon hébergeur qui ne prend pas en compte le FBML ?

Donner votre avis :