[d3js] Décorreler la durée (3 mois, 2 ans) du type d'affichage (jours / semaines ...) de l'histogramme
Sur les statistiques des visites, les boutons 3 mois, 2 ans, 5 ans, infini, sont associés à un affichage spécifique qui regroupe les données en tranches.
- Jusqu'à 3 mois, on regroupe par jour,
- 2 ans, on regroupe par semaine,
- au delà de 5 ans, par an.
Il y a 2 raisons :
- la première est une question d'affichage : afficher 730 jours (2 ans) ferait des barres trop étroites pour être lisibles
- la seconde concerne l'archivage des statistiques (actuellement optionnelles) qui, si on le fait, regroupe les visites de plus de 2 ans, sur le 1er jour du mois, et de plus de 5 ans sur le premier jour de l'année.
Pour décorréler ces éléments, il faudrait 2 graphiques :
- l'un petit avec l'ensemble des données qui sert de sélecteur de plage de date,
- l'autre qui affiche le contenu de la plage sélectionnée. Tel que https://bl.ocks.org/robyngit/89327a78e22d138cff19c6de7288c1cf (ici un graphique "line", mais c'est la même idée avec l'histogramme)
L'inconvénient est qu'il faut charger l'ensemble des données que l'on connaît obligatoirement pour avoir ce petit graphique, ce qui peut être copieux sur un affichage par jour (3600 lignes donc pour 10 ans de stats). A priori c'est pas non plus une quantité extravagante à traiter en JS. Enfin l'affichage "histogramme" est peut être pas le plus adapté dans ce cas car si on sélectionne une trop grande plage, les barres seraient trop étroites.
Cependant le calcul actuel du json et le JS actuel des statistiques savent traiter les durées et types d'affichage que l'on désirerait. Ça rend juste le graphique potentiellement illisible si le fait tel quel.