Créer un serveur de partage pour iTunes sur Debian

- Unix

Dans le titre je parle d'un serveur de partage pour iTunes, mais ce serait plutôt l'installation d'un serveur DAAP qui est le protocole développé par Apple pour pouvoir faire communiquer des instances distantes d'iTunes et partager de la musique.
Mais ce protocole n'est pas uniquement utilisé par iTunes et cela peut être pratique d'avoir un serveur DAAP sur son serveur pour la création de son propre "Cloud"...

Pour quel intérêt ?

Principalement, je vois deux raisons à utiliser un serveur de partage :

  1. La meilleure raison pour avoir ce genre de service, c'est qu'il va permettre de gagner de la place sur le disque dur de votre ordinateur. Je prend mon cas, je n'ai qu'un disque SSD de 128 Go, ce qui m'oblige à faire attention aux données que je stocke sur mon ordinateur. Si je regarde ma librairie iTunes, j'ai environ 24 Go de musique, ce qui correspond à environ 1/5e de mon disque dur.
    Le serveur de partage iTunes me permet de déplacer une partie de ma librairie sur le serveur et de toujours y avoir accès lorsque je suis chez moi.
  2. Ensuite, le second intérêt que je vois est de permettre l'accès à cette musique à ma copine, surtout que pour elle l'utilisation de ce serveur est parfaitement transparente, elle n'aura rien à faire et verra une nouvelle librairie "Partagés" apparaitre dans la barre de gauche sur iTunes.

Ce sont deux intérêts qui me sont personnels, mais voila, ce que je pouvais dire sur le sujet...

L'installation

Il est nécessaire d'avoir déjà configuré le service avahi sur votre machine avant de pouvoir installer le serveur daapd ! Ce service est nécessaire pour que le serveur Debian soit reconnu par le Mac comme une machine du réseau.

Le processus d'installation du serveur DAAP est super simple, il faut juste faire attention à installer la dernière version qui a été buildée pour l'architecture armel. En effet, il est possible que ce soit la version 0.12 s'installe si vous ne précisez pas de version.
Le seul petit problème c'est qu'elle ne fonctionne pas correctement, en effet lorsque vous essaierez d'accéder à votre partage iTunes ne le trouvera pas et partira en vrille (testé et validé chez moi).

Il vaut mieux installer la version 0.19 avec la commande suivante :

$> su root
$> apt-get install forked-daapd=0.19-1~bpo60+1

Après, il faudra éditer un petit fichier de conf, afin d'indiquer au serveur ou se trouve les fichiers musicaux dans votre arborescence. Généralement, le fichier de configuration du serveur est `/etc/forked-daapd.conf` et la partie du fichier qui nous intéresse est à nommée "library". La donnée super importante est nommée directories :

# Library configuration
library {
	# Name of the library as displayed by the clients
	# %h: hostname, %v: version
	name = "SheevaPlug"
	# TCP port to listen on. Default port is 3689 (daap)
	port = 3689
	# Password for the library. Optional.
#	password = ""

	# Directories to index
	directories = { "/xxx/yyy/Musique" }
	# Directories containing compilations
	# Matches anywhere in the path (not a regexp, though)
	compilations = { "/xxx/yyy/Musique/Compilations/" }

	# Should iTunes metadata override ours?
	itunes_overrides = true

        [...] 
}

Une fois la modification terminée, vous relancez le service DAAP avec la commande suivante :

$> su root
$> /etc/init.d/forked-daapd restart

Il ne reste plus qu'à ouvrir iTunes sur votre Mac et vous devriez voir la librairie apparaitre à gauche.

Quelques petits problèmes

Au final, je trouve que le serveur fonctionne plutôt bien, la première indexation a été relativement longue mais par la suite, je n'ai eu aucun problème, la consommation CPU est quasi nulle lors de la lecture d'un fichier mp3, les pochettes s'affichent correctement, bref cela fonctionne dans l'ensemble plutôt bien !
Un petit problème néanmoins, j'ai quelques artistes français et qui dit français dit accents et caractère bizarres. Pour l'instant les musiques qui ont des accents ont des problèmes d'affichages dans la liste iTunes mais ils sont toujours lisibles.

Voila c'est terminé, simple mais très pratique comme petit serveur !