Voilà quelque chose d'énervant quand on met à jour Firefox : il désactive les extensions installées si elles sont incompatibles avec la nouvelle version du navigateur (pareil avec Thunderbird). Il vérifie si une mise à jour de l'extension est disponible sur le serveur d'update.mozilla.org. Malheureusement, l'expérience de l'installation des dernières versions a montré que beaucoup de développeurs d'extensions (rappelons-le, non rémunérés) n'avaient pas vérifié la compatibilité avec la nouvelle version du logiciel — ils disposent de ses spécificités à l'avance — et validé le passage dans une nouvelle version de leur création.

La désactivation des extensions qui n'ont pas été certifiée compatibles avec la nouvelle version a été développée pour éviter les problèmes qui se posaient quand une extension installée s'avéraient incompatible avec la nouvelle technologie du navigateur en provoquant des erreurs XUL (désagréables bandeau plein en bas de l'interface avec une message XML en rouge) ou même en empêchant le démarrage de l'application.

Pourtant, l'indisponibilité des extensions, dont beaucoup sont devenus indispensables à nombre d'adeptes de Mozilla ou Firefox (pour Thunderbird je n'en ai pas encore entendu parlé mais ça doit bien exister : la rencontre des besoins d'un internaute et des préoccupations du développeur de l'application), est un vrai problème pour le confort d'utilisation et, même, la sécurité, si l'utilisateur hésite à mettre à jour, des produits de la fondation Mozilla. C'est d'autant plus rageant pour l'utilisateur est qu'il n'a pas de moyen simple de savoir si les extensions qui se sont rendus indispensables passeront la nouvelle version qu'on leur propose.

Souvent seul un petit nombre d'extensions sont réellement incompatibles avec la nouvelle version du programme principal. Peut-être qu'en plus des développeurs d'extensions, des volontaires pourraient certifier la compatibilité des extensions les plus populaires avec le nouveau milestone à venir. Ainsi, le jour de la sortie la plupart des extensions passerait le test de la nouvelle version et les utilisateurs ne pesteraient plus contre celle-ci ou pire repasserait à la précédente comme c'est courant.

Tutoriel : Passer une extension incompatible avec une nouvelle version

D'abord, aller vérifier sur le très utile et très à jour, The Extensions Mirror, si le travail n'a pas déjà été fait par un autre et sur le site officiel de l'extension (dans le gestionnaire d'extensions, clic-droit sur l'extension en cause puis cliquer sur Vister la page d'accueil/Vist Home Page) si l'auteur n'y a pas déjà mis en ligne une nouvelle version — merci Talou pour la précision.

Ensuite, se rappeler que la désactivation a un but (voir ci-dessus), alors faire passer soi-même une ancienne extension le test d'une nouvelle version d'un produit Mozilla se fait à ses risques et périls. Comme d'habitude sauvegarder régulièrement son ou ses profils et, pour cette opération, créer un profil spécial pour les tests.

Télécharger sur son disque dur le fichier XPI de l'extension récalcitrante. Si le clic-droit suivi d'Enregistrer la cible du lien sous se heurte à une redirection d'URL récalcitrante, faire un clic normal, puis lorsque la boîte de confirmation apparaît copier l'URL de l'extension préalablement sélectionnée, avant d'annuler l'installation.

Nous prendrons comme exemple ConQuery qui est en version 1.3.0 sur ExtensionsMirror compatibles avec Firefox 0.10 (Firefox 1.0 PR), Thunderbird 0.9 et Mozilla 1.7.

Dans l'explorateur Windows (en supposant être sur Windows), renommer le fichier XPI téléchargé en en changeant l'extension en .zip.

ConQuery_1.3.0.xpi devient ConQuery_1.3.0.zip .

L'archive Zip ainsi obtenue peut être décompressée avec Windows ou votre utilitaire habituel de compression/décompression. On obtient alors un dossier chrome et deux fichiers : install.js et install.rdf.

Ouvrir ce dernier « install.rdf » dans un éditeur de texte comme NotePad livré avec Windows.

Pour Firefox, repérer la ligne : <em:targetApplication><!-- Firefox -->

Dans le bloc de balises qui suit, changer la ligne <em:maxVersion>0.10</em:maxVersion> en <em:maxVersion>1.0</em:maxVersion> .

On peut faire de même pour passer Mozilla 1.8 et Thunderbird 0.9 qui vient de sortir.

Enregistrer le fichier.

Recompresser les fichiers décompressés dont celui modifié.

Renommer l'archive avec l'extension .xpi en ConQuery_1.3.0_pass1.xpi par exemple.

On peut ensuite l'essayer en faisant glisser son fichier XPI dans la boîte d'extensions de Firefox (ou Thunderbird).

Si tout marche bien vous pouvez même la proposer à ExtensionsMirror comme extension « repackaged » c'est-à-dire reconditionnée.

Opération inverse

On peut également faire l'opération inverse, c'est-à-dire changer le numéro de version de Firefox dans les préférences pour que les anciennes extensions passent la nouvelle version maquillée. Attention, on enlève alors la protection pour toutes les extensions qui seront installées à l'avenir et pourraient être réellement incompatibles donc : bla-bla… vos risques et périls…

Taper donc about:config dans la barre d'adresse de Firefox et saisir app.extensions.version dans le champ « filtre » et appuyer sur la touche Entrer.

Faire un clic-droit sur la ligne qui s'affiche et cliquer sur « Modifier ». Changer la valeur pour la précédente soit actuellement « 0.10 » et cliquer sur OK.

Fermer l'onglet de configuration.

On peut alors réactiver ou réinstaller ses extensions incompatibles.