mardi 20 janvier 2009
Pour faire suite à ce que j'écrivais la semaine dernière concernant le YUI Compressor Online (outil basé web), j'ai réfléchis à une alternative pour accélérer le processus de compression, cette fois directement à partir mon poste de travail.
À mon boulot, comme on effectue tout le développement à partir d'une plateforme Windows (XP), j'ai orienté mes recherches pour pouvoir en bénéficier dans mon travail quotidien. Mon objectif : pouvoir sélectionner un fichier JavaScript et le compresser directement à partir d'une nouvelle option que j'aurai ajouté au menu contextuel.
Voici comment j'ai procédé :
- Télécharger le YUI Compressor et trouver le fichier nommé yuicompressor-version.jar (présent dans le répertoire build). Un .jar est un JavaArchive qui peut être exécuté par l'interpréteur Java.
- Placer ce fichier sur son poste ou sur le réseau, et noter le chemin d'accès.
- Écrire le fichier batch qui permettra d'appeler le compresseur YUI. Dans un fichier texte, entrer le code suivant, configurer au besoin, enregistrer le fichier et renommer l'extension .bat
REM Auteur : http://code18.blogspot.com
SET path=C:\yui-compressor\yuicompressor-2.4\build\yuicompressor-2.4.jar
SET filename=%1
SET filename=%filename:.js=%
java -jar %path% %1 -o %filename%-min.js
Pour les fichiers .bat et .jar, je recommanderais de les placer à un endroit accessible par tous, par exemple un répertoire partagé sur le réseau.
À ce moment-ci, le script est fonctionnel mais ne fait pas encore parti du menu contextuel. Pour l'ajouter, il faudrait jouer dans la base de registre (regedit) et ajouter différentes clés aux bons endroits. Heureusement, je me suis cassé la tête pour vous.
Créez un fichier texte, copiez le code ci-dessous, adaptez-le à vos besoins (chemin menant vers le .jar) et enregistrez le fichier en renommant l'extension .reg.
Contenu du fichier yuicompressor.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\JSFile\Shell\YUI_Compressor]
@="YUI Compressor"
[HKEY_CLASSES_ROOT\JSFile\Shell\YUI_Compressor\command]
@="C:\\yui-compressor\\yuicompressor-2.4\\build\\yuicompressor.bat \"%1\""
Et voilà, il ne reste plus qu'à double cliquer sur le fichier yuicompressor.reg pour finaliser la configuration. Le script effectuera deux étapes. D'abord, il définira le nom qui apparaîtra dans le menu contextuel, ensuite il indiquera la commande à appeler. Comme l'indique la clé JSFile, le tout sera disponible que pour les fichiers JavaScript.
Lorsque vous voudrez compresser un fichier JavaScript, vous n'aurez qu'à le sélectionner, faire un click droit avec la souris et choisir dans le menu contextuel "YUI Compressor". Un nouveau fichier sera créé au même emplacement (l'original sera conservé et le nouveau fichier sera renommé ainsi : prototype.js deviendra prototype-min.js).
Ensuite, n'hésitez pas à faire circuler le fichier yuicompressor.reg pour en faire bénéficier vos collègues.