Aller au contenu principal

Guide de déploiement et de configuration informatique

Ce document s’adresse à l’administrateur informatique qui doit forcer l’installation de HoverSpeak sur des appareils d’établissement, des salles de classe, des laboratoires ou des comptes élèves gérés.

Prérequis de déploiement

  • Versions du navigateur : Chrome 109+ ou Edge 109+ pour l’extension actuelle. HoverSpeak utilise les documents hors écran Manifest V3 via l’API chrome.offscreen, qui nécessite Chrome 109+ / MV3+. La fonction facultative de définitions de mots nécessite Chrome 148+, car elle s’appuie sur la nouvelle capacité d’IA locale de Chrome ; Microsoft Edge ne prend actuellement pas en charge cette fonction.
  • Autorisations requises par l’extension :
    • storage (includes managed storage via the schema below)
    • tts
    • scripting
    • offscreen
    • activeTab
    • Autorisations d’hôte: <all_urls>
  • Entrée de schéma administré dans manifest.json:
manifest.json
{
  "storage": {
    "managed_schema": "schema.json"
  }
}

Modèle de stratégie administrée

  • Les stratégies sont définies dans schema.json et lues via chrome.storage.managed.
  • Les valeurs effectives sont résolues dans cet ordre :
    1. Stratégie administrée
    2. Préférence synchronisée de l’utilisateur
    3. Valeur intégrée par défaut
  • Les clés de stratégie de raccourcis sont uniquement indicatives. ReadShortcutWindows, StopShortcutWindows, PauseShortcutWindows, ReadShortcutMac, StopShortcutMac et PauseShortcutMac mettent à jour les indications de raccourcis affichées par HoverSpeak, mais ne forcent pas les raccourcis clavier de Chrome ou Edge.
  • Détection de configuration administrée : HoverSpeak considère la configuration comme administrée lorsque l’extension est installée par un administrateur ou lorsqu’au moins une clé de stratégie administrée est présente. Les paramètres ne sont verrouillés que lorsque la clé de stratégie correspondante est définie.

Installation forcée étape par étape

Google Admin Console (Chrome)

  1. Accédez à la Console d’administrationAppareilsChromeApplications et extensionsUtilisateurs et navigateurs.
  2. Sélectionnez l’unité organisationnelle (OU) cible.
  3. Cliquez sur + et ajoutez l’extension par ID :
    • Chrome Web Store ID: kpkdjcalihjnkemhkdlciiekkmooglmb
  4. Définissez la règle d’installation sur Installation forcée.
  5. Ouvrez les détails de l’extension, puis configurez StratégieStockage administré avec le payload JSON de la section des stratégies ci-dessous.
  6. Appliquez la stratégie à l’OU et attendez sa propagation.

Validation :

  • Sur un appareil cible, ouvrez chrome://policy et cliquez sur Recharger les stratégies.
  • Confirmez que l’extension est présente dans chrome://extensions.

Microsoft Intune (Edge)

  1. Dans Microsoft Intune, accédez à AppareilsProfils de configuration et créez ou modifiez un profil pour Windows 10 et versions ultérieures.
  2. Utilisez le catalogue des paramètres et ajoutez le paramètre suivant :
    • Microsoft EdgeExtensionsConfigurer les paramètres de gestion des extensions.
  3. Ajoutez une entrée d’installation forcée pour Edge à l’aide de l’ID de la boutique :
    • Edge Add-ons ID: omibkefgmhnhfboefblahmjdcgapoeea
    • URL de mise à jour : https://edge.microsoft.com/extensionwebstorebase/v1/crx
  4. Ajoutez le payload JSON de stockage administré de la section des stratégies au bloc de configuration de l’extension.
  5. Attribuez le profil au groupe d’appareils cible.

Validation :

  • Sur un appareil cible, ouvrez edge://policy et cliquez sur Recharger les stratégies.
  • Confirmez que l’extension est présente dans edge://extensions.

Schéma de stratégie administrée (chrome.storage.managed)

Le schéma de stratégie administrée se trouve dans schema.json et est lu par le service worker via chrome.storage.managed.

Référence des clés de stratégie

Toutes les clés appartiennent à l’espace de noms de stratégie de l’extension et correspondent à schema.json.

