Referençer des photos [BDD] - SQL/NoSQL - Programmation
Marsh Posté le 25-02-2004 à 00:19:22
3 tables. personne, photos et une table de jointure... avec le couple d'ID correspondant...
Marsh Posté le 02-03-2004 à 15:21:32
J'aurai voulu avoir d'autres avis ...
Tu es sûr de ton idée là?
Marsh Posté le 02-03-2004 à 15:23:30
Parceque du coup je n'aurai pas qu'une table personne, j'aurai aussi une table lieu, une table equipe, car ça marche par équipe ...
Et pis comment je fais après dans la table de jointure pour dire que la photo N° 5 (par exemple) peut être associée aux personnes: Toinou, Jean, Eva ??????
Marsh Posté le 02-03-2004 à 15:38:58
Sinon tu peux toujours choisir une solution un peu plus "bourrine" qui consiste à faire une grand zone texte dans laquelle tu mets une rapide description de ta photo, genre "jean, paul, pierre, equipe bleu, devant tour de pise" et derriere faire tes recherches sur les photos dont le descriptif contient le mot recherché.
Marsh Posté le 02-03-2004 à 15:42:52
Table "trucmuche" :
-> ID
-> NOM
-> TYPE (1 = personne, 2 = lieu, 3 = objet, 4 = ...)
Table "yest" :
-> trucmuche_id
-> photo_id
Table "photo" :
-> ID
-> fichier
Marsh Posté le 02-03-2004 à 15:43:00
Anapajari a écrit : Sinon tu peux toujours choisir une solution un peu plus "bourrine" qui consiste à faire une grand zone texte dans laquelle tu mets une rapide description de ta photo, genre "jean, paul, pierre, equipe bleu, devant tour de pise" et derriere faire tes recherches sur les photos dont le descriptif contient le mot recherché. |
et comment tu fais çà concrètement ?
Tu récupère le champs => çà te fait une phrase ou plutot une chaine de caractère et après ?
Marsh Posté le 02-03-2004 à 15:44:22
MagicBuzz a écrit : Table "trucmuche" : |
et si le gars qui s'appelle Antoine a l'ID 345 , comment çà se passe si il est sur 24 photos?
Tu as quoi dans la table yest ? dans ce cas ?
Marsh Posté le 02-03-2004 à 15:46:15
protoinou a écrit : et comment tu fais çà concrètement ? |
laisse béton le coup de la description (tu peux toujours en mettre une, mais ne t'en sert pas pour la recherche), c'est lent, et ça donne des résultats tout à faut aléatoires...
Par exemple :
"Rainette posée sur une feuille de nénuphare."
Bah si l'utilisateur recherche "phare", bah... Il ve se retrouver avec une grenouille au milieu d'une marre, et il va pas très bien comprendre pourquoi...
Marsh Posté le 02-03-2004 à 15:47:32
MagicBuzz a écrit : |
LOL jolie image !!
Mais alors comment faire?
Marsh Posté le 02-03-2004 à 15:48:03
protoinou a écrit : |
trucmuche_id photo_id
345 1
345 2
345 .
345 .
345 .
345 24
Donc tu fais la requête :
SELECT photo.fichier FROM trucmuche, yest, photo
WHERE trucmuche.nom = 'Antoine'
AND yest.trucmuche_id = trucmuche.id
AND photo.id = yest.photo_id
Marsh Posté le 02-03-2004 à 15:48:18
Comment elle marche les fonctions de recherche sur ce forum ????
Marsh Posté le 02-03-2004 à 15:49:26
avec le coup du phare, en plus évolué. Pas adaptable pour ce que tu veux faire, ça nécessite d'avoir du vrai texte, avec un volume conséquent.
Marsh Posté le 02-03-2004 à 15:49:51
MagicBuzz a écrit : |
Ok c'est cool, ca fait juste une table qui va être énorme, mais bon çà c'est pas trop grave je pense ..
Au niveau de MySQL vous connaissez un peu les perte de vitesse lié à la longueur des tables ?
Marsh Posté le 02-03-2004 à 15:50:21
ReplyMarsh Posté le 02-03-2004 à 15:50:28
t'as combien de photos ?
combien de personnes différentes ?
Marsh Posté le 02-03-2004 à 15:55:13
protoinou a écrit : |
en faisant des index, ça devrait être complètement transparent.
en effet, elle n'est qu'à deux entrées la table, sans la moindre donnée. à partir de là, ta requête durera au moins 10 millisecondes, même avec un nombre certain de lignes...
en dessous du million, te pose pas de questions, puisque tu ne fais que des "=". Par contre,avec le coup du résumé (donc "like" ) ça devient très rapidement catastrophique, index ou non.
Marsh Posté le 02-03-2004 à 15:57:16
MagicBuzz a écrit : |
Au moins 10 millisecondes ... euh ... OK
Sinon on fait comment les Index, quelqu'un peut me faire un cours rapide???
Merci
Marsh Posté le 02-03-2004 à 15:58:04
lorill a écrit : t'as combien de photos ? |
Je ne sais pas encore, les personnes pauront les rajouter dans l'ideal
Marsh Posté le 02-03-2004 à 15:59:12
ouais, enfin t'as bien un ordre de grandeur...
mille ? cent mille ? un million ? cent millions ? plus ?
Marsh Posté le 02-03-2004 à 16:02:22
bah alors comme le dit buzz, t'auras aucun probleme de perf'
Marsh Posté le 02-03-2004 à 16:02:57
moins de 10 000 devrait pas poser de problème, même sur les serveurs tout pourris de free
Marsh Posté le 02-03-2004 à 16:04:21
PS : Dans l'absolu, tu vas utiliser deux champs int de 32 bits.
Donc : 10 000 * (32 / 8) * 2 = 80 000 octets ~~ 80 Ko
C'est la taille de la table...
Donc franchement, même sur un goupil à partir d'une disquette tu devrais pouvoir faire la requête avec un temps de réponse honorable
Marsh Posté le 02-03-2004 à 16:07:08
MagicBuzz a écrit : PS : Dans l'absolu, tu vas utiliser deux champs int de 32 bits. |
LOL d'accord je voi
C'est cool alors ..
ET pour les photos vous me conseiller d'utiliser quel mode ?
Transfomer chaque photos de façon à les avoir en version petite (taille en octet minimisé) et une autre en version plus grande ???
Avec par conséquent dans la table photos, deux liens pour une même photos?
Ou alors de gérer çà en HTML=> on part de la grande photo qu'on rétrécit ??
Marsh Posté le 02-03-2004 à 16:07:53
lorill a écrit : ah, si ptet, vu que c'est sous free |
Tu me conseil quoi d'autre à la place ?
Y'a rien de mieux en gratuit qui fait PHP + MySQL
Marsh Posté le 02-03-2004 à 16:10:42
lorill a écrit : rien, je pensais que c'était pour un truc en interne |
Comment çà ?? C'est pour un site web, fait bénévolement pour un club de basket
Marsh Posté le 02-03-2004 à 16:16:30
Pour les images, deux versions c'est mieu qu'une grosse redimensionnée en HTML, sinon l'utilisateur charge quand même toute la photo quand il regarde la miniature, ce qui peut bouffer pas mal de bp si tu fais un album avec plusieurs photos d'un coup.
Pas besoin de faire deux liens.
Tu mets les miniatures dans un sous-répertoire "thumbs" avec le même nom que les vraies photos.
A ce moment, t'as juste à rajouter "thumbs" dans le chemin quand tu affiches les miniatures.
Marsh Posté le 02-03-2004 à 16:17:03
protoinou a écrit : |
il pensait que c'était sur un serveur dédié, style ce qu'on peut faire avec son pc perso et l'adsl, ou un hébergeur qui coûte cher
Marsh Posté le 02-03-2004 à 16:17:39
lorill a écrit : bah vi, mais comment je le devine ? |
avec ta boule cystal reports
Marsh Posté le 02-03-2004 à 16:26:55
MagicBuzz a écrit : Pour les images, deux versions c'est mieu qu'une grosse redimensionnée en HTML, sinon l'utilisateur charge quand même toute la photo quand il regarde la miniature, ce qui peut bouffer pas mal de bp si tu fais un album avec plusieurs photos d'un coup. |
Ok bien joué pour le rep thumbs...
Par contre proukoi est ce que je suis obligé de charger toutes les photos ? Juste les miniatures en fait ?
Marsh Posté le 02-03-2004 à 16:28:23
MagicBuzz a écrit : |
Ah ouai tient , qu'est ce qui est mieux, faire un dyndns de chez soit (pour serveur chez soit) ou prendre free, sachant que j'ai ADSL WANADOO OPTION PING en 512/128 ??
Marsh Posté le 02-03-2004 à 16:29:06
lorill a écrit : bah vi, mais comment je le devine ? |
LOL ouai désolé, je pensais que tu lisais dans mes pensées, mais bon tu sais pas faire ..
Mais t'inquiète çà viendra çà ..
Marsh Posté le 02-03-2004 à 16:37:11
Ca dépend... Qu'y a-t-il sur ton site ? Que des photos ? Leur taille (en ko)
Combien de visites par jour attendues ?
Histoire de savoir si ton ADSL ca tenir la charge, ou faire rammer.
A savoir qu'une image de 200 Ko prendra 200 / 16 = 12,5 secondes à charger dans le meilleur des cas... C'est donc pas génial, mais si y'a pas 36 personnes en train de pomper à la fois, et que les photos ne sont pas l'élément principal du site, c'est raisonnable.
(sur un serveur capable de diffuser à 64 ko (vitesse de dwl de l'ADSL) ça donnera un peu plus de 3 secondes.
Par contre, je te déconseille dyndns. En effet, c'est bien, mais les noms de domaine son un peu pourrave...
"mon_equipe_de_basket.dyndns.org" c'est moyen à retenir, avant que j'opte pour mon nom de domaine sur mon site, tout le monde passait son temps à me re-demander l'url du site...
Donc, un petit tour sur www.gandi.net pour acheter un nom de domaine en .com : 12 ? par an.
Puis un petit tour sur www.zoneedit.com pour obtenir des DNS pour ton nom de domaine...
Installe "DirectConnect" sur ton PC pour mettre à jour zoneedit (comme pour dyndns) avec ton IP...
Attends 48 heures la propagation de ton nom de domaine...
Et enfin ton site www.mon_equite_de_basket.com sera en ligne sur ton PC.
Investissement minime, et effet "pro" garanti.
Free est la solution de secours, parceque entre le "mon_equipe_de_basket.free.fr" chiant à retenir, le fait que la moitié des utilisateurs wanadoo pourront pas y accéder une fois sur deux, et le fait que ton serveur va rammer comme s'il était sur un goupil avec un modem 14.4 bauds, ça fais un peu ridicule.
Marsh Posté le 24-02-2004 à 21:06:02
Salut
je voudrais savoir quel est le meilleur moyen d'ajouté des critères de selection à des photos avec une base de données ?
Par exemple précisé que sur telle ou telle photo on y voit Jocelyne, anne, et christian ?
Pour après pouvoir rechercher (par exemple) toutes les photos ayant "anne" .