15 Minutes of Fame

Et si on se tournait vers les alternatives ?

Streaming auto-hébergé : présentation de KooZic

Rédigé par Marty 6 commentaires

Dans l'article précédent, nous avons fait un rapide tour d'horizon des solutions de streaming musical auto-hébergé. Il y était mentionné l'arrivée d'un nouveau venu dans le domaine, KooZic. Présentons la bête...

Fonctionnalités & Interface

KooZic est conçu pour tirer au mieux parti des tags ID3 de votre collection musicale. Au démarrage, il propose une sélection d'albums et de pistes extraits des derniers ajouts, ainsi qu'une liste aléatoire.

La création de listes de lecture se fait facilement. On peut ajouter un album ou une piste à la liste courant en cliquant sur le bouton "+" ou "Add to Current Playlist" qu'on retrouve un peu partout dans l'interface.

Un outil dédié permet également de construire rapidement ses listes de lecture. En sélectionnant un album ou un artiste, toutes les pistes associées sont ajoutées à la liste.

La bibliothèque est classée par titre, album et artiste. La vue la plus intéressante est probablement la vue par album, ainsi que ses possibilités de recherche. Filtrer ou grouper ses albums se fait naturellement via la barre de recherche.

Il est possible de configurer plusieurs répertoires contenant vos musiques. Ils seront automatiquement scannés à intervalles réguliers. L'analyse d'un répertoire se fait au rythme de 2000 titres par minute. Les formats acceptés sont le MP3, le FLAC, l'OGG et l'AAC. Le titre est encodé à la volée grâce à FFmpeg pour être lu dans le navigateur.

Dernière chose mais non des moindres, le lecteur lui-même. Il se présente sous forme d'un panneau situé en bas de la fenêtre, et qu'on peut faire apparaître ou disparaître grâce au bouton "note de musique" situé en haut à droite. Les options sont classiques : play, pause, next, previous, shuffle, repeat... C'est un lecteur HTML5, donc pas besoin de Flash pour fonctionner.

Installation

À l'heure actuelle, aucun package n'existe, que ça soit en .deb ou .rpm. On récupère simplement la dernière version disponible sur le site officiel.

Sous Ubuntu 16.04, l'installation des dépendances se fait sans souci :

sudo apt install adduser node-less postgresql-client python python-dateutil python-decorator\
    python-docutils python-feedparser python-imaging python-jinja2 python-ldap python-libxslt1\
    python-lxml python-mako python-mock python-openid python-passlib python-psutil python-psycopg2\
    python-pybabel python-pychart python-pydot python-pyparsing python-pypdf python-reportlab\
    python-requests python-suds python-tz python-vatnumber python-vobject python-werkzeug\
    python-xlsxwriter python-xlwt python-yaml postgresql python-mutagen ffmpeg

On crée l'utilisateur dans la base de données :

sudo su - postgres -c "createuser -s votre_utilisateur"

On se rend dans le répertoire où on a récupéré KooZic, et on initialise la configuration :

./odoo-bin -i oomusic -d koozic --without-demo=all --stop-after-init

Quand l'initialisation est terminée, il reste à lancer le serveur :

./odoo-bin

On y accède via http://localhost:8069. Le login / mot de passe est "admin". Il faut bien évidemment changer ce mot de passe par mesure de sécurité...

Sous le capot

Sous le capot, tout est basé sur des technologies open-source et libres.

KooZic se base Odoo (v10), un progiciel de gestion intégré (un ERP). Il est en fait constitué d'un module (OOMusic) qui est greffé à une version allégée d'Odoo. Seul le framework Python et web a été conservé, tous les modules métiers (vente, achat, etc.) ont été enlevés.

Le base de données utilisée est PostgreSQL. Elle peut gérer sans problèmes une collection musicale de taille importante.

Finalement, howler.js est le framework Javascript qui permet de s'interfacer facilement avec les capacités de lecture de son des navigateurs en HTML5.

L'avenir...

KooZic est une application qui peut se suffire à elle-même. Cependant, un premier volet d'amélioration sera d'intégrer les infos d'un service extérieur pour récupérer, par exemple, les informations d'un artiste ou ses titres les plus populaires. Cela devrait rendre l'interface un peu plus riche. Un second volet sera le support de l'API de Subsonic, pour profiter des différentes applications (notamment mobiles) existantes. Mais bon, on en n'est pas encore là...

6 commentaires

#1  - jaja a dit :

salut,

ça à l'air sympa tout ça ;)

déjà, est-ce compatible avec des versions antérieures à la 16.04 (je suis encore en 14.04) ?

utilisateur de Subsonic depuis un bon moment, j'en très satisfait. le seul hic, comme tu le signales est la gestion des tags qui sont parfois un peu chaotique. sinon pas de soucis d'ajout de nouvel album avec la fonction de mise à jour de la bibliothèque.

