Sa musique partout avec Ampache !

Magazine
Marque
Linux Pratique
Numéro
71
Mois de parution
mai 2012
Spécialité(s)


Résumé
Ampache est une application web écrite en PHP/MySQL permettant d'écouter sa musique de n'importe où tant qu'un accès Internet est disponible. Le logiciel dispose de nombreux backends, afin de piloter une instance MPD par exemple, il permet de streamer la musique vers un client lourd comme Amarok ou pour téléphone portable via l'API XML-RPC, ainsi qu'un lecteur en Flash afin de se créer son propre Deezer avec des logiciels libres et sa propre collection musicale.

Body

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 /srv/music, mais libre à chacun de déposer ses fichiers là où il le souhaite.

ajout_catalogue

Allez dans Administration, puis Ajouter un catalogue. 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.

player

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 Configuration du Serveur, puis Options et enfin, Allow Download à positionner sur Activer.

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 Plugins.

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).

amarok_ampache

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é.

amdroid

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.

just_player

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




Article rédigé par

Par le(s) même(s) auteur(s)

Galera, la solution pour des bases de données hautement disponibles

Magazine
Marque
Linux Pratique
Numéro
137
Mois de parution
mai 2023
Spécialité(s)
Résumé

Lorsqu’une application ne peut tolérer d’indisponibilités ou quand il devient nécessaire de fournir de la redondance au service de bases de données, il convient de mettre en place une architecture limitant les risques d’interruption de service. De même, le besoin de performance peut se faire sentir avec la croissance du nombre d’utilisateurs. Galera est une extension pour MariaDB aidant à résoudre ces deux situations.

Gérez votre stockage avec Stratis

Magazine
Marque
Linux Pratique
Numéro
128
Mois de parution
novembre 2021
Spécialité(s)
Résumé

Quand on parle de gestion du stockage local à un administrateur système Linux, il est généralement question de LVM et de filesystem XFS ou ext4. À un niveau plus évolué, on trouvera ZFS qui n'est pas libre ou bien Btrfs qui tarde à tenir ses promesses. Stratis a pour vocation de proposer quelque chose de neuf avec l’existant !

Déployer des environnements de développement avec Vagrant

Magazine
Marque
Linux Pratique
Numéro
127
Mois de parution
septembre 2021
Spécialité(s)
Résumé

Vagrant est un logiciel libre permettant de déployer rapidement des machines virtuelles. C'est un logiciel développé par la société Hashicorp, déjà connue pour d'autres logiciels comme Terraform, Packer ou Vault. Historiquement lié à VirtualBox, Vagrant s'est désormais largement ouvert à d'autres solutions de virtualisation comme Libvirt ou de conteneurisation comme Docker.

Les derniers articles Premiums

Les derniers articles Premium

Quarkus : applications Java pour conteneurs

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

De la scytale au bit quantique : l’avenir de la cryptographie

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Imaginez un monde où nos données seraient aussi insaisissables que le célèbre chat de Schrödinger : à la fois sécurisées et non sécurisées jusqu'à ce qu'un cryptographe quantique décide d’y jeter un œil. Cet article nous emmène dans les méandres de la cryptographie quantique, où la physique quantique n'est pas seulement une affaire de laboratoires, mais la clé d'un futur numérique très sécurisé. Entre principes quantiques mystérieux, défis techniques, et applications pratiques, nous allons découvrir comment cette technologie s'apprête à encoder nos données dans une dimension où même les meilleurs cryptographes n’y pourraient rien faire.

Les nouvelles menaces liées à l’intelligence artificielle

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Sommes-nous proches de la singularité technologique ? Peu probable. Même si l’intelligence artificielle a fait un bond ces dernières années (elle est étudiée depuis des dizaines d’années), nous sommes loin d’en perdre le contrôle. Et pourtant, une partie de l’utilisation de l’intelligence artificielle échappe aux analystes. Eh oui ! Comme tout système, elle est utilisée par des acteurs malveillants essayant d’en tirer profit pécuniairement. Cet article met en exergue quelques-unes des applications de l’intelligence artificielle par des acteurs malveillants et décrit succinctement comment parer à leurs attaques.

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous