IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Réaliser une base de donnée d'images et mots clés


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Réaliser une base de donnée d'images et mots clés
    Bonjour à tous !

    Je viens vers vous pour une aide car je n'arrive pas à choisir la bonne solution pour réaliser ma base de donnée pour mon site internet. Le site sera en php et la base en MySql.

    Il s'agira d'une gallerie d'images et j'aimerai laisser au visiteur la possibilité de laisser des mots clés sur les photos, un peu à la manière de flickr.

    Je n'arrive pas à me décider entre faire une table pour les mots clés et les relier dans la table images avec leurs id ( par exemple dans un champ id_keyword qui aurait les id stockés avec des separateurs: 1|2|5|9|7)
    Ou sur le meme principe stocker directement les mots clés dans le champ. Exemple: paysage|montagne|alpes...

    A priori pour une utilisation simple les 2 devrait fonctionner, seulement j'aimerai me frotter au développement de 2 fonctionnalités liés à cela:
    -Un clic sur un mot clé affiche toutes les photos qui ont ce mot clé associé
    -Creer un "tag-cloud" ou "nuage de mot clé" qui afficherai les mots clés les plus populaires, les plus redondants.

    J'ai l'impression que chacune de ces 2 fonctionnalités fait pencher la balance vers l'une ou l'autre des solutions, et je n'arrive vraiment pas à departager...

    Si l'un d'entre vous aurait un avis ou un conseil, je suis preneur !!


    Merci à tous,
    Rintrah.

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Salut,
    En faite, si tu veux etre au mieux, il faudrait normaliser ta bdd, et en faite utiliser la 3FN (3eme forme normale).
    Avec la 3 FN, tu obtiendrais 3 tables (les attribtus sont purement théoriques, et volontairement minimalistes) :
    - une table image (id image, titre image, nom fichier image)
    - une table mot clé (id mot clé, titre mot clé)
    - une table reliant les images au mot clés (id image, id mot clé)

    Après, avec des jointures et des aggregats, tu fais ce que tu veux : taille de mots clés pour nuages, selectionner les mots clés d'une image, selectionner les images d'un mot clé.

    Z.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse,

    Effectivement, dit comme ça c'est convaincant ! Je n'avais pas penser à l'option avec 3 tables, je sens que les requêtes vont être longues comme le bras ! Mais ca à l'air d'avoir la souplesse que je cherchais.

    Et même temps, pour être honnête je n'avais jamais entendu parler de la 3eme forme normale... je vais essayer de trouver des infos autour de ça sur le web, ça devrait m'éclairer un peu sur la construction d'une base comme celle là, et en apprendre un peu plus sur les "aggregats".


    Par contre pour le nuage j'ai du mal à voir quelle fonction sql me permettra de voir les mots clés les plus redondants ?

  4. #4
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Salut,
    Tu peux sleectionner les meilleurs mots clés ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT count(*) as comptage, mot_clé 
    FROM mots_clés NATURAL JOIN motclé_image
    GROUP BY mot_clé 
    ORDER BY count(*) DESC
    Traduction :
    FROM : on joint la table mot clé à la table mot clé et images.
    SELECT : à partir de cette jointure, on recupere le nom du mot clé (issue donc de la table mot clé) et le nombre de fois qu'il a été utiliser (comprendre : le nombre de fois que son id apparait dans la table motclé image)
    GROUP BY : fonction d'aggregat, permet de compter les mos clés
    ORDER BY : ordonne le resultat de la requete par nombre de mots clé
    DESC : specifie l'ordre : descendant.

    Z.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Super, merci pour tes réponses et tes explications!

    Je vais essayer de mettre la bdd en place de cette façon et me servir de ton exemple pour mes tests !


    merci encore,
    Rintrah

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2014, 10h57
  2. comment Parcourir une base de données d'images
    Par automa dans le forum Images
    Réponses: 5
    Dernier message: 22/02/2010, 17h40
  3. Parcourir une base de données d'images
    Par miss_angel dans le forum Images
    Réponses: 8
    Dernier message: 16/03/2008, 12h46
  4. comment réaliser une base de données fichiers
    Par developper2006 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 16/02/2007, 15h54
  5. peut on créer une base de données pour image?
    Par adamalbert dans le forum Access
    Réponses: 3
    Dernier message: 26/05/2006, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo