Skip to content
Francois389Public

About

JavaFX application for PlantUML

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PlantApp

PlantApp est une application desktop en Kotlin et JavaSpringFX pour écrire, prévisualiser et exporter des diagrammes PlantUML.

L'application propose deux onglets principaux :

  • un éditeur qui met à jour le diagramme en temps réel à partir du code PlantUML ;
  • un écran d'export qui permet de générer un fichier PNG en conservant la source PlantUML dans les métadonnées de l'image.

Fonctionnalités

  • édition de source PlantUML dans une interface JavaFX
  • rendu immédiat du diagramme à partir du texte saisi
  • détection du titre PlantUML pour nommer le fichier d'export
  • export PNG avec intégration de la source PlantUML dans un chunk tEXt
Screenshots

TODO

Installation

Les installeurs sont disponibles sur la page des releases GitHub. Ils embarquent leur propre environnement d'exécution Java : il n'y a rien d'autre à installer.

PlantApp n'est pas publié dans un gestionnaire de paquets (apt, winget, Homebrew...) : l'installation se fait en téléchargeant le fichier correspondant au système.

Windows

Détails de l'installation Windows
  1. Téléchargez le fichier PlantApp-<version>.msi depuis la dernière release.
  2. Lancez-le et suivez l'assistant.

L'installeur n'est pas signé : Windows peut afficher un avertissement SmartScreen. Cliquez sur Informations complémentaires, puis Exécuter quand même.

macOS

Détails de l'installation macOS
  1. Téléchargez le fichier PlantApp-<version>.dmg depuis la dernière release.
  2. Ouvrez-le et glissez PlantApp dans le dossier Applications.

L'application n'est ni signée ni notarisée : au premier lancement, macOS peut la bloquer. Faites un clic droit sur l'application, choisissez Ouvrir, puis confirme. Sinon, autorisez-la dans Réglages Système > Confidentialité et sécurité en cliquant sur Ouvrir quand même.

L'installeur est construit sur Apple Silicon (arm64) : il n'est pas garanti sur les Mac à processeur Intel.

Linux

L'installeur et le paquet Nix sont prévus pour l'architecture x86_64 (amd64).

Debian, Ubuntu et dérivés

Détails de l'installation Debian et dérivés
  1. Téléchargez le fichier plantapp_<version>_amd64.deb depuis la dernière release.
  2. Installez-le :
sudo apt install ./plantapp_*_amd64.deb

PlantApp apparaît ensuite dans le menu des applications, catégorie Développement.

Pour le désinstaller :

sudo apt remove plantapp

Nix et NixOS

Détails de l'installation Nix et NixOS

Le dépôt fournit un flake. Les flakes doivent être activés (experimental-features = nix-command flakes).

Sans installer (essai rapide)
nix run github:Francois389/PlantApp

Pour utiliser une version précise, ajoutez le tag de la release :

nix run github:Francois389/PlantApp/vX.Y.Z
Dans le profil utilisateur (hors configuration déclarative)
nix profile install github:Francois389/PlantApp
Sur NixOS avec Home Manager (recommandé)

Le paquet est installé pour l'utilisateur, via home.packages. Il y a trois fichiers à modifier.

1. flake.nix : déclarez l'input, récupérez-le dans outputs, puis passez-le à Home Manager avec extraSpecialArgs.

{
  inputs = {
    # ... nixpkgs, home-manager, etc.
    plantapp.url = "github:Francois389/PlantApp";
  };

  outputs = { self, nixpkgs, home-manager, plantapp, ... }: {
    nixosConfigurations.ma-machine = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ./configuration.nix
        home-manager.nixosModules.home-manager
        {
          home-manager = {
            useGlobalPkgs = true;
            useUserPackages = true;
            users.mon-utilisateur = import ./home.nix;
            extraSpecialArgs = {
              inherit plantapp;   # rend `plantapp` disponible dans home.nix
            };
          };
        }
      ];
    };
  };
}

2. home.nix : ajoutez plantapp aux arguments du module, puis le paquet dans home.packages.

{ config, pkgs, plantapp, ... }:

{
  home.packages = [
    plantapp.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}

Home Manager fusionne les listes : cette définition peut cohabiter avec une autre déclaration home.packages existante.

3. Appliquez la configuration :

sudo nixos-rebuild switch --flake .#ma-machine
Sur NixOS sans Home Manager (paquet système)

Pour installer PlantApp pour tous les utilisateurs, passez l'input aux modules NixOS avec specialArgs (et non extraSpecialArgs, qui ne concerne que Home Manager) :

# flake.nix
outputs = { self, nixpkgs, plantapp, ... }: {
  nixosConfigurations.ma-machine = nixpkgs.lib.nixosSystem {
    system = "x86_64-linux";
    specialArgs = { inherit plantapp; };
    modules = [ ./configuration.nix ];
  };
};
# configuration.nix
{ config, pkgs, plantapp, ... }:

{
  environment.systemPackages = [
    plantapp.packages.${pkgs.stdenv.hostPlatform.system}.default
  ];
}
Mettre à jour PlantApp

Le flake est verrouillé dans flake.lock. Pour récupérer la dernière version de PlantApp :

nix flake update plantapp

Puis relancez le nixos-rebuild switch.

Stack technique

  • Kotlin 2.4.0
  • Java 25
  • JavaSpringFX 0.2.1
  • JavaFX 26
  • PlantUML 1.2026.0

Lancer le projet

Depuis la racine du dépôt :

./gradlew run

L'application ouvre une fenêtre JavaFX intitulée Plant App avec deux onglets :

  • Editor pour saisir la source PlantUML et voir le rendu
  • Export pour choisir un nom de fichier et un dossier de destination.

Utilisation

1. Éditer un diagramme

Dans l'onglet Editor, saisissez un diagramme PlantUML, par exemple :

@startuml
title MonDiagramme
Alice -> Bob: Hello
Bob -> Alice: Hi!
@enduml

Le titre est lu depuis la ligne title et utilisé comme nom de fichier proposé lors de l'export.

2. Exporter le diagramme

Dans l'onglet Export :

  1. renseignez le nom du fichier
  2. choisissez le dossier de destination
  3. cliquez sur Exporter.

Le bouton Detecter recopie automatiquement le titre détecté depuis la source du diagramme courant.

L'export produit un fichier PNG nommé <nom du fichier>.png.

Licence

PlantApp est distribué sous licence GNU GPL v3 (GPL-3.0-only).

About

JavaFX application for PlantUML

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages