Première face nord donc, puisqu'il n'existe pas d'installateur, qu'il s'agit de grailler un peu et de configurer manuellement des machins. Plusieurs logiciels permettent de se créer une instance OpenID, j'utiliserai SimpleID, parce que le nom me rassure, et que, fidèle à mon habitude, il est en php sans base de données. Je me suis basé sur le tutoriel disponible sur generation-linux, que j'ai dû adapter à ma situation propre (mais que je vous encourage à lire). C'est une situation, et il y en aura bien d'autre, ou cela serait beaucoup plus facile avec un accès console pour travailler en lignes de commande, mais on va faire sans.

Première chose, télécharger les sources du logiciel sur le site de SimpleID, de préférence la dernière version. Sur la page "releases", les archives sont en tar.gz, format de compression un peu exotique, que windows ne reconnait pas, contrairement à MacOS et évidemment linux. Donc si vous êtes restés crochés sur Windows, il vous faudra utiliser l'excellent 7zip.

Deuxième étape, avant d'uploader le tout, il faut configurer la bête. L'archive de la version 0.8.1 que j'ai utilisée contient 3 dossiers, le seul qui nous intéresse est le dossier "simpleid". Deux fichiers sont à reprendre. Tout d'abord, www/config.php.inc. à renommer en config.php et dans lequel il faut modifier la ligne qui configure l'adresse de l'instance SimpleID :

define('SIMPLEID_BASE_URL', 'http://id.atuin.ch'); // en remplaçant id.atuin.ch par votre adresse et votre pseudonyme

Je reviendrai sur l'adresse par la suite. Le deuxième fichier se trouve dans le dossier identities. Pour créer une nouvelle identité, il s'agit de copier le fichier example.identity.dist et de renommer la copie en nom.identity ou "nom" correspond à votre pseudo. Dans ce fichier, il y a énormément de texte en commentaire (lignes commençant par un ; ), que je vous conseille de lire (remarque bête, mais bon). Voilà les modifications que j'ai faites :

identity="http://id.atuin.ch/pseudo/"
pass="xxx45xx54x4x1x1xxx" //PAS DE MOT DE PASSE EN CLAIR
administrator=1
 
[sreg] // ici, il faut enlever les ; qui précèdent chaque ligne
nickname="pseudo"
email="..."
fullname="Pseudonyme"
dob="AAAA-MM-JJ"
gender="M"
postcode="2000"
country="ch"
language="fr"
timezone="Europe/Zurich"

Le mot de passe est à inscrire encodé en MD5. A vos souhaits. Le MD5 est un système de hashage cryptographique, sans rentrer dans les détails qui me dépassent passablement, mais évidemment, il faut pouvoir l'encoder... Il existe des programmes à télécharger, mais vous pouvez aussi utiliser l'astuce proposée dans le fichier identity : copier le bout de code suivant dans un fichier que vous téléchargez sur votre site (de préférence en vous assurant que le logiciel FTP le fait de manière cryptée) et d'ouvrir le fichier avec votre navigateur (puis de supprimer le fichier, bien évidemment) :

<?php header('Content-Type: text/plain'); print md5('votre mot de passe'); ?>

Mon identité étant http://id.atuin.ch/pseudo il faut que cette page existe. J'uploade donc tout mon dossier simpleID, et je crée, via le panel de mon hébergeur un sous domaine id. qui renvoie au dossier www de mon installation libreID. Je crée également dans le dossier www un dossier pseudo vers lequel pointera l'adresse de mon profil. Dans ce dossier pseudo, il faut créer un fichier index.html et y insérer ce code:

<html>
<head>
<title>Mon profil</title>
<!--Je récupère les 2 tags suivants dans mon interface pseudo.atuin.ch-->
<link rel="openid.server" href="http://id.atuin.ch/" />
<link rel="openid2.provider" href="http://id.atuin.ch/" />
</head>
<body>
Bienvenue sur ma page de profil. Vous pouvez inscrire ce que vous voulez ici. C'est votre page publique.
</body>
</html>

A ce moment-là on est presque au bout de nos peines. Presque. Il faut maintenant uploader ce dernier fichier sur le serveur et si tout a bien joué, en ouvrant la page id.atuin.ch/pseudo telle que définie auparavant, on se retrouve devant une page toute bête avec le texte ci-dessus. Cette page correspond si on veut bien à mon profil public openID, le tutoriel que j'ai mis en lien plus haut propose d'y mettre un CV, on peut aussi décider d'y mettre quelques infos basiques, ou de ne rien y mettre du tout. Ou alors une photo d'un petit chat. En se connectant sur id.atuin.ch, je peux accéder à mon tableau de bord sur lequel je peux gérer les sites sur lesquels je me suis inscrit et 2-3 autres trucs. Tableau de bord sommaire, mais qui remplit tout à fait son office.

Et voilà. A partir de maintenant, quand je voudrai me créer un compte, il me suffira de sélectionner "me connecter avec un openID" et de rentrer l'adresse de mon profil. Là, je suis redirigé sur mon site, sur lequel je me connecte, et c'est mon site qui m'authentifie auprès du service que j'ai choisi. Si je me connecte régulièrement, comme SimpleID supporte les connexions persistantes, je n'ai même pas besoin de me reconnecter à chaque fois. J'ai donc une identité, sur plein de sites différents, mais toutes les infos sont chez moi.

NB : si vous avez une erreur sur certains sites, c'est pas forcément votre installation qui merdouille. Chez moi doodle ne fonctionne pas par exemple. Une enquête est en cours.