SpriteMe est un webservice très pratique permettant d'optimiser le poids d'une page web, ce qui influence directement son temps de chargement. SpriteMe est capable de générer vos sprites CSS de façon complètement autonome.
Si vous ne connaissez pas le principe de sprite CSS, je vous invite à lire ce billet chez Pompage. Pour résumer grossièrement, utiliser des sprites signifie regrouper tout ou partie de vos images dans une une seule et même image. Ceci pour limiter le téléchargement d'entête de chaque image qui finit par être lourd si le nombre d'image est conséquent. Cette technique n'est plus à prouvée et a été adoptée depuis longtemps par tous les géants du web (Google, YouTube, etc.)
Pour utiliser SpriteMe, il vous suffit d'ajouter le bookmark dédié en le glissant (drag) dans votre barre personnelle Firefox par exemple. Allez sur le site de votre choix et cliquer simplement sur le lien "SpriteMe" :
Essayons sur la FredZone qui a récemment opté pour un nouveau design (et ça faisait longtemps que je ne lui avais pas fait de backlink pour l'égometre) :
Cliquer sur Make all (ou Make Sprite) pour générer un fichier comportant toutes les images, la transparence étant supportée.
Et voici ce que l'on obtient comme image pour "notre" FredZone (la qualité de l'image est due à ma compression en PNG, aucune perte en réalité), cliquez sur l'image :
En cliquant sur Export CSS, on obtient le CSS correspondant avec la position de chaque image. Voici un extrait de notre exemple :
DIV id=haut { background-image: url(http://www.fredzone.org/wp-content/themes/RealFredzone/img/sprite.png) background-image: url(http://www.jaredhirsch.com/coolrunnings/public_images/15fbcc17a2/spriteme1.png); background-position: -10px -650px;' } A sprite_global { background-image: url(http://www.fredzone.org/wp-content/themes/RealFredzone/img/sprite.png) background-image: url(http://www.jaredhirsch.com/coolrunnings/public_images/15fbcc17a2/spriteme1.png); background-position: -1490px -1930px;' } A sprite_global { background-image: url(http://www.fredzone.org/wp-content/themes/RealFredzone/img/sprite.png) background-image: url(http://www.jaredhirsch.com/coolrunnings/public_images/15fbcc17a2/spriteme1.png); background-position: -1915px -1930px;' }
Notre exemple n'est pas excellent (non monsieur, ça ne vient pas de la FredZone, roh!) car certaines images dépendent des articles qui sont chronologiques, alors que les sprites doivent être utilisés sur des éléments fixes (fond, headers, images, etc) et n'évoluant pas dans le temps, à moins d'automatiser la génération des sprites...
Attention : SpriteMe ne semble pas fonctionner si vous utilisez des fonctions de minifications.
A voir également cette vidéo de présentation.
Inspiré d'un très bon billet chez Smashing Magazine
SpriteMe - FAQ
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
6 commentaires
Huhu petit coquin, tu vas me faire remonter sur Wikio toi 🙂
Donc ouais, les CSS Sprites sont fort fort utiles et je les ai utilisé pour la Fredzone et pour Weedle. En terme d'optimisation, tu vois vraiment la différence mais le mieux c'est encore de le faire en amont, au moment du développement de ton thème / site. Comme tu le dis toi même, il faut le faire sur des images fixes.
Perso, je passe plutôt par http://spritegen.website-performance.org/ moi 🙂
Tout simplement énorme, car faire des sprite sous photoshop, on y gagne pas en productivité ! Je bookmark ce site. Merci encore une fois
Belle outil très efficace, je vais approfondir mas je dois dire que ce qui m'a le plus plu dans cette article c'est le titre!
@Benjamin : je pense d'ailleurs que je vais étendre un peu plus cette orientation humoristique dans les titres de billets, pour atteindre plus de monde :p
pas sur que DIV id=haut soit un selecteur CSS valide 🙂
@Michael : pas faux 🙂