# Documentation Pena

**Pena** est une application de bureau de lecture de fichiers Markdown, construite avec
[Tauri 2](https://tauri.app/) (backend Rust) et du JavaScript vanilla (frontend, sans bundler).
Elle permet d'ouvrir un fichier `.md` isolé ou un dossier « wiki » complet, de naviguer entre
les documents, et de personnaliser entièrement le rendu via des thèmes et du CSS.

Le rendu Markdown → HTML est effectué côté Rust avec [`comrak`](https://github.com/kivikakk/comrak)
(CommonMark + extensions) et la coloration syntaxique via [`syntect`](https://github.com/trishume/syntect).

---

## Sommaire de la documentation

### Documentation fonctionnelle
- [Vue d'ensemble](1-fonctionnel/1.1-Vue-d-ensemble.md) — à quoi sert Pena, pour qui, dans quels cas
- [Fonctionnalités](1-fonctionnel/1.2-Fonctionnalites.md) — liste détaillée de tout ce que l'application sait faire
- [Interface](1-fonctionnel/1.3-Interface.md) — barre de titre, accueil, lecteur, barre latérale
- [Thèmes et personnalisation](1-fonctionnel/1.4-Themes-et-personnalisation.md) — thèmes rapides et éditeur CSS

### Documentation technique
- [Architecture](2-technique/2.1-Architecture.md) — Clean Architecture, découpage Rust et JS
- [Commandes Tauri](2-technique/2.2-Commandes-Tauri.md) — référence des commandes exposées au frontend

### Installation et build
- [Installation (Linux générique / Fedora)](3-installation/3.1-Installation.md)
- [Installation sur Bazzite OS](3-installation/3.2-Installation-Bazzite.md) — méthode simple : un fichier `.flatpak` pré-construit, hébergé sur Gitea, installable en une commande
- [Build et compilation](3-installation/3.3-Build.md)
- [Release et distribution](3-installation/3.4-Release-et-distribution.md) — portabilité d'un binaire Linux, formats de distribution, création d'un paquet Flatpak (avantages / inconvénients)

### Outils annexes
- [MarkdownRender (CLI Node.js)](4-outils/4.1-MarkdownRender-CLI.md) — convertisseur `md-render` en ligne de commande

---

## Composants du dépôt

| Composant | Techno | Rôle |
|---|---|---|
| `Pena-tauri/` | Tauri 2 + Rust + JS vanilla | Application de bureau principale (lecteur Markdown) |
| `MarkdownRender-nodejs/` | Node.js | Outil CLI annexe `md-render` (conversion + preview live dans le navigateur) |

> Le cœur du produit est **`Pena-tauri`**. `MarkdownRender-nodejs` est un utilitaire
> indépendant, documenté dans [outils/MarkdownRender-CLI.md](4-outils/4.1-MarkdownRender-CLI.md).
