edit | blame | history | raw

mgt-manuel-module

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.

Modules

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

./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).

Utiliser la lib dans une application JavaFX

<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). -->

Générer un manuel

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.

Afficher le manuel

HelpViewer viewer = new HelpViewer(Path.of("/opt/monapp/manuel"));
maFenetre.setCenter(viewer.build());   // Parent integrable partout

Personnaliser la charte

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.

Formats supportés

.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.