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 :
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.
Avant de vous lancer, vous devez générer et sauvegarder :
Il y a 3 constituants à installer :
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).
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.
Destination | Windows | Unix/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.
Destination | Windows | Unix/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.
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 :
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.
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 |
2 | / | =
3 | # Déclaration des chemins et fichiers (extension à partir de root.dir) |
4 | etc/pidoc/jfx;770 | =
5 | var/pidoc/jfx/archives/$DB;770 | =
6 | var/log/pidoc/jfx;770 | =
7 | var/pidoc/jfx/tmp/$DB;770 | =
8 | opt/pidoc/jfx;750 | =
9 | opt/pidoc/bin;750 | =
10 | /usr/java/jdk8 | =
11 | # Chemin et fichier sans extension |
12 | /usr/bin/unzip | =
13 | /pidoc/snapshot/programs/pidoc-jfx-4.2.2-4.zip | =
14 | # Déclaration de la base de données |
15 | pidoc | =
16 | localhost | =
17 | 5432 | =
18 | pidoc | =
19 | 57HtMhX8Y8QLATNM29TSyw== | =
20 | # Déclaration du serveur de messagerie sortant |
21 | mail.plumo.com | =
22 | 465 | =
23 | SubmissionSSL | =
24 | admin | =
25 | zTTiZzcviHRH53/0wqIfKg== | =
26 | admin@plumo.com | =
27 | # lanceurs |
28 | /usr/bin/okular | =
29 | /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)