IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Google reprend la transition vers Manifest V3 sur Chrome : surnommé « le tueur de bloqueurs de pubs »
Il s'est heurté aux oppositions de nombreux développeurs et de défenseurs des droits numériques

Le , par Stéphane le calme

11PARTAGES

13  0 
Google a annoncé qu’il reprendrait sa transition vers Manifest V3, la nouvelle version de son interface de programmation d’applications (API) pour les extensions Chrome. Manifest V3 introduit des changements significatifs dans les règles pour les extensions, dont certains ont été vivement critiqués par les développeurs et les utilisateurs finaux.

L’un des changements les plus controversés est la suppression de l’API WebRequest, qui permet aux extensions de modifier les requêtes réseau à la volée. Cette API est utilisée par les extensions de blocage de publicités et de protection de la vie privée, qui peuvent créer des listes de sites web (serveurs publicitaires) à bloquer ou à filtrer. Google veut remplacer cette API par une nouvelle API, appelée declarativeNetRequest, qui permet aux extensions de déclarer un ensemble de règles : des motifs pour faire correspondre les requêtes et des actions à effectuer lorsqu’elles sont correspondantes.

Le problème de cette nouvelle API est qu’elle limite le nombre de règles à 30 000, alors qu’une installation typique de uBlock Origin comporte 300 000 règles de filtrage dynamiques. De plus, cette API ne permet pas aux extensions de modifier les en-têtes ou les corps des requêtes, ce qui réduit leur capacité à empêcher le pistage ou à contourner les mesures anti-blocage.

Google affirme que ces changements visent à améliorer la confidentialité, la sécurité et les performances des extensions, en réduisant le risque d’abus ou de détournement des données des utilisateurs, et en évitant que les extensions ne ralentissent le navigateur ou ne consomment trop de ressources. Cependant, de nombreux développeurs et utilisateurs soupçonnent que Google ait d’autres motivations, notamment protéger ses revenus publicitaires et renforcer son contrôle sur le Web.


Le « tueur de bloqueurs de publicités »

Manifest V3 a été rapidement surnommé « le tueur de bloqueurs de publicités » et il a fait l’objet d’une forte opposition tant de la part des développeurs que des utilisateurs finaux. Plusieurs pétitions ont été lancées pour demander à Google de revenir sur sa décision ou de modifier son API pour préserver les fonctionnalités des extensions existantes.

Par exemple, l'Electronic Frontier Foundation, un défenseur des droits numériques, s'est insurgé contre son utilisation : « Méfiez-vous des utilisateurs de Chrome : Manifest V3 est trompeur et menaçant ». « Si l’on en croit Google, Manifest V3 améliorera la protection de la vie privée, la sécurité et les performances. Nous ne sommes absolument pas d’accord. Ces changements n’arrêteront pas les extensions malveillantes, mais ralentiront l’innovation, réduiront les capacités des extensions et heurteront les performances réelles ».

Pour l'EFF : « Manifest V3, ou Mv3 en abrégé, est carrément nuisible aux efforts de confidentialité. Cela limitera les capacités des extensions Web, en particulier celles conçues pour surveiller, modifier et calculer parallèlement à la conversation de votre navigateur avec les sites Web que vous visitez. Selon les nouvelles spécifications, des extensions comme celles-ci – comme certains bloqueurs de suivi de la vie privée – auront des capacités considérablement réduites. Les efforts de Google pour limiter cet accès sont préoccupants, d'autant plus que Google a installé des traceurs sur 75% du million de sites Web les plus importants ».

Certains navigateurs concurrents, comme Brave ou Vivaldi, ont déclaré qu’ils ne suivraient pas Google dans cette voie et qu’ils continueraient à supporter l’API WebRequest. Firefox, de son côté, a opté pour une approche hybride.


L'approche hybride de Firefox

Bien que Firefox ne soit pas basé sur Chromium, le support du Manifest est un élément important, car il simplifie le travail des développeurs d’extensions : un module créé sur Chrome (ou l’un de ses dérivés basé sur Chromium comme Microsoft Edge) est facilement transposable à Firefox, une grande partie du socle étant identique. Mais face à cette version 3, Mozilla fait les choses à sa manière.

Mozilla a prévenu que même si le Manifest V3 sera supporté en intégralité, l’API Web Request sera préservée. La direction prise par l'équipe est donc hybride, avec à la fois la possibilité de récupérer la nouvelle génération d’extensions, tout en préservant Web Request et les capacités qui vont avec. Une version amendée du Manifest V3, en quelque sorte.

« L'un des changements les plus controversés de l'approche MV3 de Chrome est la suppression du blocage de WebRequest, qui offre un niveau de puissance et de flexibilité essentiel pour activer les fonctionnalités avancées de confidentialité et de blocage de contenu. Malheureusement, ce pouvoir a également été utilisé pour nuire aux utilisateurs de diverses manières. La solution de Chrome dans MV3 consistait à définir une API de portée plus étroite (declarativeNetRequest) en remplacement. Cependant, cela limitera les capacités de certains types d'extensions de confidentialité sans remplacement adéquat.

