Ce guide décrit en détail le processus complet de mise à jour des extensions, y compris la procédure de mise à jour standard, les remplacements manuels, les API pour les développeurs et l'impact important des règles d'entreprise.
Cycle de mise à jour standard
Chrome est conçu pour mettre à jour automatiquement les extensions installées vers leur dernière version, afin que les utilisateurs aient accès aux nouvelles fonctionnalités et aux correctifs de sécurité. Par défaut, Chrome recherche les mises à jour des extensions au démarrage et toutes les quelques heures.
Un aspect essentiel du processus de mise à jour est qu'une mise à jour n'est installée que lorsque l'extension est considérée comme inactive. Pour qu'une extension soit inactive, ses composants ne doivent pas être utilisés activement. Dans le contexte de Manifest V3, cela signifie principalement que le service worker de l'extension n'est pas en cours d'exécution. Le service worker est conçu pour être piloté par les événements et s'arrête après une période d'inactivité. De plus, toute page d'extension ouverte (panneau latéral, pop-up ou page d'options, par exemple) empêche l'extension d'être considérée comme inactive. Un script de contenu actif n'a aucune incidence sur le fait qu'une extension soit considérée comme inactive ou non.
Cette exigence d'inactivité peut entraîner des retards dans les mises à jour des extensions fréquemment actives. Si le service worker d'une extension est constamment déclenché par des événements, il peut ne jamais atteindre un état inactif, et la mise à jour sera différée jusqu'à ce que le navigateur soit redémarré.
Surveiller la distribution des mises à jour d'extensions
Pour savoir combien de vos utilisateurs utilisent la dernière version de votre extension, consultez le tableau de bord des statistiques du Chrome Web Store. Accédez au tableau de bord du développeur Chrome Web Store et sélectionnez l'une de vos extensions publiées. Dans la barre de navigation latérale, accédez à Analytics > Utilisateurs, puis faites défiler la page jusqu'au graphique Utilisateurs quotidiens par article. Vous pouvez voir ici le nombre d'utilisateurs qui utilisent déjà votre dernière version.
Mettre à jour les extensions manuellement
Si les utilisateurs souhaitent recevoir immédiatement les dernières mises à jour, Chrome propose un mécanisme de mise à jour manuelle. C'est également un outil utile pour tester les mises à jour.
Les utilisateurs individuels peuvent forcer la mise à jour de toutes leurs extensions installées en procédant comme suit :
- Accédez à chrome://extensions.
- Activez le mode développeur à l'aide du bouton bascule en haut à droite.
- Cliquez sur le bouton Mettre à jour qui s'affiche.
Cette action invite Chrome à récupérer immédiatement les dernières versions de toutes les extensions installées depuis le Chrome Web Store.
Rechercher les mises à jour d'une extension
L'API chrome.runtime fournit aux extensions des outils pour interagir avec le mécanisme de mise à jour.
Rechercher des mises à jour à la demande
La fonction chrome.runtime.requestUpdateCheck() permet à une extension de lancer une vérification des mises à jour de manière programmatique. Cela est particulièrement utile pour les extensions qui dépendent de manière critique d'un service de backend et qui doivent s'assurer d'exécuter la dernière version compatible.
Lorsque cette fonction est appelée, Chrome interroge le Chrome Web Store pour obtenir une nouvelle version et la télécharge si elle est disponible. Le rappel de la fonction reçoit un état indiquant le résultat de la vérification.
Écouter les mises à jour disponibles
L'événement chrome.runtime.onUpdateAvailable se déclenche lorsqu'une mise à jour a été téléchargée et est prête à être installée. Cet événement fournit le nouveau numéro de version dans ses détails. En écoutant cet événement, une extension peut déterminer qu'une mise à jour est disponible et envisager de passer en mode veille ou de provoquer un rechargement à l'aide de chrome.runtime.reload() le cas échéant.
Le code suivant illustre un modèle d'implémentation de base :
Dans des cas exceptionnels, il est possible de forcer le navigateur à rechercher une mise à jour d'extension à l'aide de chrome.runtime.requestUpdateCheck() :
Il est important de noter que les appels fréquents à requestUpdateCheck() seront limités par le navigateur. N'utilisez cette fonction que si vous savez qu'une mise à jour est disponible. Par exemple, lorsqu'un backend mis à jour nécessite une version plus récente de l'extension.
Contrôler les mises à jour via une règle d'entreprise
Dans les environnements d'entreprise gérés, le flux de mise à jour standard des extensions est soumis aux règles définies par les administrateurs système. Ces règles peuvent remplacer le comportement par défaut pour renforcer la sécurité et la stabilité.
Forcer l'installation
La règle ExtensionInstallForcelist permet aux administrateurs d'installer silencieusement des extensions spécifiques pour leurs utilisateurs. Les utilisateurs ne peuvent pas désactiver ni désinstaller les extensions installées avec cette règle.
Épingler la version d'une extension
Toutefois, les entreprises ont souvent besoin de contrôler la version exacte d'une extension utilisée pour assurer la compatibilité avec d'autres logiciels. Pour ce faire, les administrateurs peuvent "épingler" une extension sur une version spécifique. Pour ce faire, l'administrateur peut sélectionner la version requise pour une unité organisationnelle dans la console d'administration Google. Lorsqu'une extension est épinglée, Chrome ne la met pas à jour au-delà de la version spécifiée.
Remplacer la source de mise à jour
Les entreprises peuvent héberger leurs propres versions dérivées d'extensions pour des raisons de sécurité ou de personnalisation. Pour ce faire, outilisez la règle ExtensionSettings avec la propriété override_update_url définie sur "true". Cela force Chrome à récupérer l'extension et ses mises à jour à partir d'une URL spécifiée, plutôt que du Chrome Web Store.
Définir une version minimale de Chrome
Vous pouvez spécifier une minimum_chrome_version dans le fichier manifeste de votre extension. Cela garantit que l'extension n'est installée que sur les versions de Chrome compatibles avec les API qu'elle utilise.
Pour les nouvelles installations, le Chrome Web Store empêchera les utilisateurs des anciennes versions de Chrome d'installer l'extension et affichera le message "Non compatible". Pour les utilisateurs existants, si une mise à jour d'une extension augmente la valeur minimum_chrome_version
à une version supérieure à celle de Chrome installée par l'utilisateur, ils ne recevront plus de mises à jour pour cette extension. Les développeurs doivent en être conscients et informer les utilisateurs si une partie importante de leur base d'utilisateurs risque d'être affectée.