logo 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

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.

1. Le , 15:12 par Technologix
11754347cfedc628ce617a9a5e50452b

Un grand merci pour toutes ces indications !

2. Le , 23:49 par loic
4f1ab42be1b547918858cfb1270f3a9a

Les news sur le Zend Framework sont toujours intéressantes. Au plaisir d'en revoir d'autres sur ce blog...

3. Le , 17:04 par mehdi
dfa0648feea67a33363df96dafc3bd6c

Bonjour,
Ce lien ne marche pas http://framework.zend.com/docs/quic... est ce que vous pouvez le remettre à jour svp.

Merci d'avance

4. Le , 16:06 par Ludo
7a45376dae371c83744420abb26458b4

Hello Ludo,

Pour la configuration Apache, peut-on utiliser un htaccess? si oui quelle commande?

Merci d'avance :)

5. Le , 16:17 par Ludovic
9ab09dd3e305f924f8930e20e1a35843

@Ludo : ça se trouve ici : http://framework.zend.com/docs/quic...

6. Le , 16:24 par Ludo
7a45376dae371c83744420abb26458b4

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/"" ?

7. Le , 19:25 par Ludovic
9ab09dd3e305f924f8930e20e1a35843

@Ludo : C'est exactement cela ;-)

8. Le , 19:28 par Ludo
7a45376dae371c83744420abb26458b4

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 ! >>

9. Le , 16:38 par kali
d1bb63d147e75e9f9714d6962a848d67

Merci pour les infos mais ça ne parait pas simple à mettre en place

10. Le , 12:50 par Lungos
594d64dd5d350f303f7bbce4c86d7312

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

11. Le , 16:10 par grisbi
4ca5bb3ae0e823573109354c947b58c7

@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.

12. Le , 21:34 par Lungos
594d64dd5d350f303f7bbce4c86d7312

Je ne sais pas ... je ne l'ai pas utilisé sur cette version encore. Mais ça m'intéresse ;)

13. Le , 02:57 par aminamin
ddb86ab47f78544be42f1f7417c43006

merci tres fort

14. Le , 02:55 par Sebasti3n
017d5b1e30ddf96fde26b2e350cd5615

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

15. Le , 08:59 par Lungos
594d64dd5d350f303f7bbce4c86d7312

Pourquoi on tombe sur "Facebook Login" o_O ?
C'est douteux.

16. Le , 10:38 par Sebasti3n
017d5b1e30ddf96fde26b2e350cd5615

bonjour,
bas je sais pas justement :x

17. Le , 23:02 par titam
b1d0970f3fe6a06f02b2dae5dcb3b753

j'aime bien votre article simple facile mais plian d'infos
mercie beaucoup

18. Le , 18:28 par Lungos
594d64dd5d350f303f7bbce4c86d7312

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...

19. Le , 10:58 par توبيكات
ea7e060cf673ebce691a008e04c71b2a

Les news sur le Zend Framework sont toujours intéressantes. Au plaisir d'en revoir d'autres sur ce blog...

20. Le , 14:54 par AppliFB
322def8b6d6edf4bde6bfbe14ea1eb68

Est-ce qu'on est obligé d'utiliser le FBML à l'heure actuelle ?

21. Le , 17:31 par Ludovic
9ab09dd3e305f924f8930e20e1a35843

@AppliFB : FBML + HTML .. Le FBML ne sert qu'à afficher des données.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.