Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Sommaire

Récupération des sources

Lorsque tous les Prérequis sont installés et PostgreSQL configuré, vous pouvez récupérer les sources.

Info

A partir de cette étape vous n’êtes plus en root,  ici l'utilisateur courant est "esup" :


Bloc de code
languagebash
themeRDark
cd /opt/
sudo mkdir esup-signature
sudo chown esup:esup esup-signature/ -R
git clone https://github.com/EsupPortail/esup-signature.git
cd esup-signature

Configuration

logback.xml

Attention l'emplacement du fichier de log doit exister et être accessible au compte qui exécute esup-signature. Par défaut le chemin est relatif

Bloc de code
languagexml
themeRDark
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>logs/esup-signature.log</file>
        <append>true</append>
        <immediateFlush>true</immediateFlush>
        <encoder>
            <pattern>[%-5level] %date{dd/MM/yyyy HH:mm:ss} %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

application.yml

La configuration d' esup-signature se fait au travers du fichier src/main/ressource/application.yml

Pour commenter une ligne il faut ajoute un # devant.

global

Dans la plupart des cas il s'agit ici de modifier root-url par l'adresse de votre esup-signature (pour des tests en local, il est possible d'utiliser http://localhost:8080 par exemple)

Bloc de code
languageyml
themeRDark
    root-url: https://esup-signature.univ-ville.fr
    nexu-url: http://localhost:9795
    nexu-version: 1.23-SNAPSHOT
    nexu-download-url: /downloads/nexu-bundle-${nexuVersion}.zip	
    hide-wizard: false												# Désactiver le bouton "Assistant de création de demande"
    hide-auto-sign: false											# Désactiver le bouton "Auto siganture"
    hide-send-sign-request: false									# Désactiver le bouton "Demander une signature"

tomcat

Ce paramètre permet de spécifier le port ajp dans le cas ou l'application est démarrée directement (en utilisant mvn springboot:run par exemple)  Par défaut ces lignes sont commentées, c'est cas lorsque l'application est démarrée par un serveur Tomcat.  

Bloc de code
languageyml
themeRDark
#tomcat:
#    ajp:
#        port: 6009

server

Paramètre du serveur lors d'un lancement hors tomcat

Bloc de code
languageyml
themeRDark
server:
    error:
        include-stacktrace: always
    port: 8080

spring

datasource

Configuration de la base de donnée :

Bloc de code
languageyml
themeRDark
    datasource:
        driver-class-name: org.postgresql.Driver
        hikari:
            auto-commit: false
        password: esup
        url: jdbc:postgresql://localhost:5432/esupsignature
        username: esupsignature

jpa

Il faut prêter une attention particulière au paramètre ddl-auto. Mode "update" permet la création et la mise à jour de la base de donnée lors du démarrage de l'application ou des tests. Ce mode peut éventuellement être utilisé lors des mises à jour de l'application. Le reste du temps (en production par exemple) ce paramètre peut être positionné sur "validate" qui ne fera qu’exécuter un contrôle de la base de données. 


Avertissement

Attention au mode "create" qui lui détruit et re-crée la base complète


Bloc de code
languageyml
themeRDark
hibernate:
    ddl-auto: update
properties:
    hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
        format_sql: true
        jdbc:
            lob:
                non_contextual_creation: true
show-sql: false

ldap

Configuration de l'accès ldap (obligatoire si l'authentification CAS est activée)

Bloc de code
languageyml
themeRDark
    ldap:
        base: dc=univ-ville,dc=fr
        password: ********
        urls: ldap://ldap.univ-ville.fr
        username: cn=consult,dc=univ-ville,dc=fr

mail

Configuration du serveur de mail pour l'envoi des alertes

Bloc de code
languageyml
themeRDark
    mail:
        host: smtp.univ-ville.fr

mail

Dans la partie mail (hors spring) vous pouvez paramétrer l'adresse from pour l'envoi de mails

Bloc de code
languageyml
themeRDark
mail:
    from: no-reply.esup-signature@univ-ville.fr

dss

Dans la configuration DSS il faut paramétrer l'emplacement ou doit ce trouver le cache des certificats du journal officiel : ks-filename. Attention le dossier doit avoir été créé avant le premier lancement. Par défaut le chemin est relatif.

