var Phenix = function () {
Troll du Web depuis 1996

Le bouton Twitter : comment cacher du code sale dans du code propre.

C’est le nouveau gadget du moment, le bouton Tweeter, made by Twitter. Sortit il y a peu, il commence à envahir internet, comme la fait avant lui le bouton « j’aime » de Facebook.

Comme j’apprécie particulièrement ce réseau, j’ai moi aussi décidé d’ajouter ce bouton à ce blog, il trône fièrement sur tout les articles. Mais je ne l’aime pas particulièrement.

Comme vous pouvez le voir, le style du bouton ne s’accorde pas vraiment avec le design du site, je me suis donc demandé si je ne pouvais pas le personnaliser. La réponse est non, ce n’est pas possible.

Pourtant, le code html fourni par twitter laisse penser le contraire :

<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="Phenix" data-lang="fr">Tweet</a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

Une balise et un javascript, rien de bien méchant, mais surtout la possibilité théorique de mettre du CSS dessus. Ce code est également valide (seulement html5 corrigé moi si je me trompe). Et bien, vous pouvez mettre ce que vous voulez dans votre css, ce bouton ne changera jamais d’aspect.

En réalité, Twitter utilise ce que j’appellerai un tour de passe-passe :

Les moteurs de recherche aime les pages valide W3C. Donc le bouton doit être valide, sinon les webmaster ne vont pas en vouloir. Mais si il est valide, cela veux aussi dire qu’on peu le modifier. Hors pour certaines raison, Twitter semble vouloir interdire cette possibilité, probablement pour pouvoir dire : « Ceci est le bouton officiel ». Ce qui est ridicule : si je veux piéger des gens avec le bouton officiel de Twitter, je n’ai qu’a le recréer à l’identique.

Ce qui ce passe en vrai

En réalité, les moteurs de recherche et les autres robots qui aime que les pages soit valides, n’exécute pas le javascript. le javascript de Twitter sert donc à remplacer la belle balise par une horrible iframe absolument invalide.

Un petite capture d’écran ?

images_1283034634-650x406.png

Un tour de passe-passe, Twitter ce fiche complètement du W3C et ne laisse aucune place à la bidouille, bien sur, votre site est valide en apparence, mais en réalité, grâce au javascript, il ne l’est plus. Dire qu’on ce bat déjà pour que tout les navigateurs respectent règles si en plus il va falloir ce battre pour que des gros acteurs d’Internet les respects aussi, la bataille n’est vraiment pas gagnée... Je ne suis pas sur d’apprécier ce genre de procédé...

J’imagine que le bouton « J’aime » de facebook fonctionne sur le même principe, mais je ne risque pas de l’intégrer celui là !