Jinzora est une plate-forme de streaming et un gestionnaire de fichiers audio intégralement basé sur une interface Web.
Les fichiers de votre médiathèque peuvent être diffusés par un flux audio au format MP3, Ogg, Wav ou WMA ou tout simplement téléchargés.
L'interface, très jolie et personnalisable par thèmes, permet de rechercher des morceaux par genre, par artiste ou par album. Le logiciel est même capable d'analyser les tags ID3 pour créer la bibliothèque et télécharger les jaquettes depuis Internet.
Pour la suite des opérations, des pré-requis sont nécessaires :
Editer le fichier php.ini pour changer les valeurs de quelques variables :
sudo xdg-open /etc/php5/apache2/php.ini
Rechercher les lignes ci-dessous dans le fichier puis remplacer les valeur par celles-ci :
max_execution_time = 300 memory_limit = 32M post_max_size = 32M upload_max_filesize = 32M
Enregistrer les modifications et redémarrer le serveur web :
sudo /etc/init.d/apache2 restart
Dans le cas d'une installation sur un virtual-host apache dédié à Jinzora, il peut être préférable de faire le paramétrage de PHP dans la configuration du virtual-host (ce qui évite de changer la configue PHP pour tout le serveur).
Dans ce cas, Editer le fichier de configuration du virtual host
sudo xdg-open /etc/apache2/sites-available/virtual-host
Dans la section Directory adapté (celle dédiée au répertoire racine du virtual-host), ajouter les php value necessaires :
<Directory /var/www/jinzora/> ... php_value max_execution_time 300 php_value post_max_size 32M php_value upload_max_filesize 32M ... </Directory>
Enregistrer les modifications et redémarrer le serveur web :
sudo /etc/init.d/apache2 reload
Jinzora n'est pas dans les dépots de base ; il va donc falloir récupérer la dernière version stable du logiciel directement sur internet, à l'adresse http://en.jinzora.com/download
Décompresser le fichier téléchargé
tar -zxvf j2.7.tar.gz
Ou bien clique droit sur le fichier puis Extraire ici
Déplacer le dossier contenant les fichiers de Jinzora dans le répertoire du serveur web Apache
sudo mv jinzora2/ /var/www/
Modification des permissions d'écritures
chown -R root:www-data settings.php jukebox/settings.php temp/ data/
chmod 775 settings.php
chmod 775 jukebox/settings.php
chmod 775 -R temp/
chmod 775 -R data/
cd /var/www/jinzora2/ sudo sh configure.sh
Lancer dans votre navigateur internet la page http://127.0.0.1/jinzora2/ et suivre les instructions ; je vais tenter de vous décrire les étapes les plus importantes.
Il s'agit de vérifier que les indicateurs sont bien au vert ; il est normal que 'PHP PostgreSQL Support' et 'DBX Support' ne soient pas installés puisque nous n'utiliserons pas ces bases de données. Pour le pdf, c'est également normal.
Saisir le nom d'utilisateur et le mot de passe de l'administrateur du logiciel Jinzora ; bien choisir Database comme Backend type puisque nous utiliserons la base de données Mysql.
Suivant vos goûts, choisissez le Frontend et le Style qui seront appliqués à l'application et l manière dont serons géré
Saisir les identifiants du compte root de la base MySql ; choisir true dans la zone 'Create Database' pour que la base de données soit créée automatiquement.
Il vous suffit de parcourir les répertoires de votre disque dur pour en importer les fichiers musicaux. Attention : il faut impérativement que le serveur ait les droits d'accès à ces fichiers musicaux. C'est à dire que www-data (ou moins sécurisé 'other') ait au minimum les droits de lecture sur les fichiers !
Voilà, les étapes les plus sensibles ont été expliquées et c'est -déjà- la fin de l'installation ; exécuter la commande suivante pour supprimer le répertoire d'installation de Jinzora :
sudo rm -Rf /var/www/jinzora2/install
Et après avoir exécuté cette commande, accéder à Jinzora par l'adresse http://127.0.0.1/jinzora2/ ; il ne vous reste plus qu'à saisir vos identifiants pour accéder à votre musique !
1ere solution : Le player XSPF
Il est possible d'utiliser le player flash XSPF (http://musicplayer.sourceforge.net) au niveau du client. Ce player est déja intégré à Jinzora.
Le player s'ouvrira dans une fenêtre popup.
Pour l'utiliser il faut éditer le fichier jinzora2/settings.php comme ceci :
$embedded_player = "xspf";
2eme solution : Le player d'enricolai.com
Player très sympa, mais moins simple a mettre en oeuvre. Démo : http://www.enricolai.com/FMP3/XSPF-flash-mp3-player.asp
D'abord il faut créer un fichier enricolai.php :
gedit /var/www/jinzora2/services/services/players/enricolai.php
copier/coller le contenu ci dessous dans gedit et sauver :
<?php if (!defined(JZ_SECURE_ACCESS)) die ('Security breach detected.'); /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * JINZORA | Web-based Media Streamer * * Jinzora is a Web-based media streamer, primarily desgined to stream MP3s * (but can be used for any media file that can stream from HTTP). * Jinzora can be integrated into a CMS site, run as a standalone application, * or integrated into any PHP website. It is released under the GNU GPL. * * Jinzora Author: * Ross Carlson: ross@jasbone.com * http://www.jinzora.org * Documentation: http://www.jinzora.org/docs * Support: http://www.jinzora.org/forum * Downloads: http://www.jinzora.org/downloads * License: GNU GPL <http://www.gnu.org/copyleft/gpl.html> * * Contributors: * Please see http://www.jinzora.org/modules.php?op=modload&name=jz_whois&file=index * * Code Purpose: Processes data for Enricolai FMP3 Embedded XSMPF Player * Created: 03.03.05 by Ross Carlson * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ define('SERVICE_PLAYERS_enricolai','true'); /** * Returns the player width * * @author Ben Dodson * @version 8/23/05 * @since 8/23/05 */ function SERVICE_RETURN_PLAYER_WIDTH_enricolai(){ return 350; } /** * Returns the players height. * * @author Ben Dodson * @version 8/23/05 * @since 8/23/05 */ function SERVICE_RETURN_PLAYER_HEIGHT_enricolai(){ return 350; } /** * Returns the data for the form posts for the player * * @author Ross Carlson * @version 06/05/05 * @since 06/05/05 * @param $formname The name of the form that is being created */ function SERVICE_RETURN_PLAYER_FORM_LINK_enricolai($formname){ return "document.". $formname. ".target='embeddedPlayer'; openMediaPlayer('', 350, 350);"; } /** * Returns the data for the href's to open the popup player * * @author Ross Carlson * @version 06/05/05 * @since 06/05/05 */ function SERVICE_RETURN_PLAYER_HREF_enricolai(){ return ' target="embeddedPlayer" onclick="openMediaPlayer(this.href, 350, 350); return false;"'; } /** * Actually displays this embedded player * * @author Ross Carlson * @version 3/03/05 * @since 3/03/05 * @param $list an array containing the tracks to be played */ function SERVICE_DISPLAY_PLAYER_enricolai($width, $height){ global $root_dir, $this_site, $css; ?> <SCRIPT LANGUAGE=JAVASCRIPT TYPE="TEXT/JAVASCRIPT"><!--\ window.resizeTo(<?php echo $width; ?>,<?php echo $height; ?>) --> </SCRIPT> <?php // Let's setup the page echo '<title>Jinzora Enricolai FMP3 XSPF Player</title>'; echo '<body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" bgcolor="#FFFFFF">'; $playlist = $this_site. $root_dir. "/temp/playlist.xspf?". time(); $height = $height - 30; ?> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="350" height="<?php echo $height; ?>" id="XSPF-FMP3" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="<?php echo $this_site. $root_dir; ?>/services/services/players/XSPF.swf?action=play&playlist=<?php echo $this_site. $root_dir; ?>/temp/playlist.xspf&folder=<?php echo $this_site. $root_dir; ?>/services/services/players/&textcolor=033066&color=E6E9FB&loop=playlist&lma=yes&viewinfo=false" /> <param name="quality" value="high" /> <param name="bgcolor" value="#DADADA" /> <embed src="<?php echo $this_site. $root_dir; ?>/services/services/players/XSPF.swf?action=play&playlist=<?php echo $this_site. $root_dir; ?>/temp/playlist.xspf&folder=<?php echo $this_site. $root_dir; ?>/services/services/players/&textcolor=000000&color=DADADA&loop=playlist&lma=yes&viewinfo=true" quality="high" bgcolor="#B0B0C0" width="270" height="<?php echo $height; ?>" name="FMP3" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> <?php exit(); } /** * Processes data for the jlGui embedded player * * @author Ross Carlson * @version 3/03/05 * @since 3/03/05 * @param $list an array containing the tracks to be played */ function SERVICE_OPEN_PLAYER_enricolai($list){ global $include_path, $root_dir, $this_site; $display = new jzDisplay(); // Let's set the name of this player for later $player_type = "enricolai"; // Now let's loop through each file $list->flatten(); $output_content = '<?xml version="1.0" encoding="UTF-8"?>'. "\n"; $output_content .= '<playlist version="1" xmlns = "http://www.jinzora.org">'. "\n"; $output_content .= ' <trackList>'. "\n"; // Now let's loop throught the items to create the list foreach ($list->getList() as $track) { // Should we play this? if ((stristr($track->getPath("String"),".lofi.") or stristr($track->getPath("String"),".clip.")) and $_SESSION['jz_play_all_tracks'] <> true){continue;} // Let's get the meta $meta = $track->getMeta(); // Let's get the art $parent = $track->getParent(); if (($art = $parent->getMainArt()) !== false) { $image = jzCreateLink($art,"image"); } else { $image = $this_site. $root_dir. "/style/images/default.jpg"; } $output_content .= ' <track>'. "\n"; $output_content .= ' <location>'. $track->getFileName("user"). '</location>'. "\n"; $output_content .= ' <image>'. $image. '</image>'. "\n"; $output_content .= ' <annotation>'. $meta['artist']. " - ". $meta['title']. '</annotation>'. "\n"; $output_content .= ' </track>'. "\n"; } // Now let's finish up the content $output_content .= ' </trackList>'. "\n"; $output_content .= '</playlist>'; // Now that we've got the playlist, let's write it out to the disk $plFile = $include_path. "temp/playlist.xspf"; @unlink($plFile); $handle = fopen ($plFile, "w"); fwrite($handle,$output_content); fclose($handle); // Now let's display $width = "270"; $height = "340"; SERVICE_DISPLAY_PLAYER_enricolai($width, $height); } ?>
Attention de ne pas laisser de ligne vide avant ou après, cela créera un disfonctionnement…
Ensuite télécharger les 2 fichiers flash (zippés) en bas de ces 2 pages : http://www.enricolai.com/FMP3/XSPF-flash-mp3-player.asp http://www.enricolai.com/FMP3/
Les décompresser tous deux dans le répertoire /var/www/jinzora2/services/services/players/
Enfin, modifier le fichier /var/www/jinzora2/settings.php
$embedded_player = "enricolai";
Et voila un joli player flash !
Forum qui traite de l'intégration de ce dernier player (j'ai un peu changé le code) http://en.jinzora.com/forums/viewtopic.php?f=8&t=5995&p=22085