Application de budget personnel — sans cloud, sans abonnement, sans tracking
Télécharger le portable .exe · Guide d'utilisation · Fonctionnalités · Installation · Contribuer
La plupart des applications de budget exigent un compte, vos identifiants bancaires, ou un abonnement mensuel. Certaines revendent vos habitudes de consommation à des tiers.
Comptabilité Maison tourne entièrement en local : vos données restent sur votre machine dans un fichier JSON, aucun serveur n'est contacté, et l'application fonctionne sans connexion internet. Pas de publicité, pas de compte, pas de limite.
Contributions de screenshots bienvenues — ouvrez une PR avec vos captures !
| Multi-comptes | Jusqu'à 5 comptes indépendants (banque principale, livret, liquide…) avec solde et historique séparés |
| Tableau de bord | Solde actuel calculé, flux entrants/sortants du mois, horloge temps réel, paiements à venir avec badges d'échéance colorés |
| Paiements récurrents | Loyer, énergie, abonnements, assurances, impôts — fréquences mensuelle, bimestrielle, trimestrielle, semestrielle, annuelle |
| Crédits | Suivi des mensualités, taux, capital restant dû et durée restante pour chaque prêt |
| Dépenses | Saisie par catégorie (alimentation, transport, santé, loisirs…) avec graphique camembert interactif |
| Revenus | Revenus fixes récurrents (salaire, allocations, retraite…) et revenus ponctuels |
| Bilan mensuel / annuel | Vue d'ensemble avec graphiques Chart.js, comparaison mois par mois |
| Bilan des comptes | Vue consolidée de tous les comptes sur la période choisie |
| Navigation mensuelle | Historique complet accessible mois par mois, sans limite |
| Favicon automatique | Logo de chaque organisme/banque récupéré automatiquement (BNP, Crédit Agricole, Boursorama…) |
| Export / Import JSON | Sauvegarde et restauration manuelle — vos données restent sous votre contrôle |
| 100 % hors ligne | Aucune connexion requise après le premier lancement |
| Mode navigateur | Fonctionne aussi directement dans Chrome/Firefox sans installation |
Allez dans Paramètres (icône engrenage en bas de la barre latérale) :
- Cliquez sur Ajouter un compte
- Donnez-lui un nom (ex : "BNP Courant"), choisissez votre banque dans la liste déroulante — le logo se charge automatiquement
- Saisissez le solde de départ actuel de votre compte bancaire
Répétez l'opération pour chaque compte (livret, compte joint, liquidités…). Naviguez entre eux via les flèches dans la barre latérale.
Cliquez sur Paiements récurrents dans le menu :
- Ajoutez chaque charge fixe : loyer, EDF, abonnements (Netflix, téléphone…), assurances
- Indiquez le montant, la fréquence (mensuel, trimestriel…) et le jour d'échéance du mois
- Le tableau de bord affiche ensuite automatiquement les paiements à venir avec un badge coloré : rouge si la date est dépassée, orange si elle approche, vert si elle est à plus d'une semaine
Cliquez sur Revenus :
- Ajoutez vos revenus fixes (salaire, allocations CAF, France Travail, retraite…) — ils seront automatiquement pris en compte chaque mois
- Ajoutez un revenu ponctuel pour tout versement exceptionnel (remboursement, prime…)
Cliquez sur Dépenses :
- Chaque dépense est classée par catégorie (alimentation, transport, santé, restaurant…)
- Le graphique camembert se met à jour en temps réel pour visualiser où part votre argent ce mois
Cliquez sur Crédits en cours :
- Ajoutez chaque prêt (immobilier, auto, personnel) avec son taux et sa mensualité
- L'application calcule le capital restant dû et la durée restante
Cliquez sur Bilan :
- Passez en vue mensuelle pour analyser un mois précis : revenus vs dépenses vs charges fixes
- Passez en vue annuelle pour comparer l'évolution sur 12 mois via le graphique Chart.js
- Utilisez Bilan des comptes pour une vue consolidée de tous vos comptes
Dans Paramètres, utilisez Exporter pour télécharger un fichier compta.json (sauvegardez-le régulièrement sur un disque externe ou dans le cloud de votre choix). Pour restaurer, utilisez Importer et sélectionnez votre fichier de sauvegarde.
Téléchargez le .exe depuis les Releases et lancez-le directement — aucune installation requise, aucun droits administrateur nécessaire.
Prérequis : Node.js ≥ 18 · npm ≥ 9
git clone https://github.com/edwinlepere/Comptabilite.git
cd Comptabilite
npm install| Commande | Action |
|---|---|
npm start |
Lance en mode développement |
npm run dist |
Compile le portable Windows (.exe) |
npm run build:linux |
Compile l'AppImage Linux |
npm run build:all |
Compile Windows + Linux |
Le fichier généré se trouve dans dist/.
Ouvrez index.html dans n'importe quel navigateur moderne — aucune dépendance requise. Les données sont alors stockées dans le localStorage du navigateur.
| Plateforme | Emplacement |
|---|---|
| Windows | %APPDATA%\comptabilite-maison\compta.json |
| Linux | ~/.config/comptabilite-maison/compta.json |
| macOS | ~/Library/Application Support/comptabilite-maison/compta.json |
| Navigateur | localStorage du navigateur |
Le fichier JSON est lisible et modifiable directement — aucun format propriétaire.
Changer de PC : le .exe seul ne suffit pas — les données restent sur la machine d'origine. Pour migrer, utilisez Paramètres → Exporter pour télécharger votre compta.json, copiez-le sur le nouveau PC, puis Paramètres → Importer depuis la nouvelle installation.
- Frontend : HTML / CSS / JavaScript pur — zéro framework, zéro dépendance runtime
- Desktop : Electron 31 avec
contextIsolationet bridge IPC sécurisé - Graphiques : Chart.js 4 + plugin datalabels
- Packaging : electron-builder — portable
.exe, AppImage Linux, DMG macOS - Stockage : Abstraction backend découplée (
LocalStorageBackend/ElectronBackend)
La couche de stockage est entièrement abstraite : implémenter load() et save(data) dans une nouvelle classe suffit pour brancher un backend SQLite, IndexedDB, ou un serveur auto-hébergé.
comptabilite-maison/
├── index.html # Interface principale (SPA complète)
├── main.js # Processus principal Electron
├── preload.js # Bridge IPC sécurisé (contextIsolation)
├── package.json # Config npm + electron-builder
├── logo.png # Icône de l'application
├── css/
│ └── style.css # Styles (variables CSS, thème sombre)
└── js/
├── data.js # DataManager — CRUD, backends de stockage, catégories
└── app.js # UI, rendu, navigation, modales, graphiques
L'application est une SPA (Single Page Application) sans routeur externe : la navigation est gérée par JavaScript pur, chaque section (dashboard, revenus, paiements…) est rendue dynamiquement dans le DOM.
L'architecture permet d'étendre l'application sans réécriture :
- Backend alternatif : remplacer
LocalStorageBackendpar une classeSyncBackendpour synchroniser via un serveur auto-hébergé (Nextcloud, VPS personnel) - Import bancaire : parser des exports OFX/CSV des banques françaises pour alimenter les dépenses automatiquement
- Notifications desktop : alertes Electron pour les échéances de paiement J-3 / J-1
- Export PDF : générer un bilan mensuel imprimable via Puppeteer ou jsPDF
- Multi-utilisateurs : séparer les données par profil utilisateur sur une machine partagée
- Thème clair : les variables CSS sont déjà en place, il suffit d'ajouter un jeu de valeurs
- Import relevés bancaires (OFX / CSV)
- Notifications d'échéance native (paiements à venir J-3, J-1)
- Thème clair
- Export PDF du bilan mensuel
- Synchronisation optionnelle auto-hébergée
- Prévisionnel : projection du solde sur N mois
Les contributions sont les bienvenues — bug fix, nouvelle fonctionnalité, traduction, screenshot pour le README.
- Forkez le dépôt
- Créez une branche :
git checkout -b feature/ma-fonctionnalite - Commitez :
git commit -m "feat: description courte" - Poussez :
git push origin feature/ma-fonctionnalite - Ouvrez une Pull Request