Recherche
Effacer la recherche
Fermer la recherche
Applications Google
Menu principal

Installer des extensions Chrome via une règle relative aux groupes ou le fichier "master_preferences"

Cet article s'adresse aux administrateurs informatiques qui souhaitent installer d'office des extensions Chrome sur les appareils Windows gérés par l'entreprise par le biais de règles utilisateur basées sur le système d'exploitation et la machine.

Les extensions Google Chrome sont de petits programmes permettant de modifier et d'améliorer les fonctionnalités du navigateur.

Vous pouvez télécharger des extensions Google Chrome à partir de la galerie des extensions. Vous avez également la possibilité de créer vos propres extensions. Pour savoir comment procéder, consultez cet article relatif aux extensions Google Chrome.

Une extension peut être installée d'office de deux façons : par l'intermédiaire d'une règle relative aux groupes ou via le fichier "master_preferences".

Installation via une règle relative aux groupes

L'utilisation d'une règle pour déployer une extension ou une application Web Chrome constitue la méthode la plus simple et la plus adaptable. Nous vous recommandons de recourir à cette méthode pour déployer des extensions, car elle ne requiert pas la présence du fichier CRX sur l'ordinateur. Ce fichier doit simplement être accessible via une URL spécifique.

Pour utiliser cette méthode, définissez la règle pour qu'elle "force l'installation" de l'extension, comme décrit ici.

Installation via le fichier "master_preferences"

Les extensions installées d'office sont ajoutées au fichier "master_preferences" situé dans le même dossier que l'exécutable "chrome.exe". Le fichier CRX peut donc être stocké n'importe où, et les bits correspondants n'ont pas besoin de résider sur l'ordinateur de l'utilisateur cible ni d'être incorporés dans un script d'installation.

Si vous n'êtes pas familiarisé avec l'utilisation du fichier "master_preferences" ou son fonctionnement, consultez l'article relatif à la configuration des préférences.

Cette méthode est assortie de certaines conditions :

  • Cette méthode ne fonctionne que si l'utilisateur a accès à la galerie d'extensions publique ou à une autre URL hébergeant le fichier CRX. Par conséquent, elle risque de se révéler inopérante si l'utilisateur se trouve derrière un pare-feu d'entreprise ou un proxy restreignant l'accès à la galerie.

  • Cette méthode ne fonctionne généralement que pour les nouvelles installations. Avec une installation existante, elle est fastidieuse et requiert de nombreuses étapes de nettoyage.

Pour installer d'office une extension via le fichier "master_preferences" :

  1. Recherchez le fichier CRX à installer. Téléchargez-le à partir de la galerie, ou créez votre propre extension et intégrez-la dans un package.

  2. Ouvrez le fichier CRX avec un programme ZIP, puis recherchez le fichier manifest.json (il s'agit d'un simple fichier texte). Ce fichier contient de nombreuses valeurs dont vous aurez besoin.

  3. Configurez votre fichier "master_preferences" avec les valeurs du fichier "manifest.json".

Voici un exemple de fichier "master_preferences" qui permet d'installer d'office l'extension du bureau à distance Chrome :


{
 "homepage" : "http://dev.chromium.org",
 "homepage_is_newtabpage" : true,
 "extensions": {
    "settings": {
       "gbchcmhmhahfdphkhkmpfmihenigjmpp": {
          "location": 1,
          "manifest": {
             "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5cK3ybDkh173plsjDX
              oqUzvsjFRMtbc5+a8HR6dxYBETeXQ7GOR5/xYnsY2R4smo5ly4yUK69iF7rnPNH+
              X97K7e7JFbuH5W/ZRc8YaIG66oJ9JwKZagSOZasSJPWNz4f1GdaHD1Z4KRucvOYx
              saPVdwS2W3nbG6i3oQFaio+JQIDAQAB",
             "name": "Chrome Remote Desktop",
             "permissions": [ "tabs", "http://www.google.com/" ],
             "update_url": "http://clients2.google.com/service/update2/crx",
             "version": "0.0"
          },
          "path": "gbchcmhmhahfdphkhkmpfmihenigjmpp\\0.0",
          "state": 1
       }
    }
  }
}