« Mozilla maintiendra la prise en charge du blocage de WebRequest dans MV3. Pour maximiser la compatibilité avec d'autres navigateurs, nous fournirons également un support pour declarativeNetRequest. Nous continuerons à travailler avec les bloqueurs de contenu et d'autres consommateurs clés de cette API pour identifier les alternatives actuelles et futures, le cas échéant. Le blocage de contenu est l'un des cas d'utilisation les plus importants pour les extensions, et nous nous engageons à faire en sorte que les utilisateurs de Firefox aient accès aux meilleurs outils de confidentialité disponibles ».

Firefox 109 a inauguré l'activation par défaut de Manifest V3 de Chrome pour les développeurs


L'évolution de la position de Google dans le temps

En novembre 2019, Google a commencé à tester Manifest V3, l'interface de programmation derrière les plans de sécurité Chrome. Le code suivant montre les champs Manifest pris en charge pour les extensions, avec des liens vers la page décrivant chaque champ.

Code JavaScript : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{    
  // Required    
  "manifest_version": 2,    
  "name": "My Extension",    
  "version": "versionString",    
  
  // Recommended    
  "default_locale": "en",    
  "description": "A plain text description",    
  "icons": {...},    
  
  // Pick one (or none)    
  "browser_action": {...},    
  "page_action": {...},    
  
  // Optional    
  "action": ...,    
  "author": ...,    
  "automation": ...,    
  "background": {    
    // Recommended    
    "persistent": false,    
    // Optional    
    "service_worker":    
  },    
  "chrome_settings_overrides": {...},    
  "chrome_ui_overrides": {    
    "bookmarks_ui": {    
      "remove_bookmark_shortcut": true,    
      "remove_button": true    
    }    
  },    
  "chrome_url_overrides": {...},    
  "commands": {...},    
  "content_capabilities": ...,    
  "content_scripts": [{...}],    
  "content_security_policy": "policyString",    
  "converted_from_user_script": ...,    
  "current_locale": ...,    
  "declarative_net_request": ...,    
  "devtools_page": "devtools.html",    
  "event_rules": [{...}],    
  "externally_connectable": {    
    "matches": ["*://*.example.com/*"]    
  },    
  "file_browser_handlers": [...],    
  "file_system_provider_capabilities": {    
    "configurable": true,    
    "multiple_mounts": true,    
    "source": "network"    
  },    
  "homepage_url": "http://path/to/homepage",    
  "import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],    
  "incognito": "spanning, split, or not_allowed",    
  "input_components": ...,    
  "key": "publicKey",    
  "minimum_chrome_version": "versionString",    
  "nacl_modules": [...],    
  "oauth2": ...,    
  "offline_enabled": true,    
  "omnibox": {    
    "keyword": "aString"    
  },    
  "optional_permissions": ["tabs"],    
  "options_page": "options.html",    
  "options_ui": {    
    "chrome_style": true,    
    "page": "options.html"    
  },    
  "permissions": ["tabs"],    
  "platforms": ...,    
  "replacement_web_app": ...,    
  "requirements": {...},    
  "sandbox": [...],    
  "short_name": "Short Name",    
  "signature": ...,    
  "spellcheck": ...,    
  "storage": {    
    "managed_schema": "schema.json"    
  },    
  "system_indicator": ...,    
  "tts_engine": {...},    
  "update_url": "http://path/to/updateInfo.xml",    
  "version_name": "aString",    
  "web_accessible_resources": [...]    
}

En novembre 2020, Google a indiqué que « Manifest V3 représente l'un des plus grands changements dans la plateforme d'extensions depuis son lancement dix ans auparavant. Les extensions utilisant MV3 bénéficieront d'améliorations en matière de sécurité, de confidentialité et de performances; elles peuvent également utiliser des technologies Open Web plus contemporaines adoptées dans MV3, telles que les Services Workers et les Promises. Les développeurs peuvent mettre à jour leurs extensions dès aujourd'hui pour profiter de ces fonctionnalités MV3; cela deviendra obligatoire au fur et à mesure que nous éliminerons MV2 à l'avenir ».

Les extensions peuvent modifier le comportement de Chrome grâce aux capacités que Manifest v3 expose. Entre autres choses, Manifest v3 limite le nombre de « règles » que les extensions peuvent appliquer à une page Web lors de son chargement. Des règles sont utilisées, par exemple, pour vérifier si un élément de site Web provient du serveur d'un annonceur et doit donc être bloqué. Google a annoncé les changements en 2018.


Fin 2022, Google a indiqué qu'il allait retardé la transition de sa plateforme d'extension de navigateur pour les clients d'entreprise, offrant à ceux qui utilisent des versions gérées de Chrome avec les extensions obsolètes Manifest v2 (MV2) six mois supplémentaires de support. Google a également redéfini ses délais pour les utilisateurs généraux de Chrome afin de faire que la transition vers Manifest V3 représente un moindre choc : en d'autres termes, les développeurs ont besoin de plus de temps pour réécrire leur code d'extension.

