Mettre à jour une extension Chrome, Edge ou Brave
Ce qui se passe côté navigateur
Le navigateur interroge l'URL déclarée dans ExtensionInstallForcelist — pour ce dépôt,
https://extensions.kernelpanics.fr/e/<slug>/updates.xml — au démarrage puis environ toutes
les cinq heures. Il y lit l'attribut version et le compare à la version installée.
Si la version annoncée est strictement supérieure, il télécharge le .crx indiqué par
codebase, vérifie que la signature correspond bien à l'identifiant attendu, puis installe et
recharge l'extension. Aucune interaction utilisateur, aucun redémarrage du navigateur.
Trois conditions doivent être réunies, sans exception :
- le numéro de version est strictement supérieur à celui installé ;
- le
.crxest signé avec la même clé privée que la version déjà déployée ; - l'URL est joignable en HTTPS depuis le poste.
Si l'une manque, la mise à jour est ignorée silencieusement.
Procédure
- Incrémenter
versiondans lemanifest.jsonde l'extension. Le format accepté est de 1 à 4 entiers séparés par des points, chacun entre 0 et 65535 (1.4,2.0.1,1.0.0.7). - Zipper le contenu du dossier de l'extension, pas le dossier lui-même : le
manifest.jsondoit se trouver à la racine de l'archive. - Dans le dépôt, ouvrir l'extension puis Publier une version et déposer le
.zip. Le dépôt le signe avec la clé enregistrée : l'identifiant reste inchangé. Un.crxdéjà signé est accepté de la même façon. - Ne pas cocher « Épingler » : sans épinglage, le numéro le plus élevé est servi automatiquement, ce qui est le comportement souhaité dans le cas courant.
- Vérifier la publication (voir ci-dessous).
Le dépôt refuse un numéro de version déjà utilisé et un paquet dont l'identifiant ne correspond pas à celui en production — les deux erreurs qui font échouer un déploiement.
Vérifier la publication
curl -s https://extensions.kernelpanics.fr/e/<slug>/updates.xml
curl -sI https://extensions.kernelpanics.fr/dl/<slug>/latest.crx
Contrôler que version correspond à la nouvelle version, que appid est inchangé, et que
le téléchargement répond 200 avec le type application/x-chrome-extension.
Forcer la mise à jour sur un poste
Ouvrir chrome://extensions (edge://extensions, brave://extensions), activer le mode
développeur en haut à droite, puis cliquer sur Mettre à jour. La vérification est
immédiate et porte sur toutes les extensions gérées.
chrome://policy permet au passage de confirmer que la stratégie est bien appliquée et de
relire l'URL réellement utilisée par le poste.
Délai de propagation sur le parc
Compter jusqu'à cinq ou six heures pour que l'ensemble des postes allumés soient à jour, les navigateurs échelonnant leurs vérifications. Les postes éteints se mettront à jour peu après leur prochain démarrage.
Retour arrière
Un navigateur ne redescend jamais vers une version inférieure. Épingler une ancienne version dans le dépôt n'affecte donc que les postes qui n'ont pas encore basculé et les nouvelles installations — c'est utile pour stopper la propagation d'une version défectueuse, pas pour réparer les postes déjà touchés.
Pour un vrai retour arrière sur le parc, publier une version supérieure contenant l'ancien code : si la 1.4.0 est défaillante, republier le code de la 1.3.0 sous le numéro 1.4.1.
À ne jamais faire
| Action | Conséquence |
|---|---|
| Changer la clé de signature | L'identifiant change. Les postes gardent l'ancienne extension, définitivement figée, et en installent une seconde à côté. |
| Réutiliser un numéro de version | Le dépôt refuse le dépôt ; si le paquet passait, les postes ignoreraient la mise à jour. |
Renommer le slug |
Les URL distribuées par GPO deviennent invalides, plus aucune mise à jour n'arrive. |
| Servir le dépôt en HTTP | Chrome refuse les mises à jour non chiffrées. |
Diagnostic
| Symptôme | Cause probable |
|---|---|
| Rien ne bouge après plusieurs heures | Version non incrémentée, ou inférieure à celle installée. |
| L'extension apparaît en double sur le poste | La clé de signature a changé : deux identifiants coexistent. |
Échec du téléchargement dans chrome://extensions |
URL injoignable depuis le poste (DNS, filtrage, certificat TLS). |
| L'extension n'est pas installée du tout | Vérifier chrome://policy : stratégie absente ou mal formée (identifiant;url sur une seule ligne). |
| Le manifeste ne liste pas l'extension | Elle est masquée dans le dépôt, ou aucune version n'a été publiée. |
Autres documents : Publier une extension pour la première fois · Mettre à jour une extension Firefox · Installer et exploiter le dépôt