Guide d’utilisation de la GUI

La GUI effectue les tâches de protection de manière guidée, selon le processus suivant:

Type d’application → Temps d’exécution/Plateforme → Paramètres simples ou avancés → Confirmation de sortie → Exécuter

1. Type d’application

Options de la GUIEntréeSortieÉquivalent CLI
Java ApplicationJAR exécutable ordinaireDossier complet de l’applicationjavaapp
Spring BootApplication Spring BootDossier complet de l’applicationspringboot
Tomcat WARWARDossier Tomcat intégrétomcat
Library EncryptionN’importe quel JARArchivage P4JX uniqueencode

Un choix incorrect de type peut empêcher la classe principale, les dépendances, les ressources Web ou le lanceur d’être traités correctement.

Page du type d’application

2. Entrée, temps de exécution et plateforme cible

Une tâche guidée permet de sélectionner un JAR ou un WAR d’entrée. Ensuite, il faut choisir:

  • Bundled Java version: 8, 11, 17, 21 ou 25, avec une valeur par défaut de 21.
  • Target platforms: Il est possible de sélectionner plusieurs plateformes en même temps.
  • Mode: Mode simple ou mode avancé.

Lorsque plusieurs plateformes sont sélectionnées, l’outil génère un répertoire distinct pour chaque plateforme.

Page d’entrée, version Java et plateforme cible

3. Mode simple

Le mode simple convient à la grande majorité des tâches de packaging initiales. Lorsque l’on quitte la page d’entrée, l’outil effectue automatiquement une analyse de compatibilité et choisit en fonction des résultats:

  • Classes à exclure selon les recommandations;
  • Activation de JavaFX et WebView;
  • Activation de l’overlay ZIP du scanner;
  • Changement vers l’extension .jar ;
  • Layout recommandé pour Spring Boot;
  • Tomcat 9 ou 10.1.

Les résultats de scan sont des recommandations issues d’une analyse statique, et non des tests de fonctionnement complets. Des tests d’application doivent toujours être effectués sur la plateforme cible après le packaging.

4. Mode avancé

Le mode avancé permet de configurer manuellement l’extension des archives, de déterminer si JIT doit être désactivé, d’ajouter une couche scanner overlay, de définir des paramètres JVM, des règles d’exclusion ainsi que des options spécifiques pour chaque type d’application.

Pour des informations complètes sur les instructions d’utilisation, la signification des paramètres, les valeurs par défaut et les différences entre les types d’application, veuillez vous référer à Paramètres du mode avancé de Protector4J.

Paramètres avancés pour les applications Java standard

5. Règles d’exclusion

Les mêmes règles s’appliquent tant pour la GUI que pour la CLI:

com.example.SecretService   Nom de classe précis
com.example.service.*       Seulement le package actuel
com.example.service.**      Le package actuel et tous ses sous-pakets

Il est recommandé d’exclure les DTO, entités, controllers, classes de configuration, classes de pontage JNI ainsi que les classes nécessitant des améliorations au niveau du bytecode à l’exécution, afin de ne protéger que l’implémentation métier principale.

6. Confirmation de la sortie

La dernière page affiche:

  • Le type d’entrée et d’application;
  • La version Java et la plateforme cible;
  • État de JavaFX;
  • Format d’archivage, JIT, overlay et mise en page Spring;
  • Périmètre de protection, règles d’exclusion et contexte Tomcat.

Il est possible de sélectionner Create new folder pour créer un sous-dossier unique p4jx-xxxx dans le répertoire de sortie. Cette option ne peut pas être activée lors de l’ajout d’applications Tomcat, car il faut spécifier directement le répertoire des packages Tomcat existants.

Vérification de la confirmation et résumé des paramètres

7. Exportation et chargement des fichiers de tâche

Les pages de paramètres avancés et la page de confirmation finale peuvent être exportées:

  • p4j-encrypt-run.sh
  • p4j-encrypt-run.bat

Le script appelle la commande p4j déjà installée et enregistre les options actuellement analysées. L’adresse e-mail et le mot de passe du compte ne sont pas écrits dans le fichier.

En utilisant Load Task File en haut de la fenêtre, il est possible de recharger le script et de restaurer la tâche, avant d’accéder directement à la page de confirmation finale. Lorsque les anciens scripts ne contiennent pas de métadonnées de tâche, l’interface graphique tente d’analyser les commandes p4j qu’ils contiennent.