Système d'information
Pour un fonctionnement optimal vous devez disposer au sein de votre système d'information :
- d'un serveur CAS et/ou IDP Shibboleth
- d'un LDAP
- d'un serveur smtp
Java
Version de java minimale : Java OpenJdk 13
Voir ici pour une installation simplifiée à l'aide d'adoptopenjdk : https://adoptopenjdk.net/installation.html#linux-pkg
Exemple sous debian :
sudo -i wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - apt install -y software-properties-common add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ apt update apt install adoptopenjdk-14-hotspot
Vérification :
java -version openjdk version "14.0.1" 2020-04-14 OpenJDK Runtime Environment AdoptOpenJDK (build 14.0.1+7) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 14.0.1+7, mixed mode, sharing)
Maven
maven > 3.1.0 voir : https://maven.apache.org/download.cgi
Exemple sous Debian
sudo -i mkdir /opt/tools cd /opt/tools wget http://apache.crihan.fr/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz tar -xvf apache-maven-3.6.3-bin.tar.gz ln -s /opt/tools/apache-maven-3.6.3 /opt/maven nano /etc/profile.d/maven.sh /* Coller export JAVA_HOME=/usr/lib/jvm/adoptopenjdk-14-hotspot-amd64/ export M2_HOME=/opt/maven export MAVEN_HOME=/opt/maven export PATH=${M2_HOME}/bin:${PATH} chmod +x /etc/profile.d/maven.sh source /etc/profile.d/maven.sh
Vérification :
mvn -version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /opt/maven Java version: 14.0.1, vendor: AdoptOpenJDK, runtime: /usr/lib/jvm/adoptopenjdk-14-hotspot-amd64 Default locale: fr_FR, platform encoding: UTF-8 OS name: "linux", version: "4.19.0-9-amd64", arch: "amd64", family: "unix"
Pour rendre la commande mvn opérante pour tous les profiles, il faut rebooter.
GhostScript
Version AGPL : https://www.ghostscript.com/download/gsdnld.html
ou
sudo -i apt install ghostscript
Vérification :
gs -version GPL Ghostscript 9.27 (2019-04-04) Copyright (C) 2018 Artifex Software, Inc. All rights reserved.
Ghostscript est principalement utilisé pour convertir les documents signés au format PDF/A (https://fr.wikipedia.org/wiki/PDF/A). Pour ce faire la commande gs utilise le fichier de définition PDFA_def.ps qui est fournis dans src/resources. Ce fichier de définition fait référence à un fichier srgb.icc (profil de couleur) lui aussi présent dans src/resources. Au moment du lancement, esup-signature contrôle l'emplacement "réel" du fichier srgb.icc est modifie la référence (uri) dans le fichier PDFA_def.ps. Cette procédure est normalement transparente. Mais lorsque vous rencontrez un problème lors du test de conversion, vous pouvez contrôler la ligne 8 du fichier PDFA_def.ps qui contient : /ICCProfile (/opt/esup-signature/src/etc/srgb.icc) % Customise, et vérifier si srgb.icc est bien présent à l'emplacement indiqué.
Certificat ANSSI
Pour récupérer la liste des des certificats français, DSS doit pouvoir ce connecter à l'adresse suivante : https://www.ssi.gouv.fr/uploads/2016/07/tl-fr.xml
Or le certificat présent sur ce serveur n'est pas présent dans le keystore d'OpenJdk. Vous obtenez alors cette ligne dans les logs :
Unable to process GET call for url [https://www.ssi.gouv.fr/eidas/TL-FR.xml]. Reason : [PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
Pour permettre à OpenJdk d'y accéder il faut suivre la procédure suivante : Ajout du certificat de l'ANSSI dans OpenJDK
Il est possible de faire de même pour les autres adresses qui tomberaient en erreur
GIT
ou
sudo -i apt install git
Vérification :
git version git version 2.20.1
La suite ici : PostgreSQL
Sedalib (facultatif)
Sedalib est une bibliothèque fournie dans le cadre du programme Vitam : http://www.programmevitam.fr/
Cette bibliothèque permet de générer des bordereaux SIP pour la transmission des documents à un service archives
Malheureusement cette bibliothèque n'est pas mise à disposition via un dépôt de type maven, il faut donc la compiler soit même et l'ajouter au dépôt local avant de pouvoir compiler esup-signature.
Les sources sont disponibles ici : https://github.com/ProgrammeVitam/sedatools
Afin de simplifier l'installation d'esup-signature, les librairies SEDA sont désactivées dans le code. Cette partie est donc facultative.
Installation de sedalib
Esup-signature est fournis avec un jar sedalib-2.X.X-SNAPSHOT.jar. Malgré cela il faut installer les module Sedatools pour pouvoir compiler le projet
Suivre la procédure d'installation de sedatools : https://github.com/ProgrammeVitam/sedatools
cd /tmp mkdir test-sedatools cd test-sedatools git clone https://github.com/ProgrammeVitam/java-libpst-origin.git cd java-libpst-origin/ git checkout master mvn clean install (L'erreur rencontrée lors de cette installation ne posent pas de problème pour la suite) cd .. git clone https://github.com/ProgrammeVitam/droid-origin.git cd droid-origin mvn clean install cd .. git clone https://github.com/ProgrammeVitam/sedatools.git cd sedatools/ mvn clean install
Ajout de sedalib dans le dépot maven
mvn install:install-file -Dfile=src/etc/sedalib-2.x.x.jar -DgroupId=fr.gouv.vitam -DartifactId=sedalib -Dversion=2.x.x