Bonjour à tous !

Difficile de faire un titre court et encore plus de savoir réellement où situer cette discussion.

Voici plus en détail ce que je souhaiterai savoir et entendre.

j'aimerai connaitre la meilleur façon de pouvoir stocker des fichiers (photos en autres) qui seront ajouter/supprimer/lu par un serveur via une interface utilisateur.

En d'autres termes, il y a deux solutions (ah moins que je n'en connaisse une n'iéme !) :

- Enregistrer le fichier/photo en format Blob (mysql), Oid (postgresql) en autres etc, en base de donnée.

ou

- Enregistrer le fichier/photo dans des dossiers et créer un lien dans la base (chemin du fichier).

Alors j'ai cru comprendre que la deuxième idée était celle à considérer. Mais j'aimerai connaitre les frameworks, outils qui permettent de gérer ceci. Il me semble que jakarta offrais ceci non ? (lointain souvenir..)

Le type Oid de PostGreSQL part sur ce principe où l'on a juste en base l'identifiant et l'image est "quelque part" !

D'autre part : Je conçois mon application et j'utilise un orm. Doctrine 2 en l'occurance ici. J'aimerai donc pouvoir effectuer des "Entités générique".
C'est à dire , je ne peut mettre un type "Oid" à un champ nommé "imageFile" car il ne sera reconnu par mysql, et un type "Blob" car il ne sera reconnu par "pgSQL". Mettre "BiteArray" pourquoi pas.

Mais partant du principe qu'enregistrer un fichier en base ne semble pas être conseiller, surtout quand vous aurais à force des milliers d'images, puis dizaine, centaines de milliers etc..
Ceci ne semble conseillé, alourdirai la base et d'autant plus qu'on ne fait de requête sur une image mais plutôt des accès, suppression.

Voila donc pourquoi je pencherai sur la solution de "répertoire". Mais pourriez vous confirmer (n'étant expert en BDD) et si vous validiez ceci, m'orienter sur des outils/framework qui pourrai me permettre de gérer ceci.

J'avais déjà utilisé un framework qui permettais de créer un repository, architecture de dossier, ou avec des fonctions offerts, du style "saveFileInRepository" (à programmer un peut quand même), le fichier était enregistrer dans le repository et on avait un lien vers ce fichier qu'on enregistré en base pour le retrouver à la demande. Hors je ne me rappel du tout de cet outils, et peut-être connaitriez vous des frameworks.

Il y aurait-il des limites à ce processus ?

Voyez-vous mieux ?

Sauriez-vous peut-être qu'elle architecture, outils, méthodes, des sites comme picassa, photobucket et d'autres, utiliseraient-ils ?

Merci de vos futurs informations