---
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
