Générer un rapport

Cette page décrit le parcours complet depuis le projet ouvert jusqu'au PDF signé : montage des blocs dans le canvas, prévisualisation, génération du PDF, collecte automatique des snapshots et des simulations, et enregistrement dans l'historique. L'interface se veut proche de ce que l'on attend d'un outil de traitement de texte tout en restant ancrée sur les données du projet.

Les trois zones de l'éditeur

L'éditeur de rapport est structuré en trois zones qui couvrent ensemble la construction et la configuration du document. Cette disposition est stable quel que soit le template choisi.

Zone Rôle
Panneau gauche : bibliothèque Liste des blocs disponibles, recherche, filtrage par mode concis ou expert
Zone centrale : canvas Assemblage des blocs du rapport, barre d'outils, prévisualisation
Panneau droit : templates et info Liste des templates, minimap, compteurs (nombre de blocs, pages, licence minimale)

Le bouton Concis / Expert au-dessus de la bibliothèque filtre les blocs selon leur niveau : les blocs marqués expert sont masqués en mode concis pour simplifier la vue aux utilisateurs moins avertis.

Le parcours standard

Ouvrir Rapports > Charger un preset > Ajouter ou retirer des blocs > Aperçu > Générer PDF > Télécharger

Chaque étape peut être reprise indépendamment. Le canvas conserve son état entre les sessions, ce qui permet d'interrompre un montage et de le reprendre plus tard sans perte.

Barre d'outils du canvas

La barre d'outils qui surmonte le canvas rassemble les actions les plus fréquentes. Elle est divisée en groupes logiques.

Groupe Actions disponibles
Identification Nom du rapport, saisi directement dans le champ
Paramètres Langue du rapport (français ou anglais), preset
Template Sauvegarder, vider, exporter JSON, importer JSON
Action Aperçu, générer PDF

L'export JSON produit un fichier qui décrit la structure du rapport : liste des blocs, ordre, paramètres. Ce fichier peut être réimporté ultérieurement ou partagé avec d'autres utilisateurs pour reproduire la même structure. Il ne contient pas les données elles-mêmes, seulement le squelette.

Validation en temps réel

Une barre de validation sous la barre d'outils affiche les alertes générées automatiquement par l'analyse du rapport en cours. Les alertes couvrent quatre catégories.

Catégorie d'alerte Exemple
Complétude FAIH Le rapport ne contient aucun bloc de nature honnête ni de rigueur scientifique
Cohérence du contenu Un bloc nécessite une donnée absente du projet (par exemple CSIA non mesurée)
Licence Un bloc demande une licence supérieure à celle de l'utilisateur actif
Doublon Le même bloc est présent plusieurs fois dans le canvas
Les alertes n'empêchent pas la génération : elles signalent et laissent l'utilisateur juger. Une alerte sur l'absence de bloc honnête peut être acceptée sciemment dans un rapport de service court, mais elle doit être un choix conscient, pas un oubli.

Collecte automatique des contenus dérivés

Au moment de la génération, IsoFind enrichit automatiquement le payload envoyé au backend avec plusieurs éléments collectés dans l'environnement d'exécution. Cette collecte épargne à l'utilisateur d'avoir à exporter manuellement puis à réimporter ces contenus.

Contenu collecté Source Usage
Snapshots de carte Cartes sauvegardées dans le module Cartographie Bloc map_snapshot
Snapshots de coupe verticale Coupes sauvegardées dans le module Cartographie Bloc section_snapshot
Résultat de simulation sessionStorage isofind_sim_result Tous les blocs de catégorie simulation
Résultat de matching sessionStorage isofind_matching_result Blocs matching_results, matching_detail
Scénarios de comparaison Attributs data-scenario-ids des blocs scenario_comparison du canvas Bloc simulation_scenario_comparison

Cette logique d'injection est transparente pour l'utilisateur. Elle garantit qu'un bloc qui attend un résultat de simulation n'a pas besoin que l'utilisateur le recharge manuellement : s'il y a un résultat en session, il est automatiquement transmis au backend.

Aperçu et génération finale

Deux boutons coexistent dans la barre d'outils pour deux usages distincts.

Action Comportement Usage
Aperçu Génère un PDF temporaire non signé ouvert dans le navigateur Relecture itérative en cours de montage
Générer PDF Génère le PDF final signé et l'ajoute à l'historique Livrable à diffuser

L'aperçu est rapide, ne signe pas le document et ne l'ajoute pas à l'historique. Il sert exclusivement à vérifier visuellement le résultat avant l'étape finale. La génération complète, elle, produit un document immuable qui peut être partagé et dont l'intégrité peut être vérifiée ultérieurement.

Onglet historique des rapports

Chaque rapport généré est enregistré dans l'historique du projet, accessible via l'onglet Rapports générés. L'historique conserve le PDF final, les paramètres de génération, la date et l'auteur. Il permet de retrouver un rapport ancien, de le rouvrir, de le réutiliser comme base pour un nouveau ou de le supprimer.

La suppression d'un rapport de l'historique n'affecte pas les copies déjà diffusées. Un rapport transmis à un tiers reste vérifiable de son côté même si le rapport source est supprimé du projet. La signature cryptographique garantit cette vérifiabilité indépendante.

Langue du rapport

Le choix de la langue se fait dans la barre d'outils du canvas. Les deux langues disponibles sont le français et l'anglais. Tous les blocs standards sont traduits dans les deux langues ; les blocs personnalisés dépendent de leur implémentation, et le code Python peut lire la variable lang pour adapter ses sorties.

Le changement de langue recompose entièrement le rapport : libellés, dates, formats numériques, messages d'alerte. Il n'est pas possible de mélanger les deux langues dans un même rapport ; pour un livrable bilingue, la pratique standard est de générer deux rapports distincts.

Personnalisation du branding

L'onglet Personnalisation permet de configurer le nom de l'organisation et le logo qui apparaîtront dans l'en-tête et le pied de page du PDF. Ces éléments sont stockés via l'endpoint /api/reports/branding et appliqués à tous les rapports générés par le poste.

Un aperçu en temps réel dans la page de personnalisation montre comment l'en-tête apparaîtra dans le document final, ce qui évite les mauvaises surprises sur la taille du logo ou le rendu du nom d'organisation.

Import et export de templates

Deux icônes dans la barre d'outils permettent respectivement d'exporter la structure du rapport courant en JSON et d'importer un fichier JSON précédemment exporté. Ce mécanisme permet de partager une structure de rapport entre utilisateurs sans partager les données elles-mêmes.

Un template exporté peut également être adapté manuellement en éditant le fichier JSON : modification de l'ordre des blocs, ajout de paramètres spécifiques, etc. L'import valide la structure avant chargement et signale les blocs inconnus ou les options invalides.

Pour aller plus loin