Article archivé, dernière mise à jour 2007.
Jinzora est un site de gestion de catalogue MP3. Il permet de faire du streaming et de contrôler un serveur Music Player Daemon (MPD). Une des principales alternatives à Jinzora est Ampache qui s'interface aussi avec MPD.
Remarque : n'utilisant plus Jinzora, cette page n'est plus maintenue.
Jinzora est développé en PHP et s'appuie sur Mysql pour stoquer les informations sur les pistes MP3.
Il est donc nécessaire d'installer les paquets suivants :
Pour plus d'information sur leur installation, voir directement Serveur Web (Apache) et Mysql.
Jinzora a besoin de quelques modification de la configuration de php : /etc/php4/apache2/php.ini
* max_execution_time = 300 ; Maximum execution time of each script, in seconds * memory_limit = 32M ; Maximum amount of memory a script may consume (8MB) * post_max_size = 32M * upload_max_filesize = 32M
Redémarrez ensuite apache :
> /etc/init.d/apache2 restart
Téléchargez l'installation sur le site de jinzora :
Décompressez la dans le répertoire de votre choix, par exemple /home/jinzora2 :
> cd /home > tar zxvf /home/matthieu/j2.3.6.tar.gz > chown www-data -R /home/jinzora2
Le répertoire /home/jinzora2 contient maintenant le site, il faut configurer apache pour pointer dessus.
Pour cela, je vais remplacer le site par défaut par jinzora.
Création du nouveau site dans /etc/apache2/sites-available/jinora2
NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /home/jinzora2 <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/jinzora2/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost>
Remarque : ce fichier met en oeuvre une configuration basique, si vous souhaitez des informations complémentaires au paramétrage d'apache, voir Serveur Web (Apache).
Remplacer le site :
> a2dissite default > a2ensite jinzora2 > /etc/init.d/apache2 reload
Par défaut Jinzora comporte une petite erreur de gestion des tables de charactère : les tags sont lus au format iso-8859-1. Les informations relatives au chemin des pistes sont par contre bien en UTF-8. Une solution consiste à modifier le codage utilisé par la librairie getid3.
éditez le fichier /home/jinzora2/services/services/tagdata/getid3/getid3.php et modifier le paramétrage suivant :
var $encoding = 'UTF-8'; // CASE SENSITIVE! - i.e. (must be supported by iconv()) // Examples: ISO-8859-1 UTF-8 UTF-16 UTF-16BE
Il est important de faire cette modification avant l'importation des fichiers, sinon les données de la base seront erronées.
Il suffit désormais de lancer http://localhost/ et de suivre les étapes.
Remarque importante : le chemin d'accès aux fichiers audio doit être strictement le même que MPD.
Après l'installation, n'oubliez pas de supprimer le répertoire d'installation :
> rm -Rf /home/jinzora2/install
Autre remarque importante : il faut être logué pour pouvoir utiliser MPD.
Preference > System tools > Settings Manager > Main settings > Jukebox > default_jukebox = MPD Player
Normalement tout doit s'afficher correctement si vous avez modifié les sources avant l'installation. Par contre, les fichiers avec accent ne sont pas correctement ajoutés à MPD. Visiblement, MPD ne supporte pas UTF-8 (même avec l'option dans mpd.conf), il faut donc décoder le nom du fichier avant de le transmettre.
Pour cela il faut éditer le fichier /home/jinzora2/jukebox/jukeboxes/mpd.php :
/* PLAdd() * * Adds the file <file> to the end of the playlist. <file> must be a track in the MPD database. */ function PLAdd($fileName) { if ( $this->debugging ) echo "mpd->PLAdd()\n"; if ( ! is_null($resp = $this->SendCommand(MPD_CMD_PLADD,utf8_decode($fileName)))) $this->RefreshInfo(); # if ( ! is_null($resp = $this->SendCommand(MPD_CMD_PLADD,$fileName))) $this->RefreshInfo(); if ( $this->debugging ) echo "mpd->PLAdd() / return\n"; return $resp; }
Théoriquement il faut aussi modifier “PLAddBulk” mais comme je n'ai pas de problèmes, je ne l'ai pas fait.
Enfin, pour faire propre, il faut modifier le charset des pages : /home/jinzora2/frontend/display.php
# echo '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">'. "\n"; echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'. "\n";
et
# return '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link rel="shortcut icon" href="'. $root_dir. '/style/favicon.ico">'. "\n". # '<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>'. "\n". # $site_title. " - ". str_replace("</nobr>","",str_replace("<nobr>","",str_replace("<br>"," ",$title))). "</title>". "\n". # '<link rel="alternate" type="application/rss+xml" title="Jinzora Most Played" href="'. $root_dir. '/rss.php?type=most-played">'. "\n"; return '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><link rel="shortcut icon" href="'. $root_dir. '/style/favicon.ico">'. "\n". / $site_title. " - ". str_replace("</nobr>","",str_replace("<nobr>","",str_replace("<br>"," ",$title))). "</title>". "\n". '<link rel="alternate" type="application/rss+xml" title="Jinzora Most Played" href="'. $root_dir. '/rss.php?type=most-played">'. "\n";