La route /api/browsers existait déjà (distribution JA4 par famille).
La nouvelle route du browser_matcher était en conflit — FastAPI utilisait
la première définition. Renommage en /api/browser-signatures.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Nouvelle page dédiée à l'analyse passive des signatures navigateur (§4) :
API — GET /api/browsers :
Requête view_ai_features_1h pour :
- Compteurs globaux (total, sessions_with_h2, matched, mismatch %)
- Distribution h2_dict_family (Chrome/Firefox/Safari/Edge)
- Répartition des signaux WINDOW_UPDATE (chrome/firefox/safari/absent/autre)
- Mismatch TLS↔H2 par famille JA4 (total + count + %)
- Top 20 sessions suspectes (tls_h2_family_mismatch=1, triées par hits)
Page /browsers :
- 6 KPI header (sessions, avec H2, famille connue, taux match, mismatch, % mismatch)
- Doc banner expliquant browser_matcher §4 et le mode DUAL_MODE
- Donut : familles H2 (dict_browser_h2 lookup)
- Bar horizontal : WINDOW_UPDATE signals par famille
- Bar groupé + ligne : mismatch TLS↔H2 par famille JA4 (count + %)
- Table : top 20 imposteurs potentiels avec IP cliquable, pseudo-order, cohérence
- Mini-KPIs : ordres pseudo-headers Chrome/Safari, Firefox, inconnu, PRIORITY frames
- Lien nav 'Navigateurs' dans le groupe Surveillance de base.html
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>