Aide de la communauté! Galerie PHP --> redynamiser un site web!!

Aide de la communauté! Galerie PHP --> redynamiser un site web!! - PHP - Programmation

Marsh Posté le 28-02-2005 à 22:40:47    

Hello tout le monde!
 
Je lance un sujet après avoir fait qq recherches et ne rien avoir trouvé là dessus.
Pour redynamiser mon site de VTT (www.unlimited-riders.com) je voudrai réaliser une galerie photo comportant un module de commentaire pour chaque photo (jusqu'ici rien de nouveau) mais je voudrai que ça soit les internautes qui puissent ajouter les photos de leurs exploits!
 
Donc ça ressemblerai à une sorte de blog avec les commentaires d'un coté et une miniature de la photo (ouvrable en grand sur un clic) de l'autre.
 
Je connais SQL, je suppose que ça ressemble de près à MySQL mais je ne suis pas encore très à l'aise en PHP.
 
Voilà merci d'avance à tous!!  :wahoo:

Reply

Marsh Posté le 28-02-2005 à 22:40:47   

Reply

Marsh Posté le 28-02-2005 à 23:02:31    

Y a pas de quoi, ce fut avec plaisir.
 
C'était quoi la question au fait ? :D

Reply

Marsh Posté le 28-02-2005 à 23:42:24    

pour le fait d'avoir une miniature de la photo qui s'aggrandi sur simple clic, je te conseille de regarder du côté du module PHP-GD que je trouve très sympa et simple d'utilisation.
Sinon tu as aussi les CSS qui permettent de faire ca (au survol de la souris sur ta miniature ca affiche une version aggrandie de la photo), mais je laisse les pros de CSS t'expliquer ce point ;) )
 
POur ce qui est de stocké la photo taille réelle dans un blog de la base, je te le déconseille, ceci ralentit notablement l'acces à la base quand le nombre de photos devient important. Stocke les plutot dans un répertoire spécifique, et dans la Base tu mets le chemin d'acces, ou le nom, etc.
Si tu décide de stocker les photos sur un répertoire de ton disque plutot que dans la base, alors tu peux faire des configurations pour créer automatiquement un nouveau répertoire de sauvegarde des images tous les 600Mo par exemple (taille d'un cd) ; en effet, bien que les limites soient grandes, un répertoire ne peut contenir qu'un nombre limité de fichiers.
 
SInon pour le reste si tu connais MySQL ca doit pas te poser de problèmes.Il ne te reste qu'a potasser un peu le PHP, par exemple sur http://www.developpez.com/


Message édité par Djebel1 le 01-03-2005 à 02:45:40
Reply

Marsh Posté le 28-02-2005 à 23:46:54    

Ca fait plaisir de voir des photos de montpellier  :) .
bon courage pour ton site.
 
un neo-parisien  :sweat:  
 

Reply

Marsh Posté le 01-03-2005 à 14:50:01    

Oki merci de tes conseils Djebel je vais potasser un peu + PHP
le truc c'est que je ne sais pas trop par quoi commencer
- structure de la base de donnée
- fichiers php
- est ce possible de stoquer des photos dans une BD?
sinon comment faire pour que le visiteur envoi sa photo sur mon ftp de free?
Connaissez vous des exemples de ce genre déjà réalisés pour s'en inspirer?

Reply

Marsh Posté le 01-03-2005 à 17:35:44    

Commence par la structure de la db, rien n'est plus énervant que de refaire du code parce que la structure a été modifiée en route. Puis tu peux penser à l'arborescence de ton site.
 

Citation :

- est ce possible de stoquer des photos dans une BD?


Oui, mais Djebel t'a donné un excellent conseil sur le sujet (même si le mot "blog" est un joli lapsus :D), suis le :)
 

Reply

Marsh Posté le 01-03-2005 à 19:15:56    

ok je commence a voir la structure.
j'ai fai un test d'interface (tres moche je sais! ;))
- avec la page de galerie  
  http://unlimitedriders.free.fr/test/visiteurs1.gif
