Redimensionnez et recadrez dynamiquement vos images avec TimThumb

26 mars 2011
PHP

TimThumb est un script PHP qui permet de redimensionner et recadrer vos images à la volée. Le script est notamment utilisé pour générer des vignettes à partir d’images originales plus grandes. Simple, pratique et efficace !

Mise en place du script

Il suffit de placer le script « timthumb.php » dans un dossier (par exemple : /scripts) et d’appeler votre image avec un lien relatif ou absolu. Par exemple, voici un exemple d’une image partagée sur le réseau Flickr. L’image originale qui a pour dimensions 640×640 pixels est disponible à cette adresse.

Voici un exemple sans aucun paramètre. L’appel se fait de la manière suivante : on place la chaine « timthumb.php?src= » devant la valeur de l’attribut « src ». L’image est automatiquement redimensionnée (par défaut 100×100 px).

<img src="timthumb.php?src=http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg">

Résultat :

Voici un exemple avec un ratio différent. Pour cela, on utilise deux paramètres « h » pour height et « w » pour width que l’on place après la valeur de l’attribut « src ». L’image est alors redimensionnée et recadrée au bon format (ici 120×200 px).

<img src="timthumb.php?src=http://farm3.static.flickr.com/2340/2089504883_863fb11b0a_z.jpg&h=200&w=120">

Résultat :

Les options

TimThumb propose quatre paramètres de base à insérer directement dans l’URL de l’image :

  • w : (width) définit la largeur de l’image
  • h : (height) définit la hauteur de l’image
  • zc : (zoom crop) définit si l’image doit être croppée ou non (1 ou 0)
  • q : (quality) définit la qualité de l’image (par défaut à 75, maximum à 100)

Il existe également d’autres options pour déplacer plus précisément le crop de l’image, à découvrir ici.

Quelques informations

Avant l’installation, vérifiez la version de PHP car TimThumb requiert la librairie GD qui est disponible à partir de PHP 4.3 +. Une fois le script mis en place sur votre serveur (ou en local), TimThumb créera automatiquement un dossier de cache pour éviter de regénérer l’image à chaque fois. Si ce n’est pas le cas, assurez-vous que le dossier qui contient TimThumb possède tous les droits (777).

Requis : PHP 4.3+
Démonstrations : http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/,
http://www.binarymoon.co.uk/projects/timthumb/
Licence : GPL version 2

Commentaires

  • Super article et super script, mais je précise qu’il faut penser à désactiver l’utilisation du cache dans le script sinon on peut se retrouver comme moi avec un dossier de cache bien lourd.

  • Thomas

    Merci beaucoup pour la découverte de ce script très utile ;)

  • un script qui a eu un grande faille de sécurité à une certaine époque, plus confiance dedans, en plus Google préfère des images à la bonne taille que redimensionné, résultat avec page speed.

  • invite

    Ce plugin ne marche pas lorsque l’on utilise un lien relatif ex: