Intégrer Facebook PHP-SDK dans CodeIgniter

Je suis en train de construire une application pour Facebook et je me suis dit que cela pouvait peut-être vous intéresser. Après plusieurs conseils pris ici et là, j’ai décidé d’écouter mon ami @GrreEnFamille et d’utiliser le framework CodeIgniter pour construire mon application en PHP. J’ai suivi le User Guide de CodeIgniter et finalement je me suis lancé en voulant intégrer le PHP-SDK de Facebook afin de faciliter son utilisation dans CodeIgniter. C’est ce que je vais vous expliquer dans la suite de ce message…


Tout d’abord voici les versions utilisées dans ce mini tutoriel :

Ce qui suit est plutôt simple, accessible à tous les développeurs (avec quelques bases de programmation Web). Avant de commencer, je vous conseille quand même de suivre le User Guide si vous ne connaissez pas CodeIgniter. Si jamais vous avez des problèmes, vous pouvez de toute façon laisser un commentaire 😉

Et maintenant, on peut rentrer dans le vif du sujet. C’est parti !

Insérer la librairie

Aller dans le répertoire /application/librairies/.
Copier le fichier facebook.php de /php-sdk/src/ dans ce répertoire.
Modifier le fichier pour ajouter le code suivant sur la 1ère ligne du fichier :

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

Adapter la configuration

Aller dans le répertoire /application/config/.
Modifier le fichier config.php. Il faut remplacer les valeurs présentes par celles-ci :

$config['uri_protocol'] = "PATH_INFO";
$config['permitted_uri_chars'] = 'a-z 0-9?~%.:_\-';
$config['enable_query_strings'] = TRUE;

Créer un nouveau fichier facebook.php. Il doit contenir ceci :

<?php
$config = array(
    'appId' => 'YOUR_APP_ID',
    'secret' => 'YOUR_APP_SECRET_KEY',
    'cookie' => true
);

Modifier le fichier autoload.php afin d’ajouter la librairie facebook :

$autoload['libraries'] = array('facebook');

De cette façon, la librairie sera automatiquement chargée avec les informations que vous avez mises dans le précédent fichier de configuration.

Modifier le fichier routes.php pour ajouter cette ligne :

$route['facebook'] = "facebook_controller";

Créer un Contrôleur

Aller dans le répertoire /application/controllers/.
Créer un nouveau fichier facebook_controller.php. Insérer le code ci-dessous :

<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Facebook_Controller extends CI_Controller {
    function __construct()
    {
        parent::__construct();
    }
    function index()
    {
        $this->load->view('facebook_view');
    }
}

Vous pouvez devez bien entendu modifier ce code pour faire ce que vous voulez ensuite…

Créer une Vue

Aller dans le répertoire /application/views/.
Copier le fichier example.php de /php-sdk/examples/ dans ce répertoire. Renommer-le en facebook_view.php.
Remplacer cette ligne :

$facebook = new Facebook($config);

Par celle-ci :

$facebook = $this->facebook;

Et voila ! Lancer maintenant votre serveur et vous pouvez voir la page d’exemple fournies par Facebook s’afficher lorsque vous rajoutez /facebook/ dans votre adresse.

Posted in:
A propos de l'auteur

Frédéric DUPERIER

Je suis ingénieur logiciel "Full-Stack" dans la région de Genève. Je suis également entrepreneur et co-fondateur de Storyginal. Je suis passionné par la moto et je pratique différents sports comme le ju-jitsu, le tennis, le ski et le snowboard. Je joue également de la guitare et j’adore voyager !