Développer un navigateur Web tel que Firefox n'est pas aussi simple qu'il y paraît. Cela nécessite une équipe de programmeurs brillants pour travailler ensemble à la mise en place d'un navigateur Web efficace et rapide que nous pouvons utiliser gratuitement. Pour le navigateur Web Firefox, l'une des principales améliorations des performances est la réduction du nombre de fichiers nus. Depuis Firefox version 4, de nombreux fichiers, en particulier les javascripts qui se trouvaient dans le dossier des composants, sont regroupés dans un fichier appelé omni.jar, ce qui réduit efficacement les E / S de disque de 30 à 100x. Omni.jar a été renommé omni.ja depuis la version 10 pour empêcher la corruption de Firefox.
Cette amélioration a causé certains problèmes à certains utilisateurs qui préfèrent modifier les fichiers Javascript de base pour la personnalisation au lieu d'utiliser des modules complémentaires ou des extensions. S'ils utilisent une ancienne version de 7-Zip telle que 9.20 pour ouvrir le fichier omni.ja, 7-Zip signalera une erreur disant " Impossible d'ouvrir le fichier omni.ja en tant qu'archive " bien qu'il ait été signalé que l'omni Le fichier .ja est en fait un fichier ZIP.
Une solution simple consiste à renommer l'extension de fichier omni.ja en .zip et Windows pourra ouvrir et extraire les fichiers. Ils peuvent ensuite modifier les fichiers en fonction de leurs besoins, les reconditionner dans un fichier ZIP et enfin renommer l'extension de fichier en .ja. Bien que cette méthode fonctionne, elle n'est pas recommandée car une optimisation supplémentaire est effectuée sur le fichier omni.ja d'origine, ce qui peut entraîner une réduction supplémentaire de 2 à 3 fois des E / S disque. Le fichier omni.ja optimisé n'est pas un format ZIP standard car la disposition a été modifiée. Généralement, l'index est placé à la fin du fichier, mais un omni.ja optimisé place l'index à l'avant du fichier pour minimiser les recherches de disque et maximiser les avantages de la lecture anticipée. C'est la raison pour laquelle certains programmes d'archivage pointilleux tels que l'ancienne version de 7-Zip 9.20 ne peuvent pas ouvrir omni.ja même s'il s'agit d'un fichier ZIP. L'exécution d'une fonction «archiver test» dans 7-Zip montrera qu'elle a détecté une erreur dans les en-têtes.
Heureusement, l'auteur de 7-Zip a ajouté le support pour ouvrir le fichier omni.ja optimisé dans la dernière version. Bien que vous n'ayez aucun problème à ouvrir omni.ja avec la dernière version 7-Zip, il n'est pas possible de mettre à jour automatiquement les fichiers modifiés. Comme vous pouvez le voir sur la capture d'écran ci-dessous, nous avons essayé de modifier un fichier à partir d'omni.ja et 7-Zip génère une erreur indiquant qu'il est en lecture seule lorsqu'il essaie de mettre à jour le fichier modifié dans l'archive.
Nous allons maintenant vous montrer comment désoptimiser le fichier omni.ja optimisé afin que vous puissiez facilement modifier n'importe quel fichier directement à partir de 7-Zip, puis le réoptimiser afin de ne pas perdre la réduction supplémentaire de 2 à 3 fois les E / S disque.
1. Téléchargez ActivePython et installez-le. Si vous exécutez une version 64 bits de Windows, assurez-vous de télécharger la version x64 d'ActivePython.
2. Téléchargez le script python d' optimizejars.py mis à jour qui a été corrigé pour fonctionner avec omni.ja
3. Pour plus de simplicité, placez à la fois le fichier omni.jar et le fichier OptimizeJars.py sur votre bureau. Exécutez l'invite de commande en appuyant sur le bouton Démarrer, tapez cmd et appuyez sur la touche Entrée. Changez le répertoire sur votre bureau en tapant "cd desktop", appuyez sur Entrée et tapez la commande ci-dessous pour désoptimiser le fichier omni.ja.
Optimizejars.py --deoptimize ./ ./ ./
Alternativement, vous pouvez également copier le fichier Optimizejars.py dans le répertoire où réside omni.ja, qui se trouve généralement dans C: \ Program Files \ Mozilla Firefox \, puis exécuter l'invite de commande en tant qu'administrateur, changer le répertoire sur le chemin où omni. ja est localisé et exécutez la commande deoptimize illustrée ci-dessus. Si vous obtenez une autorisation refusée IOError 13 après avoir exécuté la commande deoptimize, cela signifie que l'invite de commande n'est pas exécutée en tant qu'administrateur.
Après une désoptimisation réussie, le fichier omni.ja devient un fichier ZIP standard qui peut être ouvert par n'importe quel programme d'archivage. Après avoir apporté des modifications aux fichiers dans omni.ja, vous devez à nouveau optimiser le fichier pour des performances supplémentaires en tapant une commande légèrement différente illustrée ci-dessous.
Optimizejars.py --optimize ./ ./ ./
Vous trouverez ci-dessous la preuve de l'optimisation et de la désoptimisation du fichier omni.ja. L'image ci-dessous montre le fichier omni.ja optimisé d'origine ouvert avec le Bloc-notes, un éditeur de texte standard intégré au système d'exploitation Windows. Le début de l'en-tête du fichier montre PK qui est une signature standard pour un fichier ZIP. Vous trouverez également de nombreux chemins de fichiers qui sont les index des fichiers dans l'archive au début du fichier omni.ja.
Voyons maintenant le fichier omni.ja désoptimisé dans le Bloc-notes. Nous avons fait défiler jusqu'à la fin du fichier et comme vous pouvez le voir, les index des fichiers sont placés ici à la place et non au début. Si vous regardez le début du fichier, vous devriez également voir qu'il commence par PK.
Notez que chaque fois que Firefox est mis à jour, il est très probable que le fichier omni.ja soit également mis à jour en remplaçant votre fichier omni.ja modifié. C'est l'une des principales raisons pour lesquelles les extensions doivent être utilisées au lieu de modifier les fichiers principaux de Firefox car elle conserve la modification tout en vous permettant de garder facilement votre version de Firefox à jour.