Modèles Facebook

Ce plugin propose un ensemble de modèles SPIP (ou noisettes) pour intégrer simplement et rapidement les modules sociaux du site Facebook.

Voici la liste des modèles proposés :
-  ’send’ : le bouton « Envoyer » classique (avec commentaire),
-  ’like’ : le bouton « J’aime » classique (avec commentaire),
-  ’like box’ : liste des commentaires des utilisateurs qui ont « aimés »,
-  ’activity’ : liste des activités récentes d’une page ou d’un profil,
-  ’comments’ : liste des commentaires et bouton permettant d’en écrire un,
-  ’live stream’ (expérimental) : boîte de discussion type ’chat’.

Un modèle générant des informations « Open Graph » est également proposé, permettant d’intégrer dans vos en-têtes les informations sur la page ou le contenu concerné.

Installation

  1. Téléchargez l’archive ’.zip’ de cette page vers le dossier de plugins de votre SPIP
  2. Installez le plugin depuis votre espace privé comme expliqué ici : https://www.spip.net/fr_article3396.html
  3. Si vous utilisez le plugin CFG, accédez à la page du plugin via le bouton de l’onglet ’Configuration’ de l’espace privé (réservé aux webmestres).

Optionnellement, le plugin est disponible dans le fil RSS de chargement automatique de Spip-Contrib (onglet ’Ajouter des plugins’ de la page de gestion des plugins de l’espace privé). Charger le paquet du plugin par ce biais permet notamment une mise à jour régulière de son code source ...

Utilisation des modèles

Les modèles proposés, rangés dans le répertoire ’modeles/’ du plugin, s’intègrent dans vos squelettes en utilisant la balise MODELE de façon classique :

[(#MODELE
	{nom du modèle}
	{option1=valeur1}
	// ...
)]

Chaque modèle peut recevoir différentes options, qui sont listées en tête de chacun des squelettes correspondants et rappelées sur la page Modèles Facebook - Références.

La plupart de ces options ont des valeurs par défaut et ne sont pas obligatoires. Ces valeurs par défaut, notamment les informations de style (police de caractère, couleurs de bordure et dimensions) sont prévues pour s’intégrer dans la distribution de squelettes de SPIP [1]. Certaines de ces valeurs sont éditables sur la page de configuration.

Certains modèles nécessitent d’utiliser un identifiant d’application Facebook (App ID) et requièrent donc de créer une application sur le site du réseau social pour votre site SPIP. Les différentes étapes et informations pour la création d’une application sont disponibles sur la page http://developers.facebook.com/?ref=pf.

Lorsque des identifiants sont renseignés, ils seront intégrés aux en-têtes de toutes les pages publiques par la balise INSERT_HEAD.

Utilisation des informations Open Graph

Les informations « Open Graph » sont des tags renseignant plusieurs données permettant au système Facebook d’indexer, de ranger et de présenter des titres, URLs ou images correspondant à la page concernée. Ils ne sont pas obligatoires. Pour mieux comprendre de quoi il s’agit, voyez la page http://developers.facebook.com/docs... (en anglais).

Pour intégrer ces informations dans vos squelettes de pages publiques, vous devez inclure le modèle « insert_head_og.html » en en-tête (entre les balises <head> et </head>) en lui passant l’environnement courant [2]. Vous devez donc modifier chacun de vos en-têtes de squelette en ajoutant :

