Picarones / docs /reference /views.md
Claude
docs(sprint-H.9): archive migration plans + cleanup stale doc paths
2b782d0 unverified

Vues HTML du rapport — chantier 3 post-Sprint 97

Le rapport HTML Picarones est composé de 5 vues principales historiques (navigables via la nav top) et de 3 nouvelles vues thématiques (chantier 3) qui s'affichent comme cartes dans la vue analyses.

Toutes les vues sont adaptive : une vue/section ne s'affiche que si elle a du signal à montrer (au moins une sous-section avec données exploitables).

Vues historiques (navigation principale)

Vue Template Contenu
ranking view_ranking.html Classement moteurs (CER/WER médian/moyen, stratifié)
gallery view_gallery.html Galerie d'images du corpus
document view_document.html Vue détaillée par document (diff GT vs hyp)
analyses view_analyses.html Tableau de bord analytique (graphes Chart.js)
characters view_characters.html Analyse caractère par caractère (confusion)

Sous-sections de view_analyses.html

Cette vue agrège tous les renderers spécialisés sous forme de cartes pleine largeur, avec un patron commun :

{% if some_html %}
<div class="chart-card" style="grid-column:1/-1">
  {{ some_html }}
</div>
{% endif %}

Si some_html est "" (adaptive masking parce qu'aucune donnée), la carte n'apparaît pas.

Sous-sections historiques (Sprints 5+10+39+42+55-60+86+87+89)

Bloc Origine Données nécessaires
Distribution CER Sprint 2 toujours
Radar profil moteur Sprint 2 ≥ 1 moteur
CER par document Sprint 2 toujours
Temps d'exécution Sprint 2 durations propagées
Qualité image ↔ CER Sprint 5 aggregated_image_quality
Taxonomie Sprint 5 aggregated_taxonomy
Courbes de fiabilité Sprint 7 aggregated_calibration
NER (P/R/F1) Sprint 41 aggregated_ner (opt-in spaCy)
Calibration ECE/MCE Sprint 43 aggregated_calibration
Stratification Sprint 46 script_type par doc
Profil philologique Sprint 62 aggregated_philological
Recherchabilité fuzzy Sprint 86 aggregated_searchability
Séquences numériques Sprint 86 aggregated_numerical_sequences
Lisibilité (Δ Flesch) Sprint 87 aggregated_readability
Spécialisation inter-moteurs Sprint 89 ≥ 2 moteurs avec taxonomie
Analyse inter-moteurs Sprint 37 ≥ 2 moteurs
Matrice de corrélation Sprint 7 toujours

Sous-sections du chantier 3 (post-Sprint 97)

3 nouvelles vues thématiques composables qui regroupent les 16 renderers orphelins identifiés dans l'audit initial :

Vue « Coût et performance » (build_economics_view_html)

Module : picarones/reports/html/views/economics.py. Activée si :

  • engine_reports fournis avec durations non nulles.
  • (Optionnel) extra_html_blocks pour cost projection / marginal cost.

Sous-sections :

  • Throughput effectif : pages/h utilisable (intégrant 5 s/erreur HTR-United), depuis picarones.domain.throughput.

Vue « Taxonomie avancée » (build_advanced_taxonomy_view_html)

Module : picarones/reports/html/views/advanced_taxonomy.py. Activée si ≥ 2 moteurs ont une aggregated_taxonomy.

Sous-sections :

  • Comparaison miroir : leader CER vs runner-up, diagramme miroir par classe d'erreur, tableau de récupérabilité éditoriale.
  • Co-occurrence de classes (opt-in) : heatmap Jaccard inter-classes.
  • Distribution intra-document (opt-in) : heatmap classe × position.
  • Modernisation lexicale (opt-in) : top tokens GT modernisés.

Vue « Diagnostic approfondi » (build_diagnostics_view_html)

Module : picarones/reports/html/views/diagnostics.py. Activée si detect_levers() produit au moins un levier (typique sur un bench standard) ou si données opt-in fournies.

Sous-sections :

  • Leviers d'amélioration : factuels (jamais prescriptifs), depuis picarones.domain.levers.
  • Comparaison historique (opt-in) : encart « ce corpus est-il habituel ? ».
  • Profil d'image du corpus (opt-in) : complexité paléographique + homogénéité.
  • Évolution longitudinale (opt-in) : table par moteur sur historique.
  • Stabilité multi-runs (opt-in) : variance entre runs successifs.
  • Lignes les pires (opt-in) : top 20 lignes avec le pire CER.

Vues spécifiques (rapport autonome)

Deux vues du chantier 3 ne s'intègrent pas au rapport classique mais servent à composer des rapports autonomes :

Vue « Pipeline composée » (build_pipeline_view_html)

Module : picarones/reports/html/views/pipeline.py.

Utilisée par picarones pipeline run (ou par tout outil qui consomme un PipelineBenchmarkResult). Sous-sections :

  • Résumé pipeline (build_pipeline_summary_html + build_pipeline_steps_table_html).
  • DAG visuel (pipeline_dag_render.py Sprint 95) — opt-in.
  • Absorption d'erreur par jonction (error_absorption_render.py Sprint 94) — opt-in.
  • Comparaison incrémentale par slot (incremental_comparison_render.py Sprint 96) — opt-in.
  • Audit des modules contribués (module_audit_render.py Sprint 97) — opt-in.

Vue « Robustesse projetée » (build_robustness_view_html)

Module : picarones/reports/html/views/robustness.py.

Utilisée par le workflow picarones robustness. Sous-sections :

  • Déficit projeté de robustesse (robustness_projection_render.py Sprint 88).

Convention de rendu partagée

Toutes les 5 vues du chantier 3 utilisent le même shell _render_view_shell() défini dans economics.py :

  • Titre <h3> + note explicative en tête.
  • Une <details> collapsible par sous-renderer.
  • Premier <details> ouvert, les autres fermés (réduit le scroll initial).
  • Anti-injection HTML systématique via xml.sax.saxutils.escape.

Code source