Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+147
View File
@@ -0,0 +1,147 @@
---
title: WYGIWYH
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, budgeting, python, django, finance, recurrente, minimaliste]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/eitchtee/WYGIWYH, https://wygiwyh.org/]
---
# WYGIWYH 💰
> **What You Get Is What You Have** — application Django minimaliste de **gestion de finances personnelles** centrée sur le principe de **cash-flow** : on enregistre ce qu'on a, ce qu'on doit, et ce qu'on attend. Pas de catégories compliquées, pas de synchronisation bancaire, juste la réalité du portefeuille.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://wygiwyh.org/ |
| **GitHub** | https://github.com/eitchtee/WYGIWYH |
| **License** | AGPL-3.0 |
| **Langage** | Python (Django) |
| **Étoiles** | ⭐39 |
| **Dernière MAJ** | 2026-04-20 |
| **Catégorie** | [[cat-budgeting]] |
## Description
WYGIWYH (acronyme de *What You Get Is What You Have*) est une application **Django** de gestion de finances personnelles qui se distingue par son approche radicalement simple : **on enregistre les revenus, les dépenses récurrentes, les transactions effectuées, et l'app projette automatiquement le solde futur**. C'est l'anti-bullshit du budgeting moderne.
La philosophie est la suivante : plutôt que de catégoriser à outrance ou d'importer des relevés bancaires, on saisit **ce qu'on a réellement** (comptes, espèces), **ce qu'on attend** (revenus à venir), **ce qu'on doit** (dépenses planifiées), et l'application calcule un **cash-flow prévisionnel** mois par mois. L'utilisateur voit immédiatement s'il sera **à flot, en positif, ou en négatif** dans les semaines à venir.
Les fonctionnalités clés incluent : **comptes multiples** (banque, cash, épargne, crypto), **transactions récurrentes** (mensuelles, hebdomadaires, annuelles avec support des répétitions complexes), **calendrier financier** (vue mois/semaine), **catégories** simples, **tags** libres, **multi-devises**, **dashboard** avec graphiques de cash-flow, **import/export CSV**, **API REST** (Django REST Framework), **mode multi-utilisateurs** optionnel.
L'**architecture** est **Django + PostgreSQL** (ou SQLite pour usage perso), avec **HTMX + Alpine.js** côté front pour rester léger (pas de SPA React). L'UI est volontairement austère — l'accent est mis sur la **saisie rapide** et la **lisibilité** des chiffres. L'interface est en anglais principalement, mais le code accepte n'importe quelle devise.
WYGIWYH est particulièrement adapté aux **indépendants/TPE** qui veulent voir leur cash-flow futur, aux **familles** qui veulent centraliser leurs finances partagées, et aux **minimalistes** qui fuient les apps de budgeting trop complexes. C'est aussi un bon choix pour qui veut **apprendre Django** (code propre, structuré, bien commenté).
## Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
wygiwyh:
image: ghcr.io/eitchtee/wygiwyh:latest
container_name: wygiwyh
restart: unless-stopped
ports:
- "8000:8000"
environment:
- DJANGO_SECRET_KEY=ChangeM3_DjangoSecretKey
- DJANGO_DEBUG=False
- DJANGO_ALLOWED_HOSTS=wygiwyh.example.com
- DATABASE_URL=postgresql://wygiwyh:ChangeM3@db:5432/wygiwyh
- TZ=Europe/Paris
volumes:
- wygiwyh-data:/app/data
depends_on:
- db
db:
image: postgres:16-alpine
container_name: wygiwyh-db
restart: unless-stopped
environment:
- POSTGRES_USER=wygiwyh
- POSTGRES_PASSWORD=ChangeM3
- POSTGRES_DB=wygiwyh
volumes:
- wygiwyh-db:/var/lib/postgresql/data
volumes:
wygiwyh-data:
wygiwyh-db:
```
### Installation manuelle
```bash
git clone https://github.com/eitchtee/WYGIWYH.git
cd WYGIWYH
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # éditer les variables
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver 0.0.0.0:8000
```
## Configuration
Les principaux paramètres se configurent via variables d'environnement ou `settings.py` :
- `DJANGO_SECRET_KEY` : clé secrète Django (obligatoire, longue chaîne aléatoire)
- `DATABASE_URL` : URL PostgreSQL (ou SQLite par défaut)
- `CURRENCIES` : liste des devises activées (par défaut toutes)
- `TIME_ZONE` : fuseau horaire (impacte les récurrences)
- `LANGUAGE_CODE` : langue de l'interface (en par défaut, fr partiel)
Les **récurrences** se gèrent dans l'admin Django ou via UI : choix de la fréquence (daily/weekly/monthly/yearly), date de fin, et pattern personnalisé. Les **catégories** et **tags** sont créés à la volée par l'utilisateur.
## Alternatives
### Open Source
- [[app-actual-budget]] : budgeting envelope-based plus complet mais plus complexe
- [[app-myfin]] : alternative Python/Django plus orientée enveloppe budgétaire
- [[app-expenseowl]] : encore plus minimaliste (Python/Flask)
- Firefly III : autre référence budgeting PHP, plus riche fonctionnellement
- [[app-monetr]] : équivalent en Go, plus moderne UI
### Propriétaire
- **YNAB** (You Need A Budget) : méthode envelope-based propriétaire, très populaire
- **Mint** (désormais Credit Karma) : budgeting US avec synchro bancaire
- **PocketGuard** : app mobile de budgeting
- **Money Manager** (ex-Revolut) : app bancaire intégrée
## Sécurité
- Authentification Django standard (sessions + mots de passe hashés PBKDF2)
- **CSRF protection** active sur tous les formulaires
- **SQL injection** : Django ORM protège nativement
- **XSS** : échappement auto Django
- **2FA** : à ajouter via `django-otp` si besoin
- **HTTPS obligatoire** via reverse proxy (Traefik, Caddy, Nginx Proxy Manager)
- **Sauvegardes** PostgreSQL régulières (`pg_dump` ou Barman)
- Pas de tracking, pas de télémétrie, **self-hosted = données chez soi**
## Ressources
- [Site officiel WYGIWYH](https://wygiwyh.org/)
- [Dépôt GitHub](https://github.com/eitchtee/WYGIWYH)
- [Documentation](https://github.com/eitchtee/WYGIWYH/wiki)
- [Démo en ligne](https://demo.wygiwyh.org/) (credentials sur la page GitHub)
- Suivi de bugs via [GitHub Issues](https://github.com/eitchtee/WYGIWYH/issues)
## Pages Liées
- [[cat-budgeting]] — catégorie parente
- [[recettes-docker-compose]] — recettes Docker Compose
- [[app-actual-budget]] — alternative envelope-based
- [[app-myfin]] — autre app Python/Django de budgeting
- [[app-expenseowl]] — alternative ultra-minimaliste
- [[app-monetr]] — équivalent moderne en Go