[(#MODELE {insert_head_og} {env} )]

Pour chacun des objets éditoriaux de SPIP, le modèle va générer les informations nécessaires à Facebook : titre, logo, URL et description. Le modèle génère également des informations spécifiques dans le cas des documents, afin de préciser à Facebook qu’il s’agit d’un média. Si aucun identifiant objet n’est trouvé, il renvoie simplement les informations générales du site : nom du site, logo, descriptif et URL.

Vous pouvez donc passer l’identifiant d’un objet SPIP en option au modèle, par exemple pour le document 1 :

[(#MODELE {insert_head_og} {env}{id_document=1} )]

CSS : personnalisation des styles [3]

Chaque modèle affiche son contenu dans une div de classes CSS fb_modeles (l’identifiant SPIP du plugin) et fb_XXXXXX est le nom du modèle. Cela permet une personnalisation des styles discriminante selon chaque modèle.

Par exemple pour le module Facebook « Send » :

<div class="fb_modeles fb_send">
     ... contenu ... 
</div>

Les différentes classes utilisées par le plugin sont rappelées dans le fichier CSS « fb_modeles.css » à la racine du plugin, qui est chargé en en-tête des pages publiques par la balise #INSERT_HEAD. Vous pouvez éditer ce fichier avec vos propres valeurs, ou recopier les définitions dans un fichier personnel.

Configuration / Documentation interne / Tests

Une page de documentation est livrée avec le plugin, pour vous permettre de visualiser et de tester vos propres réglages. Elle est accessible lorsque le plugin est actif via l’URL : « spip.php ?page=fb_modeles » [4].

Page de documentation du plugin

Modèles Facebook est prévu pour proposer une page de configuration grâce au plugin CFG mais celui-ci n’est pas obligatoire [5].

Copie d’écran de la page de configuration (via le plugin CFG)

Développement participatif

Le plugin est en développement sur le dépôt SVN de Spip-Zone et ouvert à l’intervention de tous. Vous pouvez y apporter vos modifications librement, en gardant à l’esprit qu’il doit rester dans le cadre d’une utilisation globale (pas de modification qui ne concerne que votre cas personnel), libre (pas de nécessité d’acheter une licence), s’intégrant dans SPIP (ce ne sont que des modèles codés en HTML avec des balises SPIP).

Adresse du dépôt de développement

https://git.spip.net/spip-contrib-e...

Cas des langues

Facebook utilise une logique de codes de langue composés pour les appels de scripts. Ces codes sont listés dans le fichier « inc/xfbml_languages.php » dans le plugin. Si votre langue n’y existe pas encore, merci de l’ajouter sur la zone ... les autres vous remercieront [6] !

Pour plus d’info sur ces codes de langue, voyez la page http://developers.facebook.com/docs....

Notes

[1Plus précisément, il s’agit d’un mix des valeurs de styles de la distribution standard et du squelette Z : une couleur de bordure « dddddd », des largeurs de 226px en colonne et 490px en contenu, la police « Lucida grande » ...

[2Ceci est nécessaire pour récupérer les informations de l’objet concerné par le squelette. Il n’est donc pas possible d’utiliser le pipeline ’insert_head’.

[3Disponible depuis la version 0.15 du plugin.

[4Exemple en ligne : http://demo-spip3.ateliers-pierrot....

[5Il est obligatoire pour pouvoir configurer les différents identifiants Facebook le cas échéant.

[6Si vous n’avez pas d’identifiants de commiteur, ajoutez votre code de langue sur le forum de cette page, nous nous chargerons du reste ...

Pour plus d’information :
-  sur les plugins Facebook : http://developers.facebook.com/docs...
-  sur le protocole « Open Graph » : http://developers.facebook.com/docs...
-  pour créer une application Facebook : http://www.facebook.com/developers/.

Discussion

49 discussions

  • 2

    Bonjour et merci pour cet outils très pratique

    J’ai un soucis lorsque plusieurs articles apparaissent directement dans une rubrique avec l’option coments.
    les commentaires se répètent dans les différents articles alos qu’il ne devraient figurer qu’en dessous de l’article commenté et pas sous tous les articles
    http://www.koukouli.fr/-blog-.html
    ici le site en question..

    j’ai bien essayé

    <INCLURE {fond=fb_comments}	{id_article} />

    mais cela ne semble pas fonctionner...
    une idée ?

    Merci

    • Salut Camaleon,

      Effectivement, je n’avais pas prévu le cas où on passait un id_objet directement ... un oubli de ma part. C’est maintenant chose faite, disponible dans le zip demain matin (version 0.17.0 du plugin).

      En attendant, tu peux ajouter l’argument « href » comme ceci :

      <INCLURE{fond=fb_comments}...{href=#URL_ARTICLE|url_asbolue}.../>

      Ca devrait résoudre ton problème avant la solution définitive de demain ;-)

      ++PW

    • Merci Piero pour la réponse rapide !

      c’est parfait, cela fonctionne...

      Cordialement

    Répondre à ce message

  • 4

    Bonjour,

    Tout d’abord merci pour ce plugin il est vraiment très utile :)

    Par contre je me suis heurté à un petit souci de mise en place de la Like Box (fb_like_box).

    En effet, même en renseignant correctement le champs URL de page ou profil dans la configuration CFG, ça ne fonctionnait pas.

    En fouillant dans le code du model, je me suis aperçu que le modèle prennait en parametre href l’url courante #SELF.

    De ce fait, même si on renseigne le champs et qu’on inclu le model comme ceci :
    [(#MODELE{fb_like_box})], ça ne fonctionne pas car le système facebook va chercher notre url courante et bien entendu aucun page facebook n’a cette URL.

    Mais j’ai trouvé la parade !

    Il suffit d’indiquer au modèle d’utiliser l’url qu’on a spécifié dans la configuration CFG comme ceci :

    [(#MODELE{fb_like_box}{href=#FBMOD{url_page}})]

    Voilà, j’espère que ça aidera du monde :)

    Bonne continuation et encore merci pour cette contrib !

    • Salut,

      Tu as tout à fait raison ... c’est un oubli de ma part, que je viens de régler. Dans le zip demain matin.

      Merci pour le retour et les recherches ;-)

      ++ PiWi

    • De rien c’est l’esprit de la communauté c’est normal ^^.

      Merci pour la mise à jour en tout cas, bonne continuation.

    • Bonjour,
      est-ce qu’il est possible de ne pas afficher le « stream » et le « show_faces » du modèle like_box ?
      Il n’y a pas ces options dans la configuration du plugin.

    • Salut,

      En fait si, ces options existent : page références.

      @+

    Répondre à ce message

  • 3

    hauteur de la iframe j’aime

    Comment arriver à voir l’intégralité de la iframe quand elle se déploie pour ajouter des commentaires ?
    Sur tous les sites où je l’ai installée, elle est toujours tronquée à une hauteur trop petite (autour des 40 px)

    • Salut,

      En utilisant l’attribut « height » dans l’appel du squelette peut-être :

      [(#MODELE{fb_like}...{height=120})]

      Sinon, il va me falloir une copie d’écran et le squelette pour aller plus loin ;-)

    • Voilà une partie du squelette et le résultat est dans http://www.inpulsebikes.com/spip.php?article155 par exemple.

      <BOUCLE_article(ARTICLES){id_article}>
      	<BOUCLE_auteur(AUTEURS){id_article} {0,1}>
              <div class="post" id="post-62">
                  <div class="title">
                      [<h2>(#TITRE)</h2>]
                      <div class="postmeta">
                          <span class="author"><:poste_par{auteur=#NOM}:> [(#DATE|affdate)]</span> 
      			        <div class="postmetaline"></div>
                      </div>
                  </div>
              </div>
              
              <div class="entry">
                  [(#TEXTE|image_reduire{580,0})]
              </div>
              
              <div class="ajax">
                  [(#REM) Facebook ]
                  [(#MODELE{fb_like} {height=120})] 
              </div>
      
          </BOUCLE_auteur>
      </BOUCLE_article>

      En pièce jointe la copie d’écran de la zone tronquée :

    • Salut,

      Tu as réglé le problème à ce que je vois non ??

      Sur ta page, chez moi ça sort nickel ...

    Répondre à ce message

  • 4

    Lors que je configure ce plugin, c’est quoi IDENTIFIANT PAGE « PAGE ID » svp ?

    • et comment puis je l’obtenir ? Et puis pour le USER ID, c’est bien le login de mon compte admin de mon site, n’est ce pas ?

    • Pas du tout... USER ID est le user id donné par facebook, pour utiliser ce plugin, il faut enregistrer ton site ici : http://www.facebook.com/developers/

    • Merci pour ta réponse backick !

      Oui, le site est déjà enregistré. J’ai tout ce qu’il faut sauf le PAGE ID et USERT ID. Pour le deuxième j’ai compris, c’est le nickname de mon profil sur FB mais pour le premier je suis toujours bloqué :(

      Peux tu m’éclaircir sur ce sujet stp.

    • Bonjour,
      je n’arrive pas à faire fonctionner le modèle like box !
      J’ai mis le Page ID « 111111111111111 » mais que faut-il mettre pour « User ID » ?
      J’ai l’impression que c’est à cause de ça que mon modèle ne fonctionne pas ?

    Répondre à ce message

  • 1
    castor_

    ça marche sous spip 2.0.15 ?

    Répondre à ce message

  • 2

    Bonjour tout le monde !

    Comment utilise t on ce plugin svp ?

    J’ai des articles sur le site et je veux qu’il y ait des boutons like par exemple. Je fais ca comment ? :(

    • J’ai toujours de la peine à comprendre comment fonctionne ce plugin.

      Dites moi si je me trompe. Pour ajouter le bouton like :

      mon text

      #MODELEfb_like

      C’est bien comme ca que ca que ca doit fonctionner ? Et bien, ca marche pas chez moi.

    • c’est tout bon, je n’avais pas compris qu’il fallait rajouter ca dans la squelette des articles. Je rajoutais ca dans l’article lui même...quel boulet...

    Répondre à ce message

  • 1
    Pimolette

    Bonjour,
    si je veux utiliser le bouton j’aime par exemple sur une page sommaire, non pas pour l’adresse du site, mais pour chacun des articles figurants sur cette page. Comment dois je m’y prendre avec le plugin ?

    • Salut Pimolette,

      Utilise un truc du genre :

      [(#MODELE{fb_like}
      	{href=[(#URL_ARTICLE|url_absolue)]}
      )]

      ++ P.

    Répondre à ce message

  • Oui, Bonsoir Piero et merci,

    J’ai vu ça après...
    J’ai un logo pour la majorité des articles, et j’en ai rajouté un de la bonne talle (sup à 50x50) pour le site, qui devrait être pris par défaut pour les pages sans logo si j’ai bien compris le code du modèle...)
    j’ai donc juste rajouté sur cette page
    <meta property="fb:admins" content="xxxxxxxxxxxxx" />
    (mon identifiant facebook)

    Cordalement
    M.

    Répondre à ce message

  • 1

    Merci pour ce sympathique plugin

    Installation rapide et sans difficulté
    Voir ICI

    Juste une petite question :
    Comment choisir l’image qui va s’afficher sur la page facebook ? (comment obliger par exemple à utiliser le logo de la page...)

    • Bonsoir Michel,

      Il est possible de sélectionner une image pour les infos Open Graph en précisant un « id_document » par exemple dans l’appel du modèle « insert_head_og.html » (ou un id_article pour inclure le logo, mais le modèle inclura également les titres, URL et description de l’article).

      Pour une personnalisation poussée, copie le modèle et remanie-le à ta sauce.

      P.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom