Google Chrome s'apprête à ajouter un anti-bloqueur de publicité

Google avait récemment introduit un filtre dans son navigateur Chrome afin de bloquer les publicités intrusives. Maintenant, il s’apprête à passer à une autre étape : déployer un anti-bloqueurs de publicités via Chrome.

Google va bientôt bloquer les bloqueurs de pub dans Chrome

D’après le site Register, repris par Androidpolice, les ingénieurs de Google ont proposé des modifications au navigateur open-source Chromium qui bloquera les extensions bloquant le contenu, y compris divers bloqueurs de publicité.

Mais, paraît-il, Adblock Plus ne sera probablement pas affectée, bien que des plugins similaires tiers le seront, pour des raisons que nous allons expliquer en fin d'article.

Les modifications proposées limiteront également les capacités offertes aux développeurs d'extensions, en apparence pour des raisons de rapidité et de sécurité. Chromium forme le noyau central de Google Chrome, et, bientôt, de Microsoft Edge.

Les extensions Chrome utilisent une certaine version de Manifest qui détermine quelles API elles peuvent et ne peuvent pas utiliser, de la même façon que les applications Android ciblent un niveau d'API Android spécifique.

La version actuelle Manifest v2, a été introduite en 2012.

Manifest v3 est actuellement en cours de développement et comprendra plusieurs modifications aux API, y compris celles qui affectent les bloqueurs de contenu, y compris la pub.

Raymond Hill, le développeur derrière uBlock Origin et uMatrix, a expliqué que l'une des modifications dans Manifest v3 bloquerait le filtrage de contenu complexe :

À partir de la description de l'API declarativeNetRequest, je comprends que son but est de simplement appliquer des capacités de filtrage compatibles avec Adblock Plus ( "ABP ").

Il partage la même syntaxe de filtrage de base : Double-pipe pour ancrer au nom d'hôte, un seul canal à l'ancre au début ou à la fin de l'URL, signe insertion comme un espace spécial réservé, et ainsi de suite.

L'algorithme de correspondance décrit est exactement celui d'un moteur de filtrage du genre ABP.

Si cette (assez limitée) declarativeNetRequest API finit par être le seul moyen pour les bloqueurs de contenu d’accomplir leur tâche, cela signifie essentiellement que les 2 bloqueurs de publicité que j'ai maintenus pendant des années, uBlock Origin ( "uBO ") et uMatrix, ne peuvent plus exister.

A côté du fait d’empêcher uBO et uMatrix de ne plus pouvoir exister, cela concerne vraiment le fait que l'API declarativeNetRequest proposée rendra impossible de créer de nouveaux modèles de moteur de filtrage, comme l'API declarativeNetRequest n'est pas plus que l’implémentation d'un moteur de filtrage spécifique, et un peu limité (la limite de 30 000 n'est pas suffisante pour faire appliquer le fameux EasyList seul).

Les parties clés de uBlock Origin et de l'ensemble de uMatrix utilisent un algorithme de correspondance différent de celui de l'API declarativeNetRequest.

Les règles Block/Allow (Bloquer/Autoriser) sont appliquées en fonction de leur * spécificité *, alors que les règles Block/Allow peuvent se substituer aux autres sans aucune limite. Cela ne peut pas être traduit en une API declarativeNetRequest (en supposant qu'une limite de 30 000 entrées ne serait pas une limitation paralysante en soi).

En résumé, l'une des modifications proposées dans Manifest v3 consiste à remplacer l'API webRequest par une nouvelle API declarativeNetRequest, qui comporte beaucoup plus de limitations.

Bien que ce changement a des avantages évidents en terme de performances (Chrome n'a plus à attendre les extensions pour Autoriser/Bloquer toutes les demandes de réseau), il mettrait fin à d'innombrables extensions qui reposent sur des demandes de réseau fortement modifiées.

Manifest v3 est encore en cours de développement, il y a donc une chance que Google pourrait décider de supprimer ou pas ce changement d'API spécifique. Est-ce aussi une autre façon de concurrencer Firefox qui en intègre nativement ?


Manifest v3


Manifest v3 fait référence à la spécification pour les fichiers manifestes des extensions de navigateur, qui énumèrent les ressources et les fonctionnalités disponibles pour les extensions du navigateur.

D’après Register, la justification de Google pour faire les modifications proposées, mettre fin aux extensions (plugins) de blocage, est d'améliorer la sécurité, la vie privée et les performances, et supposément pour améliorer le contrôle des utilisateurs.

Les utilisateurs doivent avoir un contrôle accru sur leurs extensions.

Un utilisateur doit être en mesure de déterminer quelles informations sont disponibles pour une extension et être en mesure de contrôler ce privilège.

Mais, l’une des façons que Google aimerait choisir pour atteindre ces objectifs implique le remplacement de l'API webRequest par une nouvelle API declarativeNetRequest.

L'API webRequest permet aux extensions de navigateur, comme uBlock Origin, d'intercepter les demandes réseau, afin qu'elles puissent être bloquées, modifiées ou redirigées.

Cela peut entraîner des retards dans le chargement de la page Web car Chrome doit attendre l'extension. À l'avenir, webRequest ne sera pas en mesure de lire les demandes de réseau ni les modifier.

L’API declarativeNetRequest autorise Chrome (plutôt que l'extension elle-même) à décider comment gérer les demandes réseau, en supprimant ainsi une source possible d'engorgements et un mécanisme potentiellement utile pour modifier le comportement du navigateur.

Google explique dans sa documentation de l'API de Google :

L'API declarativeNetRequest offre une meilleure confidentialité aux utilisateurs, car les extensions ne peuvent pas réellement lire les demandes réseau effectuées au nom de l'utilisateur.

Bref, Les modifications proposées par Manifest v3 diminueront l'efficacité du blocage du contenu et des extensions de blocage des publicités, bien qu'elles n'éliminent pas entièrement tous les blocages publicitaires.

Le mécanisme de filtrage de base supporté par Adblock Plus devrait toujours être disponible. Mais uBlock Origin et uMatrix offrent des contrôles beaucoup plus étendus, sans essayer de calmer les éditeurs par le biais d'annonces en liste blanche.

Il s'agit d'un point clé à noter : Google et d'autres réseaux publicitaires Internet paieraient apparemment Adblock Plus pour ajouter leurs publicités en ligne dans la liste blanche. Ce qui pourrait justifier pourquoi AdBlock Plus serait épargné par l'anti-bloqueur de pub de Google Chrome.