Archive for June, 2009

Gestion de l’authentification de vos sites avec RPX

rpx_2

Étant en plein développement d’un petit pastebin-like en python ( enfin c’est un peu plus que ca, mais j’en reparlerais quand il sera fini ), le problème de la gestion de mes utilisateurs s’est posé assez vite.

Ne voulant pas avoir à gérer moi même l’authentification ( D’abord parce que je ne juge pas ça nécessaire, des choses comme OpenID le faisant très bien, et ensuite, ok, par flemme un peu, pas envie de gerer les mots de passes, les resets, d’être sur que tout est 100% secure…),  je me suis rappelé que mon compte StackOverflow s’identifie via mon google account. En creusant un peu, j’ai appris que leur authentification était gérer par un service se nommant RPX.

Mais RPX c’est quoi exactement ?

RPX est un service d’authenfication par OpenID assez jeune, et pourtant utilisé sur un certain nombre de sites de taille importante, comme UserVoice , Interscope, ou encore StackOverflow, dont je parlais dans un précédent billet.

Allez, comme un joli schéma vaut mieux qu’un long discours, RPX fournis un service qui ressemble à ca :

rpx_howto

Traduction : RPX se positionne entre votre site web et les fournisseurs d’identification tierces (comme OpenID ou GoogleID par exemple ), et facilite l’utilisation de ces derniers.

En pratique, lorsque l’utilisateur va vouloir s’authentifier sur votre site, il va passer par une widget RPX (iframe embarquée ou popup), qui lui présente la liste des fournisseurs disponibles.

Par exemple, sur le site d’uservoice (la widget est a gauche, uservoice propose aussi une inscription directe au site) :

login_uservoice

L’utilisateur choisir son système d’authentification et est alors dirigé vers la page de login du fournisseur tier. Par exemple pour facebook, il arrive ici :

auth_facebook

Une fois l’authentification effectuée, l’utilisateur est redirigé vers votre site. (Pour certain fournisseurs comme google, lors de la première identification, l’utilisateur passe par une page lui demandant de confirmer qu’il autorise bien le site à accéder à ses informations)

auth_google

Et c’est la que RPX fait la jointure retour avec votre site : une fois que l’utilisateur s’est authentifié, RPX vous indique (de façon sécurisée évidemment) si l’utilisateur s’est correctement authentifié ou non, et si oui, il vous transmet ses informations publiques ( email, nom d’utilisateur, nom d’usage et clef openId ).

A partir de la, vous avez votre utilisateur authentifié, vous savez qui il est, et vous êtes libre de faire ce que vous voulez (inscription en base, passage en session…)

Coté services

RPX propose 3 types de comptes :

  • Basic ( Gratuit )
  • Plus ( 100$ / an )
  • Pro ( 500$ / an )

Je vous rassure tout de suite, le basic est largement suffisant pour tout ce qu’on pourrait vouloir sur un site de petite voir moyenne envergure :

Il est limité à 6 providers d’identifications (alors que les autres types de comptes n’ont pas de limite), cependant on peut quand même choisir ceux qu’on veut tous ceux disponibles,  c’est amplement suffisant ( personnellement j’ai pris OpenID, Google, Facebook, Twitter, Yahoo et AOL, ce qui couvre deja pas mal). A noter que pour facebook et twitter, il faut faire une petite manip pour créer une application tierse, mais tout est très bien expliqué sur le site de RPX, ca se passe donc sans problèmes.

Hormis le nombre de providers, les différences entre les types de comptes viennent surtout du support apporté à coté ( profiling, stats, customisation de la widget… ). plus d’information dans le comparatif sur le site officiel.

Les points négatifs

Même si le service proposé est vraiment intéressant, il faut quand même noter quelques points négatifs :

Tout d’abord, l’appel à la widget affichant le service d’identification est relativement lent (au moins pour les comptes gratuits, ca à l’air moins lent sur uservoice et stackoverflow). En effet l’affichage de l’iframe sur la page de login doit mettre une bonne seconde à s’afficher. C’est un détail, mais tout de même.

Ensuite, cela peut dérouter les utilisateurs ne connaissant pas le principe :l’utilisateur arrive sur un site, cherche à s’inscrire, et se retrouve diriger vers sa page google ou facebook. Cela peut dérouter quelques peu, voir même ressembler à du phishing. De plus, même si, quand on prend le temps de se renseigner, on sais que les informations fournis par les providers sont publiques (email, nom, clef openId … rien de très compromettant), on peut être effrayer au début en autorisant facebook à délivrer ses informations personnels à un site tier…

Enfin, pour finir, même si les risques sont très faibles, le jour ou le service RPX tombe en rade, on se retrouve avec un joli site sur lequel toute identification est impossible…

Un retour un peu plus complet sur les “dangers” de RPX est consultable ici , même si la plupart des choses ne sont pas spécifiquement objectives.

Sinon, pour ceux que ca intéresse, un autre billet devrait bientôt suivre sur comment brancher RPX sur un Pylons. En attendant, le tutoriel sur lequel je me suis principalement basé est disponible ici.

RPX -  RPXNow.com

, , ,

No Comments

stackoverflow.com

