En juillet, nous avons lancé une nouvelle série de blogs pour vous tenir informé des développements des extensions. Grâce à vos précieux commentaires et à notre collaboration continue avec les autres fournisseurs de navigateurs du groupe de la communauté WebExtensions, nous continuons d'améliorer les API des extensions et de travailler à une plus grande cohérence entre les navigateurs.
Bienvenue dans l'édition d'octobre ! Dans cet article, nous allons examiner certains des changements apportés par l'équipe des extensions Chrome au cours des derniers mois, ainsi que certaines nouvelles fonctionnalités qui seront disponibles plus tard cette année. C'est parti !
Nouvelles API et fonctionnalités d'extension
Dans cette section, nous vous présentons quelques lancements d'API importants, passons en revue brièvement d'autres améliorations apportées aux API et vous communiquons les prochaines versions. Tous les lancements sont actuellement disponibles dans la dernière version bêta. Pour en savoir plus, consultez le calendrier des versions de Chromium.
Sélection
Problèmes connus résolus
L'équipe chargée des extensions travaille activement à la résolution des problèmes de stabilité de Manifest V3. Chrome 116 a lancé de nombreuses améliorations qui nous ont permis de progresser de manière significative vers la réduction de l'écart de fonctionnalités entre Manifest V2 et V3. Dans Chrome 120, nous aurons terminé de résoudre tous les problèmes de plate-forme prioritaires et fermé tous les bugs critiques documentés sur la page des problèmes connus. Toutes les fonctionnalités sont actuellement disponibles dans Chrome 120 Canary, à l'exception de la prise en charge de fileHandler pour ChromeOS Lacros et de l'API userScripts, qui sera disponible plus tard ce mois-ci. Pour en savoir plus, consultez la page des problèmes connus mise à jour.
Amélioration de la stabilité des services workers
Les problèmes de stabilité liés aux service workers ont été résolus. Dans Chrome 116, nous avons ajouté des "keep-alives" puissants aux API d'extension qui affichent une invite à l'utilisateur et avons amélioré la compatibilité avec les WebSockets (voir le tutoriel Utiliser des WebSockets dans les extensions). À partir de Chrome 118, un service worker restera actif pendant une session active de l'API Debug Session.
Pour en savoir plus, consultez nos conseils sur les services workers mis à jour. Si vos utilisateurs rencontrent toujours des problèmes de stabilité liés aux service workers dans les versions Chrome ultérieures à la 119, n'hésitez pas à nous en informer.
Sécurité accrue
Auparavant, l'accès à certaines URL chrome://
à l'aide de tabs.update()
, tabs.create
et windows.create()
provoquait une erreur ou faisait planter Chrome. De plus, tabs.update()
n'a pas pu ouvrir une URL JavaScript. Dans Chrome 117, nous avons augmenté le nombre d'URL chrome://
compatibles. Le blocage des URL JavaScript s'applique désormais également à toutes les méthodes de l'API de l'extension.
Dans Chrome 117, les utilisateurs recevront des notifications proactives sur la page des extensions Chrome si une extension qu'ils ont installée n'est plus disponible sur le Chrome Web Store. Cela peut se produire si le développeur a supprimé l'extension, si elle a été supprimée pour non-respect des règles ou si elle a été identifiée comme un logiciel malveillant. Pour en savoir plus, consultez Intégration du contrôle de sécurité à la page chrome://extensions.
Dans Chrome 118, les extensions ne sont pas autorisées à accéder aux URL file://
à l'aide des API chrome.tabs
et chrome.windows
, sauf si l'option "Autoriser l'accès aux URL de fichier" est activée sur la page d'informations de l'extension. Consultez la discussion du WECG.
Autres lancements d'API
- API Runtime:à partir de Chrome 116, vous pouvez utiliser
runtime.getContexts()
pour récupérer des informations sur les contextes actifs. Par exemple, vous pouvez vérifier si un document hors écran actif est présent. - API Side Panel Dans Chrome 116, vous pouvez utiliser
sidepanel.open()
pour ouvrir le panneau latéral de l'extension de manière programmatique en réponse à un geste de l'utilisateur, tel qu'un clic dans un menu contextuel. - API TabCapture : possibilité d'appeler
getMediaStreamId()
à partir du service worker de l'extension et d'obtenir un objetMediaStream
à partir d'un ID de flux dans un document hors écran dans Chrome 116. Pour en savoir plus, consultez Enregistrement audio et capture d'écran. - API DeclarativeNetRequest:la valeur par défaut de la propriété
isUrlFilterCaseSensitive
a été remplacée parfalse
dans Chrome 118.
Bientôt disponible…
Nous prévoyons de résoudre tous les problèmes restants de la page des problèmes connus avec la sortie de Chrome 120. Nous prévoyons également d'ajouter les fonctionnalités suivantes:
- L'API UserScripts permettra aux gestionnaires de scripts utilisateur de coordonner comment et quand injecter une collection de scripts utilisateur dans des pages Web. Pour en savoir plus, consultez la proposition du WECG.
- L'API ReadingList permet aux développeurs de créer, de lire, de mettre à jour et de supprimer les métadonnées du panneau "Liste de lecture" du panneau latéral. Pour en savoir plus, regardez la vidéo Nouveautés des extensions Chrome.
- Suite aux commentaires reçus dans le groupe de la communauté des extensions Web, nous augmentons considérablement la limite de règles statiques activées, qui passe de 10 à 50. De plus, nous augmentons le nombre total de règles statiques autorisées de 50 à 100. Cette fonctionnalité est actuellement disponible dans Canary.
- L'API de gestion des fichiers sera disponible pour les extensions ChromeOS à partir de ChromeOS 120. Elle permettra aux extensions d'ouvrir des fichiers avec des types MIME et des extensions de fichiers spécifiés de manière similaire à la gestion des fichiers de la plate-forme Web.
- Les extensions pourront utiliser l'API Push Web via
self.registration.pushManager.subscribe()
sans afficher de notification visible par l'utilisateur en définissantuserVisibleOnly
surfalse
. Les notifications push deviendront ainsi une alternative plus fluide aux WebSockets dans les service workers (MV3) pour la communication client-serveur asynchrone. Pour en savoir plus, consultez le bug de Chromium et la discussion du WECG.
Consultez la page Nouveautés des extensions pour en savoir plus dès que ces fonctionnalités seront disponibles dans la version bêta de Chrome.
Mises à niveau de la documentation
Nous avons également amélioré et complété notre documentation. N'hésitez pas à poser vos questions sur le groupe chromium et à signaler les problèmes de documentation.
Sélection
- Nous avons remanié la page de destination des Samples. Vous pouvez désormais filtrer par API, autorisation et type, ce qui vous permet de trouver plus facilement des exemples spécifiques. Cette amélioration a été réalisée en collaboration avec notre stagiaire de l'édition estivale du programme Summer of Code, Xuezhou Dai. Découvrez son expérience dans cet article de blog.
- Utiliser votre compte Google Analytics avec le Chrome Web Store explique comment afficher Google Analytics 4 pour votre fiche Chrome Web Store, en complément des données fournies par le tableau de bord du développeur. Ce guide explique comment activer Google Analytics, surveiller les performances des annonces, suivre les conversions et accorder à d'autres comptes l'accès aux données Google Analytics.
- Nous avons publié un nouveau guide sur le fonctionnement des cookies et des API de stockage Web dans les extensions Chrome. Il contient tout ce que vous devez savoir sur la Privacy Sandbox en tant que développeur d'extensions.
- Nous avons publié de nouveaux articles sur l'intégration de tests dans vos projets d'extension: Tests unitaires des extensions Chrome et Tests de bout en bout pour les extensions fournissent des conseils généraux et des bonnes pratiques pour plusieurs frameworks populaires. Pour obtenir un tutoriel pratique, consultez Tester des extensions Chrome avec Puppeteer.
Plus d'actualités
- Nous avons réécrit les conseils sur l'API Declarative Net Request afin de mieux expliquer comment implémenter des règles déclaratives.
- Nous avons ajouté des consignes pour migrer le code hébergé à distance vers Manifest V3. De plus, pour réduire le risque de rencontrer des problèmes lors de la publication, nous vous proposons des stratégies pour publier votre extension Manifest V3 par étapes.
- Découvrez comment vous connecter à un WebSocket dans le service worker de votre extension.
- Nous avons étendu notre guide d'aide pour inclure des instructions plus détaillées sur la façon de signaler un bug, de suivre les problèmes existants, de demander de nouvelles fonctionnalités, etc.
Bientôt disponible…
- Documentation de référence et tutoriel sur l'API User Scripts.
- Tutoriel et exemples Firebase
- Documentation de référence de l'API ReadingList
Refonte du Chrome Web Store 🌈
Plus tôt ce mois-ci, nous avons annoncé une version preview anticipée du nouveau Chrome Web Store, comme nous l'avons laissé entendre lors de Google I/O. Découvrez-le par vous-même : https://chromewebstore.google.com/. Voici quelques modifications notables:
- La liste des catégories est passée de onze à dix-sept catégories réparties en trois groupes.
- Amélioration de la saisie semi-automatique dans la recherche.
- Les captures d'écran sont désormais affichées dans une qualité nettement supérieure. Si ce n'est pas déjà fait, vous pouvez importer des captures d'écran de 1 280 x 800 pixels.
- Les réponses aux questions dans l'onglet "Assistance" affichent désormais des lignes nouvelles.
- Lorsque vous répondez aux avis des utilisateurs et aux questions d'assistance, un badge "Développeur" s'affiche désormais à côté de votre nom.
- Vous pouvez fournir aux utilisateurs un lien direct vers la page des avis en ajoutant "/reviews" à la fin de l'URL de votre article sur le Play Store (par exemple,
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
).
Merci à tous pour vos commentaires sur le groupe chromium-google. N'hésitez pas à participer à la discussion ou à envoyer vos commentaires directement à l'équipe CWS à l'aide de l'élément de menu Envoyer des commentaires:
Vous pouvez également envoyer un formulaire de candidature pour figurer dans la collection "Sélection des éditeurs". Des améliorations seront bientôt apportées au tableau de bord du développeur.
💡 Le saviez-vous ?
- Une nouvelle vidéo sur le débogage des extensions Chrome est disponible. Il couvre de nombreux sujets que vous connaissez peut-être déjà, mais il partage également quelques astuces pratiques pour utiliser les outils pour les développeurs dans les extensions.
- Vous devez désormais fournir des règles de confidentialité pour chaque extension. Auparavant, vous ne pouviez ajouter qu'une seule politique de confidentialité par compte de développeur. Cela pouvait être gênant si vous aviez plusieurs extensions associées à un même compte de développeur. Cette nouvelle interface est disponible dans l'onglet Confidentialité de votre article dans le tableau de bord du développeur. Cela signifie que les règles de confidentialité au niveau du compte ne sont plus acceptées.
Je vous contacte 🙌
Nous avons continué à contacter la communauté des développeurs d'extensions par le biais de rendez-vous individuels, de lancements de nouveaux programmes et de participation à des sommets. Voici quelques-unes des principales caractéristiques:
- Le programme Experts Google en développement pour les extensions a été lancé en août. Nous avons recruté plus d'une douzaine de nouveaux GDE spécialisés dans les extensions Chrome du monde entier, qui nous fournissent d'excellents commentaires. C'est un moment très excitant pour le programme.
- Nous avons participé à la TPAC (conférence annuelle du W3C) en tant que membres du groupe de la communauté des extensions Web. Nous avons rencontré des représentants de Firefox et de Safari, ainsi que plusieurs membres de la communauté. Nous avons fait d'importants progrès sur plusieurs sujets, notamment en passant à des API d'extension plus cohérentes, en travaillant sur une spécification et en nous appuyant sur les tests de la plate-forme Web pour créer une nouvelle suite de tests. Lisez le compte-rendu complet dans le dépôt WECG.
- La semaine dernière, l'équipe chargée de l'extension a participé au Ad-Filtering Dev Summit (Sommet de développement sur le filtrage des annonces) à Amsterdam. Il a rencontré plusieurs d'entre vous lors d'un café-discussion qu'il a organisé avant la semaine du sommet et lors des permanences de bureau ouvertes le vendredi.
Même si vous n'avez pas pu assister à l'un de ces événements, vous pouvez continuer à vous impliquer en posant des questions sur le groupe Google chromium-extensions, en suivant les discussions des partenaires de navigateurs sur le WECG et en signalant tout problème de documentation.
Merci encore d'avoir fait partie de la communauté des développeurs d'extensions.