--- 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é) ```yaml # 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: ``` ```bash # .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) 1. **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). 2. `git clone https://github.com/firefly-iii/firefly-iii.git && cd firefly-iii` 3. `composer install --no-dev` 4. Copier `.env.example` vers `.env` et configurer. 5. `php artisan key:generate` 6. `php artisan migrate --seed` 7. `php artisan passport:install` (OAuth2). 8. `php artisan firefly-iii:upgrade-database` (ou laisser l'auto-upgrade au premier accès). 9. 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** : `mysqldump` quotidien + copie du volume `firefly-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-Options` via 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é