Le concept de base de stackoverflow est vieux : Site de dépôt de questions orienté autour du développement  informatique, le principe est simple : une fois inscrit, il est possible de poser des questions, et les autres utilisateurs peuvent vous répondre. Le service est gratuit et le design simple et clair (ce qui manque parfois dans ce genre de service), mais jusque la, rien de bien extraordinaire. Ah oui, le nom est cool aussi.

stackoverflow

Il faut quand même noter que le site est très jeune ( moins d’un an ) et compte déja 3.5 millions de visiteurs uniques par mois. Autant dire que ça va pas trop mal.

Alors, comment expliquer ce succès ? C’est assez simple : la ou la majorité des autres sites du genre sont souvent faits par des gens en 3 pièces pour tenter d’amasser des thunes, stackoverflow est fait par des gens qui ont compris ce qui attiraient les geeks. Remarque, quand on voit les photos du staff (scroller un peu en bas), on comprend assez vite pourquoi. Ca a l’air d’être une bien belle brochette :-)

La réputation

La première chose est  l’utilisation d’une “monnaie” interne, la réputation, qui fonctionne de la manière suivante:

Lorsque vous posez ou que vous répondez à une question, les autres utilisateurs ont la possibilité de voter pour votre contribution, soit positivement, soit négativement. Ces votes augmentent ( ou diminuent ) ainsi votre réputation.

good_answer

Cette réputation représente ainsi, pour reprendre les termes du site, “A quel point la communauté Stack Overflow vous fait confiance” (”how much the Stack Overflow community trusts you”).

Elle permet aussi d’accéder à certains privilèges. Par exemple, une fois les 200 réputations atteints, le nombre de pubs qui vous est affiché sur le site est diminué (j’aime bien l’idée),  et une fois les 2000 atteints, il possible d’éditer les posts des autres utilisateurs. (La liste complète est disponible ici).

Il est aussi possible de déposer une partie de sa réputation en “bounty” sur une de vos question. Si par exemple une question importante n’a pas encore eu de réponse, il vous est possible de déposer, disont 200pts de réputation dessus, qui seront ainsi une récompense pour la personne qui vous donnera la réponse attendu. Les questions disposant de bounty sont de plus visibles dans un onglet à part, permettant de rester plus longtemps dans la ou les premières pages.

Les badges

L’autre concept est le système des badges. En effet certaines actions vous attribuent des badges, qui sont de 3 types : bronze, argent et or.

badge

Par exemple, lors du premier vote positif sur l’une de vos réponses, vous vous voyez attribué le badge de bronze  “Teacher” (oui, ils ont même pousser le vice en nommant chacun des badges)

Cette idée démoniaque, tout droit tirée des MMORPG  (concept d’achievement de WAR ou de WOW) est l’assurance que tout bon geek va passer plus de temps sur le site à essayer de monter sa réputation et débloquer des badges qu’à réellement bosser en semaine. Balaise. Vraiment balaise.

Dernier point interessant, il faut savoir que la base de donnée de stackoverflow est disponible en download libre, via torrent. Le post avec les mises à jour mensuelles est ici.

Serverfault.com

Stackoverflow dispose également d’un autre site, serverfault.com, qui lui est orienté vers les administrateurs système, et qui fonctionne sur le même principe.

serverfault

Superuser.com

Et pour finir, un troisième site est prévu pour bientôt pour clôturer la trilogy stack overflow : Superuser.com , qui lui ciblera, litéralement : “computer enthusiasts and power users”

superuser

No Comments

Upgrade wordpress 2.8

Allez, pour la résurrection, mise à jour de wordpress de 2.5 ( ou 2.4 je sais même plus ) à 2.8

Feedback d’un mec qui n’a jamais codé une ligne de PHP :

- Trouver la doc sur leur site et la lire : 5 minutes

- Retrouver son login et son mdp unix : 7 minutes

- Trouver les identifiants sql dans la config : 30 secondes

- Installer MySql Administrator en local : 3 minutes

- Faire le back de la base : 25 secondes

- Faire le backup des fichiers : 2 minutes

- Mettre à jour les fichiers WP : 8 minutes

- Migrer la base : 3 secondes

Conclusion : y a des framework qui devraient en prendre de la graine…

No Comments

Positeo.com

Je sais plus trop comment je suis tombé sur le site, mais j’ai trouvé l’idée cool.

Positeo propose un service de vérification de son référencement google.

On choisi son mot clef, le site cible, et positeo nous indique la position du site sur une recherche du mot clef choisi.

Par exemple avec le mot clef ‘chaussures’ positeo nous indique que le site sarenza.com  est en première position (quelle surprise !) et eram.fr en 8ème.

Autant pour des sites se trouvant en première page de google, on ne gagne pas spécialement de temps par rapport à une recherche à la main, autant si le site recherché se trouve plus loin, cela evite de se tapper le défilement des pages jusqu’à trouver le résultat voulu.

Autre détail pratique, les mots clefs et sites déjà utilisés sont mémorisés, ce qui permet d’eviter de les retapper à chaque fois.

A noter également que le service va vérifier les résultats sur plusieurs datacenter google ( 15 aléatoires par requête ), même si je suis pas sur de l’interet de la chose.

,

No Comments