Accueil > Le libre à la maison, Mutlimédia, Planet-Libre > Faire son Deezer avec Tin Can Jukebox

Faire son Deezer avec Tin Can Jukebox

Je m’étais intéressé il y a quelque temps au trio Icecast2 / MPD / pitchfork (interface web) pour diffuser de la musique dans ma maison. Cela produit effectivement un superbe serveur de type WebRadio mais qui ne répondait pas à un besoin essentiel : « Chaque Client (personne) a le droit d’écouter ce qu’il veut et en même temps ».

Je suis tombé il y a peu de temps sur le jeune projet libre Tin Can JukeBox que je me suis empressé de tester et franchement le résultat a dépassé mes attentes. Nous allons voir ici comment l’installer et le configurer sous Debian Lenny.

Tin Can JukeBox est basé sur PHP/MySQL/Ajax pour diffuser en streaming et de manière « sécurisée » une large collection de MP3 à travers un réseau. Il gère entre autre, l’authentification avec accès personnalisés, une interface d’administration, des playlists, les choix par artistes, albums ou genre, album cover et, à la différence de deezer, on peut activer ou non, le téléchargement des albums. Enfin il permet d’avoir un accès à sa musique anywhere, everywhere…Bref à utiliser avec grande prudence en ces temps Hadopresques…

Pré requis :

  • Un serveur Web Apache 2 / PHP 5 / MySQL > 5
  • Le module GD pour PHP5 activé (paquet php5-gd) pour afficher les covers.
  • Certainement plein d’autre.
  • System *unix : développé sous FreeBSD, je confirme le bon fonctionnement sous Lenny.

Je ne reviendrai pas sur l’installation d’un serveur Web sous Lenny, on peut trouver une multitude de tutoriel sur internet.

Installation de Tin Can JukeBox :

Récupération de la dernière version ( à ce jour TinCanJukebox-20090401 qui améliore grandement la gestion des covers) :

cd /opt
wget http://freefr.dl.sourceforge.net/sourceforge/tincanjukebox/tinCanJukebox-20090401.tar.gz
tar -xzf tinCanJukebox-20090401.tar.gz
mv tincanjukebox/ /var/www/

Création de la base de donnée MySQL jukebox :

mysql -u root -p
mysql create database jukebox;

Création de l’utilsateur Tin avec mot de pass Can et on lui donne les droits sur la base jukebox  :

mysql use mysql;
mysql INSERT INTO user (Host,User,Password) VALUES('%','Tin',PASSWORD('Can'));
mysql flush privileges;
mysql grant all privileges on jukebox.* to Tin@localhost;
mysql flush privileges;
mysql quit;

On copie le fichier de configuration et on l’édite :

cd /var/www/tincanjukebox
cp lib/conf.php.default lib/conf.php
vim lib/conf.php

On modifie ces trois lignes :

username = "Tin"
password = "Can"
defaultDB = "jukebox"

On se connecte sur l’interface web et on cree notre utilisateur admin :

http://127.0.0.1/tincanjukebox/

On se connecte avec l’utilisateur précédemment créé puis dans Admin -> System config , on renseigne le fameux ‘Music Folder Path’ pour ma part \home\feilong\Music\.
Quelques points de configuration important à mon sens :
Dans Admin -> Preferences Defaults -> Playlist Type choisir entre M3U ou XFPF
Dans Admin -> Preferences Defaults -> Play Method Choisir ‘Open Playlist on local machine’ pour ecouter la playlist via application cliente : Amarok, Rythmandbox, Winamp, ou un certain WMP…
ou Choisir ‘Play in Embedded Flash player’ pour une écoute en mode ‘deezer’.

Dans Admin -> Catalog -> Update Catalog Cliquer sur ‘Do it’ pour mettre à jour la base de donnée et les morceaux contenus dans votre ‘Music Folder Path’

Dans User Administration, on peut ajouter un utilisateur avec les droits administrateur ou non

Dans Admin -> User Privilèges -> On peut authoriser notre nouvel utilisateur à télécharger les albums ou non ( par défault desable).
Si oui, on ajoute un album à une playlist, on peut ensuite cliquer sur play ou download au format tar.gz.

Conclusion :

Tin Can Jukebox est un projet très jeune (la première release étant sortie le 24 janvier 2009) mais il a déjà tout pour plaire. Enfin presque, il ne gère pas encore d’autre format que le MP3 et j’entends déjà crieer certain. Malgré cette grosse erreur de jeunesse qui à mon sens sera très bientôt corrigé, Tin Can Jukebox mérite vraiment qu’on le suive de très prêt.

