La responsabilité en incombe à la nouvelle plateforme Manifest v3, qui rend les extensions moins “libres” et nuit en particulier aux bloqueurs de publicité, incapables d’anticiper l’évolution des technologies publicitaires.
Ces jours-ci, les utilisateurs qui utilisent le bloqueur de publicités uBlock Origin sur Chrome voient s’afficher un avertissement signalant la fin de la prise en charge de l’extension. Il s’agit d’un effet de la distribution de Manifest v3 avec la version 127 de Chrome.
Ce problème est également expliqué sur la page GitHub de uBlock Origin. Étant donné que la prise en charge de Manifest v2 est abandonnée au profit de Manifest v3, il est conseillé aux utilisateurs de télécharger la version allégée du bloqueur de publicités compatible avec la nouvelle plateforme.
La différence la plus importante entre les deux versions est que uBlock Origin Lite ne met à jour la liste des filtres que lorsque l’extension est également mise à jour. Il s’agit d’une limitation importante pour un bloqueur de publicités qui doit toujours être à la pointe des technologies publicitaires qu’il doit être capable de contourner.
Qu’est-ce que Manifest v3 ?
En général, le fichier manifeste est un composant fondamental des extensions de navigateur car il contient des métadonnées et des configurations et définit les autorisations, les ressources et les fonctionnalités des extensions elles-mêmes.
Google parle de Manifest v3 depuis 2018, justifiant le changement par rapport à Manifest v2 pour des raisons de confidentialité, de sécurité et de performance. Maintenant que Manifest v3 a été officiellement pris en charge pour tous les utilisateurs dans Chrome 127, les effets commencent à se faire sentir.
Sous Manifest v2, les extensions sont traitées comme des applications de première classe avec leur propre environnement d’exécution persistant. Avec la version 3, elles sont traitées comme des accessoires, avec des privilèges limités et des autorisations d’exécution réactives.
Les extensions basées sur Manifest v2 utilisent webRequest, une API flexible qui permet aux extensions d’intercepter et de bloquer ou de modifier les requêtes et les réponses HTTP. Au lieu de cela, Manifest v3 utilise la nouvelle API declarativeNetRequest, qui est toutefois déclarative par nature.
Jusqu’à présent, les extensions des navigateurs Chromium pouvaient intercepter chaque requête d’une page web et décider de ce qu’il convenait de faire avec chacune d’entre elles de manière très agile. Une API déclarative, en revanche, exige des développeurs qu’ils définissent à l’avance le comportement de leur extension face à des requêtes spécifiques, en choisissant parmi un ensemble limité de règles mises en œuvre par le navigateur.
Dans ce scénario, il n’est plus possible d’exécuter des fonctions sophistiquées qui décident de ce qu’il faut faire avec chaque demande individuelle. Si une extension doit traiter des demandes d’une manière qui n’est pas prévue par les règles existantes, elle ne peut tout simplement pas le faire, de sorte que son utilité est perdue ou fortement réduite.
C’est précisément le cas des bloqueurs de publicité, qui doivent pouvoir agir à tout moment et rapidement en fonction de l’évolution des technologies de l’information publicitaire.
Avoir un bloqueur de publicité sous Manifest v3 signifie avoir une extension qui ne réagira que si le comportement d’une certaine technologie publicitaire a été prédit. Par conséquent, les extensions de bloqueurs de publicité doivent être constamment mises à jour pour être efficaces.
Le navigateur Brave, également basé sur le moteur Chromium, a fait savoir qu’il mettrait en œuvre le forçage Manifest v2 jusqu’en juin 2025, comme le prévoient les règles de Google. Par la suite, puisqu’il peut agir sur la base de code open-source de Chromium, il pourra toujours offrir le support de la v2, mais avec des fonctions limitées pour les extensions basées sur cette plateforme.