HTML Generator ============== Le module ``GenererRapportHTML`` est responsable de la transformation des données brutes de la base de données en un rapport HTML interactif et un résumé pour l'e-mail. Fonctionnalités --------------- - **Génération via Templates** : Utilise des templates Jinja2 (``ReportTemplate.html`` pour le rapport complet, ``SimpleReportTemplate.html`` pour le résumé) pour générer le HTML. - **Extraction de Données** : Se connecte à la base de données pour extraire l'ensemble des résultats d'une exécution via une requête SQL. - **Agrégation et Statistiques** : Calcule de nombreuses statistiques après l'extraction des données : - Statistiques globales (nombre d'URLs, succès des comparaisons, etc.). - Regroupement des URLs par statut (succès, différence, erreur). - Répartition par type de lieu et par code de réponse HTTP. - **Traitement des Données** : Nettoie et formate les données pour l'affichage, notamment en parsant les chaînes d'erreurs pour les rendre plus lisibles. - **Filtre Personnalisé** : Inclut un filtre Jinja2 personnalisé, ``tojson``, pour encoder les données complexes (comme des objets JSON) en base64, permettant de les intégrer de manière sûre dans le HTML pour des visualisations interactives. .. admonition:: Usage La fonction ``generer_rapport_html`` est appelée par le :doc:`ReportManager `, qui lui fournit le chemin vers la base de données. Elle retourne le contenu HTML du résumé et le chemin vers le fichier du rapport complet sauvegardé. Modules ------- .. automodule:: src.smart_watch.reporting.GenererRapportHTML :members: :undoc-members: :private-members: :special-members: __init__ :show-inheritance: