Gratuit et sans pub, grâce à vous. Soutenir
Logiciel libre 5 min de lecture Mis à jour en octobre 2026

Compiler RustMusic depuis le code source

RustMusic est un logiciel libre : son code est public, et vous pouvez le compiler vous-même pour vérifier ce que vous installez, tester une correction ou préparer une contribution. Voici les étapes sous Windows, macOS et Linux.

01

Les outils nécessaires

RustMusic associe un cœur en Rust (moteur audio, décodeurs, serveur DLNA, base SQLite) et une interface SvelteKit, réunis par Tauri 2. Sur les trois systèmes, il vous faut :

  • Rust, en version stable, installé avec rustup (rustup.rs).
  • Node.js 20 ou plus récent, avec npm.
  • CMake, qui sert à compiler libopus pour la lecture des fichiers Opus.
  • Git, pour récupérer le code.
02

Les dépendances de chaque système

Windows : installez les Microsoft C++ Build Tools avec la charge de travail « Développement Desktop en C++ », puis CMake. WebView2 est aussi nécessaire ; il est déjà présent sur Windows 10 et 11 à jour.

macOS : installez les outils en ligne de commande d’Xcode, puis CMake, par exemple avec Homebrew :

xcode-select --install
brew install cmake

Linux (Debian, Ubuntu) : installez les outils de compilation et les bibliothèques de développement de WebKitGTK, GTK, ALSA et PulseAudio :

sudo apt install -y \
  build-essential curl wget file git pkg-config cmake libssl-dev \
  libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libxdo-dev \
  libwebkit2gtk-4.1-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev patchelf \
  libasound2-dev libpulse-dev libdbus-1-dev

Sur une autre distribution, installez les paquets équivalents, souvent suffixés -devel : WebKitGTK 4.1, GTK 3, libsoup 3, ALSA, PulseAudio, D-Bus et OpenSSL.

03

Récupérer le code et compiler

git clone https://github.com/larevuegeek/rustmusic-desktop.git
cd rustmusic-desktop
npm install

La configuration officielle signe aussi les fichiers de mise à jour avec la clé privée du projet, que vous n’avez pas. Désactivez cette étape avec un petit fichier de configuration à la racine du projet, nommé par exemple no-updater.json :

{ "bundle": { "createUpdaterArtifacts": false } }

Puis lancez la compilation en lui passant ce fichier :

npm run tauri build -- --config no-updater.json

La première compilation est longue : Cargo télécharge et compile toutes les dépendances Rust. Les suivantes ne recompilent que ce qui a changé. Les paquets de votre système sont écrits dans src-tauri/target/release/bundle/.

Sans ce fichier, la compilation s’arrête sur le message « A public key has been found, but no private key » : c’est la signature des mises à jour qui échoue, pas votre code.

04

Le mode développement

npm run tauri dev

Cette commande lance RustMusic en mode développement : une modification de l’interface s’affiche aussitôt, une modification du code Rust recompile et relance l’application. Elle n’a pas besoin de clé de signature.

Pour vous repérer dans le code :

  • src/ : l’interface (composants, pages, services), avec les traductions dans src/lib/i18n/locales.
  • src-tauri/src/core : le moteur audio, les décodeurs, le DSD et le DLNA.
  • src-tauri/src/commands : les commandes appelées par l’interface.
  • src-tauri/src/repository : l’accès à la base SQLite.
05

Proposer votre modification

  1. 1

    Ouvrez une issue

    Pour une nouvelle fonction ou un gros changement, décrivez-le d’abord dans une issue GitHub. Les petites corrections (bug, faute, traduction) peuvent aller directement en pull request.

  2. 2

    Travaillez sur votre copie

    Créez une copie (fork) du dépôt sur GitHub, puis une branche pour votre modification.

  3. 3

    Vérifiez votre code

    Côté Rust, passez cargo fmt et cargo clippy sans nouvel avertissement ; cargo check doit réussir. Tout texte visible passe par les traductions et doit exister dans les cinq langues.

  4. 4

    Ouvrez la pull request

    Expliquez ce que la modification change et pourquoi. Les messages de commit en français sont les bienvenus.

Comme le reste du projet, votre code sera publié sous licence GPL v3.

Questions fréquentes

Faut-il connaître Rust pour contribuer ?

Non. L’interface est écrite en Svelte et TypeScript, les traductions sont de simples fichiers JSON, et un bon rapport de bug aide autant qu’une ligne de code.

À quoi sert CMake ?

Il compile libopus, la bibliothèque de référence pour décoder l’Opus, intégrée à RustMusic.

Puis-je compiler RustMusic pour une autre distribution Linux ?

Oui, si les dépendances équivalentes sont disponibles. Tauri produit les paquets .deb, .rpm et AppImage, et le programme compilé se trouve dans src-tauri/target/release.

Puis-je distribuer ma version compilée ?

Oui, sous licence GPL v3 et avec son code source. Si vous l’avez modifiée, donnez-lui un autre nom pour éviter toute confusion avec la version officielle.

Pas envie de compiler ?

Les versions officielles de RustMusic sont prêtes à installer sur Windows, macOS et Linux. Libre, gratuit, sans compte.

Pour aller plus loin