- avec page d'ajout de nouvelle image
  http://unlimitedriders.free.fr/test/visiteurs2.gif
 
donc a prioris il me faut qu'une seule table avec le n° de la photo, le nom de la photo, le nom de l'envoyeur, l'url de la photo réduite, l'url de la photo en grand
(pas d'enregistrement d'utilisateurs pour faire plus simple)
 
qu'en pensez vous?

Reply

Marsh Posté le 01-03-2005 à 19:44:22    

Pour récupérer les photos de tes utilisateurs, proposent leur un système d'upload. Cela passe tout simplement par un <form> en html avec un <input type='file'>. Fais une recherche sur google pour avoir toutes les infos sur cette balise.
Mais visiblement tu as plutot dans l'idée de ne pas stocker les images en dur, seulement le lien vers une url proposée par l'utilisateur ;  
avec ca 2 problèmes : déjà, si c'est une photo privée, ca veut dire que l'utilisateur ne pourra te la passer que si lui-même possède un site ou hébergeur. De plus la photo peut être modifié à tout moment sans que tu en sois avisé, donc meme une photo validée par tes soins pourra se transformer en photo cochonne :D
 
Au sujet des infos à stocker, ne te prive pas d'entrée de jeu d'infos qui te serviront peut-être ultérieurement. Par exemple (bon un sale exemple ok :p), imagine qu'un utilisateur upload une photo cochonne (oui j'insiste ^^)... tu seras bien content de savoir qui c'est pour lui couper l'acces. bon là c'est pas super pertinent ce que je dis, mais ne te prive pas d'infos utiles.
 
Si tu laisse n'importe qui pouvoir envoyer des photos, ca peut être problématique si qqn de malveillant commence à s'intéresser à toi. Tu peux donc proposer par exemple un enregistrement d'utilisateur, et limiter le nombre d'upload par utilisateur dans une limite de tps.

Reply

Marsh Posté le 01-03-2005 à 21:12:22    

Oui c'est pas bête ça je vais me renseigner pour gérer l'accès d'utilisateurs alors.
 
Pour les url je pensais en fait aux chemins d'acces que tu m'a conseillé pour éviter de surcharger la base de donnée.
 
D'ailleurs est ce que tu sais comment ça ce gere?
Et est ce qu'avec seulement <input type='file'> les photos s'enverront sur mon ftp?

Reply

Marsh Posté le 02-03-2005 à 00:26:52    

non, <input type='file'> te mettra ça dans un répertoire temporaire du serveur. Si tu veux uploader ensuite sur un ftp y a des fonctions PHP qui le font (désolé je les ai plus en tete).
Renseigne toi sur <input type='file'> et sur le tableau PHP "$_FILES", t'auras déjà pas mal d'infos

Reply

Marsh Posté le 02-03-2005 à 00:26:52   

Reply

Marsh Posté le 03-03-2005 à 13:25:29    

oki je commence a voir ça
sinon au niveau de la BD j'ai 2-3 questions (je sais que c la partie php mais on connait pas l'un sans l'autre!)
 
je crois que je vais faire 3 tables
- membres
- photos
- commentaires
 
je sais faire ça en sql mais j'arrive pas a trouver comment déclarer les clefs étrangères et je ne comprends pas trop les types MyISAM etc que je vois sur my admin.
 
peut on faire une importation sur my admin a partir d'un fichier access ou de ce type?
ou est ce que si je créé les tables en SQL pur ecrivant sous my admin cela marchera? en gros si SQL et MySQL c pareil quoi.

Reply

Marsh Posté le 03-03-2005 à 14:06:32    

j'ai fai ça vite fait sous access
je voudrai mettre ça sur php my admin en gros  
 
http://unlimitedriders.free.fr/test/tables.gif
 
si vous y voyez des manques ou de choses à modifier hésitez pas surtout!

Reply

Marsh Posté le 03-03-2005 à 14:25:54    

ça me parait correct.

Reply

Marsh Posté le 03-03-2005 à 14:43:49    

