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 😉
Merci beaucoup, j’ai pris l’invitation n°cc112169646c15ae3 😉
Merci pour l’extension FF, merci pour l’invitation,… Cela vaut bien un fromage ? Une petite flatterie en tous cas 🙂
++
Merci pour l’invit (b5910802bad766e8b) !
🙂
Bonjour,
Vous reste t’il encore des codes d’invitation?
Merci.
Je t’en envoie un par mail tout de suite (ici tout le monde se tutoie ;))