Page 1 sur 1
galerie photo
Posté : 07 sept. 2006, 20:27
par jeanBb
bonjour,
Je suis en train de coder une galerie photo pour un site et je me pose une question.
Dois t'on gerer les photo par la bdd ou par des dossiers?
Je crois qu il y a un nombre maximun d'entrée sur un dossier en meme temps alors j'ai pensais que si le site reçoit un grand nombre de visiteurs, certains ne pouraient pas les voir.
Alors j'ai pensé à les gérer par le sql et la bdd mais n'esst ce pas lourd de faire ca?
MErci.
Posté : 07 sept. 2006, 21:17
par zizou59
oui c'est vrai qu'a force çà va faire lourd!!!
gère plutot par des dossiers!!!

Posté : 07 sept. 2006, 22:29
par marvllt
si tu veux les classer fais le avec des aray c'est plus rapide que des requetes sql
Posté : 07 sept. 2006, 22:30
par Cyrano
si tu veux les claser fais le avec des aray c'est plus rapide que des requetes sql

Et les informations servant à créer les tableaux en question, elles vont sortir d'où à ton avis ? Tu songes à programmer ça en dur dans le code ???
Posté : 07 sept. 2006, 22:31
par jeanBb
salut,
ok je vais penser aux array c surement mieux.
Par contre j'ai une question, car s'il y a beaucoup de photos, j'aimerai qu'elles s'affichent sur plusieurs pages et faire une pagination genre 12 photos par pages.
Je sais faire cela avec les requettes sql mais sans, je ne vois pas comment faire.
Pouvez vous me donner une piste ou une aide svp.
merci.
Posté : 07 sept. 2006, 22:37
par Cyrano
Ce sera le même principe sauf que la limite sera prise sur les index de ton tableau, et si on parle de pages multiples, ça sous-entend également que ton tableau sera stocké en session pour conserver la liste dans l'ordre.
Mais cette idée de tableau me semble hautement discutable, d'autant plus discutable que le motif exposé de rapidité par rapport à une requête SQL est à mon sens un peu fantaisiste

Posté : 07 sept. 2006, 22:42
par jeanBb
Oui je vois. Mais ma question 1ere etait si la gestion des photos est plus rapide si on utilise les dossiersdonc (tout ce qui va avec, opendir, readdir...) ou par une requete sql.
Je pensais qu'utiliser le sql serait lourd mais je n'en suis pas sur. Parce que y a de ça longtemps, j'avais deja créer une galerie en php en gérant les photos par des requettes cependant les photos mettaient un certain temps avant de s'afficher entierement. Remarque, le code n'etait pas optimiser et c'était une version d'essai.
Posté : 07 sept. 2006, 22:48
par Cyrano
Non, tu combines les deux : les images en tant que tel sont stockées dans des répertoires et les informations les concernant (dimensions, nom, chemin d'accès) stockés en base de données : de cette manière, tu peux ajouter ou retirer des images de façon très souple et faire un page/par/page sur une base de SQL avec une clause LIMIT. Tu peux même stocker un commentaire en base pour chaque photo, du coup, ta requête récupère le tout et tu construis très simplement ta page en mettant l'illustration et les commentaires qui vont avec.
En plus, tu disposeras de possibilités de tri beaucoup plus performantes qu'avec un système exclusivement fait de fichiers et de répertoires.
Posté : 07 sept. 2006, 22:50
par jeanBb
OK c'est ce que je vais faire.
Merci.
Posté : 07 sept. 2006, 22:59
par Cyrano
Autre petit détail important : pour limiter les lenteurs de chargement, limite le nombre de photos par page d'une part, et d'autre part, fais en sorte que leur poids individuel soit très raisonnable : pour des miniatures en galerie, 5 à 10Ko maxi et tu limite au grand maximum à 10 par page : pour des versions agrandies, un poids de 30 à 50Ko est raisonnable, mais une image par page : selon ce schéma, la galerie avec miniatures cliquables ouvrant une page avec une seule grande image : ça veut dire également que chaque image existe en deux versions avec le même nom mais dans des répertoires différents, tu n'utilises pas une grande image en mettant des dimensions articifiellement plus petites pour la galerie, ça ne réduirait pas le poids et ça ralentirait pas mal le chargement.
Posté : 07 sept. 2006, 23:13
par jeanBb
Voila exactement ce que je cherchais. Mais alors la j'ai une autre question.
La galerie photo va etre alimentée par les internautes donc si je fais le principe de galerie que tu viens de decrire, les gens vont mettre les photos qu'ils ont pris avec leur appareils photos.(Bien entendu, je peux autoriser l'upload de photos en donnant une taille max et si la photo est trop grosse, la personne ne pourra mettre la photo.) Par contre, jamais personne quand il met une photo sur un site, met 2 versions de sa photo(a savoir une miniature et une grande.)Alors comment faire pour avoir une miniature à partir de l'orriginale. Existe t il une librairie qui sert à ça. Comme ça, je n'aurai qu'a coder une fonction qui s'occupe de faire un double de la photo uploadée. et mon problème sera terminé.
Posté : 07 sept. 2006, 23:39
par Cyrano
En fouillant un peu, tu devrais pouvoir trouver une librairie disponible oui, utilisant les fonctions PHP utilisant l'extension GD pour ré-échantilloner les images et à partir d'un original créer deux images dont une miniature mais dans les deux cas qui rentre à l'intérieur d'un cadre aux dimensions définies dans une configuration du code. Personnellement, je n'en connais pas en particulier, mais avec

tu devrais pouvoir trouver ça
Posté : 07 sept. 2006, 23:41
par Shrell
La librairie
GD répondra à tous tes besoins concernant la manipulation d'images. Elle te permet de redimensionner les images, donc même si l'internaute envoie une photo énorme (je crois que le maximum autorisé est de 4Mo), tu n'auras qu'à en faire une grande de 50k au plus et une miniature qui ne devrait pas exceder 15k
Posté : 07 sept. 2006, 23:49
par jeanBb
Merci je v regarder tout ça.
Posté : 27 oct. 2006, 00:47
par PatrickDuSud
Bonsoir,
Petit retour sur ce POST vu que je suis en train de me monter une galerie WEB avec pagination pour mes photos.
Personnellement, je pense que les accès à la BDD seront plus rapides que de lister un répertoire.
A tester mais en mettant une série de 50 photos de plusieurs mégas dans un répertoire (Ca dépend de ce que tu proposes à l'internaute, galerie haute déf, simple visualisation etc. Les miennes sont "lignts" pour éviter l'utilisation frauduleuse) tu auras des temps d'accès disque qui vont ralentir ton application/site WEB.
Bien évidemment si tes photos ne font que quelques 10aines de ko, le problème ne se pose même pas.
Bonne soirée.
Patrick