Comment gérez-vous vos médias type image ?

WRInaute passionné
Bonjour,

Prenons un exemple...
Aujourd'hui vous faites une refonte de votre site et décidez que vos articles seront affichés par ligne de 4 colonnes les uns à coté des autres avec un extrait + 1 image de 50px de large.

Code:
[IMAGE] | [IMAGE] | [IMAGE] | [IMAGE]
Extrait | Extrait | Extrait | Extrait

[IMAGE] | [IMAGE] | [IMAGE] | [IMAGE]
Extrait | Extrait | Extrait | Extrait

[IMAGE] | [IMAGE] | [IMAGE] | [IMAGE]
Extrait | Extrait | Extrait | Extrait
Demain vous rechartez votre site et décidez que vos articles seront les uns en dessous des autres avec un extrait + 1 image de 200px de large.

Code:
-------------------- image -------------------- 
Extrait de texte................................
................................................
................................................

-------------------- image -------------------- 
Extrait de texte................................
................................................
................................................

-------------------- image -------------------- 
Extrait de texte................................
................................................
................................................

-------------------- image -------------------- 
Extrait de texte................................
................................................
................................................


Comment gérez-vous vos médias image pour que ceux des anciens articles rentrent dans la nouvelle charte ?

Merci,
Dorian
 
WRInaute accro
Evidemment, c'est pénible de se retaper plusieurs milliers d'image à retailler. De mon côté, je suis parti sur 3 formats (vignette, normal et zoom) et j'espère que je me tiendrais à ces formats là.

J'ai fait une refonte de mon site e-commerce il y a 1 an maintenant, et le graphiste qui bossait sur la nouvelle mise en page avait pour contrainte les tailles d'image qu'on avait déjà.

Sinon, la solution est peut-être de toujours garder une image "cachée" en grand format sous le coude. Cette grande image permettrait de générer, via des scripts, les vignettes selon plusieurs formats. Elle permettrait donc de changer de format.
Le principe est le même que lorsqu'on intègre le catalogue d'un fournisseur : il nous donne toutes les images en grand format, détourée, ... et un script PHP (ou autre) permet de retailler toutes les images dans les formats dont on a besoin.
 
WRInaute accro
En effet: on conserve la version "grand format", et on utilise une moulinette pour convertir ça dans toutes les tailles voulues (thumbnails, grandes versions...). Si on change de taille voulue, on change la moulinette, et on la relance, et hop.

Jacques.
 
WRInaute passionné
Très bien merci pour vos points de vue.

Et niveau organisation, comment gérez-vous le nommage, le stockage ?

Quelle est votre règle d'association image/article ou image/produit ?
Association dynamique en base ? Logique statique ?
1 image pour 1 article ou 1 image pour x article ?
Etc...
 
WRInaute passionné
Perso je pars sur une image nommée "plop.png"
La version par défaut commence toujours par full_plop.png
La version redimensionnée est mini_plop.png

Sinon, je stock par date "standard" /up/img/YYYY/MM (un peu à la Wordpress).

Personnellement j'essaye d'alterner "gauche / droite" pour l'image un peu comme si ton avatar sur ce forum était à gauche, puis la réponse à droite, sur un forum plutôt mal adapté mais j'aime bien ce style.
 
WRInaute impliqué
Perso je conserve tous mes originaux et j'utilise des scripts ( au choix, photoshop ou imagemagick) pour les retailler comme je le souhaite !
 
WRInaute passionné
Merci pour vos réponses.

Julia41 a dit:
Sinon, je stock par date "standard" /up/img/YYYY/MM (un peu à la Wordpress).
Il n'y a pas de catégorie d'images, tout dans le même dossier "img" ?

Code:
/up/img/YYYY/MM/plop.png ?
C'est à dire que tu ne peux pas avoir deux "plop.png" le même jour ?
 
WRInaute passionné
dorian53 a dit:
Merci pour vos réponses.
C'est à dire que tu ne peux pas avoir deux "plop.png" le même jour ?
Même le même mois oui ;)
Mais j'essaye de nommer mes images pour google image aussi donc normalement pas de soucis sinon ça fait du duplicate "image" (je sais pas si ça se dit).

Mais bon, je trouve déjà mes noms de dossiers très important.

Sur un site d'hébergement d'image, je rajoute un rand et un time mais là ce n'est pas du tout organisé.
 
WRInaute impliqué
Salut,