CléTypeComportement
EnableCloudVoicesBooléenDéfinissez false pour garder les voix cloud désactivées et verrouiller leur interrupteur.
FollowMouseBooléenDéfinissez true pour toujours surligner le texte sous la souris.
AutoSwitchLanguageBooléenDéfinissez true pour détecter et changer automatiquement de langue.
ShowLanguageToastBooléenDéfinissez true pour afficher un message lorsque HoverSpeak change de langue.
WordByWordHighlightingEnabledBooléenDéfinissez true pour activer Word-by-Word et verrouiller l’interrupteur, ou false pour le désactiver et le verrouiller. Le seuil de mots reste une préférence utilisateur et vaut par défaut plus de 40 mots.
HideDonationAndRatingBooléenDéfinissez true pour masquer l’interface de don et d’avis dans les paramètres de l’extension.
OrganizationNameChaîneAffiche HoverSpeak provided by <name> dans les paramètres de l’extension. Si la valeur est vide ou absente, la ligne est masquée.
OrganizationUrlChaîneCible de lien facultative pour le nom de l’organisation. Utilisez une URL http ou https.
ReadShortcutWindows, StopShortcutWindowsChaîneIndications de raccourcis Windows fournies par l’administrateur pour lire et arrêter. Affichage uniquement ; elles ne sont pas forcées.
PauseShortcutWindowsChaîneIndication de raccourci Windows fournie par l’administrateur pour Pause / Continuer. Affichage uniquement ; elle n’est pas forcée.
ReadShortcutMac, StopShortcutMacChaîneIndications de raccourcis macOS fournies par l’administrateur pour lire et arrêter. Affichage uniquement ; elles ne sont pas forcées.
PauseShortcutMacChaîneIndication de raccourci macOS fournie par l’administrateur pour Pause / Continuer. Affichage uniquement ; elle n’est pas forcée.
schema.json
{
  "type": "object",
  "properties": {
    "EnableCloudVoices": {
      "type": "boolean",
      "description": "If false, cloud voices remain disabled by policy."
    },
    "OrganizationName": {
      "type": "string",
      "description": "Displays the educational institution, district, or program name in the extension settings interface."
    },
    "OrganizationUrl": {
      "type": "string",
      "description": "Link target for the organization name in the extension settings interface."
    },
    "FollowMouse": {
      "type": "boolean",
      "description": "If true, always highlight text under the mouse."
    },
    "AutoSwitchLanguage": {
      "type": "boolean",
      "description": "Automatically switch language to match the language of the page."
    },
    "ShowLanguageToast": {
      "type": "boolean",
      "description": "Display a message when language switches."
    },
    "WordByWordHighlightingEnabled": {
      "type": "boolean",
      "description": "If false, disables Word-by-Word highlighting for long selected text."
    },
    "ReadShortcutWindows": {
      "type": "string",
      "description": "Admin-defined shortcut hint for the Start reading command on Windows."
    },
    "StopShortcutWindows": {
      "type": "string",
      "description": "Admin-defined shortcut hint for the Stop reading command on Windows."
    },
    "PauseShortcutWindows": {
      "type": "string",
      "description": "Admin-defined shortcut hint for the Pause / Continue command on Windows."
    },
    "ReadShortcutMac": {
      "type": "string",
      "description": "Admin-defined shortcut hint for the Start reading command on macOS."
    },
    "StopShortcutMac": {
      "type": "string",
      "description": "Admin-defined shortcut hint for the Stop reading command on macOS."
    },
    "PauseShortcutMac": {
      "type": "string",
      "description": "Admin-defined shortcut hint for the Pause / Continue command on macOS."
    },
    "HideDonationAndRating": {
      "type": "boolean",
      "description": "If true, hides the donation and rating area."
    }
  }
}

Exemple de payload de stockage administré

Utilisez ce JSON dans la zone de stockage administré d’Admin Console ou d’Intune :

Payload de stockage administré
{
  "EnableCloudVoices": false,
  "OrganizationName": "Westside Learning Center",
  "OrganizationUrl": "https://www.westside.edu",
  "FollowMouse": true,
  "AutoSwitchLanguage": true,
  "ShowLanguageToast": false,
  "WordByWordHighlightingEnabled": true,
  "HideDonationAndRating": true,
  "ReadShortcutWindows": "Alt+Z",
  "StopShortcutWindows": "Alt+X",
  "PauseShortcutWindows": "Alt+C",
  "ReadShortcutMac": "Option+Z",
  "StopShortcutMac": "Option+X",
  "PauseShortcutMac": "Option+C"
}

