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.
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.
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 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.
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.
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.
Utilisez des API telles que browser.tabs, browser.tabGroups et browser.windows pour créer, modifier et organiser le navigateur de l'utilisateur.
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.
Utilisez l'API browser.identity pour obtenir des jetons d'accès OAuth 2.0.
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.
L'API browser.omnibox vous permet d'enregistrer un mot clé dans l'omnibox (barre d'adresse) de Google 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.
Utilisez l'API browser.downloads pour initier, surveiller, manipuler et rechercher des téléchargements par voie programmatique.
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.
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 browser.declarativeNetRequest, browser.webRequest et browser.webNavigation pour observer, bloquer et modifier les requêtes réseau.
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().
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.
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.
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.
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.
Découvrez le processus de mise à jour des extensions Chrome et comment surveiller la distribution des mises à jour d'extensions.