Portail / Client JavaFX / Installation et configuration(Sommaire)

Installation.

Dernière mise à jour le 16/04/2021

L'installation est l'opération qui consiste à copier l'ensemble des fichiers nécessaires au fonctionnement d'une application. Ces fichiers peuvent être regroupés en 3 grandes familles :

  1. les exécutables ;
  2. les fichiers de configuration ;
  3. Les fichiers de données.

Dans notre cas une partie des exécutable échappe à ce processus puisqu'il s'agit de l'installation de la plate-forme Java. Il y a 3 fichiers de configuration qui peuvent être modifiés par l'application. Enfin, il n'y a aucun fichier de données puisque les données sont intégralement gérées par une base de données.

Il n'y a pas encore à ce jour d'installeur automatique. La procédure est encore manuelle ou s'appuie sur un jeu de scripts.

Grandes étapes d'installation.

Avant de vous lancer, vous devez générer et sauvegarder :

Il y a 3 constituants à installer :

  1. La base de données postgreSQL en version 12 minimum sur une machien serveur ;
  2. Le Java Runtime Engine (JRE) en version 1.8 sur chaque machine cliente ;
  3. L'application piDOC JFX également sur chaque machine cliente.

Nous ne décrirons ici que la dernière des 3 installations. En outre, nous recommandons de disposer sur une machine dédiée à l'administration le logiciel pgAdmin4 (c'est lui-même un serveur web).

Arborescence recommandée sur chaque machine cliente.

L'application autorise une configuration extrêmement souple. Néanmoins, si vous souhaitez faire évoluer l'application ou installer d'autres applications PiApplications, nous vous recommandons de respecter l'arborescence décrite plus bas.

Les systèmes d'exploitation diffèrent grandement dans leur convention de localisation des fichiers en fonction de leur finalité. Si sous les UNIX et Linux c'est globalement bien cadré et respecté, à l'inverse sous Windows c'est la pagaille : base de registres, répertoire "Windows", répertoires "Program Files" répertoire, "Application data", "Program data", etc. Le client JFX a besoin de connaitre les répertoires listés dans le tableau qui suit. Pour permettre la création de nombreux référentiel, on donne à certains fichiers ou sous-répertoires le nom du schéma de base de données. Ce nom de base de données est identifié dans le tableau ci-dessous par la variable symbolique DB. La variable symbolique %DRIVE% identifie le lecteur Windows. Cela permet alors d'utiliser la même arborescence pour l'emploi de fonds documentaires différents.

DestinationWindowsUnix/Linux
Configuration%DRIVE%:\piapplications\etc\pidoc\jfx/etc/pidoc/jfx
Journal%DRIVE%:\piapplications\var\log\pidoc\jfx/var/log/pidoc/jfx
Archives%DRIVE%:\piapplications\var\pidoc\jfx\archives\%DB%/var/pidoc/jfx/archives/$DB
Cache%DRIVE%:\piapplications\var\pidoc\jfx\tmp\%DB%/var/pidoc/jfx/tmp/$DB
Exécutables%DRIVE%:\piapplications\opt\pidoc\jfx/opt/pidoc/jfx
Script de lancement%DRIVE%:\piapplications\opt\pidoc\bin\run-jfx-%DB%.cmd/opt/pidoc/bin/run-jfx-$DB.sh

La configuration comporte 3 fichiers. Leur nom recommandés est indiqué ci-dessous.

DestinationWindowsUnix/Linux
Configuration principale%DRIVE%:\piapplications\etc\pidoc\jfx\%DB%.conf/etc/pidoc/jfx/$DB.conf
Descripteurs des lanceurs%DRIVE%:\piapplications\etc\pidoc\jfx\launchers.%DB%.conf/etc/pidoc/jfx/launchers.$DB.conf
Données volatiles%DRIVE%:\piapplications\etc\pidoc\jfx\volatiles.%DB%.conf/etc/pidoc/jfx/volatiles.$DB.conf

Notez que les comptes système qui utilisent l'application doivent avoir un accès en lecture et en écriture sur chacun de ces fichiers.

Installation sur plate-forme Linux et Windows.

