Développer
Après avoir lu la section Premiers pas, utilisez ce guide comme plan des composants d'extension, de leurs capacités et de la façon de les combiner. Commencez par vous familiariser avec les possibilités offertes par les extensions : Découvrez ensuite comment combiner ces fonctionnalités à l'aide de la section Concepts de base des extensions.
Concevoir l'interface utilisateur
La plupart des extensions nécessitent une interaction de l'utilisateur pour fonctionner. La plate-forme des extensions propose plusieurs méthodes pour ajouter des interactions à votre extension. Ces méthodes incluent l'affichage de pop-ups déclenchés à partir de la barre d'outils Chrome, des panneaux latéraux, des menus contextuels, etc.
Panneau latéral
Utilisez l'API
browser.sidePanel pour héberger du contenu dans le panneau latéral du navigateur, à côté du contenu principal d'une page Web.
Action
Permet de contrôler l'affichage de l'icône d'une extension dans la barre d'outils.
Menus
Ajoutez des éléments au menu contextuel de Google Chrome.
Contrôler le navigateur
Les API d'extension Chrome vous permettent de modifier le fonctionnement de votre navigateur.
Remplacer les pages et les paramètres Chrome
Les paramètres de remplacement permettent aux extensions de remplacer les paramètres Chrome sélectionnés. En outre, les extensions peuvent utiliser des pages de remplacement HTML pour remplacer une page normalement fournie par Google Chrome. Elles peuvent remplacer le gestionnaire de favoris, l'onglet "Historique" ou le nouvel onglet.
Étendre les outils de développement
Les extensions DevTools ajoutent des fonctionnalités aux outils pour les développeurs Chrome en accédant aux API d'extension spécifiques à DevTools via une page DevTools ajoutée à l'extension. Vous pouvez également utiliser l'API
browser.debugger pour appeler le protocole de débogage à distance de Chrome. Associez-le à un ou plusieurs onglets pour instrumenter l'interaction réseau, déboguer JavaScript, modifier le DOM et plus encore.
Afficher les notifications
L'API
browser.notifications vous permet de créer des notifications à l'aide de modèles et de les afficher aux utilisateurs dans la barre d'état système.
Gérer l'historique
Utilisez l'API
browser.history pour interagir avec l'historique des pages visitées du navigateur et l'API browser.browsingData pour gérer d'autres données de navigation. Utilisez browser.topSites pour accéder aux sites les plus visités.
Contrôler les onglets et les fenêtres
Utilisez des API telles que
browser.tabs, browser.tabGroups et browser.windows pour créer, modifier et organiser le navigateur de l'utilisateur.
Ajouter des raccourcis clavier
Utilisez l'API
browser.commands pour ajouter des raccourcis clavier qui déclenchent des actions dans votre extension. Par exemple, vous pouvez ajouter un raccourci pour ouvrir l'action du navigateur ou envoyer une commande à l'extension.
Authentifier les utilisateurs
Utilisez l'API
browser.identity pour obtenir des jetons d'accès OAuth 2.0.
Gérez les extensions
L'API
browser.management fournit des méthodes pour gérer la liste des extensions installées et en cours d'exécution. Il est particulièrement utile pour les extensions qui remplacent la page "Nouvel onglet" intégrée.
Fournir des suggestions
L'API
browser.omnibox vous permet d'enregistrer un mot clé dans l'omnibox (barre d'adresse) de Google Chrome.
Mettre à jour les paramètres de Chrome
Utilisez l'API
browser.privacy pour contrôler l'utilisation des fonctionnalités de Chrome qui peuvent affecter la confidentialité d'un utilisateur. Consultez également l'API browser.proxy pour gérer les paramètres proxy de Chrome.
Gérer les téléchargements
Utilisez l'API
browser.downloads pour initier, surveiller, manipuler et rechercher des téléchargements par voie programmatique.
Utiliser les favoris et la liste de lecture
Utilisez les API
browser.bookmarks et browser.readingList pour créer, organiser et manipuler ces listes.
Contrôler le Web
Modifiez de façon dynamique le contenu et le comportement des pages Web. Vous pouvez contrôler et modifier le Web en injectant des scripts, en interceptant des requêtes réseau et en utilisant des API Web pour interagir avec les pages Web.
Injecter du code JavaScript et CSS
Les scripts de contenu sont des fichiers exécutés dans le contexte de pages Web. Ils utilisent le Document Object Model (DOM) standard pour lire les détails des pages Web consultées par le navigateur, les modifier et transmettre des informations à leur extension parente.
Accéder à l'onglet actif
L'autorisation
"activeTab" accorde à une extension un accès temporaire à l'onglet actuellement actif lorsque l'utilisateur appelle l'extension, par exemple en cliquant sur son action. L'accès à l'onglet est actif lorsque l'utilisateur se trouve sur la page en question et est révoqué s'il quitte l'onglet ou le ferme.
Contrôler les requêtes Web
Utilisez les API
browser.declarativeNetRequest, browser.webRequest et browser.webNavigation pour observer, bloquer et modifier les requêtes réseau.
Enregistrement audio et capture d'écran
Découvrez différentes approches pour enregistrer l'audio et la vidéo d'un onglet, d'une fenêtre ou d'un écran à l'aide d'API de plate-forme Web telles que
browser.tabCapture ou getDisplayMedia().
Modifier les paramètres du site Web
Utilisez l'API
browser.contentSettings pour contrôler si les sites Web peuvent utiliser des fonctionnalités telles que les cookies, le code JavaScript et les plug-ins. Plus généralement, les paramètres de contenu vous permettent de personnaliser le comportement de Chrome site par site, et non de manière globale.
Concepts fondamentaux
Les API de plate-forme Web et d'extension vous permettent de créer des fonctionnalités plus complexes en combinant différents composants d'UI et fonctionnalités de plate-forme d'extension.
Service workers
Un service worker d'extension (service-worker.js) est un script basé sur des événements que le navigateur s'exécute en arrière-plan. Il est souvent utilisé pour traiter des données, coordonner des tâches dans différentes parties d'une extension et en tant que gestionnaire d'événements pour l'extension.
Autorisations
Comprendre les autorisations: comment elles fonctionnent et quand éviter de les demander lorsqu’elles ne sont pas nécessaires.
Filtrage du contenu
Il existe différentes manières de mettre en œuvre le filtrage du réseau et du contenu dans les extensions Chrome. Découvrez les fonctionnalités de filtrage de contenu disponibles pour les extensions, ainsi que les différentes approches, techniques et API de filtrage que les extensions Chrome peuvent utiliser.
Message à véhiculer
Souvent, les scripts de contenu ou d'autres pages d'extensions doivent envoyer des informations au service worker de l'extension ou en recevoir. Dans ce cas, chaque côté peut écouter les messages envoyés par l'autre côté et répondre sur le même canal.
Messagerie native
Activez vos extensions pour échanger des messages avec des applications natives.
Éviter le code hébergé à distance
Dans Manifest V3, les extensions doivent regrouper tout le code qu'elles utilisent dans l'extension elle-même. Pour ce faire, vous disposez de différentes stratégies.
Storage
Les extensions Chrome disposent d'une API Storage spécialisée, disponible pour tous leurs composants. Il comprend quatre zones de stockage distinctes pour des cas d'utilisation spécifiques et un écouteur d'événements qui suit chaque mise à jour des données.
Documents hors écran
Les service workers ne disposent pas d'un accès DOM. L'API Offscreen permet à l'extension d'utiliser des API DOM dans un document masqué sans interrompre l'expérience utilisateur en ouvrant de nouvelles fenêtres ou de nouveaux onglets.
Isolation multi-origine
L'isolation multi-origine permet à une page Web d'utiliser des fonctionnalités puissantes telles que
SharedArrayBuffer. Une extension peut activer l'isolation multi-origine en spécifiant les valeurs appropriées pour les clés "cross_origin_embedder_policy" et "cross_origin_opener_policy" du fichier manifeste.
Cycle de vie des mises à jour d'extensions
Découvrez le processus de mise à jour des extensions Chrome et comment surveiller la distribution des mises à jour d'extensions.