Après avoir lu la section Premiers pas, consultez ce guide pour découvrir les composants des extensions, leurs fonctionnalités dans Manifest V3 et comment les combiner. Familiarisez-vous tout d'abord avec les fonctionnalités des extensions: Découvrez ensuite comment combiner ces fonctionnalités à l'aide de la section Concepts fondamentaux 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.
Utilisez l'API chrome.sidePanel pour héberger du contenu dans le panneau latéral du navigateur, à côté du contenu principal d'une page Web.
Permet de contrôler l'affichage de l'icône d'une extension dans la barre d'outils.
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.
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.
Les extensions DevTools ajoutent des fonctionnalités aux outils pour les développeurs Chrome en accédant aux API d'extension propres à ces outils via une page "Outils de développement" ajoutée à l'extension. Vous pouvez également utiliser l'API chrome.debugger pour appeler le protocole de débogage à distance de Chrome. Associez-le à un ou plusieurs onglets pour instrumenter les interactions réseau, déboguer JavaScript, modifier le DOM, etc.
L'API chrome.notifications vous permet de créer des notifications à l'aide de modèles et de les afficher dans la barre d'état système de l'utilisateur.
Utilisez l'API chrome.history pour interagir avec l'enregistrement des pages consultées du navigateur et l'API chrome.browsingData pour gérer d'autres données de navigation. Utilisez chrome.topSites pour accéder aux sites les plus consultés.
Utilisez des API telles que chrome.tabs, chrome.tabGroups et chrome.windows pour créer, modifier et organiser le navigateur de l'utilisateur.
Utilisez l'API chrome.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.
Utilisez l'API chrome.identity pour obtenir des jetons d'accès OAuth 2.0.
L'API chrome.management permet de 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.
L'API chrome.omnibox vous permet d'enregistrer un mot clé dans l'omnibox (barre d'adresse) de Google Chrome.
L'API chrome.privacy vous permet de contrôler l'utilisation des fonctionnalités de Chrome qui peuvent affecter la confidentialité des données des utilisateurs. Consultez également l'API chrome.proxy pour gérer les paramètres proxy de Chrome.
Utilisez l'API chrome.downloads pour programmer le lancement, la surveillance, la manipulation et la recherche de téléchargements.
Utilisez les API chrome.bookmarks et chrome.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.
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.
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.
Utilisez les API chrome.declarativeNetRequest, chrome.webRequest et chrome.webNavigation pour observer, bloquer et modifier les requêtes réseau.
Découvrez différentes approches pour enregistrer des contenus audio et vidéo à partir d'un onglet, d'une fenêtre ou d'un écran à l'aide des API de plates-formes Web telles que chrome.tabCapture ou getDisplayMedia().
Utilisez l'API chrome.contentSettings pour déterminer si les sites Web peuvent utiliser des fonctionnalités telles que les cookies, JavaScript et les plug-ins. Plus généralement, les paramètres de contenu vous permettent de personnaliser le comportement de Chrome au niveau de chaque site, et non plus 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.
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.
Comprendre les autorisations: comment elles fonctionnent et quand éviter de les demander lorsqu’elles ne sont pas nécessaires.
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.
Activez vos extensions pour échanger des messages avec des applications natives.
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.
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.
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.
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.