Normalisation Hosting images

Bonjours, je suis en 2éme année de DUT Info, et on a un projet de Base de donnée, on doit faire la normalisation dans une matière, puis on réalise ce projet en php (a partir d’octobre).

Donc on a choisis de réaliser un système d’hébergement d?images, comme imageshack.us, mais comme c’était un peu léger, on a ajouté d’autres fonctionnalités:
Hébergement simple: l’image est accessible par un lien, l’utilisateur peut l’utiliser par exemple sur des forums…
Herbagement prive: seul les amis de l’utilisateur peuvent voir ses images
Hébergement publique: l’image est accessible sur le site de notre projet, elle est rangée dans sa catégorie…

Les images peuvent être notées par les internautes inscrits

Voici notre dictionnaire des données:
N°Image
N°Utilisateur
Pseudo
Mot de passe
email
Nom image
Admin (sert a déterminer si l’utilisateur est un administrateur ou non)
Note Image
effectif note (pour mettre a jour la note lors d’un nouveau vote)
Droit (public/prive/simple)
Catégorie

Et il se trouve qu’on a un gros problème pour gérer la fonction amis, comment mémoriser les liens d?amitié ?

On a rejeté l?idée de créer une table du style :

Utilisateur1 Utilisateur2
Utilisateur1 Utilisateur3
Utilisateur1 Utilisateur4
Utilisateur2 Utilisateur1
Utilisateur2 Utilisateur3
Utilisateur3 Utilisateur1
Utilisateur3 Utilisateur2
Utilisateur4 Utilisateur1

Parce qu?on stock plusieurs fois le même lien d?amitié (Utilisateur1 Utilisateur4
= Utilisateur4 Utilisateur1)

Alors bien sur, on peut ne pas stocker les doublons :
Utilisateur1 Utilisateur2
Utilisateur1 Utilisateur3
Utilisateur1 Utilisateur4
Utilisateur2 Utilisateur3
Utilisateur3 Utilisateur1

Mais la, on a un problème : on ne peut plus se « fixer » sur une colonne, et regarder ce qu?il y a dans l?autre colonne, ça se lit dans les deux sens !

Donc en gros on patauge complètement alors si une âme charitable pouvais nous aider?
Et merci de m?avoir lu jusqu?ici.

ça ne va pas résoudre ton problème (ça m’intéresse aussi tiens) mais…

Si on étend un peu votre idée, on peut penser aux “followers” comme sur twitter.
Par exemple j’ai envie de pouvoir voir les images d’un célèbre photographe, mails lui s’en fiche pas mal de voir les miennes, ou alors je ne veux pas qu’il puisse les voir parce qu’elles sont personnelles.

Dans ce cas l’idée d’une table à deux colonnes conviendrait, et il faudrait gérer les deux amis mutuels depuis le code PHP.

C’est juste une réflexion comme ça, à voir si ça rentre dans ton idée ou si tu veux réellement avoir le fait d’avoir des amis “unis”.

Salut NeqO, merci de ta réponse.
En fait, ca fait déja plusieur scénaces qu’avec mon groupe, on planche sur la question.
Nous avons déja étudié l’idée d’un lien directionnel d’amitié, mais ca ne nous a pas parus judificieux, parce si moi je veut voir les photos de mon amis, mais que lui ne peut pas voir les miennes, on est pas vraiment des amis.

Dans l’exemple du photographe, je pense qu’il metterais ses photos en droit publique, les bonnes vidéos (courts, films d’animation…) sur dailymotion sont toujours en publique.

D’ailleurs on a pris dailymotion comme modéle au niveau du systéme de notation et des amis aussi.

Pour conclure, l’idée c’est vraiment d’avoir des liens d’amitié bidirectionnels.