La seule « fraîcheur » affichée sur la carte est la date updated_at de Gitea : elle bouge pour un push ou un commentaire et ne reflète pas l'activité kanban du projet. Le journal local (board_events) sait pourtant exactement ce qui a bougé, projet par projet.
Proposition
Une ligne d'activité sur la carte, calculée sur les 7 derniers jours depuis le journal :
« 📈 3 fermées · 5 déplacements cette semaine » quand il y a de l'activité ;
« 💤 aucune activité depuis 23 j » quand le projet dort (dernier événement du journal) ;
rien (ou ligne neutre) pour un projet sans historique dans le journal.
Pistes d'implémentation
Une requête groupée sur board_events (par dépôt, par type, fenêtre 7 j + dernier événement) dans models.py — un seul passage pour tous les projets, pas de N+1.
Le journal ne couvre que l'activité vue par Kanbante (déplacements, fermetures, webhooks) : le libellé doit rester honnête (« activité kanban »), ne pas prétendre mesurer Git.
Critères d'acceptation
Carte d'un projet actif cette semaine : compteurs exacts d'après le journal.
Projet sans événement depuis > 7 j : mention « aucune activité depuis X j » exacte.
Aucune requête par projet (une seule requête agrégée).
Tests verts.
Issue de la feuille de route « Gestion de projets » (idées Spark du 2026-10-11, toutes retenues par Bruno) — à réaliser quand la carte sera dans « 📋 À faire ».
## Contexte
La seule « fraîcheur » affichée sur la carte est la date `updated_at` de Gitea : elle bouge pour un push ou un commentaire et ne reflète pas l'activité *kanban* du projet. Le journal local (`board_events`) sait pourtant exactement ce qui a bougé, projet par projet.
## Proposition
Une ligne d'activité sur la carte, calculée sur les 7 derniers jours depuis le journal :
- « 📈 3 fermées · 5 déplacements cette semaine » quand il y a de l'activité ;
- « 💤 aucune activité depuis 23 j » quand le projet dort (dernier événement du journal) ;
- rien (ou ligne neutre) pour un projet sans historique dans le journal.
## Pistes d'implémentation
- Une requête groupée sur `board_events` (par dépôt, par type, fenêtre 7 j + dernier événement) dans `models.py` — un seul passage pour tous les projets, pas de N+1.
- Le journal ne couvre que l'activité vue par Kanbante (déplacements, fermetures, webhooks) : le libellé doit rester honnête (« activité kanban »), ne pas prétendre mesurer Git.
## Critères d'acceptation
- [ ] Carte d'un projet actif cette semaine : compteurs exacts d'après le journal.
- [ ] Projet sans événement depuis > 7 j : mention « aucune activité depuis X j » exacte.
- [ ] Aucune requête par projet (une seule requête agrégée).
- [ ] Tests verts.
---
*Issue de la feuille de route « Gestion de projets » (idées Spark du 2026-10-11, toutes retenues par Bruno) — à réaliser quand la carte sera dans « 📋 À faire ».*
bruno
added this to the Gestion de projets — feuille de route milestone 2026-10-11 22:36:44 -04:00
bruno
added the roadmap label 2026-10-11 22:36:44 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Contexte
La seule « fraîcheur » affichée sur la carte est la date
updated_atde Gitea : elle bouge pour un push ou un commentaire et ne reflète pas l'activité kanban du projet. Le journal local (board_events) sait pourtant exactement ce qui a bougé, projet par projet.Proposition
Une ligne d'activité sur la carte, calculée sur les 7 derniers jours depuis le journal :
Pistes d'implémentation
board_events(par dépôt, par type, fenêtre 7 j + dernier événement) dansmodels.py— un seul passage pour tous les projets, pas de N+1.Critères d'acceptation
Issue de la feuille de route « Gestion de projets » (idées Spark du 2026-10-11, toutes retenues par Bruno) — à réaliser quand la carte sera dans « 📋 À faire ».