YUI Compressor Online est un site permettant de compresser des fichiers Javascript courramment utilisés pour gérer les données dynamiques (AJAX) ou les effets d’affichage (dans les galleries photos par exemple). Ces scripts peuvent parfois dépasser les 100 ko et leur taille totale augmente rapidement, générant des temps de chargement de pages parfois très longs.
WordPress charge par exemple les scripts prototype.js (121.2 ko), effects.js (38 ko), jquery.js (30.3 ko) et lightbox.js (20.8 ko) si vous utilisez le plugin Lightbox 2. Tout cela représente déjà 210.3 ko de scripts à charger pour afficher la page d’accueil. Une fois compressés avec YUI Compressor, les tailles des fichiers passent à 70.9, 24.3, 30.1 et 11 ko soit 136.3 ko et une réduction de 35.2%. Notez que jquery est plus petit que prototype et est déjà correctement optimisé, ce qui explique le très faible gain de taille après compression. Sans tenir compte de ce script le gain est de 41%. Cela se traduit par un temps de chargement plus court d’environ 2s sur ma page d’accueil, ce qui est loin d’être négligeable, sans parler des économies de bande passante.
Cette méthode de compression élimine les espaces et utilise diverses autres ruses pour diminuer la taille d’un fichier Javascript, il ne s’agit donc pas véritablement d’une compression comme si l’on utilisait gzip par exemple. L’avantage de cette méthode est qu’aucune modification du code des fichiers PHP appelant les Javascripts n’est nécessaire, son désavantage est que les fichiers restent encore relativement volumineux (prototype.js peut être compressé en 15 ko avec gzip par exemple).