À propos du projet
finPal est une application de finances personnelles open-source et auto-hébergée, décrite par ses mainteneurs comme une « gestion financière axée sur la confidentialité », sans suivi, sans vente de données et sans abonnement pour l'édition auto-hébergée. Le projet est publié sous licence AGPL-3.0, et le README précise explicitement qu'il est en phase de développement actif majeur : les fonctionnalités, les API et le schéma de la base de données changent fréquemment, c'est pourquoi des sauvegardes avant les mises à jour sont conseillées.
Problème ciblé
L'application s'articule autour de la question quotidienne de savoir où l'argent est allé pendant un mois.
Fonctionnalités mises en évidence
- Suivi des dépenses avec auto-catégorisation et règles de transaction qui s'adaptent à vos habitudes.
- Budgets avec suivi en temps réel et alertes destinées à se déclencher avant tout dépassement.
- Partage des coûts pour un foyer, incluant qui doit quoi à qui.
- Suivi des investissements via des portefeuilles, avec mises à jour automatiques des prix.
- Synchronisation bancaire via SimpleFin, ou import CSV depuis un dossier surveillé qui importe les relevés automatiquement.
- Support multi-devises et multi-comptes, ainsi qu'un mode sombre.
- Un module optionnel de récompenses de cartes de crédit appelé pointsPal.
- Jetons d'accès personnels pour les scripts et les LLM locaux, documentés avec leurs portées.
Installation et fonctionnement
Le README propose un démarrage rapide Docker Compose en trois commandes : cloner le dépôt, exécuter scripts/setup-env.sh pour écrire un fichier .env avec des secrets générés, puis docker compose up -d. Les images pré-construites sont récupérées, donc rien n'est construit localement. Le port par défaut est 80 et peut être modifié avec HTTP_PORT dans le .env. Le premier compte à s'inscrire devient l'administrateur. Le script de configuration génère de vrais secrets, et l'application refuse de démarrer avec les valeurs fictives change_me_* indiquées dans .env.example, car celles-ci sont publiques dans le dépôt et pourraient être utilisées pour forger des sessions.
Les mises à jour s'effectuent en récupérant les nouvelles images et en redémarrant. La gestion du schéma est un sujet documenté : auparavant, le schéma était construit à partir des modèles au démarrage, ce qui créait les tables manquantes mais n'ajoutait jamais de colonnes aux tables existantes, laissant les instances de longue date sans les nouvelles colonnes et provoquant des échecs de requêtes. Le démarrage réconcilie désormais le schéma automatiquement, de manière additive uniquement, en ajoutant les colonnes nullables manquantes et en élargissant les colonnes plus étroites que ce que le modèle attend ; il ne supprime, ne renomme, n'étrécit ni ne change jamais le type. Les instructions appliquées sont journalisées et peuvent être inspectées avec docker logs finpal-backend. La réconciliation automatique peut être désactivée avec SCHEMA_AUTO_RECONCILE=false, après quoi un script en lecture seule, scripts/schema_drift.py, affiche les instructions exactes nécessaires. L'exception documentée est une colonne NOT NULL sans valeur par défaut, qui ne peut pas être ajoutée à une table peuplée et est laissée pour une migration avec un remplissage ultérieur.
Documentation et communauté
Le dépôt contient des guides pour l'installation, les variables d'environnement, l'architecture et les exigences système, les jetons API, l'import de dossiers CSV, SimpleFin, pointsPal, les tests et les licences, ainsi qu'un guide de contribution stipulant que les pull requests nécessitent l'approbation de deux développeurs palStack, le délai de révision étant généralement de 24 à 48 heures. Une démo en direct est disponible sans installation.
Hébergement et feuille de route
L'auto-hébergement est disponible dès maintenant avec toutes les fonctionnalités et est gratuit. Un hébergement géré par abonnement est décrit comme arrivant prochainement. Une application mobile React Native pour iOS et Android est en développement actif, visant la connexion biométrique et la synchronisation hors ligne, tandis que le backend et l'interface web sont décrits comme prêts aujourd'hui. finPal reconnaît son origine dans le suivi de dettes Dollar Dollar Bill Y'all.
Note sur la licence
Le code de l'application est sous AGPL-3.0, ce qui signifie qu'il peut être auto-hébergé, modifié et partagé ; l'exécution d'une version modifiée en tant que service réseau implique l'obligation de publier les modifications. L'hébergement géré (finPal Premium) est décrit comme une offre propriétaire distincte qui ne modifie pas la licence du dépôt.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.