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 !

Extensions Chrome : Google a commencé les tests de Manifest V3 dans la version Canary de son navigateur
Les développeurs sont invités à consulter le guide de migration

Le , par Stéphane le calme

28PARTAGES

8  0 
Google a commencé à tester Manifest V3 dans la dernière version de Chrome Canary et, avec cette version « alpha » initiale, les développeurs peuvent commencer à tester leurs extensions dans le cadre de la spécification à venir.

Sur Chrome, chaque extension possède un fichier Manifest au format JSON, nommé manifest.json, qui fournit des informations importantes. 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": [...] 
}

Dans une publication dans le groupe Google Chromium Extensions, Simeon Vincent, Google Developer Advocate for Chrome Extensions, a déclaré qu'au 31 octobre, une préversion développeur de la version 3 de Manifest était désormais disponible dans la version Chrome 80 Canary.

Voyez cela comme un début d’alpha. Le « dev preview » est la première occasion pour les développeurs d’extensions de commencer à expérimenter une version en cours de développement de la plateforme MV3.

Les travaux de mise en œuvre sur la plateforme MV3 sont loin d'être terminés. Attendez-vous donc avant tout à des changements.

En ce qui concerne ce qui change, les plus notables dans MV3 sont les suivants:
  • Modifications des autorisations de l'hôte
  • Blocage de webRequest -> declarativeNetRequest
  • Background page -> service workers
  • Restrictions de code hébergées à distance

L'API declarativeNetRequest était déjà disponible pour une expérimentation dans Chrome Canary et nous continuons à itérer sur ses fonctionnalités.

Dans le cadre de ce lancement, Google a créé un guide migration vers Manifest 3 que les développeurs peuvent utiliser pour migrer leurs extensions existantes.

L'aspect le plus controversé de Manifest V3 concerne les modifications à venir de l'API webRequest. Dans la V3, Google a modifié l'API afin que les extensions puissent uniquement surveiller les connexions du navigateur, mais ne modifient aucun contenu avant son affichage.

Au lieu de cela, Google souhaite que les développeurs utilisent l’API declarativeNetRequest, qui fait que le navigateur, et non l’extension, puisse capter du contenu ou des ressources d’un site Web visité. Cette API, cependant, a une limite de 30 000 règles pouvant être créées.

Malheureusement, cette modification supprimera les bloqueurs de publicités populaires tels que uBlock Origin, qui reposent sur les fonctionnalités d'origine de l'API webRequest et nécessitent davantage de règles que celles disponibles dans l'API declarativeNetRequest.

Test des modifications dans Manifest V3

Si vous utilisez la version actuelle de Chrome Canary, vous pouvez tester les nouvelles modifications en créant votre propre extension et en définissant sa version de Manifest sur 3. Certains développeurs ont déjà partagé les résultats de leur expérience avec Manifest 3. Par exemple, dans le fichier d'extension manifest.json ci-dessous, la version a été définie sur 3 et utilise un appel à background.scripts.


Comme background.scripts n'est plus pris en charge, toute tentative de chargement de l'extension génère une erreur, comme indiqué ci-dessous, indiquant que vous devez utiliser la clé background.service_worker à la place.


Si vous vous tournez plutôt vers l'utilisation d'un service_worker, l'extension se charge correctement dans Google Chrome.


Tous les développeurs d’extensions doivent consulter le guide de migration pour s’assurer que leurs extensions fonctionneront correctement avec les prochaines modifications qui seront implémentées dans Manifest V3.

Bien qu'actuellement en préversion, Google s'attend à ce que Manifest V3 puisse être utilisé en production en 2020 et que la fin de vie de la v2 soit déterminée à l'avenir.

Guide de migration

Source : Google

Et vous ?

Utilisez-vous des extensions sur votre navigateur ? Dans quel but ?
Avez-vous déjà développé des extensions ? Pour quel navigateur ?
Que pensez-vous de Manifest V3 ?

Voir aussi :

Le DNS-over-HTTPS finira probablement par être déployé sur tous les navigateurs, malgré l'opposition des FAI, le support du DoH est déjà effectif sur Edge, Firefox, Opera, Vivaldi, Chrome et Brave
Kaspersky a découvert une faille zero-day utilisée pour lancer des attaques via Google Chrome, les internautes sont invités à effectuer une mise à jour de leur navigateur
Google déploie Chrome 78 qui s'accompagne de l'API Native File System et améliore le mode sombre dans ses déclinaisons mobiles
Google Chrome : vers la fin de uBlock Origin ? Les utilisateurs pointent un processus de revue qui semble viser les extensions dans la filière blocage de pubs

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