L'explication détaillée des lignes de ce fichier "master_preferences" est la suivante :

  • La première valeur figurant sous "settings" correspond au code de hachage de l'extension ("apflmjolhbonpkbkooiamcnenbmbjcbf"). Vous pouvez obtenir ce code en empaquetant le fichier CRX. Ce code constitue également l'identifiant de l'extension dans la galerie.
  • La chaîne "location" doit toujours présenter la valeur 1.
  • La section "manifest" doit contenir les chaînes "key", "name", "permissions", "update_url" et "version". Ces valeurs peuvent provenir du fichier manifeste de l'extension.
  • La valeur "key" découle de l'extension empaquetée, tout comme le code de hachage. Si vous examinez un fichier CRX non décompressé, vous trouverez la valeur "key" dans le fichier manifest.json.
  • La chaîne "name" peut prendre n'importe quelle valeur ; toutefois, l'ajout d'une étiquette temporaire (dans cet exemple, "(Installing...)") permet aux utilisateurs de comprendre la raison pour laquelle le chargement d'une extension peut prendre un certain temps.
  • La chaîne "permissions" doit définir les mêmes autorisations que celles du fichier d'extension CRX indiqué dans "update_url" ; dans le cas contraire, l'utilisateur obtiendra de nombreux messages d'avertissement et l'extension ne se chargera pas. Par conséquent, vous ne pouvez pas spécifier une chaîne d'autorisations vide alors que l'extension proprement dite requiert un grand nombre d'autorisations, car ceci masquerait le privilège d'escalade.
  • La chaîne "update_url" indique l'URL hébergeant le fichier CRX. Cette valeur figure également dans le fichier manifest.json.
  • La chaîne "version" doit toujours présenter la valeur "0.0".
  • La chaîne "path" doit systématiquement être définie sur le code de hachage de l'extension, suivi de "\\0.0".
  • La chaîne "state" doit toujours prendre la valeur 1.
  • Si l'une de ces règles n'est pas respectée, le chargement de l'extension risque d'échouer ou l'utilisateur peut obtenir un message d'avertissement.

Important : Si l'extension comprend des scripts de contenu qui nécessitent des autorisations, le fichier master_preferences doit également fournir ces informations. Exemple :


{
 "extensions": {
    "settings": {
       "apflmjolhbonpkbkooiamcnenbmbjcbf": {
          "location": 1,
          "manifest": {
              "content_scripts": [ {
                "all_frames": true,
                "js": [ "script.js" ],
                "matches": [ "http://*/*", "https://*/*" ],
                "run_at": "document_start"
              } ],
             "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5cK3ybDkh173plsjDX
             oqUzvsjFRMtbc5+a8HR6dxYBETeXQ7GOR5/xYnsY2R4smo5ly4yUK69iF7rnPNH+X
             97K7e7JFbuH5W/ZRc8YaIG66oJ9JwKZagSOZasSJPWNz4f1GdaHD1Z4KRucvOYxsa
             PVdwS2W3nbG6i3oQFaio+JQIDAQAB",
             "name": "Google Reader Notifier (Installing...)",
              ...
Si l'extension comporte des scripts de contenu qui nécessitent des autorisations ou accès, et que vous ne spécifiez pas ces informations dans ce fichier, le chargement de l'extension échouera.

Vous pouvez précharger plusieurs extensions. L'ajout d'une extension se révèle aussi simple que l'ajout d'un autre bloc sous "settings" :


{
 "extensions": {
    "settings": {
       "apflmjolhbonpkbkooiamcnenbmbjcbf": {  <-- extension one
          "location": 1,
          "manifest": {
              ...
          }
        },
       "oaiwevnmzvoinziufeuibyfnzwevmiiw": {  <-- extension two
         "location": 1,
         "manifest": {
           ...
       },
       ...
     }
   }
}

Si certaines autorisations associées à l'extension doivent faire l'objet d'une approbation par l'utilisateur, vous devez également ajouter une section "granted_permissions" :


{
  "extensions": {
    "settings": {
      "mihcahmgecmbnbcchbopgniflfhgnkff": {
        "location": 1,
        "manifest": {
          ...
        },
        "granted_permissions": {
          "api": [ "tabs" ],
          "explicit_host": [ "http://*.google.com/*", "https://*.google.com/" ],
          "scriptable_host": [ "http://example.com/" ]
        },
        ...
      },
      ...
    }
  }
}

Si vous n'ajoutez pas de section "granted_permissions", Chrome désactive immédiatement l'extension. Le champ "granted_permissions" contient les sous-champs suivants :

  • La chaîne "api" contient les autorisations API de la clé "permissions" du fichier manifeste.
  • La chaîne "explicit_host" contient les autorisations hôtes de la clé "permissions" du fichier manifeste.
  • La chaîne "scriptable_host" doit contenir les éventuels hôtes figurant dans les scripts de contenu de l'extension.

Pour générer le champ "granted_permissions", la méthode la plus simple consiste à installer l'extension en local, puis à copier les autorisations "granted_permissions" correspondantes contenues dans le fichier des préférences de votre profil Chrome.

Cet article vous a-t-il été utile ?
Comment pouvons-nous l'améliorer ?