Tutorial Facebook : Utilisez Zend Framework pour commencer à développer votre application Facebook

Vous avez une idée d'application Facebook ? Vous souhaitez vous lancer dans le développement de cette application mais vous ne savez pas par quoi commencer ?
Vous trouverez dans cette article une recette qui vous permettra, en quelques étapes, de créer une application Facebook en utilisant le framework PHP développé par Zend.
Quelques pré-requis avant de commencer à lire cet article :
- Avoir un serveur Web supportant le PHP5
- Connaître le PHP
- Être débrouillard (Mac Gyver Spirit)
Mise en place de l'application QuickStart
- Téléchargez Zend Framework (Minimal)
- Téléchargez l'application "Quick Start" fournie par Zend
- Dézippez l'application "Quick Start" sur votre serveur Web.
- Renommer le répertoire de l'application "Quick Start" par le nom de l'application Facebook que vous allez développer
- Dézippez la librairie Zend Framework et déplacez-la dans le répertoire "/library/Zend" de l'application QuickStart.
- Au niveau de la configuration Apache, entrez la configuration suivante :
Alias /mon_application_facebook/ "/home/mon_application_facebook/public/"
<Directory "/home/mon_application_facebook/public/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
- Redémarrez Apache pour qu'il prenne en compte la nouvelle configuration.
- Vérifiez que l'application QuickStart fonctionne correctement en vous rendant sur l'URL de l'application "http://mon_serveur_web/mon_application_facebook/".
Déclaration et configuration de l'application dans Facebook
- Ajoutez l'application "Facebook Developers" à votre compte Facebook : http://www.facebook.com/developers/
- Cliquez sur le bouton "Set up a new application" et saisissez le nom de l'application Facebook que vous souhaitez créer.
- Remplissez l'ensemble des champs qui se présentent sur la page. Au niveau du champ "URL de rappel", entrez l'URL "http://mon_serveur_web/mon_application_facebook/".
- Enregistrez l'application, vous devriez être redirigé sur la page de synthèse de l'application.
- Copiez l'API Key et le Secret présents sur cette page et placez-les dans le fichier "/application/config/app.ini" de votre application.
facebook.appapikey = 07edc94f87894d02b5f5c70c5e18c7e3
facebook.appsecret = 627d6eebc8bdd8fd3ec6e4d1419d31d9
- Téléchargez le client PHP de l'API Facebook : http://svn.facebook.com/svnroot/platform/clients/packages/facebook-platform.tar.gz
- Dézippez l'archive dans le répertoire "/library/Facebook" de votre application.
- Vérifiez que le fichier "facebook.php" se trouve correctement dans /library/Facebook/facebook.php"
- Modifiez le fichier "application/bootstrap.php" et ajoutez les lignes suivantes à la fin du fichier avant la ligne "unset($frontController,...." :
require_once("Facebook/facebook.php");
$facebook = new Facebook($configuration->facebook->appapikey, $configuration->facebook->appsecret);
$user_id = $facebook->require_login();
$registry->user_id = $user_id;
$registry->facebook = $facebook ;
- Allez sur l'URL suivante : http://www.facebook.com/developers/apps.php
- Cliquez sur le lien "View About page" présent sur la page du descriptif de votre application.
- Cliquez sur le lien "Accéder à l'application".
- Testez que votre application s'affiche correctement dans Facebook.
Tout fonctionne correctement jusqu'ici ?
Customisation et développement de votre application Facebook
Maintenant que la QuickApplication fonctionne sur Facebook, il ne vous reste plus qu'à supprimer le contrôleur et les vues présentes dans cette application de démonstration, et à créer vos propres contrôleur / vues.
Pour cela, repportez-vous à la documentation en ligne de Zend Framework. Vous allez très vite comprendre comment fonctionne la relation vue / contrôleur dans Zend Framework.
http://framework.zend.com/manual/fr/zend.controller.html
Une fois que vous avez compris comment fonctionne l'ajout de nouvelles pages, et la convention que Zend Framework utilise dans ses URL, vous allez pouvoir commencer à vous amuser avec les tags FBML :
http://wiki.developers.facebook.com/index.php/FBML
Vous pouvez utilisez ces tags directement dans les vues de votre application Facebook.
Ensuite, depuis vos contrôleurs, accédez au client Facebook initialisé dans le Bootstrap de votre application et récupérez les informations que vous souhaitez. L'exemple ci-dessous permet de récupérer la liste des amis de l'utilisateur de l'application.
$facebook = Zend_Registry::get('facebook');
$friends = $facebook->api_client->friends_get();
$this->view->friends = $friends;
L'API possède de nombreuses autres fonctionnalités avancées que vous pouvez découvrir sur le Wiki de Facebook :
http://wiki.developers.facebook.com/index.php/API
Vous avez un mal de crâne après tout cela ? Vous rencontrez des difficultés ? N'hésitez pas à laisser un commentaire.


