projet de comptabilité personnel simplifié et 100% local
Find a file
le king fu 8ea3410c82
All checks were successful
PR Check — Rust / rust (pull_request) Successful in 9m17s
fix(deps): update rustls to 0.23.45 to clear RUSTSEC-2026-0285
The daily audit has failed every morning since 2026-09-15 (runs 405 to
411, 7 consecutive reds). Nothing was pushed to main in that window —
the last commit is 97ee3c3 from 09-13. RUSTSEC-2026-0285 was published
on 09-14, after that morning's run, and the first red is the next day's.
Rustls accepted TLS 1.3 handshake messages sent at the wrong encryption
level when they followed a key-changing message inside the same record,
where RFC 8446 section 5.1 requires closing the connection instead.
Medium severity, confidentiality only: the handshake transcript stays
authenticated, so this cannot be used to alter or complete a handshake
from a network position. Patched in 0.23.45.

rustls is reachable on both shipped targets, checked per triple rather
than with --target all, by a single path: tauri-plugin-updater ->
reqwest 0.13.2, the automatic update check and download. That is
narrower than h2 in #343 — the app's own reqwest 0.12.28 goes through
hyper-tls and native-tls, so the licence, auth, price and feedback calls
were never on this path. A published fix plus a reachable crate is rule
1 of .cargo/audit.toml, so this gets fixed rather than suppressed; the
suppression list and the check-rust guard are both untouched.

rustls-webpki moves with it, 0.103.13 to 0.103.15, because 0.23.45
tightens its bound from ^0.103.5 to ^0.103.14. That is required rather
than collateral, and it keeps the four advisories #310 cleared by
pinning 0.103.13.

