Un serveur de streaming audio sur son Synology
 à l'aide du script Kplaylist et du lecteur Xspf


            Introduction:

Kplaylist est une base de données musicale que vous pouvez gérer via le web.
Vous allez pouvoir écouter votre musique où que vous soyez.

Le serveur de streaming audio Kplaylist (projet open source) utilise les technologies  PHP, MySql, DHTML, AJAX et peut vous offrir plusieurs centaines d'heures de musique en ligne
Avec kPlaylist vous pouvez diffuser vos fichiers (ogg, mp3, wav, wma, etc.), vous pouvez uploader, créer des playlists, partager, effectuer des recherches, télécharger et bien plus encore.
En ce qui concerne le partage, les lois ne vous autorisent pas à le faire avec des albums commerciaux, toutefois il existe les licences Creative Commons libre de droits (Jamendo)

Site Officiel de Kplaylist : http://www.kplaylist.net/
Forum Officiel de Kplaylist : http://www.kplaylist.net/forum/
Forum Français de Synology : http://www.nas-forum.com/forum/forums.html
Site Officiel de Xsfp : XSPF Web Music Player


Kplaylist

                Comment installer Kplaylist sur son Syno :

Prérequis :

- posséder une bibliothèque musicale situé dans le dossier music (/volume1/music)
- Faire en sorte que les ID3v2 soient renseignés correctement
- Web Station et MySql doivent être activés sur le Syno
- le module Telnet ou SSH doit être activé sur le Syno (savoir utiliser vi pour modification du fichier php.ini)

1 - Création d'un répertoire d'acceuil pour Kplaylist :
Dans le dossier web créer le répertoire kplaylist (/volume1/web/kplaylist)

2 - Création des sous répertoires :
Dans le dossiers kplaylist, créer les sous dossiers suivant :
upload
getid3
images

et éventuellement :
xspf
si vous désirez installer le lecteur Flash pour lire votre musique (évite d'utiliser le lecteur local du poste client)

3 - Téléchargement des outils necessaires :
vous trouverez la version française sur le lien suivant :
http://www.kplaylist.net/kcustomizer/
Je vous conseille de supprimer toutes les langues sauf la langue anglaise ainsi que le français. Choisissez le format UTF-8 si vous ne voulez pas rencontrer de problèmes avec les accents.

Vous pouvez télécharger le Pictures pack toutefois elles ne sont pas très heureuses et je vous invite à les changer par la suite.
Le CSS quant à lui, aura certainement besoin d'un coup de peinture par la suite.

4 - Dépôt du script dans le dossier kplaylist de votre Syno
renommez le fichier "kp467c.php" en index.php et déposez le à la racine de kplaylist (/volume1/web/kplaylist/index.php)

5 - Télécharger les add-on et les déposer dans leur dossier respectif :

Télécharger getid3
Pour la lecture des Tags

Télécharger la prototype.js
Module Ajax qui permet l'accélération des accès

Télécharger xspf
Le mini lecteur audio open source en Flash
Site officiel du lecteur : XSPF Web Music Player

Xspf


6 - Modification du fichier index.php (script kplaylist précédemment téléchargé)
Editer le fichier "index.php" et couper le texte de"// if you for any reason want to reset the configuration, set this variable to true, reload the page and set it back to false..." à "... // end of configuration"

Déposer ce texte dans un nouveau fichier que vous nomerez "kpconfig.php"
Pourquoi un tel nom? Parce que celui est déjà nommé ainsi dans le fichier index (if (file_exists('kpconfig.php')).
Ajoutez <?php au tout début, avant le texte et  ?> à la fin, après le texte.

Pourquoi ceci : pour séparer la partie configuration de la partie fonctionnelle. Un changement de version de kplaylist (mise à jour notemment) n'entrainera pas une perte des configurations et personnalisations.

7 - Modification du fichier Kpconfig.php

Recherchez et modifiez les lignes suivantes:
$cfg['enablegetid3'] = 0; == > mettre la valeur à 1
$cfg['titlesperalbum'] = 0; == > mettre la valeur à 2

12 => array ('jpg' , 'image/jpeg', 0, 0, 1, 0),
13 => array ('gif' , 'image/gif', 0, 0, 1, 0),
14 => array ('png' , 'image/png', 0, 0, 1, 0)          Pour ces 3 lignes supprimez les 1

Nous devons obtenir :

12 => array ('jpg' , 'image/jpeg', 0, 0, 0, 0),
13 => array ('gif' , 'image/gif', 0, 0, 0, 0),
14 => array ('png' , 'image/png', 0, 0, 0, 0)

Fixez les valeurs suivantes :

$cfg['filepathurlprepend'] = '/music';
$cfg['livestreamajax'] = true;
$cfg['xspf_url'] = 'http://mon_syno/kplaylist/xspf/xspf_player.swf';
$cfg['xspf_enable'] = true;

Sauvegarder le fichier kpconfig.php à la racine du dossier kplaylist sur votre Syno (/volume1/web/kplaylist/kpconfig.php)


Une fois cette partie terminée vous devez avoir cette arborescence :

arbo

8 - Modification du fichier Php.ini afin que les fichiers situés dans music puissent être accessible via le net :

a)  installer le module Telnet ou SSH si ce n'est déjà fait. Vous pouvez télécharger le patch d'activation sur le site de Synology à l'adresse suivante :
Enable Telnet
Enable SSH

Pour activer le serveur Telnet de votre lecteur Synology  téléchargez le patch EnableTelnet.zip qu'il vous faudra décompresser pour obtenir le fichier EnalbeTelnet.pat. Si vous ouvrez ce fichier PAT avec un éditeur de texte, vous vous apercevrez d'ailleurs qu'il s'agit d'un simple script Linux Shell (SH). Pour appliquer ce patch, il faut ensuite se rendre dans l'interface de configuration et plus précisément dans les menus System et Firmware Upgrade. Enfin, uploadez le fichier PAT vers votre lecteur comme si vous réalisiez une mise à jour de son firmware.

Idem pour SSH

EnablePat

b) Se connecter au serveur Syno en Telnet (ou SSH) et éditer le fichier php.ini

Vous le trouverez sur le chemin suivant : /usr/syno/etc

Effectuer une rapide sauvegarde du fichier php.ini avant de procéder en tapant la commande suivante :
cp php.ini php.ini.back

Une fois dans le dossier conteneur effectuer un vi php.ini

telnet1

Une fois le fichier ouvert, recherchez la ligne "open_basedir = /volume1/web:..."

Telnet2

Allez à la fin de cette ligne et ajouter la phrase suivante : " :/volume1/music"



Si vous ne savez pas utiliser vi, il suffit de se posissionner à l'endroit de l'ajout et d'appuyer sur la touche "Insert". Ajoutez la phrase et appuyer sur la toûche "Echap". Pour enregistrer enfoncer respectivement ":wq" (deux points, la lettre W et la lettre Q). Le fichier va s'enregistrer et se refermer.

Redémarrez votre serveur Synology pour valider les changements :


9 - Création d'une base de donnée d'accueil et d'un utilisateur valide avec les droits d'accès à cette base :

Vous pouvez utilisez PhpMyadmin pour la création de la base et de l'utilisateur.

phpmyadmin

Exemple de base = kplaylist
Exemple utilisateur user-kplaylist

10 - Editez le fichier kpconfig.php et ajoutez les informations concernant la bdd et l'utilisateur :

<?php
// if you for any reason want to reset the configuration, set this variable to true, reload the page and set it back to false.
$resetconfiguration = false;
$db = array(
    'host' => 'syno', # MySql server
    'name' => 'kplaytest', # Database name
    'user' => 'kplaytest', # MySql user
    'pass' => 'kplaytest', # MySql password
    'prepend' => 'tbl_'    # To prepend before the table names
);
.....




11 - Installation de Kplaylist = 1er lancement :

Ouvrez votre navigateur et allez sur l'adresse de votre Syno
http://mon_syno/kplaylist/index.php

Vous vous retrouvez sur la page d'installation de la base de donnée.

Installation

Cliquez sur Créer une nouvelle base de données

Installation suite

Renseignez les différents champs du formulaire et cliquez sur le bouton "continuer".

Installation3

Cliquez sur le bouton "Send!"

12 - 1ère ouverture de Kplaylist :

Ouvrez votre navigateur et allez sur l'adresse de votre Syno
http://mon_syno/kplaylist/index.php

Vous devez normalement arriver sur la page d'accueil suivante :

ouverture

Connectez - vous avec le login "admin" et mot de passe "admin".

interface

13 - Réglages

a) Allez sur "Admin control" et cliquez sur le bouton "settings"

settings

Réglez le langage par défaut. Votre adresse smtp.

Pour les autres options, référez-vous au forum de Kplaylist, car ce n'est l'objet de ce document.

Cliquez sur le bouton "save" puis dirigez vous sur l'onglet "File handing" (librairie)

librairie

Ajouter le chemin de votre bibliothèque musicale : "/volume1/music/"

Cliquez sur le bouton "save" puis "close".


b) Sur le menu "Mon compte" ou "My" vous trouverez le bouton "Options".

Un clic sur ce bouton vous ouvrira la fenêtre suivante :
 
options

Liste de lecture xspf, si vous souhaitez lire la musique avec le lecteur Flash intégré.
Réglez aussi la langue de votre interface.
Je vous préconise un réglage sur 3 collonnes pour l'affichage des dossiers, mais après c'est une histoire de goût.

Enregistrez et fermez.

Votre interface se réinitialise et vos réglages prennent effet.


14 - Intégration de votre bibliothèque musicale :

Aller dans le menu "Console d'administration" ou "Admin control"

Cliquez sur le bouton "Actualiser"
Dans la fenêtre enfant qui s'ouvre cliquez sur le même bouton.
Le système intègre les informations dans la base de données : vous pouvez suivre l'avancement.

maj

Si vous possédez un grand nombre d'albums, attendez vous à ce que l'opération prenne un certain temps, car à la première visite des répertoires, le système enregistre les ID3 dans la base.
L'ajout d'un album supplémentaire par la suite ne prendra pas autant de temps.

Fin de maj

Une fois la phase terminée, cliquez sur le bouton "fermer" et recharger la page de Kplaylist.

Vos Albums doivent maintenant apparaître :

albums

Le fonctionnement est simple, je vous laisse découvrir par vous même.


15 - Un peu de couleur :

On retourne dans console d'administration, puis sur le bouton "Config". Dans la fenêtre qui s'ouvre, on choisit l'onglet "personnalisation"

couleur !

On met l'adresse Web du site
On renseigne le chemin du dossier contenant les images (diverses icones et images de l'interface)
On renseigne le chemin du fichier .css (la déco,choix des caractères, choix des couleurs)
Puis on met le chemin du fichier js
et enfin celui du prototype AJAX.

On voit le résultat en cliquant sur enregistrer :

deco

Avec quelques efforts on obtient une interface accetable:

kplaylist

A vous de jouer !

                Merci à la communauté française des Synology
                Merci au créateur du Script Kplaylist

Pour toutes remarques ou questions concernant ce tuto, vous pouvez m'envoyer un  email