Comment Stocker Des Miniatures
Lorsqu’il faut manipuler plusieurs images de taille importante, il est nécessaire de pouvoir les prévisualiser à l’aide de vignettes ou miniatures (thumbnails). L’objectif de ce document est de trouver une manière simple et pratique de les stocker.
Objectifs
Retrouver facilement une miniature à partir de l’emplacement d’une image (chemin+nom de fichier)
Eviter de regénérer les miniatures lorsqu’un image est déplacée
Eviter de générer des miniatures des miniatures (et ainsi de suite récursivement)
Solution existantes
Solution 1
Stocker toutes les images dans un dossier prédéfini. La miniature est stockée dans un format d’image courant (jpeg, png, etc.) et son de fichier est le résultat de l’application d’un hash MD5 sur le chemin de l’image originale.
Avantages
Le chemin de la vignette est déduit facilement à partir de l’emplacement de l’image.
On peut éviter de générer des miniatures de miniatures car le dossier des miniatures est connu et peut être blacklisté.
Inconvénient
Solution 2
Stocker les miniature dans le même dossier que les images originales. La miniature est distinguée de l’original en (pré|post)fixant le nom de fichier de l’original.
Avantages
Le chemin de la vignette est déduit facilement et rapidement (pas de hash) à partir de l’emplacement de l’image.
On peut éviter de générer les miniatures si on détecte la présence du (pré|post)fixe.
La miniature n’a pas besoin d’être regénérée car il suffit de déplacer la vignette avec l’original.
Inconvénients
Il faut bien choisir le (pré|post)fixe pour éviter les conflits avec des noms de fichier utilisateurs qui pourraient être détectés à tord comme des miniatures
Double le nombre de fichiers dans un dossier ce qui peut sembler bordélique.
Solution 3
Stocker la miniature au sein même de l’original comme une métadonnée
Avantages
On accède à la miniature avec le chemin de l’original.
La miniature n’est pas dans un fichier distinct donc pas de risque de générer de miniature de miniature.
La miniature est automatiquement déplacée si l’original est déplacé.
Inconvénient