Unlike #344, no stanza was hand-written: `cargo update -p rustls
--precise 0.23.45` left the seven windows-sys pointers on 0.61.2
untouched, so cargo's own output was kept. That also narrows the premise
of #345 — the drift is triggered by hyper and what it pulls, not by the
TLS subtree at large, since rustls sits squarely in it and moved
nothing. 666 packages before and after, Cargo.toml untouched, and
`cargo metadata --locked` accepts the result without rewriting it.

Verified: cargo check --locked and cargo test --locked green (111
passed), cargo-audit 0.22.2 exits 0 with 12 allowed warnings, and the
same binary still exits 1 on the previous lockfile — so the green is a
real change of state, not a differently configured tool. Both checksums
match the sha256 of the downloaded .crate archives, and compiling rustls
0.23.45 and rustls-webpki 0.103.15 proves those archives were the ones
actually used.

Resolves #348

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-21 20:09:39 -04:00
.cargo fix(deps): resolve the quick-xml advisories, unyank deep-link and spin 2026-08-15 11:51:46 -04:00
.claude docs(qa): fix the Linux state sequence the checklist had backwards 2026-08-15 11:51:51 -04:00
.forgejo/workflows fix(deps): resolve the quick-xml advisories, unyank deep-link and spin 2026-08-15 11:51:46 -04:00
.github/workflows chore(ci): drop redundant push trigger; add concurrency group 2026-04-28 20:50:34 -04:00
config Initial project scaffold: Tauri v2 + React + TypeScript + TailwindCSS v4 2026-02-07 11:05:11 +00:00
docs docs(qa): the update-cycle trace lives in the release body, not a comment 2026-09-13 14:01:25 -04:00
public feat(branding): replace default Tauri icon with custom design 2026-05-02 14:51:55 -04:00
src fix(import): stop a generic bank signature from claiming, and misreading, a richer file 2026-08-14 12:03:07 -04:00
src-tauri fix(deps): update rustls to 0.23.45 to clear RUSTSEC-2026-0285 2026-09-21 20:09:39 -04:00
tasks docs: update lessons learned from recent sessions 2026-02-15 13:40:06 +00:00
tests/smoke feat(prices): commit smoke test scaffold for /v1/prices 2026-04-28 21:31:27 -04:00
.gitignore feat(reports): real-vs-real compare as an income statement + previous-month default 2026-07-05 18:36:57 -04:00
CHANGELOG.fr.md fix(deps): update rustls to 0.23.45 to clear RUSTSEC-2026-0285 2026-09-21 20:09:39 -04:00
CHANGELOG.md fix(deps): update rustls to 0.23.45 to clear RUSTSEC-2026-0285 2026-09-21 20:09:39 -04:00
CLAUDE.md chore: release v0.15.0 2026-09-12 14:33:37 -04:00
index.html feat(branding): replace default Tauri icon with custom design 2026-05-02 14:51:55 -04:00
LICENSE Add GPL-3.0 license 2026-03-01 10:10:43 -05:00
package-lock.json chore: release v0.15.0 2026-09-12 14:33:37 -04:00
package.json chore: release v0.15.0 2026-09-12 14:33:37 -04:00
README.md docs: update README for v0.3.7 with new features and Linux support 2026-02-18 07:29:51 -05:00
spec-decisions-collapse-multi-niveaux.md docs(collapse): ADR 0016 per-profile UI state + guide, architecture, i18n 2026-07-18 14:43:24 -04:00
spec-decisions-feature-gating.md spec(gating): adjustments -> Base tier + STATE review sync 2026-07-19 17:44:22 -04:00
spec-decisions-import-csv-format.md docs(spec): add import CSV format spec (decisions + reviewed plan) 2026-08-13 12:17:04 -04:00
spec-decisions-refonte-seed-categories-ipc.md docs: add spec decisions and plan for categories IPC seed refactor 2026-04-19 15:35:15 -04:00
spec-issue-66-oauth-keychain.md docs: add WIP specs for OAuth keychain, monetisation, reports, and web 2026-04-20 20:41:00 -04:00
spec-monetisation.md docs: add WIP specs for OAuth keychain, monetisation, reports, and web 2026-04-20 20:41:00 -04:00
spec-plan-collapse-multi-niveaux.md docs(collapse): ADR 0016 per-profile UI state + guide, architecture, i18n 2026-07-18 14:43:24 -04:00
spec-plan-feature-gating.md spec(gating): adjustments -> Base tier + STATE review sync 2026-07-19 17:44:22 -04:00
spec-plan-import-csv-format.md docs(spec): add import CSV format spec (decisions + reviewed plan) 2026-08-13 12:17:04 -04:00
spec-plan-refonte-seed-categories-ipc.md docs: add spec decisions and plan for categories IPC seed refactor 2026-04-19 15:35:15 -04:00
spec-refonte-rapports.md docs: add WIP specs for OAuth keychain, monetisation, reports, and web 2026-04-20 20:41:00 -04:00
spec-simpl-resultat-web.md docs: add WIP specs for OAuth keychain, monetisation, reports, and web 2026-04-20 20:41:00 -04:00
STATE.md state: sync after /analyze 270 (issues #346, #347, la-compagnie-maximus#153) 2026-09-13 20:20:26 -04:00
tsconfig.json Initial project scaffold: Tauri v2 + React + TypeScript + TailwindCSS v4 2026-02-07 11:05:11 +00:00
tsconfig.node.json Initial project scaffold: Tauri v2 + React + TypeScript + TailwindCSS v4 2026-02-07 11:05:11 +00:00
vite.config.ts fix: address reviewer feedback (#37) 2026-03-11 14:04:34 -04:00

Simpl'Résultat

Application de bureau 100 % locale pour importer, catégoriser et analyser vos transactions financières personnelles ou d'entreprise. Aucune donnée ne quitte votre ordinateur.

Version Windows Linux

Fonctionnalités

  • Import CSV — Importez vos relevés bancaires depuis plusieurs sources avec auto-détection des colonnes et modèles d'import réutilisables
  • Tableau de bord — Vue d'ensemble avec KPIs, répartition par catégorie et dernières transactions
  • Transactions — Parcourez, recherchez et filtrez avec sélection rapide de période
  • Catégorisation automatique — Attribution automatique par mots-clés, avec ajustement manuel
  • Split de transactions — Répartissez une transaction sur plusieurs catégories
  • Budgets — Grille budgétaire 12 mois par catégorie avec modèles et rapport Budget vs Réel
  • Ajustements — Ajustements ponctuels ou récurrents par catégorie
  • Rapports — Tendances mensuelles, répartition par catégorie, évolution dans le temps, budget vs réel
  • Graphiques interactifs — Motifs SVG, menu contextuel (clic droit), détail des transactions par catégorie
  • Profils multiples — Bases de données séparées avec protection PIN optionnelle
  • Export / Import de données — Sauvegarde complète avec chiffrement AES-256-GCM optionnel
  • Mode sombre — Thème sombre avec palette gris chaud
  • Bilingue — Interface disponible en français et en anglais
  • Guide utilisateur intégré — Documentation complète accessible depuis les paramètres, imprimable en PDF
  • Mise à jour automatique — Notifications et installation des nouvelles versions depuis l'application

Installation

Windows

  1. Rendez-vous sur la page Releases
  2. Téléchargez le fichier .exe (installateur NSIS)
  3. Lancez le fichier téléchargé

Note : Windows SmartScreen peut afficher un avertissement car l'application n'est pas signée numériquement. Cliquez sur « Informations complémentaires » puis « Exécuter quand même » pour continuer.

Linux

  1. Rendez-vous sur la page Releases
  2. Téléchargez le format adapté à votre distribution :
    • .deb pour Debian / Ubuntu
    • .rpm pour Fedora / openSUSE
    • .AppImage pour toute distribution (exécutable universel)
  3. Installez le paquet ou lancez l'AppImage directement

Démarrage rapide

1. Choisir ou créer un profil

Au premier lancement, un profil par défaut est créé. Vous pouvez ajouter d'autres profils (chacun avec sa propre base de données) et les protéger par un PIN.

2. Configurer le dossier d'import

Organisez vos fichiers CSV dans un dossier avec un sous-dossier par source :

Documents/
  Comptabilité/
    Desjardins/
      releve-2024-01.csv
      releve-2024-02.csv
    Autre banque/
      export.csv

3. Importer des transactions

  • Allez dans Import
  • Sélectionnez le dossier source et les fichiers CSV
  • Configurez le mappage des colonnes (ou utilisez un modèle d'import sauvegardé)
  • Vérifiez les doublons puis lancez l'import

4. Consulter le tableau de bord

Le tableau de bord affiche automatiquement :

  • Les KPIs du mois (revenus, dépenses, solde)
  • La répartition des dépenses par catégorie
  • Les dernières transactions

5. Parcourir et catégoriser les transactions

  • Utilisez la recherche et les filtres (date, catégorie, source, période rapide)
  • Modifiez la catégorie d'une transaction en cliquant dessus
  • Ajoutez des mots-clés pour automatiser les futures catégorisations
  • Scindez une transaction sur plusieurs catégories si nécessaire

6. Gérer les budgets

  • Définissez un budget mensuel par catégorie sur une grille 12 mois
  • Créez des modèles budgétaires réutilisables
  • Consultez le rapport Budget vs Réel pour suivre vos écarts

7. Analyser les rapports

  • Tendances — Évolution mensuelle des revenus et dépenses
  • Catégories — Répartition détaillée par catégorie (clic droit pour masquer ou voir le détail)
  • Évolution — Suivi dans le temps par catégorie
  • Budget vs Réel — Comparaison mensuelle et cumul annuel

8. Guide utilisateur

Un guide complet est accessible via Paramètres → Guide utilisateur. Il couvre toutes les fonctionnalités et peut être imprimé ou exporté en PDF.

Développement

Prérequis

Lancer en mode développement

npm install
npm run tauri dev

Compiler l'application

npm run tauri build

Les installateurs sont générés dans src-tauri/target/release/bundle/.

Publier une nouvelle version

  1. Mettez à jour la version dans src-tauri/tauri.conf.json et package.json
  2. Committez les changements
  3. Créez et poussez un tag :
git tag v0.3.7
git push origin v0.3.7

Le workflow GitHub Actions compile automatiquement l'application pour Windows et Linux, puis publie les installateurs dans une nouvelle Release.

Technologies

Technologie Rôle
Tauri v2 Framework desktop (Rust backend)
React 19 Interface utilisateur
SQLite Base de données locale
Tailwind CSS v4 Styles
Recharts Graphiques
react-i18next Internationalisation
PapaParse Parsing CSV