Installation & build

Sommaire

Prérequis

  • Rust édition 2021, MSRV 1.80 (installation via rustup).
  • Outils Slint : dépendances système pour le rendu natif (cf. Slint platform requirements).
  • Optionnel : MariaDB ≥ 10.6 si vous voulez utiliser ce backend (SQLite ne nécessite rien).

Cloner

git clone https://github.com/guycorbaz/pomone.git
cd pomone

Compiler

# Compilation
cargo build --release

# Tests
cargo test --workspace

# Lints
cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings

# Couverture (cible ≥ 80 %)
cargo install cargo-llvm-cov
cargo llvm-cov --workspace --html

Le binaire desktop est target/release/pomone (crate pomone-ui). Un binaire admin/debug pomone-cli est aussi produit (crate pomone-cli).

Lancer

cargo run --bin pomone

Choix du backend

Pomone choisit son backend selon la chaîne de connexion (DATABASE_URL ou configuration applicative) :

  • sqlite:./pomone.db — fichier local.
  • mariadb://user:pass@host:3306/pomone — serveur MariaDB.

Les migrations sont versionnées dans migrations/sqlite/ et migrations/mariadb/ et appliquées au démarrage.

Emplacement par défaut de la base SQLite

Lancé sans configuration explicite, Pomone crée son fichier pomone.sqlite à l’emplacement standard de la plateforme :

Système Chemin
Linux ~/.local/share/pomone/pomone.sqlite
Windows %APPDATA%\pomone\pomone.sqlite
macOS ~/Library/Application Support/pomone/pomone.sqlite

Le chemin se modifie depuis l’écran Paramètres de l’application (champ Chemin SQLite). Pour déplacer une base existante vers un autre chemin ou vers MariaDB, utilisez le bouton Enregistrer et migrer.

C’est aussi le fichier à sauvegarder régulièrement : il contient toutes vos données.

Construire la documentation PDF

Les sources LaTeX vivent dans doc-latex/. Pour compiler localement :

cd doc-latex
latexmk -pdf pomone.tex

À chaque push sur main, GitHub Actions compile la version officielle et la publie en release rolling docs-latest.


Pomone — GPL v3 ou ultérieure. Hébergé sur GitHub.

This site uses Just the Docs, a documentation theme for Jekyll.