Le module signature permet d'intégrer à votre application un système de signature numérique. Cela se fait via une application tiers (un **parapheur numérique**).
## Installation de base
## Présentation
### Ajouter la dépendence vie composer
**Unicaen Signature** est un module permettant de gérer l'accès à un *parapheur numérique*.
```bash
composer require unicaen/signature
```
### Fonctionnalités base
- Modèle de gestion des signatures envoyées
- Uniformisation des échanges avec un parapheur
### Configuration de base
### Processus de validation
- Configuration de processus de validation de document (étapes)
- Interface d'administration
Des fichiers de configuration `.dist` sont disponibles dans `vendor/unicaen/signature/config` avec quelques exemple de configuration :
Adapter la configuration selon votre usage, par défaut, le fichier de configuration propose une configuration avec le parapheur ESUP et le parapheur Interne.
## Installation dans votre application
-[Configuration du parapheur ESUP](doc/config/parapheur-esup.md)
-[Configuration du parapheur INTERNAL](doc/config/parapheur-interne.md)
### Prérequis
> Vous pouvez également [Développer un nouveau parapheur](doc/dev/parapheur-dev.md)
- PHP 8.2
### Base de données
### Dépendance PHP
Vous devez installer les tables utilisées par le module :
Ajouter l'adresse du dépôt Unicaen si besoin dans le composer JSON :

```json
{
"repositories":[
{
"type":"composer",
"url":"https://gest.unicaen.fr/packagist"
}
],
"name":"VotreApplication",
"Etc":"..."
}
```
#### Via les entitées Doctrine
Puis ajouter la dépendance
Dans le fichier de configuration de votre application (normalement `config/autoload/global.php`), éditez le `paths` des entitées pour y ajouter les entitées du module **signature** :
Référencer le modèle Doctrine : [Configuration de la base de données](doc/config/database.md)
### Dossier des documents
Vérifiez que le dossier d'écriture des documents à signer est bien accessible en écriture. C'est le dossier indiqué dans la clef `documents_path` (par défaut `./data/documents/signature`)
A cette étape, le module est opérationnel et permet d'utiliser ces services pour les documents de votre application.
Puis configurez le parapheur :
## Utilisation du module
-**Esup** : [Configuration du parapheur ESUP](./doc/config/config-parapheur-esup.md)
-[x] [Usage simple pour signer des documents](doc/dev/usage.md)
-[x] [Utilisation en ligne de commande](doc/dev/commands.md)
-[ ] [Processus de signature](doc/dev/process.md)
-[ ] [Interfaces du module](doc/dev/ui.md)
-[ ] [Développer un parapheur](doc/dev/parapheur-dev.md)
> Vous pouvez configurer plusieurs parapheurs
## TODO
- [ ] Documentation : Processus
- [ ] Documentation : Ui du module
- [ ] Documentation : Développer un parapheur
- [ ] Système de rappel des destinataires pour le parapheur interne
- [ ] Commande de rappel pour les observateurs
- [ ] Suppression d'un document signé (avec restauration du document d'origine)