Stats : timeline du trafic (courbe jour/heure) globale et par contenu #93
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
La page
/admin/statsaffiche des totaux sur 14 jours (hits par réseau, par livre, par article). On n'a aucune vision de l'évolution dans le temps : impossible de détecter un pic de trafic, une date de publication qui génère un afflux, ou un scraping intensif sur une période courte.Ce qu'on veut
Vue globale
Un graphique en barres (CSS ou canvas léger) montrant le trafic jour par jour sur les 14 derniers jours — courbe unique, tous contenus confondus.
Vue par contenu (optionnel, 2e itération)
En cliquant sur un article ou un livre dans les stats, afficher sa propre courbe de trafic sur la période.
Vue par réseau / pays (complément du ticket #92)
Une fois le ticket #92 implémenté, chaque réseau et chaque pays pourrait avoir sa propre timeline dépliable.
Données disponibles
AccessLogParser::parseTimestamp()est déjà là et retourne unintUnix — il est utilisé uniquement pour filtrer par cutoff, le résultat est jeté ensuite.parseLine()a déjà$tsen main : il suffit de le conserver pour le grouper par jour (date('Y-m-d', $ts)) ou par heure.Travail technique
AccessLogParser: ajouter une méthodetimeline(string $granularity = 'day'): arrayretournant[date => hits](tous contenus) ettimelineByPath(string $prefix): arraypour filtrer par/post/…ou/book/….$adminData['stats_timeline'](tableau[date => hits]des 14 derniers jours) dans l'action stats.Maquette
Critères d'acceptation
/admin/statsLien
Complémentaire du ticket #92 (stats par réseau / pays / visiteur).