Google Friend Connect (SPIP 2.0).

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

IMPORTANT : une version compatible SPIP 1.9 existe ici :

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

Je n’ai pas pu tester complètement la version pour SPIP 2.0 car le site que j’ai enregistré chez Google est toujours en 1.9, merci de signaler tout bug éventuel.

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

5 discussions

  • Premier essai sur ce plugins
    Je suis inscrit sur Friend Connect
    ett je tente le plugin sur mon site.

    En copiant directement leur code ...
    cela semble foncionner (je découvre)

    En utilisant le plugin :
    le bouton « sign in with Friend Connect »
    ne déclenche rien
    (la souris met la main comme pour un lien, mais aucune url n’apparait dans la barre du bas. Pas de lien visible dans le code de la page non plus.

    Répondre à ce message

  • 3

    Je suis d’accord, mais je n’ai aucune idée de la marche à suivre

    • Hello..

      Inscris toi à la liste spip-zone ... et demandes y un identifiant / mot de passe gentiment... avec le sourire et tout devrait aller ;)

      Puis tu te rencardes un peu sur comment fonctionne svn (je supposes vu les captures d’écran que tu utilises windows donc Tortoise SVN sera ton ami)...

    • Je viens de le commiter là : svn ://zone.spip.org/spip-zone/_plugins_/gfc

      Le lien du changeset est http://zone.spip.org/trac/spip-zone...

      Tu vas devoir quand même demander tes identifiants pour pouvoir travailler dessus.

    • Merci, j’essaierai de m’y mettre quand j’aurai du temps.

      En attendant la priorité est d’améliorer la création automatique de profils SPIP, surtout le login qui peut avoir des doublons (je n’ai pas géré ce cas), et qui de toutes façons n’est pas un système génial. Comme on reprend le displayName, que l’on formate (tous les caractères interdits et les espaces sont transformés en ’_’), on aura probablement des logins très moches parfois. Imaginez les ados qui s’amusent à mettre comme DisplayName leur état d’âme du jour (comme beaucoup le font sur Live Messenger), et dès lors s’inscrivent à notre site... on les enregistrera avec des logins affreux du genre « j__ai_un_rhume », etc.. En plus je n’ai mis aucune restriction de taille pour générer le login.

      Alors certains sites ne se preoccupent pas de ce login, d’une part parcequ’en utilisant GFC pour se loguer on n’a pas besoin de connaitre ce login, et en plus on a un équivalent à DisplayName sur SPIP qui est le nom de l’auteur.

      Pour ma part, les sites sur lesquels je souhaite appliquer ce plugin sont très basés sur le login dans l’espace membre. On songe déjà avec philooo à permettre de modifier son login, dans la mesure du possible.

      En tous cas c’est une partie du plugin sur laquelle on peut discuter avec les gens intéressés par son développement.

    Répondre à ce message

  • 5

    Je n’ai pas trop bien compris le paramétrage de gfc_options.php

    Vous pouvez expliquer ?

    • Quand vous inscrivez votre site chez Google Friend Connect, Google vous donne au moins ces trois identifiants :

      consumer id -> identifiant de votre site dans leur système

      consumer key + consumer secret -> identifiants pour effectuer des connexions server-side.

      Pour le moment, seul le « consumer id » est utilisé par le plugin, mais je vais essayer de développer des fonctionalités qui utiliseront les deux autres identifiants.

      N’oubliez pas que vous devez impérativement enregistrer votre site auprès de Google Friend Connect sinon votre site ne sera pas en mesure d’utiliser ce plugin.

      Le dernier paramètre que j’ai mis est l’adresse email par défaut des auteurs que l’on crée automatiquement avec ce plugin. J’ai mis une valeur bidon, et comme il semble qu’on ne puisse pas reccupérer les adresses mail des utilisateurs de GFC, je ne vois pas quelle valeur mettre pour l’email. Je n’ai pas encore le recul pour savoir si c’est un problème de mettre la même valeur pour l’email de tous les utilisateurs qui s’inscrivent directement avec GFC, mais en attendant c’est comme cela que ca se passe.... Considérez donc que ce paramètre n’a pas vraiment d’importance pour le moment.

      Le reste du fichier gfc_options n’est pas à paramétrer, il utilise les paramètres cités ci-dessus.

    • Merci,
      J’ai inscrit depuis un momment sur google friend connect, j’ais bien retrouvé mon ID, et indiqué celle-ci , mais comment retrouver la clé KEY sur le site google ?

    • voici un screenshot de l’écran ou se trouvent ces informations.

      Notez que c’est dans l’onglet pour les développeurs.

    • et d’un peu plus près....

      le menu sélectionné à droite est « for developers », et l’onglet du dessus est « REST API »

    • Merci goony

    Répondre à ce message

  • Il est clair que c’est le bon chemin. Open Id ou autre. Enfin faire enfin en sorte qu’on puisse s’authentifier sans avoir a s’enregister partout.

    J’aimais deja bien le login facebook, mais bon c’etait un peu restreint.

    J’espere que ce plugin avancera un peu pour pouvoir tirer profit au max des fonction de google connect.

    y’a du boulot :)

    Répondre à ce message

  • Peut être que mettre ce plugin sur la zone pourrait être une bonne idée ... ca risque d’être intéressant pour certains et cela permettra de partir sur une base coopérative....

    Qu’en penses tu ?

    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