Le temps passe, la technologie évolue, mais certains problèmes restent les mêmes. C’est le cas des images pour le web : elles représentent de plus en plus le “poids” des sites. Pour pallier cette situation, Mozilla vient de lancer mozjpeg, un projet qui vise à rendre les images JPEG plus légères, mais sans en changer la qualité.
Le souci de la taille des images ne vient pas d’aujourd’hui. En 2010, Google a lancé le format WebP précisément pour essayer de réduire l’impact de ce type de trafic de contenu sur Internet. Le WebP est similaire au JPEG, mais utilise une technique de compression qui peut donner des images jusqu’à 34% plus petites que ce dernier.
Le format tient ses promesses et est même capable de supporter des animations et un fond transparent, combinant les avantages du JPEG, du GIF et du PNG, mais se heurte au facteur de compatibilité : seuls les navigateurs Chrome (évident) et Opera supportent le WebP en natif, et en ce qui concerne les éditeurs d’images, la plupart d’entre eux nécessitent encore des plugins pour fonctionner avec des contenus de ce type.
Mozilla n’exclut pas d’amener WebP à Firefox, mais comme JPEG est le standard d’image le plus populaire sur Internet, ses développeurs pensent que l’optimisation de la compression des formats est l’initiative qui apportera les résultats les plus tangibles.
C’est exactement ce que mozjpeg propose de faire. Dans son communiqué, Mozilla explique qu’après des conversations avec plusieurs ingénieurs en logiciel, l’organisation est arrivée à la conclusion que le JPEG n’a pas encore atteint son potentiel de compression, bien qu’il ait plus de 20 ans d’existence. Cette perception a été le déclencheur du projet.
Ce n’est pas vraiment nouveau, vraiment. Ce que fait mozjpeg, c’est mettre en œuvre un jpgcrush fork, un script Perl écrit par le développeur Loren Merritt qui a été largement utilisé pour compresser les images. Cet algorithme vérifie quel paramètre de codage progressif permet à l’image d’occuper moins de bits sans perte, c’est-à-dire sans perte de qualité.
Dans les tests de Mozilla, jpgcrush a pu réduire les images PNG de 2 à 6 % et, dans le cas du JPEG, de 10 %, ce qui a fait que l’organisation le considère comme le meilleur encodeur sans perte disponible aujourd’hui. Avec mozjpeg, on espère le rendre encore plus efficace.
Si vous êtes prêt à le tester sur n’importe quel projet, mozjpeg 1.0 est déjà disponible sur GitHub. Vous trouverez plus de détails sur cette liste de diffusion.