Anonymous
Creative CommonsAnonymous” par Laughing Squid

Le principe

Avec les attaques récentes sur nos libertés informatiques, je pense qu’il est important de donner sa place à l’anonymisation. J’ai envie que chez moi, sur mon blog, on puisse commenter anonymement si on le veut. Et sans avoir à inventer un faux nom et une fausse adresse mail, mais tout simplement en cliquant une case “anonyme”.

J’ai donc réalisé un (deuxième[1]) plugin pour Dotclear qui ajoute une simple case à cocher dans la zone de commentaire, permettant de régler le nom et l’adresse à quelque chose de neutre, genre “Anonyme” (c’est configurable, mais c’est ça la valeur par défaut).

La technique

Techniquement, tout se fait à base de javascript, en utilisant jQuery. Le fonctionnement est relativement simple finalement, toute l’astuce est dans les détails. Donc à la base, on crée une boîte de dialogue dans la page (en utilisant les “behaviors” de Dotclear), et on ajoute dans l’en-tête de la page (par la même méthode) un appel à un fichier javascript, qui va associer une action au clic sur cette boîte.

Cette action commence par sauvegarder ce qui était inscrit avant dans les champs nom, email et site, puis ferme les champs du formulaire. Quand les champs se sont fermés, elle remplace les valeurs par celles que l’administrateur du blog aura choisies (par défaut: “Anonyme” et “anonymous@example.com”). Un nouveau clic sur la case “anonyme” restaure les valeurs.

Tout ça serait resté très simple sans le mode de prévisualisation. À cause de la prévisualisation, il faut détecter au chargement de la page si on ne serait pas dans ce mode et que l’utilisateur n’aurait pas déjà choisi d’être anonyme. Ça se fait assez bien en comparant les valeurs des champs aux valeurs décidées par l’administrateur. Si on est en mode prévisualisation et que les champs sont déjà ceux du commentaire anonyme, on re-coche la case et on referme les champs.

Voilà, le principe n’est pas très compliqué, il fallait juste le faire :)

Les sources

Ce plugin va être en test sur mon blog pendant quelques semaines avant que je l’ajoute au SVN du “lab” Dotclear, histoire d’être sûr que j’ai pas oublié des morceaux, donc n’hésitez surtout pas à me remonter les bugs, même anonymement ! ;-)

En attendant, pour ceux qui voudraient voir les sources et/ou le tester, j’attache à cet article un fichier zip tout prêt à déployer. Le code est sous licence AGPL (qui est plus ou moins la GPL des applications web).

AGPL

Mises à jour

  1. version 0.2 : correction d’un bug stupide

Notes

[1] Voir le premier.