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 
        
        
        
      chrome.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 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.
  
          Afficher les notifications
            
    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.
  
          Gérer l'historique
            
    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.
  
          Contrôler les onglets et les fenêtres
            
    Utilisez des API telles que 
        
        
        
      chrome.tabs, chrome.tabGroups et chrome.windows pour créer, modifier et organiser le navigateur de l'utilisateur.
  
          Ajouter des raccourcis clavier
            
    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.
  
          Authentifier les utilisateurs
            
    Utilisez l'API 
        
        
        
      chrome.identity pour obtenir des jetons d'accès OAuth 2.0.
  
          Gérer les extensions
            
    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.
  
          Fournir des suggestions
            
    L'API 
        
        
        
      chrome.omnibox vous permet d'enregistrer un mot clé dans l'omnibox (barre d'adresse) de Google Chrome.
  
          Mettre à jour les paramètres de 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.
  
          Gérer les téléchargements
            
    Utilisez l'API 
        
        
        
      chrome.downloads pour programmer le lancement, la surveillance, la manipulation et la recherche de téléchargements.
  
          Utiliser les favoris et la liste de lecture
            
    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.
            
          
        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 
        
        
        
      chrome.declarativeNetRequest, chrome.webRequest et chrome.webNavigation pour observer, bloquer et modifier les requêtes réseau.
  
          Enregistrement audio et capture d'écran
            
    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().
  
          Modifier les paramètres du site Web
            
    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.
            
          
        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.