le stockage va dépendre du nombre max de fichiers que t'auras dans ton répertoire...

Je ne sais pas à combien ça bloque mais de souvenir j'avais eu des problemes à partir de 64000 à 65000 fichiers dans le même répertoire. vu les multiple de 2 j'imagine que c'était aux alentours de 65536 fichiers. (après je sais pas si on peut redéfinir la limite du nombre max de fichiers par répertoire...)

Pour résoudre ce problème maintenant je stock par rapport au numéro d'identifiant de l'article.
J'imagine que dans ta bdd chaque article a un numéro d'identifiant unique.
Par exemple tu prends l'identifiant 63879 et bien chez moi ça stockera toutes les images relatives à cet identifiant dans le repertoire /images/6/3/8/7/9/63879/
 
WRInaute passionné
Salut,

Ok sur le principe de décomposer le stockage via une logique de traitement.

RiPSO a dit:
Par exemple tu prends l'identifiant 63879 et bien chez moi ça stockera toutes les images relatives à cet identifiant dans le repertoire /images/6/3/8/7/9/63879/
En revanche là, ça te fait un répertoire pour 1 image (voir 3 selon les découpes).
Mais dans l'esprit d'accord pour ça.

Leonick a dit:
3 répertoires img_small img_medium et img_large et les images appelées par leur id
Oui, dans grand nombre de problématique l'id reste le sauveur.


Au final :
- conserver l'image originale de grande taille (pour script de re-découpe),
- avoir une logique de stockage pour répartir les fichiers,
- concaténer l'id au nom de l'image si besoin d'unicité.
 
WRInaute impliqué
dorian53 a dit:
En revanche là, ça te fait un répertoire pour 1 image (voir 3 selon les découpes).
Mais dans l'esprit d'accord pour ça.

Oui mais ça m'empêche pas de dormir pour autant :mrgreen:

après j'ai un peu raccourci, ça dépend de l'utilisation. Personnellement chaque répertoire contient toutes les photos des profils des utilisateurs, les photos d'origine ainsi que les thumbs.
 
WRInaute passionné
RiPSO a dit:
Par exemple tu prends l'identifiant 63879 et bien chez moi ça stockera toutes les images relatives à cet identifiant dans le repertoire /images/6/3/8/7/9/63879/
En suivant ton idée et en repartant de ça.

Comment gères-tu les d'identifiants de 1 à 9 ?

Car sur un même niveau il y aura des images dans le répertoire id et des dossiers de tri ?

1/1/fichiers... (id 1)
1/1/0/... (id 110...)
1/1/1/...
1/1/2/...
1/1/11/fichiers... (id 11)
...
 
WRInaute impliqué
Pour plus de clarté tu peux faire par exemple avec l'id 65879 un répertoire /6/5/7/8/9/id65789/

comme ca t'es sur que dans les répertoire il n'y a que ce qui doit y être.

En effet mon exemple prêtait à confusion sur les id de 0 à 9, il aurait tout de même fonctionné mais autant faire les choses bien :p
 
WRInaute passionné
Extra merci, j'avance... Autre point sur lequel j'hésite.


L'organisation par date.
Code:
2009/01/
2009/02/
...
2010/01/
2010/02/
...
Les plus :
- simplifie les backups,
- répartie davantage les fichiers.
Les moins :
- illogique lorsqu'on organise des media par categorie (l'image 1 de mon produit sera dans un répertoire totalement différent de mon image 2 du même produit), par conséquent pénible à la gestion (suppression par exemple).


L'organisation par id.
Code:
1/2/12
1/3/4/134
5/9/7/8/5978
...
Inversement des plus et moins.


Autres solutions, sur quels critères trancher... ?
 
WRInaute accro
L'organisation par date t'oblige à stocker et à récupérer cette date pour chaque image.

Perso j'utiliserais l'ID, mais je ne découperais pas "autant", tu peux y aller par 2 ou 3 chiffres sans problème. Donc tu décides combien tu penses avoir d'images au maximum, tu écris toujours tes IDs avec le nombre de chiffres nécessaires, et tu découpes tous les 2 ou 3 chiffres.

Par exemple si tu décides que tu n'auras jamais plus d'un million d'IDs, et que tu découpes tous les 3 chiffres:

ID 9 -> 000/009
ID 12345 -> 012/345

sprintf("%03d/%03d",$id/1000,$id%1000) est ton ami bien entendu :)

Jacques.
 
Discussions similaires
Haut