>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Rust

Comment diffuser votre propre collection musicale sans abonnement avec Polaris

Polaris logo

Les services de streaming nous ont gâtés par leur commodité, mais ils ont une habitude agaçante : vos morceaux préférés disparaissent soudainement des catalogues en raison de litiges liés aux droits d'auteur, et les abonnements ne cessent d'augmenter. Si vous avez des gigaoctets de fichiers FLAC et MP3 sur votre disque dur ou votre serveur domestique, accumulés au fil des ans, les trimballer sur des clés USB n'est pas pratique. Vous voulez votre propre service de streaming qui fonctionne partout et ne nécessite pas d'abonnement mensuel.

Récemment, je suis tombé sur Polaris — un serveur de streaming musical auto-hébergé léger, écrit en Rust. Pas de formules payantes, pas de versions aux fonctionnalités restreintes, et pas d'interfaces surchargées.

Polaris Web UI

Ce que Polaris peut faire

Le objectif principal de l'auteur du projet est la réactivité et la capacité à gérer des bibliothèques multimédias véritablement massives. La description promet des performances solides avec des collections de 100 000 titres ou plus.

Contrairement aux solutions tout-en-un lourdes comme Plex ou Jellyfin, Polaris se concentre exclusivement sur l'audio :

  • Lit les formats flac, mp3, mp4, mpc, ogg, opus, ape, wav et aiff.
  • Affiche la forme d'onde audio directement dans le lecteur, vous permettant de sauter rapidement au moment souhaité d'un morceau.
  • Prend en charge les balises à valeurs multiples dans les métadonnées lorsqu'un seul titre possède plusieurs artistes ou genres.
  • Peut afficher la bibliothèque musicale par balises (artiste, album, genre) ainsi que dans la structure de dossiers familière sur le disque. Cela sauve la mise quand les balises dans les anciens albums sont remplies de manière incohérente.
  • Dispose d'une recherche par champs de métadonnées spécifiques.
  • Prend en charge la séparation des utilisateurs avec des playlists individuelles pour chaque utilisateur.

Un détail agréable : l'interface prend en charge un thème sombre et la personnalisation de la palette de couleurs.

Sous le capot

Polaris est écrit en Rust, ce qui signifie qu'il consomme un minimum de ressources système et sert rapidement le contenu statique ainsi que les flux. Pas besoin de gérer des bases de données complexes pour la configuration : les paramètres sont stockés dans un fichier texte brut, mais vous pouvez également les modifier directement depuis l'interface web si vous préférez.

Les développeurs ont rendu l'API du serveur entièrement ouverte et l'ont documentée via OpenAPI. Chaque instance locale de Polaris démarre une Swagger interactive à l'adresse /api-docs/, ce qui rend l'écriture de vos propres clients ou automatisations extrêmement simple.

Des clients complets existent déjà, d'ailleurs. En plus de l'interface web, vous pouvez utiliser :

  • Client Android officiel (disponible sur Google Play et F-Droid).
  • Application tierce Polarios pour iOS.
  • Client Polarity pour les systèmes embarqués et le bureau.

Comment commencer

Le serveur se compile pour Linux, Windows et BSD, mais le moyen le plus simple de le faire fonctionner est via Docker. Le docker-compose.yml de base est minimal :

version: "3"
services:
  polaris:
    image: agersant/polaris:latest
    container_name: polaris
    ports:
      - "5050:5050"
    volumes:
      - /path/to/your/music:/music:ro
      - /path/to/polaris/data:/var/lib/polaris
    restart: unless-stopped

Après le lancement, l'interface est disponible sur le port 50. Vous n'aurez qu'à définir un mot de passe administrateur et указать le répertoire contenant vos fichiers audio. Polaris indexera rapidement les titres en arrière-plan.

Si vous ne souhaitez pas configurer un conteneur immédiatement, le développeur maintient une démo en direct à l'adresse demo.polaris.stream (identifiant : demo_user, mot de passe : demo_password), avec des titres sous licences Creative Commons.

À qui ce projet est destiné

Polaris est parfaitement adapté à toute personne exécutant un serveur domestique sur du matériel modeste (comme un Raspberry Pi ou un ancien netbook) qui recherche un lecteur rapide sans les fonctions superflues comme le transcodage vidéo 4K. Si vous voulez un audio propre, une réactivité instantanée et un contrôle total sur vos fichiers, cet outil mérite définitivement d'être ajouté à vos favoris.

Projets similaires