Manuel d'application pour applications JavaFX : génération d'un manuel utilisateur à partir de
documents Word/PowerPoint (bundle HTML + toc.json) et viewer JavaFX intégrable, personnalisable
en charte graphique.
| Module | Rôle |
|---|---|
| mgt-manuel-core | Bibliothèque (dépendance Maven) : moteur de conversion (Apache POI), génération du bundle, viewer JavaFX (HelpViewer), API de thème (ManuelTheme). |
| mgt-manuel-studio | Application JavaFX autonome de génération : import des documents, métadonnées, dossier de sortie, aperçu, thèmes. |
./build.sh # mvn -o install (offline)
./build.sh clean
./build.sh --online # premiere resolution des dependances si besoin
Prérequis : JDK 17 (SDKMAN), Maven. Le studio se lance par mvn -o javafx:run -pl mgt-manuel-studio
ou java -jar mgt-manuel-studio/target/mgt-manuel-studio-1.0.jar (fat-jar mono-plateforme).
<dependency>
<groupId>com.megatim.manuel</groupId>
<artifactId>mgt-manuel-core</artifactId>
<version>1.0</version>
</dependency>
<!-- JavaFX est en scope provided : l'application hote fournit ses propres modules
javafx-controls et javafx-web (version 17 ou superieure). -->
ManuelGenerator generator = new ManuelGenerator(); // theme par defaut
Path manuel = generator.generate(
Path.of("/opt/monapp/manuel"), // repertoire cible
List.of(Path.of("Manuel utilisateur.docx")), // sources ordonnees
"Mon Application", "1.0.0", "Manuel utilisateur",
System.out::println); // journal
Le répertoire cible est remplacé atomiquement (génération dans <cible>.tmp puis bascule) ;
les documents sources sont copiés dans <cible>/sources/ avec un manifeste sources.json.
HelpViewer viewer = new HelpViewer(Path.of("/opt/monapp/manuel"));
maFenetre.setCenter(viewer.build()); // Parent integrable partout
ManuelTheme theme = ManuelTheme.builder()
.accentColor("#ffe3d0") // boutons primaires / hover du viewer
.selectionColor("#ffd9c2") // selection du sommaire
.appTitle("Mon Application")
.logo(getClass().getResource("/images/logo.png"))
.htmlVar("html.h1", "#7a2e00") // couleurs des pages HTML generees
.extraViewerStylesheet(getClass().getResource("/styles/mon-viewer.css").toExternalForm())
.build();
new ManuelGenerator(theme).generate(...); // styles.css du bundle aux couleurs du theme
new HelpViewer(dossier, theme).build(); // viewer aux couleurs du theme
Le thème par défaut reproduit la charte Sirius-FT. Les styleClass du viewer
(help-viewer, button-primary, help-left-panel, help-status, ...) sont un contrat stable
pour les surcharges CSS.
.docx, .doc, .pptx, .ppt. Les titres Word (styles Heading/Titre 1-6) construisent le
sommaire ; les paragraphes de style « légende/caption » alimentent l'onglet Illustrations ;
les sections Résumé / Mots clés / Historique / Diffusion forment le Préambule.