PROJET-INFO5 2021 Signature électronique eIDAS
Le projet
Electronic IDentification Authentication and trust Services (eIDAS) est un règlement de l'UE sur l'identification électronique et les services de confiance pour les transactions électroniques au sein de l'Union Européenne.
Plusieurs services commerciaux proposent un service eIDAS.
Les applications à Polytech sont par exemple le circuit de signature des conventions de stage.
L'objectif du projet est la conception et l’implémentation d'un service eIDAS auto-hebergeable et open-source du workflow de documents par des acteurs identifiés au moyen de plusieurs systèmes d'authentification (OAuth2).
Exemples de services commerciaux
L'équipe
- Dima ASSI
- Aleck BILOUNGA
- Houda EL AJI
- Otba ZERAMDINI
Supervisé par : M. Nicolas PALIX
Journal
Sprint 0
Semaine du 25/01
- 28/02: Attribution du projet
- 29/02: rendez-vous avec Nicolas PALIX
- Présentation du projet et de son contexte
- Discussion sur les outils de collaboration et conseils sur des librairies pour l'affichage de PDF
Semaine du 01/02
- Mise en place des outils de collaboration
- Serveur Discord
- Groupe Facebook
- Tableau Trello
- définition de tâches et répartition du travail
- répartition des rôles
- Début Documentation sur EIDAS:
- Réglementation EIDAS
- Signature électronique
- Documentation sur l'ANSSI
- Recherche sur les librairies (pour visualiser des PDF : Jquery, ng2-pdf-viewer, ngx-extended-pdf-viewer,etc, écrire dans des PDF : Apache FOP, PDFBox)
Semaine du 08/02
- Création projet Github
- 12/02: Discussion sur l'avancée et des problème rencontrée lors de documentation sur le projet avec Nicolas PALIX
- Documentation sur EIDAS :
- Certificats ssl
- Chaîne de certificats
- Contraintes de l'ANSSI à respecter pour la réalisation de la signature électronique
Sprint 1
Semaine du 15/02
Interruption Pédagogique
- Recherche sur les différents services commerciaux existant réalisant la signature électronique (Yousign, Universign, DocuSign)
- Conception architecturale
- diagramme UML
- diagramme de classe
- diagramme des cas d'utilisation
- vue globale
- réalisation de maquettes
- etc
Semaine du 22/02
- 22/02: rendez-vous Nicolas PALIX : Discussion sur l'avancement du projet, présentation du travail sur la conception de l'architecture de l'application
- Conception :
- Modifications apportées au diagramme de classe
- Modifications apportées au diagramme d'objet
- Documentation sur l'Horodatage électronique
- Documentation sur l'ANSSI: Contraintes à respecter pour la réalisation et la validité de la signature électronique
- 25/02: rendez-vous avec Nicolas PALIX : Discussion sur la chaîne de certificats pour réaliser la signature et présentation des modifications apportées à l'architecture précédemment réalisée.
- 26/02: Soutenance de mi-parcours
Sprint 2
Semaine du 01/03
- Travail sur le JDL de l'application
- Génération avec JHispter de l'application du projet
- Documentation Keycloak
- Documentation sur Json Web Token(JWT)
- Protocoles Oauth2 et OpenID connect
- Documentation sur Spring Security
- Envoi de mail
- Configuration de Keycloak
- Travail sur la liaison d'un utilisateur de Keycloak à un utilisateur de l'application jhipster.
- Vérification d'email, réinitialisation de mots de passe lors de la creation d'un compte utilisateur
- Configuration d'OTP avec Keycloak lors la création et la connexion d'un compte à l'application
- Visualisation d'un PDF en mode scrollable dans une page de l'application avec la librairie ngx-extended-pdf-viewer
- travail de test sur les librairies de signature à la main : signature_pad(retenu) et angular2-signaturepad (pas retenu)
- Réalisation de la page d’accueil d'un compte connecté à l'application
- 05/03: rendez-vous avec Nicolas PALIX : Présentation de l'application généré et point d'avancement
Semaine du 08/03
- Page de création d'un utilisateur d'une administration dans l'application
- Merge de branches
- Positionnement d'un place holder pour poser la signature : cdkDrag Module d'Angular.
- Visualisation d'un PDF en tant que canvas d'un PDF et une page à la fois avec pdfjslib-dist la librairie pdfjs-dist
- 12/03: rendez-vous avec Nicolas PALIX : Point d'avancement et conseils sur l'implémentation du circuit de signature
- Utilisation d'autres librairies:
- Spire.PDF(version gratuite) pour lire et écrire dans les PDF et les sauvegarder
- x509 pour la génération des certificats
- bouncyCastle pour la génération des pairs de clés
Semaine du 15/03
- Ajout de bouton pour le PDF avec afin de pouvoir changer de page.
- test réalisé sur la librairie PDFBox car non payante contrairement à Spire.pdf pour lire et écrire dans les PDF et les sauvegarder
- Test sur la librairie Interactjs pour le PDF car elle semble plus complète pour placer un canvas dans un PDF et aussi détecter la position du canvas par rapport à la page actuelle du PDF : pas retenu car nous n'avons pas réussi à récupérer les coordonnées du canvas dans le PDF par manque de temps.
- travail sur la page de création d'un circuit de signature
- Page de Chargement du document PDF pour la signature
- Page d'Ajout des signataires au document
- Page de Placement des cases dans le PDF où les signataires doivent signer (pas encore fait)
- Page de récapitulatif et envoi de mail aux signataires pour finaliser la création d'un circuit de signature (pas encore fait)
- Merge de branches