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.5.x 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 9.53 minimum
Version AGPL : https://www.ghostscript.com/download/gsdnld.html
ou
sudo -i apt install ghostscript
Installation manuelle (cas des OS obsolètes)
/* si besoin installer autoconf, automake et gcc */ cd /tmp git clone git://git.ghostscript.com/ghostpdl.git cd ghostpdl/ ./autogen.sh make make install
La conversion vers PDF/A nécessite l'incoporation des polices dans le PDF. Ceci peut poser des problèmes pour plusieurs raisons :
- La police n'est pas présente sur le système d'exploitation exécutant ghostscript.
- La police n'est pas libre de droits.
- Dans les deux cas précédent la police de substitution pourrait modifier la taille du document et donc bloquer la conversion.
Si la conversion n'est pas possible, le document sera signé dans son format d'origine. Cependant il est possible d'installer les polices manquantes pour que Ghostscript puisse tout de même faire la convertions. Le nouveau parametre path-to-fonts : /usr/share/fonts , précise l'emplacement où GS doit chercher les polices (le dossier du système contenant toutes les polices).
Voici deux méthodes (debian et centos) pour installer les polices Microsoft (les principales susceptibles d'être présentes dans les PDF) sur linux :
Debian :
wget http://ftp.br.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
#Dependence for dpkg
apt-get install cabextract
#Install fonts by dpkg
dpkg -i ttf-mscorefonts-installer_3.6_all.deb
CentOS :
yum install curl cabextract xorg-x11-font-utils fontconfig
yum install https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
ne pas oublier de modifier le chemin d'acces à ghostscript dans la configuration d'esup-signature dans application.yml : pdf: path-to-g-s
Vérification :
gs -v GPL Ghostscript 9.53.3 (2020-10-01) Copyright (C) 2020 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é.
GIT
ou
sudo -i apt install git
Vérification :
git version git version 2.20.1
La suite ici : PostgreSQL
SEDALIB
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 d'archives
Les sources sont disponibles ici : https://github.com/ProgrammeVitam/sedatools
Esup-signature est fournis avec un jar sedalib-2.5.0.jar.
Depuis la version 1.10 l'installation de sedalib est transparente