# Vue d'ensemble ## Qu'est-ce que Pena ? Pena est un **lecteur Markdown de bureau**. Son objectif est d'offrir une lecture confortable de documentation écrite en Markdown, qu'il s'agisse d'un fichier unique (un `README.md`) ou d'un ensemble de fichiers organisés en arborescence (un « wiki » de documentation). Contrairement à un éditeur, Pena est **focalisé sur la lecture** : il n'édite pas les fichiers, il les affiche joliment, permet de naviguer entre eux, et de personnaliser entièrement l'apparence du rendu. ## Pour qui ? - Toute personne qui consulte régulièrement de la documentation Markdown en local (wikis de projet, notes, documentation technique). - Les utilisateurs qui veulent un rendu plus agréable et configurable que l'aperçu brut d'un éditeur de texte. - Ceux qui maintiennent une documentation multi-fichiers organisée en dossiers et sous-dossiers, et qui veulent naviguer dedans comme dans un wiki. ## Deux modes d'ouverture Pena propose deux façons d'ouvrir du contenu : | Mode | Déclencheur | Comportement | |---|---|---| | **Fichier** | « Ouvrir un fichier Markdown » | Ouvre un `.md` isolé. La barre latérale liste tous les `.md` du dossier parent pour faciliter la navigation. | | **Dossier (wiki)** | « Ouvrir un dossier wiki » | Ouvre un dossier complet. Tous les `.md` (y compris dans les sous-dossiers) sont listés en arborescence. Si un fichier `Home.md` existe, il est affiché en premier. | ## Principes de fonctionnement - **Rendu côté Rust** — La conversion Markdown → HTML est faite par le backend Rust (`comrak`), pas par une bibliothèque JS. Cela garantit un rendu rapide et cohérent. - **CommonMark + extensions** — Les tableaux, le texte barré, les liens automatiques et les listes de tâches sont pris en charge. - **Coloration syntaxique** — Les blocs de code sont colorés via `syntect`, avec un thème de coloration intégré (`base16-ocean.dark`). - **Navigation entre documents** — Les liens Markdown relatifs entre fichiers (ex. `[voir](../autre/page.md)`) sont fonctionnels : cliquer dessus charge le document cible dans Pena. - **Tout reste local** — Aucune connexion réseau n'est nécessaire. Les préférences (récents, thème, CSS personnalisé) sont stockées localement dans le navigateur embarqué (localStorage). ## Ce que Pena ne fait pas (encore) - Pas d'édition de fichiers Markdown (lecture seule). - Pas de rechargement automatique à la modification du fichier : le mécanisme de surveillance (« watcher ») existe côté backend mais n'est pas branché côté interface. Voir [Commandes Tauri](../2-technique/2.2-Commandes-Tauri.md#surveillance-de-fichiers-watch). ## Voir aussi - [Fonctionnalités détaillées](1.2-Fonctionnalites.md) - [Interface](1.3-Interface.md) - [Thèmes et personnalisation](1.4-Themes-et-personnalisation.md) - [Architecture technique](../2-technique/2.1-Architecture.md)