27 octobre 2010

Adblock et la reine rouge.

Vous ne connaissez peut-être pas tous Adblock, le plugin Firefox permettant de filtrer les publicités sur des pages web en inspectant l’adresse des éléments composant la page.

Pourtant certains sites Web commencent déjà à détecter les utilisateurs d’Adblock (ou logiciels apparentés), souvent dans le but de bloquer l’accès au site aux personnes non-génératrices de revenus publicitaires. On vous encourage alors à ajouter le site à votre liste blanche, ce qui revient, pour vous, à afficher le site sans publicités bloquées.

Je ne pense pas que l’idée d’ouvrir un débat sur la légitimité ou non du blocage des publicités Web soit bonne, et je laisserai le soin à chacun de décider en son âme et conscience de la chose. Penchons-nous plutôt sur l’aspect technique.

Les scripts anti-Adblock visent principalement à inspecter les éléments de la page afin de détecter si ceux-ci ont été bloqués, remplacés ou même simplement cachés. S’il est possible de s’assurer du téléchargement d’un contenu publicitaire côté serveur, un script s’exécutant sur le navigateur reste indispensable afin de s’assurer que les éléments publicitaires ne sont pas simplement cachés sur la page affichée. Ce script est lui-même facilement bloquable aussitôt identifé, et il est donc envisageable qu’une course aux armements s’engage, course à l’intensité toutefois modérée par la faible proportion d’internautes impliquée.

Mais à ce petit jeu, les webmestres jouent perdant du fait de l’inégalité des solutions techniques accessibles de part et d’autre. Un serveur Web est un fournisseur de contenu, répondant à des requêtes lancées par les navigateurs. S’il est possible de contrôler dans une certaine mesure la présentation et le comportement du contenu dans le navigateur, par le biais de scripts, il reste que ces scripts s’exécutent dans un environnement protégé, cloisonné, et n’ont accès qu’aux informations que le navigateur veut bien leur donner. Le navigateur contrôle totalement le comportement et l’apparence du contenu présenté, et le navigateur obéit à l’utilisateur qui l’a installé sur sa machine.

Il paraît donc envisageable de créer une version sophistiquée d’Adblock qui ne se contenterait plus d’altérer le contenu d’une page, mais modifierait également les informations mises à disposition aux scripts de la page afin qu’aucune des altérations effectuées par Adblock ne leur soit visible.

Une version extrême consisterait à utiliser deux représentations internes en parallèle de la page - une version invisible, sans blocage de publicités, sur laquelle les scripts s’exécuteraient, et une version livrée au moteur de rendu, identique à ceci-près que seul les actions des scripts y seraient appliqués, c’est à dire les opérations provoquant un changement d’état dans la représentation mémoire de la page, version dépourvue des éléments filtrés.

Resterait alors aux webmaster la solution d’inclure dans les noms des éléments non-publicitaires de la page des mot-clés filtrés afin de forcer les utilisateurs d’Adblock à désactiver leur filtre pour voir la page. Une telle solution, appliquée épisodiquement, serait peu efficace car les filtres sont mis à jour régulièrement et sont suffisamment souples pour s’adapter à ces sites sans perte de généralité ou presque.

Il est toutefois envisageable qu’un webmaster particulièrement motivé décide de modifier son serveur afin qu’il fournisse toujours des éléments non-publicitaires bloqués par la dernière mouture des filtres Adblock. Il suffit pour cela de télécharger automatiquement le nouveau fichier de règles Adblock, et de générer des noms correspondant à une des règles présentes, voire à plusieurs règles trouvées dans plusieurs filtres différents.

Le changement des noms des éléments non-publicitaires d’une page n’est théoriquement pas très difficile à gérer côté serveur, même s’il demande du travail. Il faut probablement prévoir à chaque changment des noms des éléments d’une site une phase de transition difficile pour les gros sites s’appuyant sur des serveurs de cache (à moins de modifier le serveur de cache de conserve, mais le projet prend alors d’autres proportions), mais il est envisageable d’effectuer la transition aux heures de traffic faible, ou progressivement, sur une portion croissante des requêtes.

Il serait probablement plus intéressant pour le webmaster d’utiliser une méthode analogue pour changer le nom des éléments publicitaires afin qu’il ne correspondent à aucune règle de filtre, mais les éléments publicitaires sont la plupart du temps fournis par de tierces parties n’offrant pas ou peu de contrôle sur leur contenu distribué. On pourrait toutefois se demander pourquoi les régies publicitaires n’ont pas d'ores et déjà appliqué cette méthode, et je pense que la réponse est simplement qu’Adblock demeure trop peu répandu pour que le problème justifie les investissements de R&D et le coût en terme de capacité de traitement de leurs serveurs. Pour l’instant.

Au final, le problème du blocage des publicités web, comme celui des spams et bien d’autres, est un problème de classification. Si l’emploi de bloqueurs de publicité se généralise au point que les régies publicitaires et autres sites populaires tirant une grande portion de leurs revenus de la publicité ne peuvent plus l’ignorer, elle feront en sorte de rendre la classification correcte des éléments de la page difficile, et certainement impossible avec de simples expressions régulières.

Restera, côté navigateur, la possibilité de laisser l’utilisateur choisir quel contenu bloquer (en le sélectionnant d’un clic par exemple), et d’apprendre au fur et à mesure à reconnaître les éléments à bloquer. Le problème de l’apprentissage est toutefois bien plus complexe que dans le cas de spams, car le contenu en question peut être entièrement graphique plutôt que textuel.

Tout comme il y a eu celui des pages d’accueil avec un bouton ‘Entrer sur le site’ et celui du partage de fichiers en P2P sans risques, nous vivons aujourd’hui un âge d’or du blocage des publicités sur le web, âge d’or dont la pérennité est avant tout garantie par la faible proportion d’internautes impliquée. Il est techniquement envisageable pour les fournisseurs de contenus de rendre beaucoup plus difficile le blocage de publicité automatique et fiable, au prix toutefois de coûteuses refontes logicielles, refontes qui prendont de toute façon du temps avant d’être mises en places si elles le sont jamais.

En attendant, je croise les doigts, et profite d’un Internet sans pubs ou presque.
Pour vivre heureux, vivons peux nombreux.

2 commentaires:

Maxxxoo a dit…

Mais si les internautes étaient peu nombreux, ton surf sur internet serait malheureux.

Je ne pense pas qu'il faille inciter au blocage des pubs. Si cela devient trop important, comme tu le dis, les webmasters vont devoir riposter.

Or c'est assez légitime pour certains professionnels de mettre des pubs en contrepartie d'un site gratuit. Il faut bien leur générer des revenus.

On aurait donc affaire à une guerre sans fin, consommatrice d'énergie mais non productive.

fifa14.vipmmobank a dit…

Many of us request you to consider this particular voyage along with us. Basically we have several the top individuals the industrypeople that are passionate about making Enormous wonderful, we're not able to acquire this kind of quest on our own. In order to make a living, inhaling activity, we want your suggestions.
Fifa 15 Coins

Buy Fifa 15 Coins