Exemples courants de stratégies

  • Utilisez EnableCloudVoices pour autoriser ou bloquer les voix cloud. Définissez false pour forcer les voix locales uniquement.
  • Pour afficher la marque dans les paramètres de l’extension, définissez OrganizationName et éventuellement OrganizationUrl afin d’afficher HoverSpeak provided by <name>.
  • Définissez WordByWordHighlightingEnabled pour verrouiller Word-by-Word activé ou désactivé. Le seuil reste une préférence utilisateur et vaut par défaut plus de 40 mots.
  • Utilisez ReadShortcut*, StopShortcut* et PauseShortcut* uniquement comme indications de raccourcis affichées. Les affectations du navigateur restent contrôlées par Chrome ou Edge.

Notes de déploiement propres à la plateforme

Chemin du Registre Windows (Chrome)

Pour les déploiements Chrome hors Google Admin Console, Windows lit la stratégie de l’extension depuis le chemin du Registre ci-dessous :

Chemin du Registre Windows
HKEY_CURRENT_USER\Software\Policies\Google\Chrome\3rdparty\extensions\<EXTENSION_ID>\policy
  • Remplacez <EXTENSION_ID> par l’ID de l’extension HoverSpeak indiqué dans chrome://extensions.
  • Utilisez DWORD (32-bit) pour les clés booléennes.
  • Utilisez REG_SZ pour les clés de chaîne.
  • Après les modifications, redémarrez Chrome et rechargez chrome://policy.

Profils administrés macOS

Sur macOS, les stratégies HoverSpeak sont fournies via des profils de configuration administrés de Chrome. Utilisez l’identifiant de bundle Chrome correct et l’espace de noms de stratégie de l’extension, puis rechargez chrome://policy pour confirmer que le profil est actif.

Liste de validation

  • Rechargez chrome://policy ou edge://policy et confirmez que l’entrée de stratégie ne présente aucune erreur d’analyse ou de type.
  • Confirmez que l’extension est présente et à jour dans chrome://extensions ou edge://extensions.
  • Ouvrez les paramètres de HoverSpeak et confirmez que les contrôles administrés sont verrouillés lorsque la stratégie est définie.
  • Confirmez que les infobulles ou libellés administrés sont visibles pour les contrôles verrouillés.
  • Vérifiez que WordByWordHighlightingEnabled=true verrouille Word-by-Word activé tandis que le seuil indépendant de mots reste modifiable.
  • Vérifiez que le texte sélectionné doit dépasser le seuil Word-by-Word configuré, qui vaut par défaut plus de 40 mots.
  • Vérifiez que HideDonationAndRating=true supprime la zone de don et d’avis.
  • Vérifiez que EnableCloudVoices=false maintient les voix cloud désactivées.
  • Vérifiez que le comportement de la page reflète les paramètres administrés au chargement et après une actualisation des stratégies.
  • Vérifiez que la marque de l’organisation apparaît lorsque OrganizationName est configuré.
  • Pour les déploiements administrés, confirmez que l’onboarding administré s’applique même lorsque l’extension est installée par un administrateur sans clés explicites de stockage administré.
  • Pour les installations normales, confirmez que l’onboarding administré s’applique lorsqu’au moins une clé de stratégie administrée est présente.

Dépannage

  • La stratégie ne s’applique pas : ouvrez chrome://policy ou edge://policy, cliquez sur Recharger les stratégies et vérifiez qu’aucune erreur n’apparaît sur l’entrée de stratégie de l’extension.
  • Extension absente après installation forcée : vérifiez que l’ID de boutique et l’URL de mise à jour corrects ont été utilisés et que le profil est attribué à la bonne OU ou au bon groupe d’appareils.
  • Valeurs administrées ignorées : confirmez que les noms des clés correspondent exactement au schéma et que les types JSON correspondent au schéma ; les booléens doivent être true/false et les chaînes entre guillemets.
  • Les valeurs administrées semblent encore obsolètes : confirmez que l’extension a été mise à jour, que le service worker est actif et que le navigateur a été redémarré si des valeurs du Registre ou du profil ont changé.
  • Les voix cloud restent disponibles après désactivation : assurez-vous que EnableCloudVoices vaut false et que la stratégie apparaît comme administrée dans chrome://policy ou edge://policy.

Support prioritaire : Les coordonnées du support prioritaire sont incluses dans le package d’onboarding de votre établissement.