Initial vault setup
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
---
|
||||
title: OpenBudgeteer
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, budgeting, dotnet, csharp, wpf, budget, personnel]
|
||||
confidence: medium
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/TheAxelander/OpenBudgeteer, https://openbudgeteer.com/]
|
||||
---
|
||||
|
||||
# OpenBudgeteer 📊
|
||||
|
||||
> Application de **budgeting personnel** écrite en **.NET (C#)** avec une interface web moderne (Blazor). Approche enveloppe (envelope budgeting) avec report automatique des soldes.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | https://openbudgeteer.com/ |
|
||||
| **GitHub** | https://github.com/TheAxelander/OpenBudgeteer |
|
||||
| **License** | MIT |
|
||||
| **Langage** | C# (.NET 8, Blazor) |
|
||||
| **Étoiles** | ⭐66 |
|
||||
| **Dernière MAJ** | 2026-03-18 |
|
||||
| **Catégorie** | [[cat-budgeting]] |
|
||||
|
||||
## Description
|
||||
|
||||
OpenBudgeteer est une application de **budgeting personnel** basée sur la **méthode de l'enveloppe** (envelope budgeting), écrite en **C#/.NET 8** avec **Blazor Server** pour l'interface web (et historiquement une version **WPF** desktop Windows). C'est l'un des rares projets de budgeting en .NET — une stack entreprise solide, performante, avec un excellent typage.
|
||||
|
||||
Les fonctionnalités principales : **comptes** multiples (chèque, épargne, cartes, crédit), **transactions** (revenus/dépenses/transferts), **enveloppes** avec allocation mensuelle et **report automatique** du solde non utilisé au mois suivant (c'est la mécanique clé de la méthode), **bucket** (groupes d'enveloppes), **catégories** de transactions, **règles** d'auto-catégorisation, **rapports** (revenus vs dépenses par mois/catégorie, bilan d'enveloppes, balance nette), **import** CSV depuis l'UI, **multi-devises** partiel.
|
||||
|
||||
L'**architecture Blazor Server** signifie que la logique tourne côté serveur, et l'UI est mise à jour via SignalR (WebSocket). C'est rapide, fluide, et permet d'utiliser tout l'écosystème .NET (LINQ, Entity Framework, ASP.NET). L'**inconvénient** : chaque interaction client → aller-retour serveur (latence réseau perceptible si serveur distant), et la consommation RAM peut être plus élevée qu'un simple Flask.
|
||||
|
||||
L'**historique** du projet est intéressant : initialement **WPF Windows-only**, il a évolué vers **Blazor Server** pour devenir accessible en web. La documentation est correcte, l'auteur (TheAxelander) est actif, et le projet a une petite communauté fidèle. Idéal pour les **amateurs de stack Microsoft** qui veulent une alternative self-hosted à des outils comme Money in Excel (Microsoft) ou des apps .NET de suivi budget.
|
||||
|
||||
## Installation
|
||||
|
||||
### Via Docker (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
openbudgeteer:
|
||||
image: ghcr.io/theaxelander/openbudgeteer:latest
|
||||
container_name: openbudgeteer
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
- ASPNETCORE_ENVIRONMENT=Production
|
||||
- ASPNETCORE_URLS=http://+:8080
|
||||
- CONNECTION_STRING=Data Source=/data/openbudgeteer.db
|
||||
- SECRET=Change...et
|
||||
volumes:
|
||||
- openbudgeteer-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
volumes:
|
||||
openbudgeteer-data:
|
||||
```
|
||||
|
||||
> ⚠️ Vérifier l'image exacte sur le [GHCR](https://github.com/TheAxelander/OpenBudgeteer/pkgs/container/openbudgeteer) (le tag `latest` peut changer).
|
||||
|
||||
### Installation manuelle (.NET)
|
||||
|
||||
1. **Pré-requis** : .NET 8 SDK, SQLite (inclus).
|
||||
2. `git clone https://github.com/TheAxelander/OpenBudgeteer.git && cd OpenBudgeteer`
|
||||
3. `dotnet restore && dotnet build`
|
||||
4. Configurer `appsettings.json` (ConnectionString, Secret).
|
||||
5. Initialiser la DB : `dotnet ef database update`.
|
||||
6. `dotnet run` (dev) ou `dotnet publish -c Release` puis exécuter le binaire publié.
|
||||
7. Reverse proxy Nginx/Caddy en front.
|
||||
|
||||
## Configuration
|
||||
|
||||
- **Premier lancement** : créer un mot de passe master pour protéger l'accès (mono-utilisateur).
|
||||
- **Comptes** : créer un compte par produit bancaire, saisir le solde initial.
|
||||
- **Bucket** : regrouper les enveloppes (Logement, Transport, Loisirs, Épargne, etc.).
|
||||
- **Enveloppes** : allocation mensuelle par bucket, le solde non dépensé **roule** au mois suivant.
|
||||
- **Catégories** : pour les transactions.
|
||||
- **Règles** : auto-catégorisation par mot-clé du libellé.
|
||||
- **Import** : CSV avec mapping de colonnes.
|
||||
- **HTTPS** : obligatoire via reverse proxy.
|
||||
- **Backup** : copier le fichier `openbudgeteer.db` régulièrement (cron + rclone).
|
||||
|
||||
## Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-actual-budget]] — référence local-first (TypeScript)
|
||||
- [[app-firefly-iii]] — gestion complète (Laravel/PHP)
|
||||
- [[app-sure]] — plateforme Elixir moderne
|
||||
- [[app-monetr]] — alternative Go
|
||||
- [[app-budget-board]] — dashboard TypeScript
|
||||
- **Buckwheat** — envelope budgeting (Python)
|
||||
- **Cashcog** — envelope budgeting (Python, simpliste)
|
||||
- **GnuCash** — comptabilité double-partie (.NET/Mono)
|
||||
|
||||
### Propriétaires
|
||||
- **YNAB** — référence du zero-based (~14$/mois)
|
||||
- **Monarch Money** — UX premium (~99$/an)
|
||||
- **Money in Excel** (Microsoft) — plug-in Excel pour Microsoft 365
|
||||
- **Quicken** — historique, US only, peu d'avenir
|
||||
|
||||
## Sécurité
|
||||
|
||||
- **HTTPS obligatoire** via reverse proxy.
|
||||
- **SECRET** : clé de l'app, générer aléatoirement (32+ caractères), ne pas commit.
|
||||
- **SQLite** : sécuriser les permissions (chmod 600) sur le volume.
|
||||
- **Mono-utilisateur** : pas de système multi-comptes natif — compter sur le reverse proxy (Authelia) pour gérer plusieurs utilisateurs.
|
||||
- **Backups 3-2-1** : copier régulièrement le fichier DB vers stockage chiffré.
|
||||
- **Updates .NET** : .NET 8 LTS supporté jusqu'en novembre 2026, prévoir une migration vers .NET 9 ou 10.
|
||||
- **2FA** : non natif, à compenser via reverse proxy.
|
||||
- **Logs** : ASP.NET Core logs standards, intégration possible avec Seq, Grafana Loki, etc.
|
||||
|
||||
## Ressources
|
||||
- Site officiel : https://openbudgeteer.com/
|
||||
- GitHub : https://github.com/TheAxelander/OpenBudgeteer
|
||||
- Documentation : https://github.com/TheAxelander/OpenBudgeteer/wiki
|
||||
- selfh.st : https://selfh.st/apps/?tag=budgeting
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-budgeting]] — catégorie parente
|
||||
- [[app-actual-budget]] — référence du marché (envelope aussi)
|
||||
- [[app-firefly-iii]] — concurrent principal (PHP)
|
||||
- [[app-budget-board]] — dashboard TypeScript complémentaire
|
||||
- [[recettes-docker-compose]] — templates de déploiement
|
||||
- [[securisation-home-lab]] — bonnes pratiques
|
||||
Reference in New Issue
Block a user