Over-blog, Citroulette et les iframes
Je ne vais pas vous re-présenter Citroulette, ce drôle de petit site que j'ai lancé il y a quelques jours (voir ici), ni vous ennuyer avec les multiples petits ajustements que je viens d'y faire (traduction en Français, système de tirage au sort "intelligent" afin de pas revoir un site déjà vu, favicon, modèle publicitaire qui a changé...)
J'ai par contre un problème technique politique technico-politique. Citroulette affiche les sites web grâce l'utilisation d'iframes. Une iframe, c'est un genre de fenêtre dans laquelle on peut afficher une autre page web. Donc, grâce à cette technique, n'importe quel site web peut afficher le contenu d'un autre site web.
Et comme toujours dans le monde du web, cette capacité d'inclusion d'une page dans une autre a été l'objet d'abus de la part de webmasters douteux. Quoi de plus simple que de proposer du contenu qui n'est pas le sien, tout en positionnant sa publicité autour de l'iframe...
Ainsi, il y a des sites web qui refusent d'être affichés dans une iframe. Cela peut être via un refus explicite du webmaster (c'est pour cela que je demande toujours avant d'ajouter un site dans Citroulette), ou, plus simplement, un petit bout de javascript qui détecte que le site est affiché dans une iframe, et qui force l'ouverture du site par-dessus l'iframe, par exemple.
if (parent.frames.length > 0) {
top.location.replace(document.location);
}
Ceci est le choix fait par over-blog : impossible d'afficher un over-blog dans une iframe. En conséquence, tant que je n'ai pas trouvé de parade technique, je ne peux pas ajouter d'over-blogs dans la Citroulette. Ça fait mal, car over-blog est la troisième plateforme de blogs, du moins d'après cet article.
J'ai donc passé beaucoup de temps à essayer de contrer techniquement cette redirection. Dans le monde web, c'est une problématique bien connue (voir ici ou ici), et j'ai tenté pas mal de techniques à base de onbeforeunload et d'écouteur d'évènements en tout genre, sans succès pour l'instant.
Je comprend parfaitement que cette plateforme refuse de se faire "inclure" dans une iframe, c'est leur droit. Mais ce serait quand même mieux qu'over-blog laisse le choix au blogueur, via un paramètre dans l'administration du blog. (Peut-être existe-t-il déjà, ce paramètre ? Si quelqu'un sait quelque-chose là-dessus, qu'il s'exprime maintenant où se taise à jamais.)
Bref, je n'ai pas vraiment envie de m'engager dans un script anti-anti-iframe voire anti-anti-anti-anti-iframe (et je suis sérieux ! Ça peut aller très loin). Je continue à creuser cette problématique, mais déjà, j'en appelle à over-blog de permettre à ses blogueurs, s'ils le souhaitent, que leur blog soit affiché dans une iframe.
En attendant, chaque site soumis dans Citroulette passe préalablement par cette page de test très simple, et si le site ne se laisse pas inclure, j'envoie un mail au proprio expliquant le problème.
Bien dommage tout ça. Affaire à suivre !