L'entreprise a indiqué que ce temps allait être mis à profit afin de répondre aux commentaires des développeurs et de proposer de meilleures solutions aux problèmes de migration. Cela semble désormais chose faite, puisque Google affirme :

Citation Envoyé par Google
À la suite de ces commentaires, nous avons apporté un certain nombre de modifications à Manifest V3 pour combler ces lacunes, notamment*:
  • Présentation des documents hors écran, qui fournissent un accès DOM aux extensions à utiliser dans une variété de scénarios comme la lecture audio
  • Fournir un meilleur contrôle sur la durée de vie des services workers pour les extensions appelant des API d'extension ou recevant des événements sur une période plus longue
  • Ajout d'une nouvelle API User Scripts, qui permet aux extensions du gestionnaire de scripts utilisateur de permettre aux utilisateurs d'exécuter leurs scripts de manière plus sûre.
  • Amélioration de la prise en charge du filtrage de contenu en fournissant des limites plus généreuses dans l'API déclarativeNetRequest pour les ensembles de règles statiques et les règles dynamiques

Google pense avoir trouvé la bonne formule avec Manifest V3 et reprend avec la transition

En plus de combler les lacunes, nous avons également ajouté de nouvelles fonctionnalités à la plate-forme, telles que l'API Side Panel, livrée plus tôt cette année, et l'API Reading List, actuellement en version bêta. Nous avons récemment discuté de bon nombre de ces changements lors du Ad-Filtering Dev Summit et avons partagé davantage de contexte sur les changements et les améliorations que nous avons apportés en fonction des commentaires.

Avec ces changements en place, nous avons constaté une augmentation significative de la prise en charge de Manifest V3 au sein de la communauté des développeurs d’extensions. Plus précisément, nous sommes encouragés par notre dialogue continu avec les développeurs d’extensions de blocage de contenu, qui pensaient initialement que Manifest V3 pourrait avoir un impact sur leur capacité à fournir aux utilisateurs les fonctionnalités auxquelles ils s’attendent.

Google va commencer à désactiver les extensions Manifest V2 dans les versions pré-stables de Chrome (Dev, Canary et Beta) dès juin 2024, dans Chrome 127 et les versions ultérieures. Les utilisateurs concernés par le déploiement verront les extensions Manifest V2 automatiquement désactivées dans leur navigateur et ne pourront plus installer les extensions Manifest V2 à partir du Chrome Web Store.

Source : Google

Et vous ?

Que pensez-vous de la décision de Google de supprimer l’API WebRequest et de la remplacer par l’API declarativeNetRequest ?
Pensez-vous que Google a raison lorsqu'il prétend privilégier la confidentialité, la sécurité et les performances des extensions, ou alors qu’il cherche juste à protéger ses intérêts publicitaires ?
Utilisez-vous des extensions de blocage de publicités ou de protection de la vie privée ? Si oui, lesquelles et pourquoi ?
Craignez-vous que Manifest V3 réduise la diversité et la créativité des extensions Chrome ?
Préférez-vous utiliser un autre navigateur qui continue à supporter l’API WebRequest ? Si oui, lequel et pourquoi ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 17/11/2023 à 19:20
je le duit depusi longtemps, chorme est un malware car developpé apr une boite qui a un modele economique basé surt les données privées. a fuir
11  0 
Avatar de TotoParis
Membre expérimenté https://www.developpez.com
Le 17/11/2023 à 20:24
Jetez cette cochonnerie de Chrome à la corbeille.
9  0 
Avatar de Leruas
Membre éclairé https://www.developpez.com
Le 19/11/2023 à 19:29
Encore une raison d'utiliser Firefox, notamment pour consulter les sites de Google
8  0 
Avatar de Athaa
Membre du Club https://www.developpez.com
Le 17/11/2023 à 20:31
«*Don’t be evil*», I’m already evil enough.
7  0 
Avatar de weed
Membre chevronné https://www.developpez.com
Le 17/11/2023 à 21:22
Pour le moment Google n'a pas réussi à mettre cette restriction directement au niveau du moteur mais uniquement au niveau du navigateur.
Après peut être que techniquement ce n'est pas possible.

Cette actualité met bien en évidence que la concurrence est très importante. Firefox, Safari tenez bon
5  0 
Avatar de Zefling
Expert confirmé https://www.developpez.com
Le 20/11/2023 à 10:39
Une raison de plus de pas utiliser la boite noire qu'est Chrome.

En plus Firefox s'est bien amélioré sur les perfs et continue.
Franchement même en tant que dév front, je suis très bien sur Firefox.
3  0 
Avatar de weed
Membre chevronné https://www.developpez.com
Le 21/11/2023 à 0:07
Citation Envoyé par Zefling Voir le message
Une raison de plus de pas utiliser la boite noire qu'est Chrome.
Je généraliserai, autant ne pas utiliser tout navigateur dont le moteur de rendu est Blink, du projet Chromium afin de gagner en autonomie.
Malheureusement on n'est pas nombreux
3  0 
Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 11/12/2023 à 2:43
je serait pret a prendre un abo pour que friefox ne disparaissent pas perso
0  0