Files

3.6 KiB

Build et compilation

Cette page décrit comment compiler Pena-tauri depuis les sources, en développement comme en production. Pour une installation sur un système immuable (Bazzite, Silverblue, etc.), voir plutôt Installation sur Bazzite OS.

Prérequis

Outil Détail
Rust Toolchain stable, via rustup (édition 2021).
Tauri CLI v2 cargo install tauri-cli --version "^2" (fournit cargo tauri).
Dépendances système WebKitGTK et libs associées (voir ci-dessous selon la distribution).

Le frontend n'a aucune dépendance Node : c'est du JS vanilla servi statiquement depuis src/. Il n'y a donc pas de npm install à faire pour Pena-tauri.

Dépendances système Linux

Fedora / RHEL :

sudo dnf install webkit2gtk4.1-devel \
  openssl-devel curl wget file libappindicator-gtk3-devel librsvg2-devel
sudo dnf group install "C Development Tools and Libraries"

Debian / Ubuntu :

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \
  libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev

Sur une distribution immuable (Bazzite, Fedora Silverblue, Kinoite…), n'installez pas ces paquets sur l'hôte : utilisez un container ou un Flatpak. Voir Installation sur Bazzite OS.

Lancer en développement

Depuis Pena-tauri/ :

cargo tauri dev
  • Le frontend est servi directement depuis src/ (fichiers statiques, sans bundler).
  • La compilation Rust est lancée automatiquement et l'application s'ouvre.
  • Toute modification du Rust déclenche une recompilation.

Construire une release

Depuis Pena-tauri/ :

cargo tauri build

L'exécutable est produit dans :

src-tauri/target/release/

À propos du bundling

Dans src-tauri/tauri.conf.json, le bundling est désactivé :

"bundle": { "active": false, "targets": "all", "icon": [] }

cargo tauri build produit donc l'exécutable natif (dans target/release/), mais ne génère pas de paquets .deb, .rpm ou .AppImage. Pour activer la génération de ces paquets, passer bundle.active à true et renseigner les icônes.

Compiler le backend seul (sans Tauri CLI)

Pour de la compilation / des tests bas niveau, depuis src-tauri/ :

cargo build              # compilation debug
cargo build --release    # compilation optimisée
cargo test               # tests unitaires
cargo clippy -- -D warnings   # lint (zéro warning toléré)

Qualité et couverture

Le dépôt Pena-tauri impose un hook pre-commit qui bloque le commit si :

  • Clippy remonte le moindre warning (-D warnings) ;
  • la couverture de lignes est inférieure à 60 % (via cargo-llvm-cov).

Installer l'outil de couverture :

cargo install cargo-llvm-cov
cargo llvm-cov --summary-only

Récapitulatif des commandes

But Commande (depuis Pena-tauri/)
Développement cargo tauri dev
Release (exécutable) cargo tauri build
Compiler le backend cargo build --release (depuis src-tauri/)
Tests cargo test (depuis src-tauri/)
Lint cargo clippy -- -D warnings
Couverture cargo llvm-cov --summary-only

Voir aussi