8.7 KiB
title: Firefly III created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, budgeting, laravel, php, finance, personnel, banques, psd2] confidence: high contested: false sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/firefly-iii/firefly-iii, https://firefly-iii.org/]
Firefly III 🔥
Gestionnaire de finances personnelles complet écrit en Laravel, avec import bancaire via PSD2 (Spectre), règles automatiques, budgets, rapports avancés et API REST riche. C'est la référence open source pour qui veut maîtriser ses finances avec une UX web moderne.
| Métadonnée | Valeur |
|---|---|
| Site web | https://www.firefly-iii.org/ |
| GitHub | https://github.com/firefly-iii/firefly-iii |
| License | AGPL-3.0 |
| Langage | PHP 8.2+ (Laravel 11) |
| Étoiles | ⭐2190 |
| Dernière MAJ | 2026-05-28 |
| Catégorie | cat-budgeting |
Description
Firefly III est une application web de gestion de finances personnelles conçue pour les particuliers, freelances et couples qui veulent reprendre le contrôle de leur argent. Contrairement à Actual Budget (local-first), Firefly est une application web classique avec backend serveur et base de données. L'API REST est très complète et permet d'intégrer Firefly dans des workflows complexes.
Les fonctionnalités phares incluent : comptes multiples (chèque, épargne, cartes, crédit, actifs, prêts, dettes), transactions récurrentes et règles automatiques de catégorisation/re-tagging, budgets par catégorie avec suivi mensuel, enveloppes (piggy banks), objectifs d'épargne avec progression, rattachement de reçus (upload PDF/images), import depuis CSV/OFX/Spectre (PSD2), règlements de dettes entre comptes, tags, rapports sophistiqués (cash flow, balance sheet, income/expense par catégorie, audits), multi-devises avec taux de change automatique (ECB, exchangerate.host).
L'import bancaire est l'un des points forts : via Spectre (anciennement Salt Edge) ou Nordigen (PSD2 européen), Firefly peut se connecter directement à plus de 12 000 banques européennes avec leur API officielle. Spectre propose un tier gratuit (limité), au-delà c'est ~5$/mois. Une data importer séparée (firefly-iii/data-importer) gère les imports CSV/OFX/CMT/Spectre et applique les règles. L'écosystème comprend aussi Firefly Importer et Firefly Reconcile (modules complémentaires).
L'UX est moderne (HTMX + Alpine.js pour la réactivité sans build complexe), multilingue (français intégral), avec un système de rôles (owner, demo) et 2FA TOTP natif. Le projet est très actif (multiples commits/jour), avec une documentation détaillée et une communauté Discord dynamique.
Installation
Via Docker (recommandé)
# docker-compose.yml
services:
app:
image: fireflyiii/core:latest
container_name: firefly-iii
restart: unless-stopped
depends_on:
db:
condition: service_healthy
cache:
condition: service_started
ports:
- "8080:8080"
env_file: .env
volumes:
- firefly-upload:/var/www/html/storage/upload
db:
image: mariadb:11
container_name: firefly-db
restart: unless-stopped
environment:
- MARIADB_DATABASE=firefly
- MARIADB_USER=firefly
- MARIADB_PASSWORD=ChangeM3_FireflyMaria
- MARIADB_RANDOM_ROOT_PASSWORD=ChangeMoiRootMdb
volumes:
- firefly-db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 10
cache:
image: redis:7-alpine
container_name: firefly-cache
restart: unless-stopped
volumes:
- firefly-cache:/data
importer:
image: fireflyiii/data-importer:latest
container_name: firefly-importer
restart: unless-stopped
depends_on:
- app
env_file: .env
volumes:
- firefly-importer:/import
cron:
image: alpine:3.20
container_name: firefly-cron
restart: unless-stopped
command: >
sh -c "
echo '0 3 * * * wget -qO- http://app:8080/api/v1/cron/$$STATIC_CRON_TOKEN' > /etc/crontabs/root &&
crond -f -L /dev/stdout"
env_file: .env
volumes:
firefly-db:
firefly-upload:
firefly-cache:
firefly-importer:
# .env (exemple)
APP_KEY=base64:VOTRE_CLE_ICI
APP_URL=https://budget.example.com
TZ=Europe/Paris
SITE_OWNER=vous@example.com
TRUSTED_PROXIES=**
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=firefly
DB_PASSWORD=ChangeM3_FireflyMaria
REDIS_HOST=cache
REDIS_PORT=6379
STATIC_CRON_TOKEN=ChangeM3_CronToken
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=budget@example.com
MAIL_PASSWORD=ChangeMoiMailSMTP
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=budget@example.com
Installation manuelle (LAMP)
- Pré-requis : PHP 8.2+ (extensions : BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PDO_MySQL, Tokenizer, XML, Zip, GD, Intl, sodium), MariaDB 10.5+ ou PostgreSQL 13+, Composer, Node.js 18+ (build), Redis (optionnel pour cache/queue).
git clone https://github.com/firefly-iii/firefly-iii.git && cd firefly-iiicomposer install --no-dev- Copier
.env.examplevers.envet configurer. php artisan key:generatephp artisan migrate --seedphp artisan passport:install(OAuth2).php artisan firefly-iii:upgrade-database(ou laisser l'auto-upgrade au premier accès).- Servir via Nginx + PHP-FPM ; configurer le cron (
0 3 * * * php artisan schedule:run).
Configuration
- Premier accès : assistant web pour créer le propriétaire, configurer devise/locale (fr-FR), fuseau horaire.
- Comptes : créer un compte par produit bancaire (compte courant, Livret A, PEA, crédit immo, etc.).
- Catégories et tags : hiérarchie libre, tags transversaux.
- Budgets : par catégorie, par mois, avec report optionnel.
- Règles : moteur puissant (trigger + action) pour auto-catégoriser les imports.
- Spectre/Nordigen : créer une app sur https://saltedge.com/ ou https://nordigen.com/, configurer
SPECTRE_APP_ID,SPECTRE_SECRET, lier des comptes bancaires. - Data Importer : pour les imports manuels CSV/OFX, configurer les mappings colonne.
- 2FA : activable depuis le profil utilisateur (TOTP via Google Authenticator, Aegis, etc.).
- API : jetons personnels ou OAuth2 (via Passport) — utilisable par n8n, Home Assistant, etc.
Alternatives
Open Source
- app-actual-budget — local-first TypeScript, plus moderne, méthodologie enveloppe
- app-sure — plateforme finance/budget moderne (Elixir/Phoenix)
- app-monetr — alternative Go, plus jeune
- app-ezbookkeeping — multi-devises léger (Go)
- iHat — outil minimaliste Python
- Firefly III Data Importer — compagnon officiel
Propriétaires
- YNAB — référence du zero-based budgeting (~14$/mois)
- Monarch Money — agrégation bancaire, UX soignée (~99$/an)
- Mint (abandonné, ex-Intuit) — bascule vers Credit Karma
- YNAB companion apps mobiles
- PocketGuard, Rocket Money — apps grand public
Sécurité
- HTTPS obligatoire via reverse proxy (Traefik/Caddy) — données financières critiques.
- 2FA natif TOTP : à activer pour le compte owner et tout compte avec droits admin.
- Variables sensibles :
APP_KEY, secrets DB, tokens Spectre dans.env(chmod 600) ou secrets Docker/Swarm/K8s. - Spectre : stocker les credentials de l'app tierce en variable d'environnement, surveiller les quotas API.
- Sauvegardes 3-2-1 :
mysqldumpquotidien + copie du volumefirefly-upload(reçus/fichiers). - Updates réguliers : suivre la branche stable, consulter la release notes (migrations DB parfois nécessaires).
- Fail2ban : sur Nginx en front, pour bloquer les tentatives de brute force.
- Headers de sécurité :
Strict-Transport-Security,Content-Security-Policy,X-Frame-Optionsvia reverse proxy.
Ressources
- Site officiel : https://www.firefly-iii.org/
- Documentation : https://docs.firefly-iii.org/
- GitHub : https://github.com/firefly-iii/firefly-iii
- Data Importer : https://github.com/firefly-iii/data-importer
- Discord : https://discord.gg/3PbZQXv
- selfh.st : https://selfh.st/apps/?tag=budgeting
Pages Liées
- cat-budgeting — catégorie parente
- app-actual-budget — concurrent local-first moderne
- app-sure — alternative Elixir moderne
- app-monetr — alternative Go
- cat-accounting — gestion comptable (freelances/entreprises)
- recettes-docker-compose — templates de déploiement
- securisation-home-lab — bonnes pratiques sécurité