Que se passe-t-il avec les extensions Chrome ?

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 objet MediaStream à 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 par false 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éfinissant userVisibleOnly sur false. 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

Plus d'actualités

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 🌈

Capture d'écran de la page d'accueil du Chrome Web Store..
Page d'accueil du nouveau 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:

Envoyer des commentaires sur la page du Chrome Web Store
En envoyant des commentaires sur la page du Chrome Web Store

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.
    Capture d'écran de la zone des règles de confidentialité
    Capture d'écran de la zone des règles de confidentialité

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.
    L'équipe chargée des extensions lors du Dev Summit sur le filtrage des annonces
    quipe chargée des extensions lors du Sommet des développeurs sur le filtrage des annonces

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.