j'ai pas d'action chez eux mais le forum du soft est assez réactif niveau sav mais bon je n'ai jamais eu trop besoin non plus. contrairement à Ampache, que j'avais testé aussi (développement arrêté en plus, il me semble), ce que j'apprécie avec Subsonic, c'est sa gestion de la bibliothèque par dossier. chez moi, tout étant bien rangé, il me met tout bien comme il faut et me sépare bien tous mes albums de toutes mes compilation. alors qu'avec des softs qui gère par tags, c'est le bronx et tout est mélangé ! impossible de retrouver les compils...

tu feras un client android ou autre ?

merci en tout cas. je testerais ça à l'occasion !

#2  - Marty a dit :

@jaja :
Yep,

Pas de soucis, c'est compatible avec la version 14.04. Il faut juste installer FFMpeg qu'on peut trouver sur ce PPA : https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media Perso, je tourne sous 14.04 et rien à signaler ;-)

Pour le classement, c'est vrai que pour le moment, c'est basé sur les tags ID3 uniquement. Mais ça ne devrait pas être un gros souci de faire une navigation par répertoire, car toutes les infos sont déjà récupérées, il faut juste les mettre en forme.

Au niveau client Android, le plan est de supporter l'API de Subsonic : comme ça, tous les clients Android ou iOS devraient être compatibles avec KooZic. J'espère commencer ça dans les semaines qui viennent.

N'hésite pas à tester le serveur de démo : http://demo.koozic.net:8069/web/login?db=koozic&login=demo&key=demo

Merci !

#3  - jaja a dit :

salut,

ok. je viens de tester mais je n'arrive pas à t'envoyer un message via la formulaire de contact. la vérification anti-spam veut rien savoir !!! (sous chrome et firefox)

donc ça se lance bien mais j'arrive sur une page presque vide !! dis moi comment t'envoie une capture et le retour de la ligne de commande !

#4  - Marty a dit :

@jaja :

Tu peux me contacter à marty AROBASE 15minutesoffame.be

#5  - Coolmicro a dit :

Bonjour,
Projet intéressant, je testerai dès que 2 conditions minimum seront remplies :
* navigation par dossiers possible
* API subsonic disponible (absolument nécessaire pour utilisation sur mobile, l'interface de KooZIC n'étant pas adaptée à une utilisation sur mobile dans le navigateur)
Un plus appréciable serait de pouvoir naviguer par genres => artistes => albums (et non directement genres => albums comme le font certains).
Actuellement, j'utilise CherryMusic, malgré ses limites (utilisation obligatoire du navigateur, pas d'utilisation des tags), parce c'est le seul à même de gérer rapidement, légèrement et simplement mes 130 Go de MP3 sur mon serveur (outre les tags tous servis, classement physique des dossiers par genres => artistes => album)
Pour donner un exemple d'un truc abouti que j'adore : sur le réseau local, j'utilise des flacs (version originelle des mp3 sur le serveur) avec mpd et comme client Cantata, qui me permet de naviguer aussi bien par dossiers que par tags, dans toutes les combinaisons possibles. J'espère trouver un jour une interface serveur qui s'approche de cette solution.
En tout cas merci pour votre travail et tous mes encouragements. Le début est très prometteur : sobriété, légèreté.
Cordialement

Nota : Prévoyez-vous une interface plus francisée pour l'avenir ?

#6  - Marty a dit :

@Coolmicro :

Merci pour le support ;-)

Concernant la navigation par dossier, c'est en principe disponible dans la v0.2.0. Par contre, c'est assez limité pour deux raisons. Tout d'abord, le framework de développement ne fournit pas de visualisation réellement adaptée. Ensuite, ce n'est pas le but recherché par KooZic. La majorité des applications fournit déjà la navigation par dossier, donc pour l'instant je ne vise pas ce développement. Je me concentre sur ce que les autres n'ont pas ;-)

L'API Subsonic sera supportée dans la v0.3.0. Ça fonctionne depuis environ fin octobre, mais je voulais m'assurer de la compatibilité des applis existantes, tant Android que iOS. C'est maintenant chose faite, et ça sera dispo très prochainement.

La navigation "genres => artistes => albums" n'est pas toujours la plus judicieuse. En effet, un artiste peut produire des albums de genres différents, donc pas évident de cataloguer un seul genre à un artiste. Par contre, je pense avoir une idée pour rendre l'accès par genre un peu plus facile, je vais creuser l'idée.

Finalement, concernant la francisation/traduction de l'interface, tout est prêt, j'ai juste besoin d'un coup de main pour tout traduire: https://poeditor.com/join/project/RMl91o65Bs

Les commentaires sont fermés.

Fil RSS des commentaires de cet article