Airsonic est une divergence (fork) du célèbre Subsonic, qui n’est malheureusement plus libre et quasiment abandonné. En plus de bénéficier d’une communauté active, il ne se contente pas de simplement maintenir la base de code existante et de la moderniser, mais ajoute également quelques fonctionnalités bienvenues pour écouter sa musique.
Subsonic, écrit en Java par Sindre Mehus, est né en 2004, dans le but de fournir un jukebox convivial. Il suffit de lui fournir de la musique d’un côté, pour qu’en échange, il fournisse une belle interface Web, une API implémentée par des dizaines de projets, et la gestion du transcodage, permettant d’éviter de consommer l’intégralité de son forfait mobile tout en pouvant écouter sa musique au format FLAC sur une connexion Wi‐Fi.
Historique
Subsonic, devenu propriétaire à sa version 6.0, en 2016, laissa alors ses utilisateurs le bec dans l’eau. C’est là qu’est apparu Libresonic, une divergence de la dernière version disponible, dirigé par Eugene E. Kashpureff Jr.. Le projet fit long feu, et s’arrêta en juillet 2017, lorsque certains contributeurs ont voulu pousser dans une direction différente.
Bien que le projet se soit beaucoup concentré sur la maintenance de la base de code, en mettant systématiquement à jour des dépendances, et en corrigeant les éventuels bogues, il a parfois ajouté quelques nouvelles fonctionnalités. Doucement mais sûrement, les choses avancent, et Airsonic continue de devenir une alternative de plus en plus alléchante à Subsonic.
Sortie des versions 10.3.0 et 10.3.1
Mais les choses se sont accélérées à partir de la version 10.3.0, le projet a gagné tout un tas de nouveautés :
- optimisations ayant trait à la base de données : points de sauvegarde, défragmentation, etc. ;
- suppression de vieilles dépendances devenues inutiles : Moment.js, pngFix.js, script.aculo.us, jQuery contextMenu, Flash, etc. ;
- suppression de la prise en charge du WAP ; mais si, souvenez‐vous, le « Web » sur les premiers téléphones mobiles !
- mise à jour de jQuery et jQuery UI, et en sautant une version majeure !
- suppression des polices de caractères externes, récupérées depuis le CDN de Google ;
- masquage des mots de passe dans les journaux de l’API ;
- utilisation systématique des attributs
noopener
etnoreferrer
pour les liens externes ; - durcissement de la configuration systemd ;
- utilisation systématique de HTTPS pour les liens externes ;
- correction de CVE-2019-10907, permettant de récupérer les mots de passe des utilisateurs en échange de leurs cookies ;
- correction de CVE-2019-10908, rendant les mots de passe générés imprédictibles ;
- suppression de la page
/db
, permettant à un administrateur de lancer directement des requêtes SQL, sans protection anti‐CSRF ; - correction d’un nombre conséquent de failles XSS.
Et ensuite ?
La version Git actuelle contient énormément de réusinage de code et de nettoyage : exit les méthodes obsolètes et les anti‐patterns, ajouts de tests pour éviter de tout casser au passage, suppression des dépendances embarquées (les « .jar » dans le dépôt Git, ça n’est pas très propre), gestion de davantage de situations problématiques qui auparavant engendraient des traces d’appels (stacktraces), simplifications du code pour réduire le nombre de dépendances, meilleure intégration avec la Chromecast de Google, correction de soucis de concurrences, usage d’analyse statique (Coverity Scan, LGTM…). Bref, la prochaine version sera encore plus formidable !
Aller plus loin
- Dépot GitHub (262 clics)
- Site officiel (608 clics)
- Journal des modifications (45 clics)
# MPD
Posté par ted (site web personnel) . Évalué à 7.
C'est un projet intéressant. Pour ma part j'utilise le lecteur MPD qui fonctionne en mode client/serveur. A la base c'est plutôt utilisé pour contrôler un lecteur qui est sur une machine dans un coin et relié à des haut-parleurs.
Mais en le configurant et en utilisant le bon client (il y en a plein!), on peut faire la même chose que Airsonic (Installer un client Web sur le serveur, activer une sortie http ou icecast à la place de la sortie vers la carte son).
Quel est l'avantage d'Airsonic dans ce cas? Pourquoi ne pas être parti sur MPD pour monter ce Jukebox?
Un LUG en Lorraine : https://enunclic-cappel.fr
[^] # Re: MPD
Posté par jvoisin (site web personnel) . Évalué à 10.
Airsonic permet à plusieurs personnes en même temps d'écouter des morceaux différents, je ne sais pas si c'est possible avec mpd.
Je n'ai pas trouvé d'interface web classe pour mpd: quand les gens viennent de Spotify, un truc comme rompr ou netjukebox ne va pas les convaincre. Il y a bien ympd, mais c'est un peu trop spartiate pour être utilisé sur une grosse collection musicale.
Il y a également le support du transcoding: je peux écouter mes morceaux en FLAC quand je suis chez moi, mais transcoder ça en mp3 plus légers quand je suis sur mon téléphone.
Et enfin, la possibilité de s'abonner à des podcasts, d'écouter des webradios, et de pouvoir télécharger les albums.
Si j'avais été le seul utilisateur, j'aurais probablement utilisé mpd dans un terminal, mais avec d'autres utilisateurs moins technophiles, airsonic fonctionne vraiment bien.
[^] # Re: MPD
Posté par Anonyme . Évalué à 2.
Justement, je me demandais le sens de la phrase sur le transcoding dans la dépêche. Merci, c'est plus clair dans mon esprit :)
Du coup, pour garder un son moins dégradé avec la même réduction de taille qu'une conversion MP3 j'imagine qu'il y a moyen de sélectionner d'autres codecs voire différents encodeurs et éventuellement les options de celui-ci, n'est-ce pas ?
[^] # Re: MPD
Posté par jvoisin (site web personnel) . Évalué à 4.
Absolument. Si les paramètres par défaut d'airsonic ne te conviennent pas, tu peux tout simplement changer les paramètres d'appels à
ffmpeg
directement dans les préférences.[^] # Re: MPD
Posté par goutbulgare . Évalué à 0. Dernière modification le 17 juin 2019 à 17:37.
Ted, je cherche désespérément un client web pour MPD qui assure aussi la réception du streaming http.
netjukebox propose bien le choix entre le player mpd ou son propre stream de musique, mais j'aime pas, ilépabo et en plus il n'y a que la navigation par tag. sauras-tu me renseigner?
[^] # Re: MPD
Posté par ted (site web personnel) . Évalué à 1.
Malheureusement, je ne pourrais pas beaucoup t'aider. J'ai utilisé un client web pour faire une démo, mais je ne sais plus lequel c'était. Je suis plus adepte de Sonata, gmpc, voire FoxyMPD pour écouter de la musique sur ma chaîne hi-fi.
Un LUG en Lorraine : https://enunclic-cappel.fr
[^] # Re: MPD
Posté par goutbulgare . Évalué à 2.
tx sir, mais j'ai enfin trouvé mon bonheur. Ampache repond a quasi tous mes besoins. il va juste falloir que je me fasse au tags id3
[^] # Re: MPD
Posté par Tarnyko (site web personnel) . Évalué à 1.
Hello goutbulgare,
Utilises-tu Ampache à partir d'un mobile ? Si oui, as-tu une appli en particulier à me conseiller ?
[^] # Re: MPD
Posté par goutbulgare . Évalué à 1.
Salut Tarnyko, j'ai trouvé power ampache sur le store f-droid, mais mon vieux galaxy note 3 n'arrive pas a le lancer.
Par ailleurs je ne suis pas fan des applis quand on peut passer par un browser. Enfin, si c'est pour piloter un MPD je ne saurai que trop vous conseiller mpdroid qui permet de recevoir le flux streamé depuis le serveur.
[^] # Re: MPD
Posté par Tarnyko (site web personnel) . Évalué à 1.
Hey goutbulgare, eh ben entre-temps, moi de même ! Power Ampache 1.09.49 c'est bien ça ;) ?
J'ai la chance de ne pas avoir ce problème ; je tourne avec Android > 5.0.
J'ai testé et confirme que ça ne marche pas sous 4.x ; dommage…
[^] # Re: MPD
Posté par goutbulgare . Évalué à 0.
Bon, ben je crois qu'il est temps de passer sur lineage OS ;)
# Subsonic abandonné ?
Posté par binerf (Mastodon) . Évalué à 2.
Bonjour,
Utilisateur de Subsonic de longue date (qui paye sa licence annuellement ;-)), je suis étonné de lire que Subsonic est quasiment abandonné.
Certes les mises à jour sont rares mais l'outil est très stable et répond à toutes mes attentes.
Je ne dis pas que je ne serais pas contre une mise à jour des appli Android mais Dusb fonctionne.
[^] # Re: Subsonic abandonné ?
Posté par jvoisin (site web personnel) . Évalué à 7.
Les mises à jour sont effectivement rares, et le développeur est tout seul à travailler dessus. Airsonic a beaucoup modernisé son code, et vu corriger un bon nombre de failles de sécurité qui sont vraisemblablement toujours présentes dans subsonic :/
Mais loin de moi l'idée de déprécier subsonic, c'est un formidable logiciel, sans lequel airsonic n'existerait pas, et j'ai beaucoup d'admiration pour son auteur; mais le fait qu'ils ne soit plus un logiciel libre m'a poussé vers d'autres rivages ;)
[^] # Re: Subsonic abandonné ?
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 6.
En plus de la licence non-libre, c'est la présence de bugs pénibles (notamment des crash complets de la plateforme) jamais corrigés qui m'a motivé à essayer la "concurrence". Et ce alors que j'avais une licence.
Notamment l'intégration avec de vraies bases de données n'est pas stable
La connaissance libre : https://zestedesavoir.com
# airsonic vs sonerezh?
Posté par yabb85 . Évalué à 1.
Bonjour,
J'utilise sonerezh, quel sont les avantages d'airsonic par rapport à sonerezh?
Pour sonerezh je dirai
Avantage:
- simple à mettre en place
- faible consommation de ressources
- facile d'utilisation
- marche bien
Inconvénients :
- pas de client Android
- encore réellement supporté ?
Merci
[^] # Re: airsonic vs sonerezh?
Posté par jvoisin (site web personnel) . Évalué à 4.
Effectivement, Sonerezh n'est plus trop maintenu. Son principal soucis, à mon avis, c'est effectivement le manque d'applications mobiles.
On peut également noter que bien que l'interface soit simple et claire, elle n'est pas très pratique pour les grosses bibliothèques. J'avais regardé un peu le code, et il ne m'avait pas pas vraiment inspiré confiance du tout.
Mais oui, le fait qu'il soit écrit en php fait qu'il consomme moins de RAM qu'airsonic, qui est en Java. Par contre, pour ce qui est de la mise en place, je pense que c'est airsonic qui gagne: difficile de faire plus simple que
java -jar ./airsonic.war
:p# Bon courage !
Posté par El Titi . Évalué à 2. Dernière modification le 16 juin 2019 à 12:29.
J'ai jeté un coup d'oeil et y'a quand même un sacré taf.
Apparement, tu te lances sur un portage de JSP vers du REST + Angular, c'est bien ça ?
https://github.com/airsonic/airsonic-ui
C'est plutôt ambitieux mais prometteur.
Pour le coup, tu n'aurais pas meilleur temps de repartir d'une branche dédiée pour y voir plus clair, en mettant en place des tests en épingle au niveau de l'API ?
Tiens, ça me permet de faire un peu de pub pour ce projet génial:
https://github.com/intuit/karate
Je te souhaite le meilleur pour la suite car l'original (Subsonic) que je viens de découvrir est déjà cool.
[^] # Re: Bon courage !
Posté par jvoisin (site web personnel) . Évalué à 3.
Absolument pas, ce sont d'autres gens qui tentent ça. Moi, je me contente de moderniser le backend, nettoyer le code, améliorer la sécurité, … J'ai un peu touché au front-end, mais c'est anecdotique, parce que c'est vraiment pas mon truc :D
# Ressources Matérielles
Posté par ted (site web personnel) . Évalué à 3.
Je n'ai pas trouvé sur la page Github ce qu'il faut pour faire tourner ce logiciel. Est ce que ça peut tourner sur un Raspberry Pi 3B+ ? Sur un Zero ?
Un LUG en Lorraine : https://enunclic-cappel.fr
[^] # Re: Ressources Matérielles
Posté par jvoisin (site web personnel) . Évalué à 2.
Ça tourne très confortablement sur un Raspi3.
Aucune idée pour le raspi zero, mais il y a des gens qui font tourner subsonic dessus, donc j'imagine que ça passe :)
# Compléments
Posté par Nanawel (site web personnel, Mastodon) . Évalué à 4.
Et pour ceux qui souhaiteraient migrer de Subsonic 5.x vers Airsonic, c'est très simple, surtout avec Docker.
J'ajouterais également que le client mobile de Subsonic est très bien, mais très honnêtement depuis que je suis passé à DSub je ne ferai pas machine arrière (dispo sur F-Droid qui plus est).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.