1/ pas stocker le nombre de commentaires dans la table photos
2/ tu peux aussi lier les commentaires a des membres...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 03-03-2005 à 18:53:12    

oui pour le nb de commentaires je me suis demandé ou le stocker... sur une autre table?
 
sinon pour lier commentaires a membres je prefere pas parce qu'il faudra s'enregistrer pour commenter apres et tout le monde sait que les internautes sont tres tres flémards! ;)

Reply

Marsh Posté le 03-03-2005 à 18:53:54    

Le nombre de commentaires, tu le calcul en live ;)

Reply

Marsh Posté le 03-03-2005 à 18:56:12    

Fused a écrit :


sinon pour lier commentaires a membres je prefere pas parce qu'il faudra s'enregistrer pour commenter apres et tout le monde sait que les internautes sont tres tres flémards! ;)


oui mais ca permet a des bot de flooder...
enfin faut quand meme que ton script soit assez rependu pour ca mais ca n'empeche pas un petit plaisantain de foutre le bordel dans ta base de donnée...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 03-03-2005 à 19:36:57    

oui c vrai... on va esperer que les petits plaisantin on mieux a faire... a

Reply

Marsh Posté le 03-03-2005 à 19:40:33    

oui c'est sur. mais on va esperer que les petits plaisantins on mieux a faire et comme c pas sur un gros site pour l'instant...
au pire un petit coup de ménage par ci par là et voilou
 
ok pour le calcul des commentaires j'y avai po pensé pôchère!

Reply

Marsh Posté le 03-03-2005 à 19:48:06    

Pour l'histoire du flood des commentaires, y'en a qui utilise les images générées dynamiquement : lors du post d'un commentaire, tu génère une image avec un code dessus, et tu demande au visiteur de saisir le code figurant sur l'image. Comme ça, un bot ne pourra pas récupérer le code, et ne pourra pas poster

Reply

Marsh Posté le 03-03-2005 à 20:06:53    

oui, +1 sur FlorentG. J'y ai jamais réfléchi, je sais pas comment c'est fait officiellement, mais en tout cas tu peux le faire avec le module PHP-GD
 
Sinon au lieu de passer par My admin, tu peux tout coder toi meme en PHP, si tu as deja fait du C ou un autre language de programation, en 1 semaine tu maitriseras quasi completement, et tu pourras vraiment faire ce qui te convient
 
oriente tes lectures sur l'interfaçage PHP-MySQL, c'est très bien documenter donc aucun problème, et t'apprends le PHP en meme tps :p


Message édité par Djebel1 le 03-03-2005 à 20:08:10
Reply

Marsh Posté le 03-03-2005 à 20:17:22    

+1 pour le calcul du nombre de commentaires (count), je reviens sur mon post précédent.
 
Quand on peut alléger la DB, vaut mieux le faire même si ta DB n'est pas encore surchargée  ;)  
 
Sinon pour le flood tu peux dire que le nombre de commentaires laissés sur chaque images et par @IP doit avoir un intervalle de 15s minimum...

Reply

Marsh Posté le 03-03-2005 à 20:18:10    

je dirait meme plus que 15 sec


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 04-03-2005 à 12:43:28    

euh le nb de commentaire tu le laisse parce que un count dans une boucle y a pas pire je t'assure

Reply

Marsh Posté le 04-03-2005 à 14:54:21    

un count dans une boucle?
c'est a dire?

Reply

Marsh Posté le 04-03-2005 à 15:52:59    

Quand tu va affiché les photos, tu va faire une boucle pour lister toutes les photos je suppose, et dans cette boucle si tu compte faire un  : SELECT Count(comm) FROM comm WHERE photo = ".$photoencours." cela sera très lent quand tu aura pas mal d'enregistrements ...
mieux vaux avoir un champs nb_comm que tu incremente et que tu peux avoir dans la boucle principale.

Reply

Marsh Posté le 04-03-2005 à 21:41:45    

oki d'accord va pour l'entité nb_comm :)

Reply

Marsh Posté le 04-03-2005 à 22:16:32    

Pas une entité! Un attribut, un champ

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed