[spip-dev] Médias : forcer l'unicité des documents dans les boucles qui utilisent (documents_liens)

## Le problème

Le plugin Médias utilise parfois des boucles avec (documents_liens).

Cela pose problème lorsqu'on ajoute au moins un champ de plus à la clé primaire de spip_documents : notamment pour ajouter des Rôles aux documents (comme pour les rôles d'auteurs).

On a alors potentiellement plusieurs lignes pour une même liaison document-contenu : si j'ai deux rôles pour un document, j'ai alors trois lignes dans spip_documents_liens. Le plugin Médias affiche alors parfois plusieurs fois le même document dès qu'il utilise des boucles avec la table de liaison, plutôt que la boucle DOCUMENTS seule.

- Notamment "colonne-documents" qui a
   `(documents_liens){id_objet}{objet}`
- Et "document_case" qui a
   `(DOCUMENTS documents_liens)`

Et vu que les deux sont liées, si on a trois lignes pour un même document, il est alors affiché NEUF fois dans la colonne d'édition ! :smiley:

## Dans le code

Alors déjà, maintenant que SPIP sait fait des jointures {objet}{id_objet} tout seul avec les liens génériques, quel intérêt ?

Par exemple dans "colonne-documents" :
`(documents_liens){id_objet}{objet}`
peut parfaitement être remplacé par
`(DOCUMENTS){id_objet}{objet}`
ce qui renvoie la même chose, sauf qu'on est sûr qu'il ne sort qu'une seule fois le même document !

Sauf qu'ensuite dans le #MODELE{document_case}, là on a :
`(DOCUMENTS documents_liens)`
donc il faudrait expliciter ici qu'on en veut qu'un seul :
`(DOCUMENTS documents_liens){fusion id_document}`

Mais il y a sûrement d'autres cas comme ça de ce genre, dans Médias, dans les squelettes de médiathèque, etc.

(Aussi, un truc que je ne comprends pas, c'est que dans la vue des contenus, dans la liste des documents joints, ça utilise le squelette "document_desc" qui a la MÊME boucle que "document_case" : et pourtant là ça ne bien qu'une seule fois chaque document ! Pourquoi ?!)

Bref, avez-vous d'autres idées pour résoudre ces problèmes de multiplication de petits docs ?