
(esign_principle)=

# Signature électronique - Principe général

:::{article-info}
:avatar: img/imio_logo_small.png
:avatar-link: https://www.imio.be
:avatar-outline: muted
:author: iMio
:date: "{sub-ref}`today`"
:read-time: "Temps de lecture: {sub-ref}`wordcount-minutes` min"
:class-container: sd-p-2 sd-outline-muted sd-rounded-1
:::

## Introduction

La signature électronique d'un document est un mécanisme permettant de garantir:

- **L'authenticité** (L'identification du signataire)
- **Le consentement** (Le signataire approuve le contenu du document)
- **L'intégrité** (La non modification des documents signés)

Ainsi, depuis (2003 en Belgique et) 2014 en Europe, un document signé numériquement avec la carte d'identité 
électronique belge ou via une signature qualifiée par un prestataire de confiance (répondant aux exigences 
du [réglement eIDAS](https://digital-strategy.ec.europa.eu/fr/policies/discover-eidas)) lui donne la même valeur légale qu'une signature manuscrite.

Le prestataire agréé choisi par le marché public de la Région Wallonne pour répondre à ces exigences est [*LuxTrust*](https://www.luxtrust.com/fr).

### Schéma global de fonctionnement

```{mermaid}
flowchart LR
    %% Styles
    style IA1 fill:#124e78,color:#F0F0C9,stroke:#0F3D5A,stroke-width:4px
    style LUX fill:#F2BB05,stroke:#D49A04,stroke-width:4px
    style IA2 fill:#124e78,color:#F0F0C9,stroke:#0F3D5A,stroke-width:4px

    classDef etat   fill:#F0F0C9,stroke:#D0D0A9,stroke-width:4px,color:#124e78,font-size:16px,font-weight:900
    classDef role   fill:#D74E09,stroke:#B73D07,stroke-width:4px,color:#F0F0C9,font-size:14px,font-weight:bold,rx:60,ry:60
    classDef invisible fill:transparent,stroke:transparent

    %% iA.Docs – création + approbation (flèches internes comme dans IA1)
    subgraph IA1 ["iA.Docs"]
        direction TB
        A[En création]:::etat
        subgraph APPRO ["À approuver"]
            direction TB
            S0((Approbateur 1)):::role
            S1((Approbateur 2)):::role
            S2((Approbateur n)):::role
            S0 --> S1 --> S2
        end
        B[À la signature]:::etat
        A --> APPRO --> B
    end

    %% Session LuxTrust – lignes simples (sans pointe)
    subgraph LUX ["Session LuxTrust"]
        direction TB
        startLux[" "]:::invisible
        endLux[" "]:::invisible

        sign1((Signature<br/>signataire 1)):::role
        sign2((Signature<br/>signataire 2)):::role
        signx((Signature<br/>signataire n)):::role

        startLux --- sign1
        startLux --- sign2
        startLux --- signx
        sign1 --- endLux
        sign2 --- endLux
        signx --- endLux
    end

    %% iA.Docs – fin (flèche interne comme dans IA1 → même style garanti)
    subgraph IA2 ["iA.Docs"]
        direction TB
        C[Signé]:::etat
        D[Envoyé]:::etat
        C --> D
    end

    %% Flèches externes (seulement les deux qui traversent les cadres)
    B --> startLux
    endLux --> C

    %% Style uniforme pour TOUTES les flèches importantes (internes + externes)
    linkStyle 0,1,2,3,4,5,6,7,8 stroke:#D49A04,stroke-width:4px
    linkStyle 9 stroke:#D49A04,stroke-width:4px
    linkStyle 10 stroke:#D49A04,stroke-width:4px
    linkStyle 11 stroke:#D49A04,stroke-width:4px
    linkStyle 12 stroke:#D49A04,stroke-width:4px
```

## Fonctionnement actuel d'iA.Docs

Le principe général de [la gestion du courrier sortant](cs_reponse) reste le même.

A savoir:

1. Un document destiné à être envoyé est encodé dans iA.Docs sous la forme d'une **fiche courrier sortant** dans l'état **En création**.
2. Cette **fiche** parcourt un ensemble d'étapes liées à des procédures de gestion ou de validation, jusqu'à l'état final **Envoyé**.
3. Pour qu'un document soit valide juridiquement, il doit être **signé** par les personnes ad hoc (souvent les DG et Bourgmestre / Président).

## Nouveau fonctionnement intégrant la signature électronique

La nouvelle fonctionnalité se propose de garder ce principe général et d'ajouter des états aux fiches 
courrier sortant, comme le fait d'approuver avant signature.

### Approuver un document

Si un courrier doit être signé numériquement, **l'approbation préalable dans iA.Docs est obligatoire** avant l'envoi vers le service externe *LuxTrust*.

En effet, si un document faisant partie d'un lot est refusé au niveau de *LuxTrust*, c'est le lot complet qui est refusé et pas uniquement le document en question.

Pour chaque signature, un **approbateur** (le signataire-même ou un utilisateur sélectionné) va devoir approuver le document, avant qu'il puisse être envoyé vers *LuxTrust*.

**Étapes actuelles**: 

```{mermaid}
flowchart LR
    classDef red fill:#FF6B6B,stroke:#E05A5A,color:#fff,stroke-width:3px,padding:50px;
    classDef green fill:#4CAF50,stroke:#3D9A3E,color:#fff,stroke-width:3px,padding:50px;
    classDef lightgrey fill:#E0E0E0,stroke:#BDBDBD,color:#000,stroke-width:3px,padding:50px;

    A(("En création")):::red ==> B(("À la signature")):::green
    B ==> C(("Envoyé")):::lightgrey
```

**Nouvelle version**:

- Pour une signature manuscrite sans approbation préalable (comme actuellement) ou un document avec un sceau 
  uniquement (sans signataire):

```{mermaid}
flowchart LR
    classDef red fill:#FF6B6B,stroke:#E05A5A,color:#fff,stroke-width:3px,padding:50px;
    classDef green fill:#4CAF50,stroke:#3D9A3E,color:#fff,stroke-width:3px,padding:50px;
    classDef lightgreen fill:#81C784,stroke:#6BAF70,color:#fff,stroke-width:3px,padding:50px;
    classDef lightgrey fill:#E0E0E0,stroke:#BDBDBD,color:#000,stroke-width:3px,padding:50px;

    A(("En création")):::red ==> B(("À la signature")):::green
    B ==> C(("Signé")):::lightgreen
    C ==> D(("Envoyé")):::lightgrey
```

<br />

- Pour une signature manuscrite ou électronique avec approbation préalable dans iA.docs:

```{mermaid}
flowchart LR
    classDef red fill:#FF6B6B,stroke:#E05A5A,color:#fff,stroke-width:3px,padding:50px;
    classDef purple fill:#B19CD9,stroke:#9A7BC5,color:#fff,stroke-width:3px,padding:50px;
    classDef green fill:#4CAF50,stroke:#3D9A3E,color:#fff,stroke-width:3px,padding:50px;
    classDef lightgreen fill:#81C784,stroke:#6BAF70,color:#fff,stroke-width:3px,padding:50px;
    classDef lightgrey fill:#E0E0E0,stroke:#BDBDBD,color:#000,stroke-width:3px,padding:50px;

    A(("En création")):::red ==> B(("À approuver")):::purple
    B ==> C(("À la signature")):::green
    C ==> D(("Signé")):::lightgreen
    D ==> E(("Envoyé")):::lightgrey
```

<br />

La **définition des signatures désirées** est réalisée sur la fiche courrier (comme montré ci-dessous). 
Par défaut, ce sont des règles dans la configuration qui préremplissent les valeurs lors de la création de la fiche.

![alt text](img/esign-mail-signers.png)

Le **tableau des signataires** permet de définir par ligne:
- L'ordre des signataires
- Le signataire, via une fonction occupée, dont l'intitulé sera intégré dans le document bureautique généré.
  Ce sera cet utilisateur qui signera le lot de documents dans *LuxTrust*.
- Le nombre d'approbateurs (de 0 à n)
- L'attribution du rôle d'éditeur lors de l'approbation (cela permet de modifier le document si nécessaire). 
  Il est conseillé de ne donner ce droit qu'au premier approbateur, sauf extrême confiance, car si un document
  est modifié après approbation, l'approbation précédente reste effective.

Un **sceau électronique** peut être ajouté automatiquement lors de la signature dans *LuxTrust* 

La **signature électronique** peut être demandée.

Les valeurs de signatures définies sont prises en compte :
- Lors de la génération des documents depuis un modèle (les signataires définis sont utilisés dans le document)
- Dès l'étape **A approuver** (si des approbateurs sont définis) ou **À la signature** 

### Comment trouver les documents à approuver?                                                                  

Une fois certains courriers dans l'état **À approuver**, les approbateurs peuvent visualiser s'ils ont des documents
en attente d'approbation via le filtre **À approuver [..]** située dans le tableau de bord.

![alt text](img/esign-pending-approval.png)
                                                
Dès que le nombre est différent de 0, vous pouvez cliquer sur la recherche pour ne voir que les fiches courriers
à approuver. Dans cette liste, après avoir cliqué sur l'intitulé de la fiche, vous arrivez sur la fiche courrier sortant.

Le plus simple est alors de cliquer **sur l'icône** <i style="color: #999;" class="fas fa-eye"></i> (en haut à droite) afin de maximiser les documents. Vous pourrez alors approuver
comme expliqué ci-dessous et utiliser les liens **suivant** et **précédent** pour passer aux autres fiches à approuver.

### Tableau des documents sur une fiche courrier

Comme il est nécessaire d'indiquer quels documents doivent être **signés** ou **approuvés**, plusieurs nouvelles colonnes ont
été ajoutées dans le tableau des documents.

:::{admonition} Positionner la souris sur une icône pour voir la signification
:class: info
Cela permet de mieux comprendre la signification des icônes affichées. Si au survol, un point d'interrogation apparait,
cela signifie que le clic n'est pas possible.
:::

![alt text](img/esign-mail-documents-table.png)

#### Colonne « **Signé ?** »

Elle indique si un document nécessite une signature et, le cas échéant, si celle-ci a été effectuée.

Son apparence et son comportement dépendent de l'état de la fiche courrier sortant dans le workflow.

##### Étapes avant « à approuver »

| **Icône**                          | **Signification**               |
|-------------------------------------|----------------------------------|
| <i style="color: #999;" class="fas fa-toggle-off"></i> | Pas de signature demandée |
| <i style="color: #EA0000;" class="fas fa-toggle-on"></i>  | Signature demandée |

- **Modifiable par** : un **éditeur** de la fiche (comme l'agent traitant ou le chef de service)
- **Valeur par défaut** : définie via la **catégorie** du document

---

##### Étapes « à la signature » ou « signé »

| **Icône**                          | **Signification**               |
|-------------------------------------|----------------------------------|
| <i style="color: #999;" class="fas fa-toggle-off"></i> | Pas de signature demandée |
| <i style="color: #EA0000;" class="fas fa-toggle-on"></i>  | Signature demandée (non effectuée) |
| <i style="color: #75ad0a;" class="fas fa-pen-to-square"></i> | Document signé (manuscrit ou électronique) |

- **Mise à jour automatique** :
  - Après intégration d'un document scanné via *Kofax* (signature manuscrite)
  - Après retour d'un document signé électroniquement via *LuxTrust*
- **Modifiable par** : un administrateur

##### Étapes autres

Dans ce cas, il n'est pas possible de modifier la valeur.

---

#### Colonne « **Approuvé ?** »

Elle permet d'indiquer si un document doit être approuvé ou non, et si oui, elle doit être utilisée 
par chaque approbateur pour approuver le document.

Son apparence et son comportement dépendent de l'état de la fiche courrier sortant dans le workflow, 
ainsi que du fait que le document doit être signé.

Il existe 3 cas différents:

##### Étape avant « à approuver »

|Icone|Signification|
|-|-|
|<i style="color: #999;" class="fas fa-toggle-off"></i>|Pas d’approbation demandée|
|<i style="color: #EA0000;" class="fas fa-toggle-on"></i>|Approbation nécessaire|

Modifiable par un **éditeur** de la fiche en cliquant sur l’icône.

**Lors de la génération d’un document depuis un modèle**, on détermine automatiquement la valeur par défaut 
de la colonne suivant ces conditions:

- Si la catégorie du modèle est configurée avec **à approuver à faux** → <i style="color: #999;" class="fas fa-toggle-off"></i>
- Sinon, s'il n’y a pas d’approbateur défini sur la fiche → <i style="color: #999;" class="fas fa-toggle-off"></i>
- S’il s’agit d’un document à publiposter, avant publipostage → <i style="color: #999;" class="fas fa-toggle-off"></i>
- Dans les autres cas, on met **à approuver à vrai** → <i style="color: #EA0000;" class="fas fa-toggle-on"></i>

##### Étape « <span style="color:#B19CD9">A approuver</span> »

|Icone| Signification                                                                                  |
|-|------------------------------------------------------------------------------------------------|
|<i style="color: #999;" class="fas fa-toggle-off"></i>| Pas d’approbation demandée                                                                     |
|<i style="color: #EA0000;" class="fas fa-check"></i>| L'utilisateur courant peut approuver et il ne l'a pas encore fait                              |
|<i style="color: #75ad0a;" class="fas fa-check"></i>| L'utilisateur courant peut approuver et il l'a déjà fait                                       |
|<i style="color: #EA0000;" class="fas fa-hourglass"></i>| L'utilisateur courant ne peut pas encore approuver (un autre doit le faire auparavant)         |
|<i style="color: black;" class="fas fa-hourglass"></i>| L'utilisateur n'est pas approbateur et il n'y a aucune approbation effectuée                   |
|<i style="color: #FFB627;" class="fas fa-hourglass-half"></i>| L'utilisateur courant ne peut pas / plus approuver et il y a déjà eu une approbation partielle |
|<i style="color: #75ad0a;" class="fas fa-check-double"></i>| Toutes les approbations ont été effectuées                                                     |


Seul **un approbateur** peut modifier **une coche** <i class="fas fa-check"></i> en cliquant dessus. 

Une fois **toutes les approbations effectuées** sur une fiche courrier à signer électroniquement:
- Une version pdf du document à signer est créée dans la fiche
- La fiche courrier est intégrée dans une session de signature (voir plus bas)
- La fiche courrier passe à l'état **À la signature**.

##### Étapes après « à approuver »

Dans ce cas, il n'est plus possible de modifier la valeur.

### Session de signature électronique

Chaque fiche courrier approuvée est donc intégrée dans une **session de signature électronique**.

Une session regroupe des documents correspondant aux mêmes critères de signature (même signataires, même sceau, etc.)

Il est possible de visualiser les sessions de signature soit:
- en utilisant le lien avec le numéro de session présent sur une fiche courrier
- en cliquant sur l'onglet supérieur **Paraphéo**

![alt text](img/esign-sessions-listing.png)

On retrouve dans cette vue **le récapitulatif des sessions en cours**, avec leur état et des boutons d'action.

Le bouton "Paraphéo" permet d'initier l'envoi de la session vers *LuxTrust*.

Dès que la session est réellement créée chez *LuxTrust*, les signataires reçoivent un mail avec un lien pour signer.

Ce même lien est aussi disponible sur l'intitulé de session qui se transforme en lien (nécessité de rafraîchir la page).

:::{admonition} Comptes nécessaires
:class: warning
Avant de pouvoir envoyer une session avec des signataires, il est nécessaire que chaque signataire **se soit d'abord 
identifié** une première fois sur LuxTrust (car cela crée alors un compte côté LuxTrust). Voir ci-dessous
:::

#### LuxTrust

En suivant le lien de session de signature, on arrive sur la page de connexion dans *LuxTrust*.

![](img/esign-luxtrust-connection.png)

:::{admonition} Sélectionner Portail d'authentification
:class: warning
Attention à bien cliquer sur la méthode de connexion **Portail d'authentification** afin de vous connecter.
:::

Lors de la première connexion dans LuxTrust via **Wallonie Connect**, si vous ne connaissez pas votre mot de passe, vous 
pouvez cliquer sur **mot de passe oublié**.

---

Une fois connecté, on peut visualiser tous les documents de la session, les parcourir et utiliser le bouton **Signer**
en haut à droite pour signer la session entière.

![](img/esign-luxtrust-document-view.png)

---

Lors de la signature, une fenêtre demandant d'entrer un code **OTP** apparait (One-Time-Password ou Mot de passe à usage unique).
Ce code **OTP** vous aura été transmis par email.

**Remarque:** Cette méthode de signature est utilisée pendant la phase de tests. C'est bien **la carte d'identité** qui
sera utilisée par la suite.

![alt text](img/esign-luxtrust-otp.png)

Une fois le code **OTP** du mail encodé, tous les documents de la session sont signés.

On est ensuite redirigé vers un écran de confirmation.

![alt text](img/esign-luxtrust-session-signed.png)

Dès la signature de la session, les documents pdf signés électroniquement sont renvoyés vers ia.Docs.

Les documents signés remplacent les documents pdf non signés dans la fiche courrier sortant.

Celle-ci passe aussi automatiquement à l'état **Signé**.

![alt text](img/esign-mail-signed.png)

L'agent peut alors envoyer le document électronique au destinataire ou l'imprimer et en changer l'état pour l'indiquer comme **Envoyée**.

## Synthèse: scénario général d'utilisation

1. Un agent crée un courrier sortant (réponse ou nouveau).
2. Les signataires sont créés automatiquement via les règles de configuration. L'agent peut les modifier après création 
   ou les définir directement à la création.
3. L'agent génère un document depuis un modèle. Par défaut, le document généré est indiqué comme étant **À signer**, et 
   **À approuver** le cas échéant.
4. L'agent change l'état pour passer à **À approuver**.
5. Chaque approbateur peut voir les documents à approuver via la recherche dédiée. Il clique dessus pour visualiser la liste
   des fiches concernées.
6. Le premier approbateur ouvre la première fiche, peut cliquer sur l'icône <i style="color: #999;" class="fas fa-eye"></i> pour maximiser la     visualisation, lire le document et l'approuver. Il peut ensuite passer au suivant avec le lien adéquat.
7. Il en est de même pour chaque approbateur suivant. Une fois que toutes les approbations d'une fiche ont été effectuées,
   une version pdf du document est générée et intégrée dans une session de signature. La fiche passe automatiquement
   à l'état **À la signature**.
8. Une fois les approbations terminées, le DG ou un signataire peut visualiser les sessions de signature en cours 
   via l'onglet **Paraphéo**. Il peut les envoyer avec le bouton "paraphéo" de la session concernée.
9. Les signataires reçoivent un mail avec un lien vers *LuxTrust* pour signer la session.
10. L'opération de signature est effectuée dans *LuxTrust*.
11. Une fois la session signée, les documents pdf signés sont renvoyés dans iA.Docs et remplacent les documents non signés.
12. Les fiches courrier sortant dans l'état **Signé** doivent être finalisées pour envoyer les documents aux destinataires.
