L'une des étapes de la création d'un site web qui s'avère assez cruciale est l'optimisation du contenu afin de permettre un chargement rapide des pages dans les navigateurs. Un site qui se charge rapidement est aussi un site qui fera plaisir à Google et ses amis, qui du coup le fera monter dans les résultats de recherche.

Outre l'optimisation des images, on peut aussi penser à “minifier” le javascript et le CSS. Cela allège les transferts de données entre le serveur et le client. On y gagne quelques octets, ce qui est peut-être négligeable pour un petit site, mais si on est un peu ambitieux, et soucieux de produire un travail soigné, on se préparera à recevoir une avalanche de requêtes le jour où ledit site sortira de l'anonymat !

Les librairies Javascript telles que jQuery et MooFX sont disponibles en version minifiées, mais ce que vous codez vous-même ne l'est pas. On peut utiliser différents compresseurs pour y parvenir, la plupart du temps en ligne de commande, mais comme vous le savez, je préfère une belle interface graphique… C'est tellement plus confortable !

C'est en cherchant ce genre d'outils que je suis tombé sur smaller, un excellent outil pour minifier le javascript et le css.

Disponible pour Mac OS X 10.6 et plus, il utilise YUI, le compresseur de Yahoo!, qui propose le meilleur ratio de compression avec le minimum d'erreurs.

Il se présente sous la forme d'une fenêtre toute simple, sur laquelle on va venir glisser-déposer nos fichiers non compressés, et bam, on se retrouve avec un fichier optimisé.

Smaller propose d'enregistrer les versions compressées avec le suffixe .min, ce qui permet de garder une copie “lisible” du fichier pour le développement, avec les commentaires et en-têtes, ainsi que les sauts de ligne.

Disponible en anglais, il permet également de choisir les options de minification proposées par YUI.

Au rang des améliorations possibles, je dirais que j'aurais aimé avoir la possibilité de supprimer un suffixe lors de la compression, pour passer de “monfichier.src.js” à “monfichier.js”, et enfin la possibilité de surveiller des dossiers définis par l'utilisateur afin de les compresser automatiquement à chaque modification, de manière transparente. Peut-être pour une version 2.0 ?

Au final, on dispose ici d'un bon petit utilitaire, qui se rendra vite indispensable aux développeurs web. Et vu le prix de 15$ (soit environ 10-11€) sur le site de l'application, on aurait bien tort de s'en priver.