Nous disposons d'un programme console d'installation pour plate-forme Linux (testé sur distribution Debian 10) et windows (testé sous Windows 10) qui crée ces arborescences. La librairie du programme est nommée pidoc-jfx-install.jar. Le programme offre plusieurs fonctions et admet donc plusieurs types de paramètres :

  1. -pwd={mot de passe base de données ou SMTP à chiffrer} ;
  2. -sha={mot de passe du compte piDOC à créer en base de données} ;
  3. -ins={nom du fichier de description du référentiel documentaire}.
  4. -iky : création d'une clef de chiffrement encodée à tocker directement dans t_config.c_string(ApplicationKey). Cette opération est à faire immédiatement après avoir restauré la base vierge.
  5. -cky={encodage Base64}. Cette fonction peut être utilisée pour encoder une clef 256 bits (64 octets) exprimée sous forme hexadécimale telle que celle stockée dans t_config.c_string(ApplicationKey).
  6. -dky={décodage Base64}. Cette fonction peut être utilisée pour décoder une clef 256 bits (64 octets) exprimée sous forme hexadécimale telle que celle stockée dans t_config.c_string(ApplicationKey).

La priorité de prise en compte d'un paramètre (en cas de paramètres multiples) est effectué dans l'ordre ci-dessus. Seul le paramètre -iky n'a pas d'argument.

Fonction d'installation.

Concernant l'installation (paramètre -ins), notez que lorsque les répertoires existent, il ne sont pas recréés ni leur contenu modifié. De même, lorsque les fichiers de configuration ou le script de lancement existe, ils ne sont pas modifiés. Sous Linux, seuls les droits sont systématiquement réappliqués.

Ce programme et l'arborescence proposée ont été conçu pour permettre la connexion du client JFX à des instances de référentiels documentaires différentes. Chaque instance dispose de son propre journal sur le répertoire /var/log. Le nom du journal est celui du schéma de données suivi de l'extension (.log). En fin d'exécution le programme d'installation crée sur le répertoire /opt/pidoc/binun script de lancement nommé run-{nom du schéma de données}.[sh|cmd](l'extension dépend du système d'exploitation).

Sous Linux, le programme d'installation (uniquement pour paramètre -ins) doit obligatoirement être lancé avec les droits du compte root. La sécurité sous Linux est également renforcée. Pour cela, si le "groupe" pidoc n'existe pas, il est créé. Les droits sont affectés de telle sorte que tout compte système associé à ce groupe peut utiliser l'application.

L'affectation du groupe pidoc à un compte du système n'est pas réalisé par le programme d'installation.

Pour disposer de ce programme, veuillez vous mettre en contact avec son auteur. Voici un exemple de fichier de description d'un référentiel documentaire :

1# Répertoire racine de l'installation des applications PiApplications
2root.dir=/
3# Déclaration des chemins et fichiers (extension à partir de root.dir)
4conf.dir=etc/pidoc/jfx;770
5archives.dir=var/pidoc/jfx/archives/$DB;770
6log.dir=var/log/pidoc/jfx;770
7cache.dir=var/pidoc/jfx/tmp/$DB;770
8jar.dir=opt/pidoc/jfx;750
9exe.dir=opt/pidoc/bin;750
10java.dir=/usr/java/jdk8
11# Chemin et fichier sans extension
12unzip.file=/usr/bin/unzip
13archive.file=/pidoc/snapshot/programs/pidoc-jfx-4.2.2-4.zip
14# Déclaration de la base de données
15schema.db=pidoc
16host.db=localhost
17port.db=5432
18account.db=pidoc
19password.db=57HtMhX8Y8QLATNM29TSyw==
20# Déclaration du serveur de messagerie sortant
21host.smtp=mail.plumo.com
22port.smtp=465
23transport.smtp=SubmissionSSL
24account.smtp=admin
25password.smtp=zTTiZzcviHRH53/0wqIfKg==
26email.from=admin@plumo.com
27# lanceurs
28launcher.pdf=/usr/bin/okular
29launcher.txt=/usr/bin/kate

Notez l'emploi de la variable $DB dans les répertoires sujets à extension. Cette variable représente le nom du schéma de la base de données. Ce dernier lui sera substitué lors de l'extension du chemin.

Rédaction par Jean-Marie Piatte (1983-2021)