From d3bbc9c7188067ffed99f19c91fd87bee4279526 Mon Sep 17 00:00:00 2001 From: streaper2 Date: Sun, 18 Jan 2026 15:31:28 +0100 Subject: [PATCH] ajout des commentaire entete de fichier --- CLAUDE.md | 23 +++++++++++++++++++ lib/features/analysis/analysis_provider.dart | 7 ++++++ lib/features/analysis/analysis_screen.dart | 7 ++++++ .../analysis/widgets/grouping_stats.dart | 6 +++++ lib/features/analysis/widgets/score_card.dart | 6 +++++ .../analysis/widgets/target_calibration.dart | 7 ++++++ .../analysis/widgets/target_overlay.dart | 7 ++++++ lib/features/capture/capture_screen.dart | 7 ++++++ .../capture/widgets/image_source_button.dart | 6 +++++ .../capture/widgets/target_type_selector.dart | 6 +++++ lib/features/history/history_screen.dart | 7 ++++++ .../history/session_detail_screen.dart | 7 ++++++ .../history/widgets/history_chart.dart | 6 +++++ .../history/widgets/session_list_item.dart | 6 +++++ lib/features/home/home_screen.dart | 6 +++++ lib/features/home/widgets/stats_card.dart | 6 +++++ .../statistics/statistics_screen.dart | 7 ++++++ .../statistics/widgets/heat_map_widget.dart | 7 ++++++ 18 files changed, 134 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 02dde84..17f1ee1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -97,3 +97,26 @@ Standard Flutter project structure: - Platform directories: `android/`, `ios/`, `linux/`, `macos/`, `web/`, `windows/` The app uses `flutter_lints` for static analysis (configured in `analysis_options.yaml`). + + +# description des pages + +En-têtes ajoutés +Fichier En-tête +home_screen.dart Écran d'accueil - Dashboard principal avec stats et navigation +stats_card.dart Widget carte réutilisable pour afficher une statistique +capture_screen.dart Écran de capture - Sélection type cible et source image +target_type_selector.dart Sélecteur de type de cible (concentrique/silhouette) +image_source_button.dart Bouton pour choisir caméra ou galerie +analysis_screen.dart Écran principal d'analyse avec overlay et scores +analysis_provider.dart Gestionnaire d'état (ChangeNotifier) pour l'analyse +target_overlay.dart Overlay visuel avec anneaux, impacts et groupement +target_calibration.dart Outil de calibration du centre, rayon et anneaux +score_card.dart Carte d'affichage des scores et distribution +grouping_stats.dart Statistiques de groupement avec indicateur qualité +history_screen.dart Écran historique avec liste et graphique d'évolution +session_detail_screen.dart Détail d'une session avec visualisation complète +session_list_item.dart Item de liste représentant une session +history_chart.dart Graphique d'évolution des 10 dernières sessions +statistics_screen.dart Écran statistiques avec filtrage par période +heat_map_widget.dart Heat map avec gradient bleu→rouge diff --git a/lib/features/analysis/analysis_provider.dart b/lib/features/analysis/analysis_provider.dart index a1646bb..5c9f11e 100644 --- a/lib/features/analysis/analysis_provider.dart +++ b/lib/features/analysis/analysis_provider.dart @@ -1,3 +1,10 @@ +/// Gestionnaire d'état pour l'analyse des cibles (ChangeNotifier). +/// +/// Gère le workflow complet d'analyse : chargement d'image, détection de cible, +/// gestion des impacts (manuels et automatiques), calcul des scores, +/// analyse de groupement et sauvegarde des sessions. +library; + import 'dart:io'; import 'dart:ui' as ui; import 'package:flutter/foundation.dart'; diff --git a/lib/features/analysis/analysis_screen.dart b/lib/features/analysis/analysis_screen.dart index 7473ab6..88581c4 100644 --- a/lib/features/analysis/analysis_screen.dart +++ b/lib/features/analysis/analysis_screen.dart @@ -1,3 +1,10 @@ +/// Écran principal d'analyse - Interface centrale de traitement des cibles. +/// +/// Affiche la cible avec overlay des anneaux et impacts détectés. +/// Permet la calibration, l'ajout manuel d'impacts, la détection automatique, +/// et le calcul des scores et statistiques de groupement. +library; + import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; diff --git a/lib/features/analysis/widgets/grouping_stats.dart b/lib/features/analysis/widgets/grouping_stats.dart index bf7d533..96889e2 100644 --- a/lib/features/analysis/widgets/grouping_stats.dart +++ b/lib/features/analysis/widgets/grouping_stats.dart @@ -1,3 +1,9 @@ +/// Statistiques de groupement des impacts. +/// +/// Affiche le diamètre de groupement, l'écart-type et le décalage par rapport +/// au centre de la cible. Inclut un indicateur de qualité (Excellent, Bon, Moyen, Faible). +library; + import 'package:flutter/material.dart'; import '../../../core/constants/app_constants.dart'; import '../../../core/theme/app_theme.dart'; diff --git a/lib/features/analysis/widgets/score_card.dart b/lib/features/analysis/widgets/score_card.dart index 9854e0a..267557c 100644 --- a/lib/features/analysis/widgets/score_card.dart +++ b/lib/features/analysis/widgets/score_card.dart @@ -1,3 +1,9 @@ +/// Carte d'affichage des scores. +/// +/// Affiche le score total, le nombre d'impacts, la moyenne et le pourcentage. +/// Inclut la distribution des scores par valeur (1-10 pour cibles concentriques). +library; + import 'package:flutter/material.dart'; import '../../../core/constants/app_constants.dart'; import '../../../core/theme/app_theme.dart'; diff --git a/lib/features/analysis/widgets/target_calibration.dart b/lib/features/analysis/widgets/target_calibration.dart index 19e9fa3..85f357f 100644 --- a/lib/features/analysis/widgets/target_calibration.dart +++ b/lib/features/analysis/widgets/target_calibration.dart @@ -1,3 +1,10 @@ +/// Outil de calibration de la cible. +/// +/// Permet l'ajustement interactif du centre, du rayon global et du nombre d'anneaux. +/// Supporte la calibration individuelle de chaque anneau et le redimensionnement +/// proportionnel via un slider global. +library; + import 'dart:math' as math; import 'package:flutter/material.dart'; import '../../../core/theme/app_theme.dart'; diff --git a/lib/features/analysis/widgets/target_overlay.dart b/lib/features/analysis/widgets/target_overlay.dart index 061aa44..a185d8b 100644 --- a/lib/features/analysis/widgets/target_overlay.dart +++ b/lib/features/analysis/widgets/target_overlay.dart @@ -1,3 +1,10 @@ +/// Overlay visuel de la cible. +/// +/// Dessine les anneaux de la cible, les impacts détectés, le cercle de groupement +/// et les impacts de référence. Gère les interactions tactiles pour l'ajout +/// d'impacts et la sélection d'impacts existants. +library; + import 'package:flutter/material.dart'; import '../../../core/theme/app_theme.dart'; import '../../../data/models/shot.dart'; diff --git a/lib/features/capture/capture_screen.dart b/lib/features/capture/capture_screen.dart index 98f2b96..c688f91 100644 --- a/lib/features/capture/capture_screen.dart +++ b/lib/features/capture/capture_screen.dart @@ -1,3 +1,10 @@ +/// Écran de capture - Première étape du workflow d'analyse. +/// +/// Permet de sélectionner le type de cible (concentrique ou silhouette) +/// et la source d'image (caméra ou galerie). Affiche un aperçu de l'image +/// sélectionnée avant de lancer l'analyse. +library; + import 'dart:io'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; diff --git a/lib/features/capture/widgets/image_source_button.dart b/lib/features/capture/widgets/image_source_button.dart index c99e313..3637724 100644 --- a/lib/features/capture/widgets/image_source_button.dart +++ b/lib/features/capture/widgets/image_source_button.dart @@ -1,3 +1,9 @@ +/// Bouton de sélection de source d'image. +/// +/// Bouton réutilisable pour choisir entre la caméra et la galerie +/// comme source d'image de la cible. +library; + import 'package:flutter/material.dart'; import '../../../core/constants/app_constants.dart'; import '../../../core/theme/app_theme.dart'; diff --git a/lib/features/capture/widgets/target_type_selector.dart b/lib/features/capture/widgets/target_type_selector.dart index 3e22c6f..7297133 100644 --- a/lib/features/capture/widgets/target_type_selector.dart +++ b/lib/features/capture/widgets/target_type_selector.dart @@ -1,3 +1,9 @@ +/// Sélecteur de type de cible. +/// +/// Affiche les options de type de cible (concentrique ou silhouette) +/// sous forme de boutons sélectionnables. +library; + import 'package:flutter/material.dart'; import '../../../core/constants/app_constants.dart'; import '../../../core/theme/app_theme.dart'; diff --git a/lib/features/history/history_screen.dart b/lib/features/history/history_screen.dart index 09fb329..2c2770e 100644 --- a/lib/features/history/history_screen.dart +++ b/lib/features/history/history_screen.dart @@ -1,3 +1,10 @@ +/// Écran d'historique des sessions. +/// +/// Affiche la liste des sessions passées avec filtrage par type de cible. +/// Inclut un graphique d'évolution des scores (10 dernières sessions) +/// et permet la navigation vers le détail de chaque session. +library; + import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:intl/intl.dart'; diff --git a/lib/features/history/session_detail_screen.dart b/lib/features/history/session_detail_screen.dart index a68743a..9e8fb6b 100644 --- a/lib/features/history/session_detail_screen.dart +++ b/lib/features/history/session_detail_screen.dart @@ -1,3 +1,10 @@ +/// Écran de détail d'une session. +/// +/// Affiche la visualisation complète d'une session sauvegardée : +/// image de la cible avec overlay des impacts, scores recalculés, +/// statistiques de groupement et lien vers les statistiques détaillées. +library; + import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; diff --git a/lib/features/history/widgets/history_chart.dart b/lib/features/history/widgets/history_chart.dart index c0debe8..9c6b182 100644 --- a/lib/features/history/widgets/history_chart.dart +++ b/lib/features/history/widgets/history_chart.dart @@ -1,3 +1,9 @@ +/// Graphique d'évolution des scores. +/// +/// Affiche un graphique linéaire montrant l'évolution des scores +/// sur les 10 dernières sessions. Utilise fl_chart pour le rendu. +library; + import 'package:flutter/material.dart'; import 'package:fl_chart/fl_chart.dart'; import 'package:intl/intl.dart'; diff --git a/lib/features/history/widgets/session_list_item.dart b/lib/features/history/widgets/session_list_item.dart index d2319b1..4d543bd 100644 --- a/lib/features/history/widgets/session_list_item.dart +++ b/lib/features/history/widgets/session_list_item.dart @@ -1,3 +1,9 @@ +/// Item de liste représentant une session. +/// +/// Affiche les informations clés d'une session (date, type de cible, +/// score, nombre de tirs) avec miniature de l'image et actions de suppression. +library; + import 'dart:io'; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; diff --git a/lib/features/home/home_screen.dart b/lib/features/home/home_screen.dart index 6f14bdb..2753640 100644 --- a/lib/features/home/home_screen.dart +++ b/lib/features/home/home_screen.dart @@ -1,3 +1,9 @@ +/// Écran d'accueil - Dashboard principal de l'application. +/// +/// Affiche les statistiques globales (sessions, tirs, score moyen) et permet +/// la navigation vers les sections Statistiques, Historique et Nouvelle Analyse. +library; + import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../core/constants/app_constants.dart'; diff --git a/lib/features/home/widgets/stats_card.dart b/lib/features/home/widgets/stats_card.dart index 38034f2..1dade94 100644 --- a/lib/features/home/widgets/stats_card.dart +++ b/lib/features/home/widgets/stats_card.dart @@ -1,3 +1,9 @@ +/// Widget carte réutilisable pour afficher une statistique. +/// +/// Affiche une icône, un titre et une valeur avec une couleur personnalisable. +/// Utilisé sur l'écran d'accueil pour les statistiques rapides. +library; + import 'package:flutter/material.dart'; import '../../../core/constants/app_constants.dart'; diff --git a/lib/features/statistics/statistics_screen.dart b/lib/features/statistics/statistics_screen.dart index ebe6730..f020461 100644 --- a/lib/features/statistics/statistics_screen.dart +++ b/lib/features/statistics/statistics_screen.dart @@ -1,3 +1,10 @@ +/// Écran des statistiques détaillées. +/// +/// Affiche les métriques de performance avec filtrage par période +/// (session, semaine, mois, tout). Inclut heat map, précision, +/// écart-type et distribution régionale des tirs. +library; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; diff --git a/lib/features/statistics/widgets/heat_map_widget.dart b/lib/features/statistics/widgets/heat_map_widget.dart index 1c98b8d..ec54940 100644 --- a/lib/features/statistics/widgets/heat_map_widget.dart +++ b/lib/features/statistics/widgets/heat_map_widget.dart @@ -1,3 +1,10 @@ +/// Widget de visualisation heat map. +/// +/// Affiche une carte de chaleur (brouillard) de la distribution des tirs +/// avec gradient bleu (froid/peu de tirs) à rouge (chaud/beaucoup de tirs). +/// Utilise un effet de brouillard radial pour un rendu fluide. +library; + import 'dart:math' as math; import 'dart:ui' as ui; import 'package:flutter/material.dart';