Pour se faire un idée un peu plus ‘on live’, je vous laisserai tester le site de démo du projet Tin Can Jukebox. ( Ne soyer pas surpris de ne pas entendre le moindre son, légalité oblige.)

  1. 21/04/2009 à 15:55 | #1

    Bonjour,

    Je t’invite à regarder également du côté de Jinzora qui devrait répondre à tes attentes.

    C’est un jukebox capable de diffuser de la musique différente pour chacune de personnes connectées (avec authentification ou non).

  2. 21/04/2009 à 16:08 | #2

    Marrant, j’ai testé Jinzora en début d’année suite au conseil de Ptigrouick sur le site generation linux :

    http://www.generation-linux.fr/index.php?post/2009/01/17/Mise-en-place-d-une-webradio-avec-Icecast-et-Liquidsoap#c1115

    Je sais pas ce que j’ai foutu à l’époque mais Jinzora ramait pas mal et avait déjà du mal à gérer ma petite collection de test. Franchement, je trouve Tin Can Jukebox est beaucoup moins lourd, voir beaucoup plus rapide ;-)

    (enfin après c’est peut être moi…)

  3. 21/04/2009 à 17:46 | #3

    Bonjour,

    Personnellement, j’ai testé Jinzora sans être séduit (l’interface n’étant pas très intuitive). Je suis ensuite tombé sur Ampache ( http://www.ampache.org/ ) qui m’a séduit.

    L’intérêt principal de Ampache est qu’il est capable de faire de la conversion à la volée des fichiers mp3 pour soit en réduire la qualité afin de correspondre à des bandes passantes faibles, soit permettre le streaming mp3 de fichiers flac ou mpc.

    J’ai aussi écris un guide d’installation pour cet outil sur Debian :

    http://howto.landure.fr/gnu-linux/debian-4-0-etch/installer-la-plateforme-de-streaming-audio-ampache-sur-debian-4-0-etch

    Merci pour avoir mis en lumière Tinc Can Jukebox.

    Bonne continuation.

  4. 21/04/2009 à 18:34 | #4

    Tu peux aussi regarder ampache qui me donne entière satisfaction.

  5. Matt2cv
    21/04/2009 à 18:50 | #5

    J’ai rapidement essayé. Ca a l’air pas mal.
    J’ai juste du faire une p’tite modification dans la librairie lib/image_funcs.php. J’ai ajouté une fonction.
    function sys_get_temp_dir ()
    {
    $tmp_rep= »/tmp »;
    return $tmp_rep;
    }

    il faut dire que je suis sur Debiann Etch. Et ca fonctionne.

  6. 21/04/2009 à 19:13 | #6

    Effectivement ampache à l’air très intéressant. Je vais le tester également. Je parcours un peu la démo par là :

    http://ampache.org/demo

    Ce qui me gène à première vue, c’est de concidérer le ‘genre’ musical comme un tag et non un critère de filtre… moi qui suis habitué sous Amarok à Style -> Artiste -> Album, ça me perturbe un peu…

    Par contre l’encodage à la volée est clairement un sérieux atout…

    Finalement je ne pensais pas qu’il y avait autant de solution de ce genre ;-)

  7. G-rom
    21/04/2009 à 23:37 | #7

    franchement merci pour ton article, je ne connaissais pas du tout, ni ampache, mais pour avoir vu la demo et lu la doc vite fais, je trouve ampache beaucoup plus lourd pour ma simple utilisation, et moins ergonomique, surtout niveau navigation par style.

    Et sérieusement… Tin Can Jukebox est vraiment rapide à mettre en place et à utiliser, et pourtant comme tu l’as souligné il est jeune !

    Du coup j’ai commencé à aider le développeur pour faire la trad fr du projet :) Ouais jsuis comme ça moi… :p

  8. 22/04/2009 à 08:19 | #8

    Bonjour,

    un autre projet du même genre, c’est kPlaylist.

    C’est un unique script PHP, vraiment simple a mettre en place :

    http://www.kplaylist.net/

    Personellement, j’accroche pas trop,car c’est vraiment trop simple, mais ca peut intéresser d’autres personnes.

  9. 28/04/2009 à 22:05 | #9

    En parcourant ton article (merci beaucoup d’ailleurs), j’ai cherché un petit peu des softs du même genre. Du coup, j’ai testé Ampache, mais c’est un peu compliqué à mon goût, notamment le streaming ne fonctionnait pas… et finalement, j’ai découvert Subsonic.

    C’est clairement un super projet, impressionnant de stabilité !! http://subsonic.sourceforge.net/

    En revanche, il est développé en JAVA, mais j’ai mis 30s à le mettre en place sous Ubuntu, et il est multiplateformes et en francais ! Que du bonheur !

  10. 29/04/2009 à 20:55 | #10

    J’ai testé vite fait subsonic. j’ai toujours un peu de mal avec JAVA mais bon, je dois dire que de toutes les solutions citées c’est sans doute la plus fluide et celle qui se rapproche le plus de Tin Can. en plus évoluée.

    Une bonne idée est l’intégration d’une interface wap…

    Par contre, les liens et widgets vers Amazone ont eu raison de moi….

  11. 30/11/2009 à 03:08 | #11

    C’est vieux comme billet, mais merci, je viens de trouver mon bonheur :)
    C’est simple, ça marche.
    Dommage que par défaut on ait droit à un player flash :p

  1. 10/06/2009 à 12:00 | #1
Vous devez être identifié pour poster un commentaire