TimThumb, script php pour la génération de vignettes

TimThumb est un petit script php bien pratique qui permet de retailler à la volée des images.
Cela permet notamment de faire des vignettes (thubnails) assez facilement.
Il supporte les images de type jpeg, gif et png, il fonctionne avec GD Lib et php à partir de la version 4.3.

Concrètement comme fonctionne-t-il?
Tout simplement en lieu et place de l’appel à votre balise image habituelle sur votre site ou dans votre application php
<img src="monimage.jpg" />
remplacez par
<img src="/scripts/timthumb.php?src=monimage.jpg&h=150&w=150&zc=1" />
h pour la hauteur désirée, w pour la largeur désirée et z 1 si vous souhaitez utiliser le zoom, 0 sinon.

TimThumb ira automatiquement lire le fichier image, le retailler aux dimensions voulues et mettre le fichier en cache (afin de ne pas refaire le même traitement à chaque fois) puis afficher votre fichier. Tout cela de façon transparente.

Mais quelle utilité? Car je peux déjà définir moi-même la taille d’affichage de l’image ou faire moi-même les vignettes, voire mon outil de blog (ex: Wordpress) propose la génération automatique d’une vignette lors de l’upload de l’image.

- Définir manuellement la taille d’affichage dans le code html ou la feuille de style ne fait que changer la taille d’affichage mais c’est toujours le même fichier de la grosse image avec tout ses kilo-octets qui est affiché -> économie de bande passante avec TimThumb.
- Faire moi-même les vignettes, c’est très bien occasionnellement mais cela devient vite fastidieux dès lors que l’on commence à utiliser beaucoup d’images -> économie de temps grâce à l’automatisation du processus
- Wordpress propose automatiquement la génération de vignettes lors de l’upload -> certe mais il faut déjà que cette image soit passée par le processus de Wordpress, et puis on vous impose deux tailles de vignettes, et puis il n’y a pas que Wordpress dans le monde… -> TimThumb permet à toute image stockée dans votre espace web d’être réduite à la volée automatiquement aux dimensions précises que vous souhaitez, et pour toute application web.

Exemple pratique, j’utilise à la maison le script Andromeda (de l’époque où il était encore gratuit, que j’ai largement modifié pour mes besoins personnels), il affiche une vignette lors du listing des albums et la pochette en grand lorsqu’on est dans la page d’un album.

Un petit remplacement de l’appel à l’image par celui via TimThumb et j’ai mes vignettes créées automatiquement, mises en cache local et surtout qui prennent nettement moins de bande passante.

Pour certains script d’affichage d’images (galleries ou templates wordpress) cela peut être le petit plus qui change la donne.

Site web: TimThumb PHP Script Released - Darren Hoyt
Demo: Live Demo
Code source: svn googlecode

Tags: , ,

Leave a Reply