Google Friend Connect

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

MISE A JOUR DU CODE SOURCE : 21/09/09, les sources antérieures ne fonctionnent surement pas.

IMPORTANT : une version compatible SPIP 2.0 existe ici :

http://www.spip-contrib.net/Google-Friend-Connect-SPIP-2-0

Plugin qui permet une authentification des auteurs en utilisant Google Friend Connect (à l’image des plugins pour OpenId et Facebook).

Pour découvrir Google Friend Connect, vous pouvez consulter la page officielle de présentation :

http://www.google.com/friendconnect/home/intro

Pour utiliser ce plugin, votre site devra au préalable s’enregistrer en ligne auprès de Google, afin d’obtenir vos identifiants qui vous permettront d’utiliser Google Friend Connect sur vos pages. Il suffira de reporter vos identifiants dans le fichier gfc_options.php.

Ce plugin essaie de proposer le maximum de fonctionnalités afin de permettre à nos auteurs de se connecter avec leurs identifiants compatibles Google Friend Connect (gmail, yahoo, etc.).

Pour le moment, seul un système d’autentification est fonctionel, mais il serait sympathique d’ajouter des fonctionalités comme l’envoi ou la lecture de news feed, l’envoi de messages à des membres, etc. sans avoir à implémenter les fonctions javascript, qui ne sont pas du tout pratiques pour les actions server-side. La clé est l’utilisation de la librairie PHP OpenSocial, en développement ici.

Principe actuel de connexion :

Si un membre se connecte normalement à SPIP, puis à l’interface Google Friend Connect, un lien sera créé automatiquement entre le compte SPIP et le compte Google Friend Connect. Les fois suivantes, le membre pourra directement se connecter avec Google Friend Connect et son authentification SPIP se fera dans la foulée.

Si un utilisateur se connecte directement à Google Friend Connect sans être authentifié dans SPIP, alors on vérifie si le compte Google Friend Connect est associé à un compte SPIP. Si c’est le cas on fait l’authentification SPIP correspondante automatiquement, sinon on crée un compte automatiquement et effectue la connexion SPIP dans la foulée.

Dans le cas d’une création automatique de compte SPIP, les informations sont pour le moment les suivantes :

-  login : Formatage du DisplayName de GFC
-  nom : Copie conforme du DisplayName de GFC
-  email : email par défaut défini dans la configuration (fichier gfc_options.php)

Mise en place :

-  placez la balise #GFC_LOGIN_BUTTON dans votre page pour afficher l’interface de connexion avec Google Friend Connect. On peut donner comme argument à cette balise un url, qui sera le lien de redirection après l’authentification. Si ce paramètre est absent, on redirigera par défaut sur la page actuelle.

#GFC_LOGIN_BUTTON{http://www.monsite.com/mapage.html}

Après avoir cliqué sur ce bouton, vos visiteurs verront une fenêtre popup aparaitre et devront se connecter en deux étapes :

1. Choix du réseau pour s’identifier

2. Identification

-  éventuellement, placez/remplacez un lien pour se déconnecter dans votre page. Ce lien doit enclencher la fonction javascript gfc_logout(url), où ’url’ est l’url de déconnexion habituel de votre site.

exemple :

<a href="http://www.monsite.com/logout.html">logout</a>

devient

<a onclick="gfc_signout('http://www.monsite.com/logout.html');" href="#">logout</a>

Dès lors, il est tout à fait possible de placer dans vos pages différentes interfaces proposées par Google Friend Connect (gestion de compte, invitations,etc.), toutes en Javascript.

En ce qui concerne l’installation/désinstallation du plugin (fichier base/gfc_install.php), je ne suis pas très sur de ce que je fais, j’ai essayé de prendre du code d’autres plugins pour l’adapter. Tous les conseils sont les bienvenus.

Le prochain point que je dois régler est la connexion automatique à SPIP quand on retourne sur notre site et que la connexion à GFC a persisté. Pour le moment on peut tomber dans une situation ou on retourne sur le site, on est logué à GFC mais pas à SPIP, ce qui peut créer des situations de blocage.

Discussion

2 discussions

  • Voila j’ai fait une version pour SPIP 2.0, bientôt publiée normalement. En revanche je n’ai pas pu la tester dans son intégralité car mon site de test inscrit à Google Friend Connect est sous SPIP 1.9.

    Attention j’ai remplacé les fichiers source aujourd’hui, toutes les versions téléchargées avant ne fonctionneront pas.

    Répondre à ce message

  • 1

    En tant qu’utilisateur intensif de Google Apps For Your Domain, ce plugin m’intéresse au plus haut point.

    • Que faudrait-il revoir pour le rendre compatible SPIP 2 ???
    • Un dépot du plugin sur le dépot SVN Spip-zone est-il envisageable ???

    Merci ;-)

    • Pour l’adaptation SPIP 2.0, je pense qu’il faut modifier le fichier base/gfc_install.php pour l’installation du plugin dans les tables de la base de données. J’ai l’impression que les fonctions à ce niveau ne sont pas construites de la même façon d’après ce que j’ai vu sur les plugins 2.0. Je n’en suis pas sur... Ensuite c’est surtout quelques fonctions à remplacer comme spip_fetch_array() qui est devenue sql_fetch, juste des détails du genre. Je vais essayer de bosser un peu la dessus mais je n’ai pas trop de temps à y consacrer pour le moment.

      Pour une version SVN je ne suis pas du tout contre, je ne connais pas la marche à suivre en revanche.

      Merci pour votre intérêt

    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