Historisation des pots et sous-pots à la clôture de mois #45

Closed
opened 2026-04-18 23:37:30 +00:00 by pickle-dev-fr · 0 comments

Contexte

Actuellement, les montants prevision et current des pots/sous-pots sont calculés dynamiquement pour le mois sélectionné. Il n'y a pas de snapshot persisté à la fin d'un mois, ce qui empêche de suivre les performances dans le temps.

Objectif

Mettre en place une historisation automatique des pots et sous-pots à la clôture de chaque mois, afin de pouvoir :

  • Consulter les performances réelles mois par mois
  • Comparer prévision vs. réel sur une période
  • Alimenter les graphiques de stats avec des données historiques fiables

Travail côté backend

  • Créer un modèle PotSnapshot (ou SubPotSnapshot) avec les champs : pot_id, sub_pot_id, year, month, prevision, current, remaining
  • Créer une migration Alembic
  • Ajouter un job APScheduler (ou déclencher depuis le scheduler existant core/scheduler.py) qui tourne en fin de mois pour persister les snapshots
  • Exposer un endpoint GET pour récupérer l'historique d'un pot/compte par période

Travail côté frontend

  • Dans StatsPage : graphique d'évolution des pots sur plusieurs mois (comparaison prévision/réel)
  • Dans PotEditPage ou PotsPage : indicateur de tendance par rapport au mois précédent

Critères d'acceptance

  • Snapshot créé automatiquement à la fin de chaque mois pour chaque pot/sous-pot actif
  • Données accessibles via API
  • Au moins une visualisation frontend exploitant l'historique
  • Pas de régression sur le comportement actuel des pots
## Contexte Actuellement, les montants `prevision` et `current` des pots/sous-pots sont calculés dynamiquement pour le mois sélectionné. Il n'y a pas de snapshot persisté à la fin d'un mois, ce qui empêche de suivre les performances dans le temps. ## Objectif Mettre en place une historisation automatique des pots et sous-pots à la clôture de chaque mois, afin de pouvoir : - Consulter les performances réelles mois par mois - Comparer prévision vs. réel sur une période - Alimenter les graphiques de stats avec des données historiques fiables ## Travail côté backend - Créer un modèle `PotSnapshot` (ou `SubPotSnapshot`) avec les champs : `pot_id`, `sub_pot_id`, `year`, `month`, `prevision`, `current`, `remaining` - Créer une migration Alembic - Ajouter un job APScheduler (ou déclencher depuis le scheduler existant `core/scheduler.py`) qui tourne en fin de mois pour persister les snapshots - Exposer un endpoint GET pour récupérer l'historique d'un pot/compte par période ## Travail côté frontend - Dans StatsPage : graphique d'évolution des pots sur plusieurs mois (comparaison prévision/réel) - Dans PotEditPage ou PotsPage : indicateur de tendance par rapport au mois précédent ## Critères d'acceptance - [ ] Snapshot créé automatiquement à la fin de chaque mois pour chaque pot/sous-pot actif - [ ] Données accessibles via API - [ ] Au moins une visualisation frontend exploitant l'historique - [ ] Pas de régression sur le comportement actuel des pots
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pickle-dev-fr/FamilyBudget#45
No description provided.