De plus vous pouvez ajouter les liens vers les url des certificats non présents dans le journal officiel mais valide dans votre établissment : trusted-certificat-url-list

Bloc de code
languageyml
themeRDark
dss:
    cache-data-source-driver-class-name: org.hsqldb.jdbc.JDBCDriver
    cache-data-source-url: jdbc:hsqldb:mem:cachedb
    cache-password:
    cache-username: sa
    default-validation-policy: policy/sign-constraint.xml
    server-signing-keystore-filename: validate_service.p12
    server-signing-keystore-password: password
    server-signing-keystore-type: PKCS12
    tsp-server: http://tsa.belgium.be/connect
    ks-filename: oj_keystore.p12
    ks-password: dss-password
    ks-type: PKCS12
    lotl-country-code: EU
    lotl-url: https://ec.europa.eu/tools/lotl/eu-lotl.xml
    oj-url: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.C_.2019.276.01.0001.01.ENG
    trusted-certificat-url-list: https://cacerts.digicert.com/DigiCertAssuredIDRootG3.crt, https://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt, https://cacerts.digicert.crt

security

La sécurité est gérée par Spring Security. Il est possible d'activé 3 mécanismes de sécurité : OAuth, Shibboleth et/ou CAS. Pour désactiver une ou l'autre de ces méthode, il suffit de commenter les lignes qui s'y réfèrent. (CAS nécessite la configuration d'un LDAP. C'est la solution idéale pour une utilisation interne)


Bloc de code
languageyml
themeRDark
    cas:
        domain: univ-ville.fr
        group-mapping-role-admin: ROLE_FOR.ESUP-SIGNATURE.ADMIN
        group-mapping-role-manager: ROLE_FOR.ESUP-SIGNATURE.MANAGER
        key: EsupSignatureUnivVilleCAS
        service: https://esup-signature.univ-ville.fr/login/cas
        title: Compte Université (CAS)
        url: https://cas.univ-ville.fr
#    shib:
#        credentials-request-header: MEMBER
#        group-mapping-role-admin: cn=for.esup-signature.admin,ou=groups,dc=univ-ville
#        group-mapping-role-manager: cn=for.esup-signature.manager,ou=groups,dc=univ-ville
#        idp-url: https://idp.univ-ville.fr
#        principal-request-header: REMOTE_USER
#        title: Compte d’un autre établissement (Shibboleth)
    ws:
        ws-access-authorize-ips: 127.0.0.1

fs (file system)

La partie file system (fs) permet de configurer une source principale de donnée pour chaque type de stockage (smb, cmis, vfs). esup-signature ne prend en charge qu'une seule source par type.

Bloc de code
languageyml
themeRDark
fs:
#    smb-login: esup-signature
#    smb-password: ********
#    smb-uri: smb://smb.univ-ville.fr
    vfs-uri: /tmp
#    cmis-uri: https://esup-signature.univ-ville.fr/nuxeo
#    cmis-login: Administrator
#    cmis-password: Administrator
#    cmis-respository-id: default
#    cmis-root-path: /default-domain/workspaces

sign

Vous pouvez ajuster finement les paramètres de signature électronique en modifiant les lignes suivante:

Bloc de code
languageyml
themeRDark
sign:
    cades-digest-algorithm: SHA256
    cades-signature-level: CAdES_BASELINE_T
    container-type: ASiC_E
    default-signature-form: XAdES
    pades-digest-algorithm: SHA256
    pades-signature-level: PAdES_BASELINE_T
    password-timeout: 60000
    signature-packaging: ENVELOPED
    xades-digest-algorithm: SHA256
    xades-signature-level: XAdES_BASELINE_T

pdf

Paramètres de traitement des PDF

Bloc de code
languageyml
themeRDark
    convert-to-pdf-a: true
    height: 842
    path-to-g-s: /usr/bin/gs
    pdf-a-level: 2
    pdf-to-image-dpi: 72
    sign-width-threshold: 150
    width: 595


Avertissement

Lorsque votre configuration sera terminée, vous devez creer un commit git, ceci afin d'éviter tout problème lors d'une prochaine mise à jour. Les commandes git à lancer:

Bloc de code
languagebash
themeEclipse
git add .
git commit -m "ma conf de prod"



Astuce

La suite ici : Compilation et déploiement