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
- Release et distribution — portabilité du binaire et création d'un paquet Flatpak
- Installation (Linux générique)
- Installation sur Bazzite OS
- Architecture