Commentaires
Un grand merci pour toutes ces indications !
Les news sur le Zend Framework sont toujours intéressantes. Au plaisir d'en revoir d'autres sur ce blog...
Bonjour,
Ce lien ne marche pas http://framework.zend.com/docs/quic... est ce que vous pouvez le remettre à jour svp.
Merci d'avance
Hello Ludo,
Pour la configuration Apache, peut-on utiliser un htaccess? si oui quelle commande?
Merci d'avance
@Ludo : ça se trouve ici : http://framework.zend.com/docs/quic...
Merci Ludo pour cette réponse rapide :D
Sauf que je ne comprends pas trop... si on utilise le htaccess, est-on obligé de mettre la config "Alias /mon_application_facebook/ "/home/mon_application_facebook/public/"" ?
@Ludo : C'est exactement cela
Oui mais j'ai suivi toutes les étapes... mais quand je vais sur mon application c'est marqué:
<< Erreur pendant le chargement de TEST?
Il y a encore quelques problèmes, que Facebook et les développeurs de TEST essaient de résoudre. Nous apprécions votre patience pendant que nous essayons de réparer ces erreurs. Votre problème a été pris en compte - si celui-ci persiste, veuillez revenir dans quelques jours. Merci ! >>
Merci pour les infos mais ça ne parait pas simple à mettre en place
Hey, depuis la version 1.8 le bootstrap de Zend n'est plus le même.. Il faudrait faire qques mises à jour dans le tuto !
Puisque les bootStrap sont des composants, on pourrait imaginer un FaceBookBootstrap qui étende Zend_Application_Bootstrap_Bootstrap
Sinon, bravo pour le tuto
@Lungos :
A propos des modif bootstrap 1.8, quelles sont les modifs a pporter au tuto?
J'obtiens une erreur http 500, et je ne sais pas si c'est mon serveur apache qui n'a pas pu redemarrer, je ne suis pas admin, ou si c'est bootstrap.php mal configure.
Je ne sais pas ... je ne l'ai pas utilisé sur cette version encore. Mais ça m'intéresse
merci tres fort
Bonjour,
j'ai réussi le début .
ensuite j'en suis la : http://facebook.webradio-musique.co... et je comprend pas la suite avec Zend pouvez vous m'éclaircir SVP
Pourquoi on tombe sur "Facebook Login" o_O ?
C'est douteux.
bonjour,
bas je sais pas justement :x
j'aime bien votre article simple facile mais plian d'infos
mercie beaucoup
Je me suis intéressé à la question encore et j'ai trouvé ça sur zend :
http://framework.zend.com/wiki/disp...
En commentaire, qqun parle de PEAR (je ne connaissais pas) qui aurait un composant FB :
http://pear.php.net/package/Service...
Les news sur le Zend Framework sont toujours intéressantes. Au plaisir d'en revoir d'autres sur ce blog...