Todo: - upload utilisateur - gestion des doublons ? Si piste uploadée deux fois, on fait quoi: - On rajoute un lien entre la piste existante et la bibliothèque de l'utilisateur - L'utilisateur peut forcer l'upload de SA piste - Comment on gère l'affichage : une piste peut ne pas être jouable - more tests about: - replacing - deletion - permissions - un utilisateur envoie une piste: - pas de problème: au pire les métadonnées ne sont pas bonnes mais ce n'est pas très grave - on incite à tagguer avec picard / musicbrainz - en cas de conflit (piste sans tag, mais le nom de l'artiste existe avec un ID musicbrainz, par exemple): on fournit à l'utilisateur le choix (binder à l'artiste musicbrainz), ou créer un artiste séparé on peut aussi tenter des trucs plus intelligents à base de matching sur les noms de pistes, mais dans un second temps - Un créateur envoie une piste: - il crée un profil avec son nom d'artiste, des liens vers ses différents profils (youtube, etc). - on peut lui fournir un snippet à inclure sur ses profils "Funkwhale: http://creator.url" pour servir à valider - les instances fédérées pourront donc faire la vérification elles-mêmes - à l'upload, il a un formulaire spécial ou il déclare bien être le créateur des pistes et avoir les droits - on ne tente pas d'être smart : il faut que les données soient fiables et éditables par le créateur avant publication ! Jour 2: - on bind les fichiers aux bibliothèques - on ne dédoublonne pas, trop compliqué - en fédé, quand on scanne, on crée les track files, du coup plus besoin d'import manuel - dans le script de migration, gérer le cas dess trucs importés via la fédé Todo: - tester le remplacement - skipper les tracks qui sont déjà dans une autre bibliothèque - gestion d'erreur plus poussée - gérer les radios - tester permission sur la fédé - tester qu'on ne sert que les bibliothèques locales - virer au maximum la logique custom pour les acteurs systèmes - utiliser le vrai champs durée d'activitystream pour l'audio - shared inbox url - vue pour servir les bibliothèques: - logique de scan: - pouvoir lancer, mettre en pause, interrompre un scan - avoir des infos sur le déroulement du scan