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)

Déployer un service hautement disponible grâce à Redis Replication

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

Redis est un système de stockage de données en mémoire de type NoSQL orienté hautes performances. Il est souvent utilisé comme base de données, système de cache ou de messages. Nous verrons dans cet article comment déployer un service hautement disponible grâce à Redis Replication.

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 !

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

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

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

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

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

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

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

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

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 60 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous