1. Installation
J'ai choisi comme distribution la Debian GNU/Linux Squeeze, certaines commandes seront donc logiquement à adapter pour d'autres distributions, en particulier les dérivés de Red Hat, mais en principe rien ne devrait poser de problème. L'installation est réalisée avec le minimum de paquets installables, à l'exception d'un serveur OpenSSH. Je tiens à préciser que bien qu'il existe un paquet Debian de Ampache, j'ai choisi de ne pas l'utiliser. En effet, le lecteur audio en Flash n'est pas inclus dans le paquet Debian. Pour les lecteurs curieux, le détail des discussions à ce sujet est contenu dans le bug n°591202 [1]. En résumé, comme il est impossible de compiler le lecteur Flash avec des outils libres, alors il devient incompatible avec les principes du logiciel libre selon Debian.
1.1 Pas d'application web sans le serveur
Comme pour toute installation logicielle, il faut en premier lieu installer les pré-requis. Ils consistent ici simplement à installer un serveur web avec le support de PHP5 et MySQL. Nous allons faire simple et donc installer Apache sans entrer dans la configuration d'un VirtualHost, ce qui serait malgré tout plus propre à mettre en place dans le cadre d'un serveur de production.
# apt-get install mysql-server libapache2-mod-php5 php5-gd php5-cli php5-mysql
# /etc/init.d/apache2 restart
Une seule question sera posée, qui est le mot de passe de l'administrateur « root » MySQL, et le serveur web est prêt à accueillir nos fichiers, pourvus qu'ils soient dans le répertoire par défaut spécifié par la directive DocumentRoot d'Apache, soit le répertoire /var/www sous Debian. Le redémarrage d'Apache ne devrait pas être nécessaire en principe, car l'installation du paquet libapache2-mod-php5 active le module et lance un reload d'Apache, mais généralement cela n'est pas suffisant pour que les fichiers PHP soient interprétés sans un redémarrage complet.
1.2 Déploiement du logiciel sur le serveur web.
On commence par récupérer les sources depuis le site officiel (http://ampache.org/download/). Au moment de la rédaction de cet article, il s'agit de la version 3.5.4. L'opération consiste à récupérer les fichiers sur le serveur, les extraire dans le répertoire indiqué ci-dessus et attribuer l'appartenance des fichiers au compte sous lequel est lancé Apache :
# cd tmp; wget http://ampache.org/downloads/ampache-3.5.4.tar.gz
# tar -zxvf ampache-3.5.4.tar.gz -C /var/www/
# mv /var/www/ampache-3.5.4/ /var/www/ampache
# chown -R www-data:www-data /var/www/ampache
Le reste de l'installation se fait via le navigateur, je vous invite donc à pointer l'URL http://<adresse ip>/ampache, ce qui doit normalement afficher une page indiquant d'une part que les pré-requis sont tous positionnés sur OK et demander la langue d'installation, logiquement le français.
La seconde étape consiste à indiquer les paramètres de connexion à la base de données. Il est possible de créer directement la nouvelle base via l'assistant d'installation, autant ne pas s'en priver. Je conseille cependant de cocher la case indiquant de créer un utilisateur dédié pour la base de données pour des raisons de sécurité évidentes.
Ensuite, l'écran suivant demande la saisie des identifiants de connexion MySQL indiqués précédemment, ainsi que le chemin web vers Ampache, qui en principe n'a pas besoin d'être ajusté. La validation de cette dernière étape lance la boîte de dialogue d'enregistrement de fichier du navigateur qu'il faudra transférer sur le serveur via SCP par exemple :
# scp /tmp/ampache.cfg.php root@192.168.1.7/var/www/ampache/config/
Enfin, un dernier écran demande la création du premier compte utilisateur, qui sera le compte d'administration. Une fois celui-ci créé, on va pouvoir enfin passer à l'essentiel, c'est-à-dire se connecter à l'interface et pousser le volume des enceintes !
2. Utilisation via le lecteur intégré
Pour commencer, il va bien entendu falloir ajouter la musique qui sera cataloguée et indexée par Ampache (Fig. 1). Dans mon cas, j'ai choisi de déposer mes fichiers dans
, mais libre à chacun de déposer ses fichiers là où il le souhaite.Allez dans
, puis . Indiquez un nom pour ce catalogue, le chemin dans lequel vous avez déposé vos fichiers et indiquez un chemin de type local. Il est possible de récupérer les jaquettes d'albums depuis Amazon Web Services et d'importer les listes de lecture au format m3u.Une fois le catalogue indexé, ce qui peut prendre plus ou moins de temps selon l'étendue de votre collection musicale, vous devriez déjà être en mesure de parcourir votre collection et de constituer une liste de lecture (Fig. 2). Dans le menu déroulant sous le formulaire de recherche, il faut donc ensuite indiquer que l'on souhaite utiliser le lecteur Flash et lancer l'écoute de la musique depuis le premier bouton de l'encart contenant la playlist. Je dois reconnaître que l'utilisation du logiciel est plutôt déconcertante, en particulier avec le thème par défaut, car on clique sur des icônes et c'est leur survol qui indique les actions qu'elles permettent.
3. Petits paramétrages entre amis
On ne s'était pas vraiment attardé tout à l'heure sur le fichier de configuration ampache.cfg.php, tout ce qui nous intéressait dans un premier temps étant d'avoir quelque chose de fonctionnel pour se connecter à la base de données MySQL. Cependant, si on passe en revue la configuration, on constate qu'elle regorge de petites choses pour nous faciliter la vie.
3.1 Changer le bitrate
Tout d'abord, mon utilisation principale de Ampache se fait soit au bureau, soit pour faire découvrir un album à un ami. Donc, je dispose généralement d'une connexion à Internet de qualité, au minimum du 2Mbits/sec. La qualité audio par défaut étant assez faible, j'augmente systématiquement ce paramètre. Je vous invite du coup à l'ajuster en fonction de votre usage. Il va de soi que sur une connexion 3G ça pourrait être problématique, mais dans ce cas, il sera probablement plus commode et économique d'utiliser un baladeur portatif. Le bitrate par défaut étant de 48 kbps, je le passe à 96 kbps ce qui me semble un bon compromis entre qualité et fiabilité.
min_bit_rate = 96
3.2 Conversion de formats
Il faut se rappeler que la fonction première d'Ampache n'est pas d'être un lecteur multimédia, mais un diffuseur de contenu audio. Ampache n'a aucune notion de ce que peut être un codec. Ce point est laissé à la charge du lecteur audio utilisé. Le fichier de configuration prend en exemple certains formats pour lesquels il ne reste qu'à installer les outils appropriés et dé-commenter les lignes en question pour qu'ils soient utilisables. Il conviendra de s'en inspirer pour pouvoir utiliser un nouveau format. Notez cependant que si de nombreux utilisateurs doivent avoir accès à votre serveur pour des fichiers imposant du transcodage, cela peut avoir un impact non négligeable sur les performances du serveur. La définition de la nécessité de transcoder un format se fait en trois points. Le premier consiste à indiquer, via un booléen, l'extension à transcoder. Le second indique le format de destination. Et enfin, le dernier indique la commande à exécuter pour réaliser l'opération. Exemple tiré du fichier de configuration :
transcode_m4a = true
transcode_m4a_target = mp3
transcode_cmd_m4a = "faad -f 2 -w %FILE% | lame -r -b %SAMPLE% -S - -"
3.3 Lancer la mise à jour des catalogues automatiquement
Bien entendu, il est possible de relancer une indexation des fichiers présents sur le disque dur, mais il est évidemment plus confortable d'automatiser cette tâche. On va donc ajouter au fichier /etc/crontabl'entrée ci-dessous qui mettra à jour les albums à 06H00 tous les jours :
0 6 * * * www-data php php /var/www/ampache/bin/catalog_update.inc -a -c 2>&1 > /dev/null
3.4 Permettre le téléchargement d'un album
Une autre fonction fort appréciable quand on est en déplacement et qu'on a oublié de modifier le contenu de son baladeur audio, est le fait de pouvoir récupérer un fichier .zip d'un album pour le transférer en USB sur son lecteur portatif. On va donc autoriser la fonction dans le fichier ampache.cfg.php :
allow_zip_download = "true"
Notez cependant que le fait d'autoriser cette fonction ne la rendra pas immédiatement disponible pour tout le monde, car elle ne passe pas outre le système de droits d'accès. Vous pourrez ouvrir plus largement cette fonctionnalité au besoin en passant par
, puis et enfin, à positionner sur .4. Accès depuis d'autres clients
Dès lors que le rôle premier d'Ampache est de diffuser un flux audio, rien n'empêche d'utiliser un client différent à condition que celui-ci sache tirer parti de l'interface XML-API pour en profiter pleinement. Une page du wiki détaille les fonctionnalités proposées par certains clients lourds (http://ampache.org/wiki/clients). Le lecteur Flash intégré par le projet n'est d'ailleurs que l'un de ces clients.
Veuillez noter que cet accès peut être limité par des règles de contrôle d'accès dans la configuration du serveur. Vous pourriez avoir besoin de gérer des droits d'accès de type API / RPC Host et vous baser sur une restriction par plage d'adresses IP ou par type d'utilisateur.
4.1 Utilisation depuis Amarok
Amarok est un lecteur audio du projet KDE populaire parmi les Linuxiens quelque soit l'environnement de bureau utilisé. Un certain nombre de fonctionnalités de base sont d'ailleurs communes à ces deux logiciels, notamment l'utilisation d'une collection, le téléchargement des jaquettes ou des paroles, etc. Amarok dispose en outre d'un plugin lui permettant de tirer parti des principales fonctionnalités du logiciel. Par défaut, le plugin doit être activé dans les options de configuration, dans le sous-menu
.Il faut du coup ajouter l'URL exacte vers le serveur web, soit http://<IP ou Nom>/ampache, ainsi qu'un nom d'utilisateur autorisé et son mot de passe (Fig. 3).
Une nouvelle source de données s'ajoute alors à la suite des sources Internet comme Jamendo, et vous devriez récupérer le contenu du catalogue et pouvoir écouter votre musique.
4.2 Un client mobile avec Android
Il existe des clients Ampache pour à peu près l'ensemble des OS mobiles majeurs. Cela va de maamp pour Maemo, à ampm-wp7 et iAmpache client pour les systèmes les plus malodorants. Mais je suis à peu près certain qu'aucun lecteur de Linux Pratique n'est équipé d'un de ces téléphones ;-)
Je ne vais pas entrer dans la configuration des clients Android, car elle se résume à indiquer les mêmes paramètres que pour Amarok, c'est-à-dire indiquer l'URL complète, un nom d'utilisateur, ainsi que le mot de passe associé.
Le client officiel du projet Ampache est amdroid (Fig. 4). L'ergonomie est simplifiée à l'extrême et le logiciel est très sobre niveau fonctionnalités. Il est plutôt agréable à utiliser, à la condition d'avoir une collection musicale plutôt restreinte.
Mon lecteur de prédilection se porte malgré tout sur Just Player (Fig. 5). Il est bien entendu libre et distribué sous licence Apache 2. C'est à la base un lecteur audio autonome disposant d'une extension à installer dans un second temps depuis l'Android Maket pour ajouter une source de données Android. La configuration se fait à ce propos dans ce module séparé et Just Player génère ensuite une base de données de cache locale, afin de faciliter l'utilisation sur un réseau de données douteux. Pour des collections importantes, Just Player a l'avantage d'afficher la jaquette des CD, ce qui est particulièrement appréciable lors de la navigation dans les albums.
Conclusion
Même si Ampache n'est pas devenu mon lecteur audio de référence quand je suis chez moi et ne remplacera pas un client lourd, il faut reconnaître que quand on a commencé à l'utiliser c'est un peu comme le miel, ça colle aux doigts. Le logiciel regorge de fonctionnalités comme la gestion des utilisateurs avec différents droits d'accès, le téléchargement des paroles, le stream vers un serveur SHOUTcast, le pilotage d'une instance MPD, qu'il faudrait pratiquement un magazine entier pour aborder en profondeur chacune des possibilités qu'il offre. Je ne peux que vous encourager à l'utiliser, les alternatives propriétaires étant loin derrière en termes de possibilités.
Référence
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591202