mardi 29 avril 2014

Première version de Troubador

Ces derniers temps, j'ai cette impression que beaucoup de services en ligne ont eu des problèmes avec des accès à leurs bases de données. Certains font d'ailleurs partie de ceux que j'utilise (comme kickstarter). Il devenait urgent que j'ai une politique de gestion de mot de passe un peu plus solide (comprendre par là en avoir plus que 2 ou 3, répartis sur tous les comptes que j'ai ouvert un peu partout).

C'est de ce constat que j'ai eu l'idée de Troubador. Il s'agit d'un générateur de mot de passe en ligne. Jusque là, rien de très original, j'en conviens. Il s'agissait surtout pour moi de m'amuser un peu avec Flask, un framework en python.

Le principe est assez simple. Tout d'abord, pas d'inscription au site. Pour s'enregistrer et se loguer, la même méthode est appliquée : il suffit de rentrer un email valide. Un mail est envoyé avec un lien permettant l'authentification sur le site. Troubador est donc un service qui génére des mots de passe mais qui n'en a pas besoin, ça change. Ensuite, il est possible de paramétrer son compte, pour choisir la longueur des mots de passe qu'on souhaite générer et les différents symboles qu'on souhaite inclure. Il suffit ensuite d'indiquer le domaine pour lequel on souhaite un mot de passe et un "master password". L'application s'occupera de créer une chaîne de caractères utilisable sur le site.

Rien ne sera stocké dans la base de données de Troubador. Uniquement les domaines pour lesquels un mot de passe a été généré. Cela veut dire que si quelqu'un arrive à se connecter à votre compte, s'il ne dispose pas du mot passe maître, il ne pourra rien faire de plus. Pour un même trio utilisateur / domaine / master password, le secret généré sera toujours identique. Ça permet de pouvoir se reloguer ultérieurement au service externe en regénérant le mot de passe.

Pour l'instant, il s'agit uniquement de la première version utilisable, notée 0.1. J'ai l'intention d'ajouter d'autres choses à l'application. En premier lieu une api pour pouvoir l'utiliser via d'autres webapps. J'aimerais qu'on puisse aussi avoir des paramètres de gestion par domaine (par exemple pour les sites des banques qui ne veulent que 8 chiffres). Il faudra que j'ajoute aussi du javascript au site et un bookmarklet pour pouvoir générer et peupler un formulaire, sans avoir à se loguer directement sur le site principal.

Bref, n'hésitez pas à tester et me faire un retour. Et puis je ne suis pas assez réactif, le code de Troubador est disponible sur gitorious, envoyez moi des patches.