Överallt / Flattr everywhere (enfin) en version stable !

Il y a huit jours je vous présentais ma toute dernière extension firefox, adaptée d’un idée qui me trottait dans la tête depuis un certain temps et que j’avais eu le temps de développer sur un coin de table à l’arrache de sorte que je puisse la montrer le lendemain à Peter Sünde, co-créateur de Flattr et de visite en France. Sauf que l’extension présentait un certain nombre de bugs que j’ai eu beaucoup de mal à résoudre du fait de leur complexité…

C’est maintenant chose faite et, en installant överallt, vous pouvez désormais intégrer Flattr sur n’importe quel site web 2.0 sans gêner la navigation (c’est mieux quand même ^^) !

Les bugs qui subsistaient

Les bugs en question venaient de deux erreurs que j’ai commises :

Attacher la tâche de remplacement à un évènement beaucoup trop précoce (à la construction du DOM alors qu’elle est maintenant attachée à la fin de chargement de la page); ce comportement avait pour effet de ruiner la structure de la page et d’empêcher certains appels Ajax de se faire (pas d’élément du DOM de destination existant).

Et, plus grave, le remplacement, à la barbare, de l’ensemble du code du body par une version intégrant les boutons Flattr. Ce comportement a été solutionné par un parcours des textNodes du DOM de la page et un remplacement au plus bas niveau du DOM (dans le nodeValue du textNode donc) par explosion de la chaine en 3 parties : avant le code, le code, et après le code. Comme on travaille sur des textNodes aucun évènement ne peut être attaché dessus et mes beaux eventlisteners resteront en place ! J’ai aussi du travailler sur une création maison des boutons Flattr, ne pouvant intégrer une iframe aussi simplement dans le DOM que lorsque je travaille avec un bête innerHTML. Le truc cool c’est que du Js à reverse c’est plutôt simple !

Le fonctionnement du plugin

Le fonctionnement reste inchangé pour l’utilisateur : il suffit d’utiliser un code de la forme [Flattr=2051] (avec 2051 remplacé par votre ID Flattr) pour que les autres utilisateurs d’överallt voient le bouton Flattr permettant de vous récompenser le plus simplement du monde.

Le plugin aura bientôt une nouvelle fonctionnalité suggérée par Olivier Mehani : l’ajout d’une fonctionnalité permettant de sauver son ID Flattr et de pré-remplir les champs des blogs WP proposant le Flattr-comment ainsi qu’un shortcut permettant d’inclure le code överallt correspondant à votre ID plus simplement (on est informaticiens, on est feignants !).

Et pour tester sans attendre : c’est ici !

Et pour finir, ça fait chaud au coeur !

Ce n’est un secret pour personne, je suis en contact régulier avec plusieurs membres de l’équipe de Flattr et leur ai donc envoyé le plugin très vite. Le moins que l’on puisse dire c’est qu’il leur a plu : je vous copie colle des extraits de mails envoyés par Eileen et Linus, respectivement Flattr evangelist et co-fondateur :

Eileen (à propos de Peter Sünde) :

I'm very sorry to hear that Peter didn't have time to sit down and chat with
you (He is often tight for time), but obviously he knows who you are -- and
loves your plugin, so I'm sure he'll try to connect with you soon.

Linus :

Yo!
Nice addon you have made!  We like!

Je vous fait grâce d’une bonne partie des mails envoyés et reçus, mais apparemment l’idée leur plait et ça risque d’aller encore mieux avec cette version stable. A vrai dire l’idée leur plait tellement que j’ai eu un peu de rab d’invitations, donc je vais en distribuer un peu plus que les fois précédentes : 20 !

c1d7798c4230dbbe9
cc112169646c15ae3
cc23e432ce73db5cc
e77e99c68cd4b342c
3dcfaae415428acc5
9da2ac25241f38861
b5910802bad766e8b
c7d19d505639d3dea
62d2c689fa59203ad
fd8b32e76d187127f
26ea3fc8daab92a37
64ff2dd0f9ce3855b
97c8876654d2b060d
74d67584aaf688381
74ef90389b615aecd
e12398d4bd256fdfe
35ebd6fb9a6fb9469
12cb00cf71ee964df
6e64b11c8be193665
670b38eb5d5ca9f11

Et pour les curieux qui se poseraient la question : oui il m’en reste encore après ça 😉

5 réflexions sur « Överallt / Flattr everywhere (enfin) en version stable ! »

Les commentaires sont fermés.