# Installation (Linux générique / Fedora)

Cette page décrit l'installation de **Pena-tauri** sur une distribution Linux classique
(mutable), où l'on peut installer des paquets système avec le gestionnaire de la distribution.

- Pour un système **immuable** (Bazzite, Fedora Silverblue/Kinoite, openSUSE MicroOS…), voir
  [Installation sur Bazzite OS](3.2-Installation-Bazzite.md).
- Pour le détail des commandes de compilation, voir [Build](3.3-Build.md).

## 1. Installer les prérequis

### Rust et Tauri CLI
```bash
# Rust (toolchain stable)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

# Tauri CLI v2
cargo install tauri-cli --version "^2"
```

### Dépendances système

**Fedora / RHEL :**
```bash
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 :**
```bash
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \
  libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
```

## 2. Récupérer les sources

```bash
git clone <url-du-depot> Pena
cd Pena/Pena-tauri
```

## 3. Compiler et installer

### Lancer directement (développement)
```bash
cargo tauri dev
```

### Construire une release
```bash
cargo tauri build
```

L'exécutable est produit dans `src-tauri/target/release/`. Pour l'installer à l'échelle du
système, copiez-le dans un dossier du `PATH` :

```bash
sudo install -Dm755 src-tauri/target/release/pena-taury /usr/local/bin/pena
```

Vous pouvez ensuite lancer l'application avec `pena`.

> **Nom du binaire** : le binaire s'appelle `pena-taury` (nom du paquet Cargo). Renommez-le à
> votre convenance lors de l'installation, comme ci-dessus (`pena`).

## 4. (Optionnel) Raccourci d'application

Pour faire apparaître Pena dans le menu des applications, créez un fichier `.desktop` :

```bash
cat > ~/.local/share/applications/pena.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=Pena
Comment=Lecteur Markdown
Exec=/usr/local/bin/pena
Terminal=false
Categories=Utility;Office;
EOF
```

## Voir aussi

- [Build et compilation](3.3-Build.md)
- [Installation sur Bazzite OS](3.2-Installation-Bazzite.md)
- [Vue d'ensemble](../1-fonctionnel/1.1-Vue-d-ensemble.md)
