133 lines
6.8 KiB
Markdown
133 lines
6.8 KiB
Markdown
---
|
|
title: Actual Budget
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, budgeting, local-first, typescript, nodejs, react, sync]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/actualbudget/actual, https://actualbudget.org/]
|
|
---
|
|
|
|
# Actual Budget 🏦
|
|
|
|
> Outil de **budgeting local-first** ultra-moderne, alternative open source crédible à YNAB et Mint. Synchronisation chiffrée de bout en bout, import OFX/CSV, méthodologie enveloppe/zero-based.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://actualbudget.org/ |
|
|
| **GitHub** | https://github.com/actualbudget/actual |
|
|
| **License** | MIT |
|
|
| **Langage** | TypeScript / Node.js (frontend React) |
|
|
| **Étoiles** | ⭐2522 |
|
|
| **Dernière MAJ** | 2026-05-30 |
|
|
| **Catégorie** | [[cat-budgeting]] |
|
|
|
|
## Description
|
|
|
|
Actual Budget est une application de **gestion budgétaire personnelle** qui se distingue par son approche **local-first** : toutes vos données financières résident dans un fichier `.blob` chiffré sur votre machine, jamais dans un cloud tiers. Le projet vise à remplacer YNAB (You Need A Budget) et Mint en offrant une expérience moderne, rapide, et respectueuse de la vie privée.
|
|
|
|
L'application supporte la **méthode zero-based budgeting** (chaque euro est affecté à une enveloppe) et l'**envelope budgeting** classique. Les fonctionnalités incluent : comptes multiples (chèque, épargne, cartes, investissement), transactions récurrentes, règles de catégorisation automatique, importation **OFX/QFX/QIF/CSV** depuis la plupart des banques, **rapprochements bancaires**, **rapports** (revenus/dépenses par catégorie, tendances), et **budgets mensuels** avec report automatique du solde non dépensé.
|
|
|
|
L'**architecture local-first** signifie qu'Actual fonctionne **hors-ligne par défaut**. Pour synchroniser entre plusieurs appareils (desktop + mobile + web), un **serveur de synchronisation** optionnel est nécessaire — il ne stocke que des blobs chiffrés AES-256 qu'il ne peut pas déchiffrer. C'est le même paradigme que les apps local-first modernes (Linear, Anytype, Logseq). Le serveur de sync officiel est `actual-server` (Node.js, auto-hébergeable), ou on peut utiliser le service officiel `actualbudget.com` (payant).
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
actualserver:
|
|
image: actualbudget/actual-server:latest
|
|
container_name: actual-server
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5006:5006"
|
|
volumes:
|
|
- actual-data:/data
|
|
environment:
|
|
- ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=100
|
|
- ACTUAL_SERVER_URL=https://budget.example.com
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://localhost:5006/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
actualbudget:
|
|
image: actualbudget/actual:latest
|
|
container_name: actual-budget
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5007:5006"
|
|
depends_on:
|
|
- actualserver
|
|
|
|
volumes:
|
|
actual-data:
|
|
```
|
|
|
|
> **Note** : le `actualbudget/actual:latest` est l'image desktop/UI server, distincte de `actual-server` qui ne fait que la synchronisation. Pour une utilisation web complète, déployer les deux.
|
|
|
|
### Installation manuelle
|
|
|
|
1. **Pré-requis** : Node.js 18+, npm.
|
|
2. **Serveur de sync** : `git clone https://github.com/actualbudget/actual-server && cd actual-server && npm install && npm run build && npm start` (port 5006 par défaut).
|
|
3. **Client web** : `git clone https://github.com/actualbudget/actual && cd actual && npm install && npm run build` (sert via `npm run start` sur le port 3001 en dev ou via un reverse proxy en prod).
|
|
4. **Client desktop** : binaire standalone disponible sur la [page releases](https://github.com/actualbudget/actual/releases) (Linux AppImage, macOS DMG, Windows MSI).
|
|
5. **Mobile** : non officiel pour Android/iOS — passer par un client web PWA accessible via navigateur mobile.
|
|
|
|
## Configuration
|
|
|
|
- **Premier lancement** : créer un mot de passe pour chiffrer le fichier local (NE PAS le perdre, irrecupérable).
|
|
- **Import bancaire** : OFX/QFX (le plus propre), CSV avec mapping de colonnes, CAMT.053 (Europe). Pas de connexion bancaire directe (sécurité++).
|
|
- **Catégories** : créer une arborescence de catégories, assigner des enveloppes, configurer les règles de catégorisation automatique.
|
|
- **Comptes de départ** : créer un compte, saisir le solde initial, importer les transactions.
|
|
- **Multi-device** : pointer le client vers l'URL du serveur de sync (Settings → Advanced → Sync Server).
|
|
- **HTTPS obligatoire** : via reverse proxy (Traefik/Caddy).
|
|
- **Backups** : le fichier `.blob` chiffré est la source de vérité — copier régulièrement (cron + rclone vers S3/external).
|
|
|
|
## Alternatives
|
|
|
|
### Open Source
|
|
- [[app-firefly-iii]] — gestion finances complètes avec import PSD2 automatique (Laravel/PHP)
|
|
- [[app-sure]] — plateforme finance moderne (Elixir/Phoenix)
|
|
- [[app-monetr]] — suivi finances en Go, plus jeune
|
|
- [[app-myfin]] — budgeting personnel Python
|
|
- **CashCog** / **Buckwheat** — envelope budgeting alternatifs
|
|
- **Yokai** / **Cashew** — apps mobiles Android (non serveur)
|
|
|
|
### Propriétaires
|
|
- **YNAB** (You Need A Budget) — référence absolute du zero-based budgeting, ~14$/mois, méthode propriétaire
|
|
- **Mint** (Intuit) — abandonné/transitionné vers Credit Karma
|
|
- **Monarch Money** — moderne, agrégation bancaire, ~99$/an
|
|
- **Rocket Money** — focus souscription/économie
|
|
- **PocketGuard** — mobile-first
|
|
|
|
## Sécurité
|
|
|
|
- **Chiffrement local** : mot de passe maître protège le fichier `.blob` (AES-256). Le perdre = perdre les données.
|
|
- **Sync E2E** : le serveur de sync ne voit que des blobs chiffrés, mot de passe jamais transmis.
|
|
- **HTTPS obligatoire** via reverse proxy (Traefik/Caddy).
|
|
- **Pas de connexion bancaire tierce** : vous importez manuellement (OFX) — pas de risque de fuite credentials bancaires.
|
|
- **2FA** : non natif côté serveur de sync (compter sur l'auth reverse proxy via Authelia/Authentik).
|
|
- **Backups 3-2-1** : le `.blob` chiffré est portable, le copier régulièrement (rclone + cron).
|
|
- **Open source auditable** : codebase TypeScript transparent, audits communautaires réguliers.
|
|
|
|
## Ressources
|
|
- Site officiel : https://actualbudget.org/
|
|
- Documentation : https://actualbudget.org/docs/
|
|
- GitHub (client) : https://github.com/actualbudget/actual
|
|
- GitHub (serveur de sync) : https://github.com/actualbudget/actual-server
|
|
- Discord communautaire : https://discord.gg/pcNyJHs
|
|
- selfh.st : https://selfh.st/apps/?tag=budgeting
|
|
|
|
## Pages Liées
|
|
- [[cat-budgeting]] — catégorie parente
|
|
- [[app-firefly-iii]] — concurrent principal (PHP, plus de fonctionnalités)
|
|
- [[app-sure]] — alternative moderne (Elixir)
|
|
- [[app-monetr]] — alternative Go
|
|
- [[recettes-docker-compose]] — templates de déploiement
|
|
- [[securisation-home-lab]] — bonnes pratiques sécurité
|