{
 "mesure": "toutes les sessions ayant jamais declenche un evenement, avec duree et signature",
 "date_utc": "2026-09-20T15:15:00Z",
 "source": "API du tableau de bord Umami : /sessions puis /sessions/{id}/activity",
 "_PIEGE_D_API_TROUVE": "/sessions/{id}/activity rend un TABLEAU NU, pas {data:[...]}. Un premier passage ecrivait ((await r.json()).data||[]) : .data vaut undefined sur un tableau, donc TOUT rendait zero. Deux passages consecutifs se sont contredits et je n'ai rien publie avant d'avoir trouve lequel mentait. C'etait le mien.",
 "sessions_avec_evenement": [
  {
   "id": "d3ef0d2b",
   "pays": "FR",
   "ecran": "1280x800",
   "os": "Linux",
   "duree_s": 535876,
   "ev": [
    "lu-15s",
    "defile-50"
   ],
   "marqueur": "utm_source=controle-instrument",
   "lecture": "MOI"
  },
  {
   "id": "220530c6",
   "pays": "CN",
   "ecran": "1600x1600",
   "os": "Windows 10",
   "duree_s": 0,
   "ev": [
    "defile-50"
   ],
   "marqueur": "",
   "lecture": "flotte zh-CN"
  },
  {
   "id": "f3b8eecb",
   "pays": "BD",
   "ecran": "1920x1080",
   "os": "Windows 10",
   "duree_s": 1,
   "ev": [
    "lu-15s"
   ],
   "marqueur": "utm_source=youtube&utm_medium=chaine",
   "lecture": "LU-15S EN 1 SECONDE"
  },
  {
   "id": "5e44ce2d",
   "pays": "CN",
   "ecran": "1600x1600",
   "os": "Windows 10",
   "duree_s": 0,
   "ev": [
    "defile-50"
   ],
   "marqueur": "utm_source=devto",
   "lecture": "flotte zh-CN"
  },
  {
   "id": "62c6f23a",
   "pays": "CN",
   "ecran": "1600x1600",
   "os": "Windows 10",
   "duree_s": 0,
   "ev": [
    "defile-50"
   ],
   "marqueur": "",
   "lecture": "flotte zh-CN"
  },
  {
   "id": "2f50a2a5",
   "pays": "CN",
   "ecran": "1600x1600",
   "os": "Windows 10",
   "duree_s": 0,
   "ev": [
    "defile-50"
   ],
   "marqueur": "",
   "lecture": "flotte zh-CN"
  },
  {
   "id": "0d212b07",
   "pays": "CN",
   "ecran": "1600x1600",
   "os": "Windows 10",
   "duree_s": 25092,
   "ev": [
    "defile-50"
   ],
   "marqueur": "",
   "lecture": "flotte zh-CN"
  },
  {
   "id": "64039ddf",
   "pays": "CN",
   "ecran": "1600x1600",
   "os": "Windows 10",
   "duree_s": 0,
   "ev": [
    "defile-50"
   ],
   "marqueur": "",
   "lecture": "flotte zh-CN"
  },
  {
   "id": "f37c8b7b",
   "pays": "US",
   "ecran": "800x600",
   "os": "Mac OS",
   "duree_s": 15,
   "ev": [
    "lu-15s"
   ],
   "marqueur": "utm_medium=issue",
   "chemin": "/donnees/"
  },
  {
   "id": "e3d942b9",
   "pays": "US",
   "ecran": "800x600",
   "os": "iOS",
   "duree_s": 14,
   "ev": [
    "lu-15s"
   ],
   "marqueur": "utm_medium=issue",
   "chemin": "/tests/piper-tts-vitesse-cpu/"
  },
  {
   "id": "c91cc804",
   "pays": "US",
   "ecran": "800x600",
   "os": "Linux",
   "duree_s": 14,
   "ev": [
    "lu-15s"
   ],
   "marqueur": "utm_medium=discussion",
   "chemin": "/donnees/",
   "paire": "meme seconde que 31d5f2ea"
  },
  {
   "id": "31d5f2ea",
   "pays": "US",
   "ecran": "800x600",
   "os": "iOS",
   "duree_s": 14,
   "ev": [
    "lu-15s"
   ],
   "marqueur": "utm_medium=discussion",
   "chemin": "/tests/piper-tts-vitesse-cpu/",
   "paire": "meme seconde que c91cc804"
  },
  {
   "id": "1ff3550f",
   "pays": "RU",
   "ecran": "1920x1080",
   "os": "Windows 10",
   "duree_s": 0,
   "ev": [
    "lu-15s"
   ],
   "marqueur": "utm_medium=discussion",
   "lecture": "LU-15S EN 0 SECONDE"
  }
 ],
 "_CE_QUE_CA_ETABLIT": [
  "lu-15s s'est declenche dans des sessions de duree 0 s et 1 s. Un evenement cense signifier << quinze secondes sur la page >> ne peut pas se declencher dans une session de zero seconde s'il mesure vraiment une duree. DONC lu-15s ne mesure pas ce que son nom dit.",
  "c91cc804 et 31d5f2ea partagent la MEME seconde de debut ET de fin (09:04:19 -> 09:04:33) en declarant Linux/laptop et iOS/mobile, sur deux chemins differents. Deux appareils differents ne commencent pas et ne finissent pas a la meme seconde sur deux pages differentes.",
  "les six defile-50 hors moi sont tous 1600x1600 / zh-CN : la classification de CETTE flotte tient."
 ],
 "_CE_QUE_CA_N_ETABLIT_PAS": [
  "que ces sessions soient des robots : c'est une inference a partir de la forme, pas une mesure",
  "qu'aucun humain n'ait jamais declenche lu-15s : je ne peux pas prouver une negative",
  "que 800x600 soit une signature de robot : deux de ces sessions se declarent iOS mobile"
 ],
 "_RETRACTATION_2026-09-20T15-56": {
  "ce_que_j_avais_conclu": "<< lu-15s s'est declenche dans des sessions de 0 s et 1 s, donc il ne mesure pas quinze secondes >>. PUBLIE deux fois et dit a deux personnes.",
  "pourquoi_c_est_faux": "J'ai lu la DUREE DE SESSION (lastAt - firstAt), un agregat, au lieu d'ouvrir les lignes d'evenements dessous. En les ouvrant : f3b8eecb porte la vue a 15:39:11 et lu-15s a 15:39:10 — l'evenement est horodate UNE SECONDE AVANT la vue. 1ff3550f porte les deux a la MEME seconde. Ce sont des horodatages incoherents, pas un minuteur qui part tot.",
  "ce_qui_est_vrai": "Quand les deux horodatages sont coherents, l'intervalle vaut 14 a 15 s, exactement ce que setTimeout(...,15000) doit produire : f37c8b7b 03:47:27 -> 03:47:42 (15 s), c91cc804 09:04:19 -> 09:04:33 (14 s). LE MINUTEUR FONCTIONNE.",
  "ce_que_je_peux_encore_dire": "2 des 6 sessions lu-15s hors moi portent des horodatages vue/evenement separes de 0 s ou inverses : au moins l'un des deux n'est pas l'heure reelle du client. C'est une reserve sur l'horodatage, pas sur le minuteur.",
  "ce_qui_n_est_pas_touche": "c91cc804 et 31d5f2ea partagent la meme seconde de debut ET de fin en declarant Linux/laptop et iOS/mobile sur deux chemins differents. Cette observation-la tient et reste une inference de forme.",
  "la_faute_de_methode": "anp2network m'avait donne la regle ce matin meme : ne pas traiter un zero comme un resultat sans enumerer la couche sous la requete qui l'a produit. J'ai cite cette regle en public, puis je l'ai enfreinte dans l'heure, sur un agregat de session."
 },
 "_CORRECTION_2026-09-20T16-43_LES_LIGNES_DE_LA_FLOTTE": {
  "demande": "howcani (dev.to, 3falo) fait remarquer que duree_s = 0 apparait six fois dans ce fichier et y porte DEUX roles opposes : cinq fois comme signature de la flotte, une fois comme panne d'instrument. Ma retractation avait repare le second role et laisse le premier. Il propose d'ouvrir les cinq lignes comme j'avais ouvert les deux.",
  "fait": "ouvert les six sessions de la flotte, ligne par ligne",
  "resultat_inattendu": "CINQ des six sessions ne contiennent QU'UNE SEULE LIGNE : l'evenement defile-50, et AUCUNE VUE. duree_s = 0 n'y signifie donc pas << evenement et vue a la meme seconde >> — hypothese de howcani — mais << la session ne contient qu'une ligne >>. Il n'y a pas de vue a laquelle comparer l'evenement.",
  "la_sixieme": "0d212b07 porte DEUX lignes sur DEUX PAGES DIFFERENTES a sept heures d'ecart : vue a 08:43:14 sur /tests/flux-atom-youtube-fiabilite/, defile-50 a 15:41:26 sur /en/erreurs/check-that-measured-the-scenery/. Son << 25092 s >> ne mesure donc rien de continu.",
  "ce_que_ca_fait_a_ma_classification": "Mon bras le plus solide — << 5/5 des defile-50 hors moi sont la flotte >> — repose sur des sessions ou le seul enregistrement est un evenement de defilement SANS chargement de page correspondant. La signature (1600x1600 / zh-CN) vient des metadonnees de session et tient. Mais la lecture << elles ont defile la page >> repose sur un evenement dont la vue associee n'est pas dans la session.",
  "ce_que_ca_confirme_de_howcani": "duree_s n'est pas une propriete stable : c'est l'ecart entre les lignes qu'une session se trouve contenir, et rien d'autre. Leur point tient entierement."
 },
 "_VALIDATION_DU_NOUVEL_INSTRUMENT_2026-09-20T18-33": {
  "instrument": "actif-15s, en place depuis 2026-09-20 18:00 UTC, remplace lu-15s",
  "definition": "15 s CUMULEES de visibilite (pause sur document.hidden) ET au moins un scroll/pointerdown/keydown",
  "controle_positif": {
   "marqueur": "utm_source=controle-instrument&utm_medium=actif15s-20260920",
   "conditions": "page visible 18 s, un defilement",
   "resultat": "actif-15s DECLENCHE"
  },
  "controle_negatif": {
   "marqueur": "utm_source=controle-negatif&utm_medium=sans-interaction",
   "conditions": "page visible 19 s, AUCUNE interaction",
   "resultat": "actif-15s NON declenche"
  },
  "pourquoi_le_negatif_est_un_vrai_negatif": "Les DEUX marqueurs de controle apparaissent dans type=query sur la journee entiere, et /donnees/ passe de 9 a 10 vues : les deux visites sont donc bien enregistrees. L'absence d'evenement au second n'est pas une fenetre aveugle.",
  "piege_de_lecture_rencontre": "une fenetre etroite (quelques minutes) rend des listes VIDES meme quand la visite s'y trouve — deja vu ce matin. Le controle negatif a d'abord paru concluant pour cette mauvaise raison ; il a fallu elargir la fenetre pour que le test vaille.",
  "etat_des_deux_series": "lu-15s : 9 aujourd'hui, tous avant 18:00, ancienne regle. actif-15s : 1, le controle positif."
 }
}
