Projet Funkwhale a lancé sa première version stable. Dans le cadre de cette initiative, un serveur libre est en développement, écrit en Python avec le framework Django, pour héberger de la musique et des podcasts, dont l'écoute est accessible via une interface web. clients supportant l'API Subsonic ou l'API Funkwhale nativeet depuis d'autres instances de Funkwhale, en utilisant protocole de fédération de réseau ActivityPub.
L'interaction de l'utilisateur avec l'audio se fait par le biais de bibliothèques et de chaînes : les bibliothèques sont des collections de plusieurs artistes avec un UUID généré aléatoirement comme adresse, tandis que la chaîne représente la discographie d'un seul artiste auquel est assignée une adresse lisible par l'homme ; les chaînes peuvent être utiles pour la publication de podcasts. La gestion des abonnements est similaire à celle d'un autre projet — PeerTube: vous pouvez vous abonner à un utilisateur ainsi qu'à ses chaînes créées séparément. Comme le serveur fonctionne selon le protocole ActivityPub, il est possible de s'abonner depuis d'autres implémentations populaires, telles que Mastodon et Pleroma.
Après la création d'une bibliothèque ou d'une chaîne, la possibilité de télécharger de la musique apparaît. Le stockage de fichiers peut être soit local, soit distant, en utilisant le support intégré des systèmes de fichiers sur le protocole Amazon S3. Vous pouvez télécharger n'importe quel fichier dans un format populaire, sans recodage supplémentaire ni perte de qualité (ce que fait, par exemple, PeerTube, qui supporte également le téléchargement audio). Funkwhale lit les métadonnées musicales intégrées dans les fichiers et les couvertures, et en leur absence, il génère une erreur. Il est donc recommandé aux utilisateurs d'utiliser MusicBrainz Picard pour enregistrer les bonnes balises avant le téléchargement. Une interface d'édition des métadonnées est également disponible après le téléchargement, fonctionnant sous forme de révisions avec un historique visible des changements.
À partir de la musique déjà téléchargée dans les bibliothèques et les chaînes, il est possible de créer des listes de lecture, des stations de radio et de marquer des morceaux comme favoris. Les utilisateurs distants pourront demander l'accès à votre bibliothèque ou chaîne en insérant simplement le lien dans la barre de recherche de leur serveur. Les utilisateurs anonymes pourront écouter de la musique via l'interface web, si cela est autorisé dans les paramètres du serveur. Les utilisateurs locaux enregistrés peuvent accéder à toute la musique du serveur sans utiliser l'interface web, en se connectant via tout client prenant en charge l'API Subsonic — un autre serveur musical, désormais sous licence propriétaire, avec des succursales en développement parallèle de l'ancienne base de code sous une licence libre, — ou l'API Funkwhale native, par exemple, Otter pour Android.
Les clients peuvent également demander au serveur une version transcodée des morceaux (par exemple, de FLAC en MP3 avec un débit binaire inférieur, nécessitant moins de bande passante).
Il est possible de s'abonner à des flux RSS, par exemple, aux podcasts déjà mentionnés.
Les changements de cette version :
- la version minimum requise de Python a été portée à 3.6 ;
- changements cassants de la compatibilité dans l'API client ;
- suppression de la prise en charge des jetons JSON (JWT) au profit de l'OAuth ;
- algorithme amélioré pour générer des aperçus de couvertures ;
- un bouton a été ajouté dans l'interface web pour importer de la musique depuis le système de fichiers du serveur ;
- affichage du nombre de téléchargements de morceaux et d'albums ;
- une nouvelle page de recherche ;
- le bouton « jouer » sur les morceaux et les albums remplace maintenant la file d'attente, au lieu d'y ajouter des morceaux ;
- prise en charge du scrobbling via l'API Last.fm v2.
Source : linux.org.ru

