Format du fichier manifeste

Chaque extension doit avoir un fichier manifest.json dans son répertoire racine qui énumère des informations importantes sur la structure et le comportement de cette extension. Cette page explique la structure des fichiers manifestes d'extension et les fonctionnalités qu'elles inclure.

Exemples

Les exemples de fichiers manifestes suivants présentent la structure de base et certains fonctionnalités couramment utilisées comme point de départ pour créer votre propre fichier manifeste:

Fichier manifeste minimal

{
  "manifest_version": 3,
  "name": "Minimal Manifest",
  "version": "1.0.0",
  "description": "A basic example extension with only required keys",
  "icons": {
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
}

Enregistrer un script de contenu

{
  "manifest_version": 3,
  "name": "Run script automatically",
  "description": "Runs a script on www.example.com automatically when user installs the extension",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "content_scripts": [
    {
      "js": [
        "content-script.js"
      ],
      "matches": [
        "http://*.example.com//"
      ]
    }
  ]
}

Injecter un script de contenu

{
  "manifest_version": 3,
  "name": "Click to run",
  "description": "Runs a script when the user clicks the action toolbar icon.",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "background": {
    "service_worker": "service-worker.js"
  },
  "action": {
    "default_icon": {
      "16": "images/icon-16.png",
      "32": "images/icon-32.png",
      "48": "images/icon-48.png",
      "128": "images/icon-128.png"
    }
  },
  "permissions": ["scripting", "activeTab"]
}
{
  "manifest_version": 3,
  "name": "Popup extension that requests permissions",
  "description": "Extension that includes a popup and requests host permissions and storage permissions .",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "host_permissions": [
    "https://*.example.com/"
  ],
  "permissions": [
    "storage"
  ]
}

Panneau latéral

{
  "manifest_version": 3,
  "name": "Side panel extension",
  "version": "1.0",
  "description": "Extension with a default side panel.",
  "icons": {
    "16": "images/icon-16.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "side_panel": {
    "default_path": "sidepanel.html"
  },
  "permissions": ["sidePanel"]
}

Touches du fichier manifeste

Vous trouverez ci-dessous la liste de toutes les clés de fichier manifeste compatibles.

Clés requises par la plate-forme Extensions

"manifest_version"
Entier spécifiant la version du format de fichier manifeste dont votre extensions. La seule valeur acceptée est 3.
"name"
Chaîne identifiant l'extension dans le Chrome Web Store, la boîte de dialogue d'installation et sur la page "Extensions Chrome" de l'utilisateur (chrome://extensions). La la longueur maximale est de 75 caractères. Pour en savoir plus sur l'utilisation de noms spécifiques aux paramètres régionaux, consultez la page Internationalisation.
"version"
Chaîne identifiant le numéro de version de l'extension. Pour plus d'informations sur Pour en savoir plus sur la mise en forme du numéro de version, consultez la section Version.

Clés requises par le Chrome Web Store

"description"
Chaîne décrivant l'extension sur le Chrome Web Store et dans la la page de gestion des extensions. La longueur maximale est de 132 caractères. Pour plus d'informations sur la localisation des descriptions, consultez la page Internationalisation.
"icons"
Une ou plusieurs icônes représentant votre extension. Pour en savoir plus sur les bonnes consultez la section Icônes.

Clés facultatives

"action"
Définit l'apparence et le comportement de l'icône de l'extension dans l'interface Barre d'outils Google. Pour en savoir plus, consultez chrome.action.
"author"
Indique l'adresse e-mail du compte utilisé pour créer la .
"background"
Spécifie le fichier JavaScript contenant le service worker de l'extension, qui agit en tant que un gestionnaire d'événements. Pour en savoir plus, consultez l'article À propos du service d'extension nœuds de calcul.
"chrome_settings_overrides"
Définit les forçages pour les paramètres Chrome sélectionnés. Pour en savoir plus, consultez Remplacement des paramètres de Chrome
"chrome_url_overrides"
Définit les forçages pour les pages Chrome par défaut. Pour en savoir plus, consultez Ignorer les pages Chrome
"commands"
Définit les raccourcis clavier dans l'extension. Pour plus plus d'informations, consultez chrome.commands.
"content_scripts"
Spécifie les fichiers JavaScript ou CSS à utiliser lorsque l'utilisateur ouvre certains sites Web . Pour en savoir plus, consultez Scripts de contenu.
"content_security_policy"
Définit les restrictions sur les scripts, les styles et les autres ressources d'une extension peuvent utiliser. Pour en savoir plus, consultez Content Security Policy.
"cross_origin_embedder_policy"
Spécifie une valeur pour l'en-tête HTTP Cross-Origin-Embedder-Policy, qui configure l'intégration de ressources multi-origines dans une page d'extension.
"cross_origin_opener_policy"
Spécifie une valeur pour l'en-tête HTTP Cross-Origin-Opener-Policy, ce qui permet vous vous assurez qu'une page d'extension de premier niveau ne partage pas de contexte de navigation. contenant des documents d'origine différente.
"declarative_net_request"
Définit des règles statiques pour declarativeNetRequest qui permet de bloquer et de modifier les requêtes réseau.
"default_locale"
Chaîne définissant la langue par défaut d'une extension compatible plusieurs paramètres régionaux. Exemples : "en" et "pt_BR". Cette clé est requise dans localisées et ne doivent pas être utilisées dans des extensions qui ne sont pas localisées. Pour en savoir plus, consultez Internationalisation.
"devtools_page"
Définit les pages qui utilisent les API DevTools.
"export"
Permet d'exporter des ressources à partir de l'extension. Pour en savoir plus, consultez Exportation.
"externally_connectable"
Spécifie quelles autres pages et extensions peuvent être associées à vos extensions. Pour Pour en savoir plus, consultez "externally_connectable".
"homepage_url"
Chaîne spécifiant l'URL de la page d'accueil de l'extension. S'il n'est pas défini, la page d'accueil par défaut est la page Chrome Web Store de l'extension. Ce champ est particulièrement utile si vous hébergez l'extension sur votre propre site.
"host_permissions"
Indique les pages Web avec lesquelles votre extension est autorisée à interagir. Elles sont définies à l'aide de Modèles de correspondance d'URL. L'autorisation de l'utilisateur pour ces sites est demandée lors de l'installation en temps réel. Pour en savoir plus, consultez la section Autorisations de l'hôte.
"import"
Permet d'importer des ressources dans l'extension. Pour en savoir plus, consultez Importation.
"incognito"
Définit le comportement de l'extension en mode navigation privée. Les valeurs acceptées sont "spanning", "split" et "not_allowed". Pour en savoir plus, consultez Navigation privée.
"key"
Spécifie l'ID de votre extension pour différents cas d'utilisation de développement. Pour plus d'informations, consultez la section Clé.
"minimum_chrome_version"
Définit la version de Chrome la plus ancienne pouvant installer votre extension. La valeur doit être une sous-chaîne d'une chaîne de version du navigateur Chrome existante, par exemple "107" ou "107.0.5304.87". Les utilisateurs dont les versions de Chrome sont antérieures à la version minimale, la mention "Non compatible" sur le Chrome Web Store et sont impossible d'installer l'extension. Si vous l'ajoutez à une extension existante, les utilisateurs d'une ancienne version de Chrome ne recevront pas les mises à jour automatiques de votre . Cela inclut les utilisateurs professionnels de mode éphémère.
"oauth2"
Autorise l'utilisation d'un ID de sécurité OAuth 2.0. La valeur de cette clé doit être un avec les propriétés "client_id" et "scopes". Pour plus d'informations, consultez la documentation OAuth Tutoriel 2.0
"omnibox"
Permet à l'extension d'enregistrer un mot clé dans la barre d'adresse de Chrome. Pour plus en savoir plus, consultez omnibox.
"optional_host_permissions"
Déclare un hôte facultatif autorisations pour votre extension.
"optional_permissions"
Déclare des autorisations facultatives pour votre extension.
"options_page"
Spécifie le chemin d'accès à un fichier options.html que l'extension doit utiliser en tant que la page d'options. Pour en savoir plus, consultez la section Donner aux utilisateurs options.
"options_ui"
Spécifie le chemin d'accès à un fichier HTML qui permet à l'utilisateur de modifier les options d'extension. sur la page "Extensions Chrome". Pour en savoir plus, consultez la section Intégration options.
"permissions"
Active l'utilisation d'API d'extension spécifiques. Consultez la section Autorisations. pour obtenir une explication générale. Les pages de référence des API individuelles répertorient les autorisations dont ils ont besoin.
"requirements"
Indique les technologies requises pour utiliser l'extension. Pour obtenir la liste des consultez la section Conditions requises.
"sandbox"
Définit un ensemble de pages d'extensions qui n'ont pas accès aux API ou un accès direct aux pages hors bac à sable. Pour en savoir plus, consultez Bac à sable.
"short_name"
Chaîne contenant une version abrégée du nom de l'extension à utiliser lorsque l'espace de caractères est limité. Il ne doit pas dépasser 12 caractères. S'il s'agit non défini, version tronquée du "nom" s'affiche à la place.
"side_panel"
Identifie un fichier HTML à afficher dans un sidePanel.
"storage"
Déclare un schéma JSON pour le stockage géré. . Pour plus consultez Fichier manifeste pour les zones de stockage.
"tts_engine"
Enregistre l'extension en tant que moteur de synthèse vocale. Pour en savoir plus, consultez l'API ttsEngine.
"update_url"
Chaîne contenant l'URL de la page de mise à jour de l'extension. Utilisez cette clé si vous hébergez votre extension. en dehors du Chrome Web Store.
"version_name"
Chaîne décrivant la version de l'extension. Exemples : "1.0 beta" et "build rc2" Si aucune valeur n'est spécifiée, la "version" s'affiche sur la page la page de gestion des extensions.
"web_accessible_resources"
Définit les fichiers de l'extension auxquels les pages Web ou d'autres . Pour en savoir plus, consultez la page Web accessible Ressources.

Clés ChromeOS facultatives

"file_browser_handlers"
Fournit l'accès à fileBrowserHandler qui permet aux extensions d'accéder à l'explorateur de fichiers ChromeOS.
"file_handlers"
Spécifie les types de fichiers que les extensions ChromeOS doivent gérer. Pour en savoir plus, consultez file_handlers.
"file_system_provider_capabilities"
Autoriser l'accès à fileSystemProvider qui permet aux extensions de créer des systèmes de fichiers utilisables par ChromeOS.
"input_components"
Autorise l'utilisation de l'API de l'éditeur de mode de saisie. Pour en savoir plus, consultez input_components.