Initial vault setup
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user