Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
bonjour à tous ,
j'ai une question je dirais moyenne sur la gestion des images dans un projet, alors c'est plutot des retours d'experiences de la part des personnes qui l'on deja réalisées.Les images vous le gerer dans la base de données (url + images)? ou vous le gerer dans les repertoires ou seront stocker les images ensuite appeler merci d'avance .
Hors ligne
dans des répertoires
Hors ligne
En termes de perfs pour l'instant c'est une catastrophe de mettre des images en base.
Avec le futur moteur de tables de mysql, ça sera un peu plus envisageable de mettre des images en base, mais ça ne pourra jamais être aussi performant que des images directements servies par apache sans passer par PHP...
A+, Philippe
PS : bref... nORKy +1
Hors ligne
Salut,
Idem, je stocke des références en BDD et les fichiers physiquement, pas de blobs (au secours) :p
A+ benjamin
Hors ligne
Pareil pour moi.
L'image est dans un répertoire et les informations associées sont dans la base. L'image à comme nom l'ID de l'enregistrement associé.
Hors ligne
oki merci pour tous ces retours ca me fait un sacré avancement pour ma part je le gere dans le repertoire mais sans url dans la base. je pense que c'est un detail que je dois prendre en compte
Dernière modification par yveson33 (06-07-2009 21:38:48)
Hors ligne
Personnellement je ne stocke pas l'url en base de donnée.
j'ai une base qui ressemble de loin à ça :
ID id_membre id_categorie extension
1 2 1 jpg
2 2 3 jpg
3 1 1 png
etc
Et en gros, j'ai les images dans un répertoire : "/rep/des/images/"
avec un nom correspond à l'ID dans la base de données et l'extension qui va bien.
/rep/des/images/1.jpg
/rep/des/images/2.jpg
/rep/des/images/3.png
Le répertoire dans lequel se trouve les images peut être stocké dans un base ou un fichier de configuration.
Ainsi, je peux récupérer toutes les informations nécessaires à l'affichage de l'image et je peux également changer le répertoire des images sans devoir modifier toute la base (Il suffit de modifier le chemin stocké dans le fichier de configuration par exemple).
Hors ligne
une remarque rapide concernant le stockage de fichiers en BDD.
C'est une pratique possible, notamment dans le cas d'une appli cluster ou il faut un référentiel commun pour tous les frontaux.
La grosse contrainte est la multiplication des requetes en bdd pour l'affichage des images, celle-ci peut être limitée avec l'usage d'un reverse proxy pour chaque frontal, Les images sont alors en cache sur les reverse proxy.
Hors ligne
De mon côté, ce ne sont pas les urls que je stocke en BDD non plus.
Les différentes infos sur l'image, un identifiant, des tags selon de quoi il s'agit, un nom parlant et formaté, etc.
Les chemins et urls devraient plutôt faire parti de la config et ne devraient pas être stockés en bdd pour chaque ligne image.
Tout dépend ce que l'on fait.
S'il faut gérer des galleries, des tags sur les images, des bibliothèques, des uploads, une recherche sur les images, etc etc. la bdd est nécessaire.
S'il s'agit simplement d'afficher des images sans informations complémentaires, une simple logique applicative (via une config + un algo + une logique d'organisation des dossiers) est largement suffisante.
La question d'origine était de savoir si on pratiquait le blob si j'ai bien compris. Pour ma part, jamais. Et je ne pense pas l'utiliser un jour.
A+ benjamin.
Hors ligne
@Delprog : pour l'instant je suis d'accord avec toi pour les images en base, mais il est possible que je change mon fusil d'épaule un jour suite à un projet sur mysql : un système de streaming des blob mysql qui courtcircuite le moteur de mysql en lecture. Les blobs sont sauvegardés dans des fichiers et peuvent être restitués en streaming si j'ai bien tout compris...
http://www.blobstreaming.org/index.php
=> des vidéos ou des mp3 dans des blobs ?
A+, Philippe
Hors ligne