PROJET-INFO5 2021 Signature électronique eIDAS: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(19 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
* https://yousign.com/fr-fr |
* https://yousign.com/fr-fr |
||
* https://www.universign.com/fr/ |
* https://www.universign.com/fr/ |
||
etc |
* etc |
||
=L'équipe= |
=L'équipe= |
||
Line 23: | Line 23: | ||
=Journal= |
=Journal= |
||
=Sprint |
==Sprint 0== |
||
===Semaine du 25/01=== |
|||
* 28/02: Attribution du projet |
* 28/02: Attribution du projet |
||
* 29/02: |
* 29/02: Rendez-vous avec Nicolas PALIX |
||
** Présentation du projet et de son contexte |
** Présentation du projet et de son contexte |
||
** Discussion sur les outils de collaboration et conseils sur des librairies pour l'affichage de PDF |
** 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 |
* Mise en place des outils de collaboration |
||
Line 36: | Line 36: | ||
** Groupe Facebook |
** Groupe Facebook |
||
** Tableau Trello |
** Tableau Trello |
||
*** |
*** Définition de tâches et répartition du travail |
||
*** |
*** Répartition des rôles |
||
* Début Documentation sur EIDAS: |
* Début Documentation sur EIDAS: |
||
** Réglementation EIDAS |
** Réglementation EIDAS |
||
** Signature électronique |
** Signature électronique |
||
** Documentation sur l'ANSSI |
** Documentation sur l'ANSSI |
||
** Recherche sur les librairies (pour visualiser des PDF, écrire dans des PDF) |
** 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 |
* Création projet Github |
||
Line 53: | Line 53: | ||
** Contraintes de l'ANSSI à respecter pour la réalisation de la signature électronique |
** Contraintes de l'ANSSI à respecter pour la réalisation de la signature électronique |
||
==Sprint 1== |
|||
===Semaine du 15/02=== |
|||
Interruption Pédagogique |
Interruption Pédagogique |
||
Line 59: | Line 60: | ||
* Recherche sur les différents services commerciaux existant réalisant la signature électronique (Yousign, Universign, DocuSign) |
* Recherche sur les différents services commerciaux existant réalisant la signature électronique (Yousign, Universign, DocuSign) |
||
* Conception architecturale |
* Conception architecturale |
||
** |
** Diagramme UML |
||
** |
** Diagramme de classe |
||
** |
** Diagramme des cas d'utilisation |
||
** |
** Due globale |
||
** |
** Réalisation de maquettes |
||
** etc |
** etc |
||
===Semaine du 22/02=== |
|||
* 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 : |
* Conception : |
||
** Modifications apportées au diagramme de classe |
** Modifications apportées au diagramme de classe |
||
Line 74: | Line 75: | ||
* Documentation sur l'Horodatage électronique |
* Documentation sur l'Horodatage électronique |
||
* Documentation sur l'ANSSI: Contraintes à respecter pour la réalisation et la validité de la signature électronique |
* Documentation sur l'ANSSI: Contraintes à respecter pour la réalisation et la validité de la signature électronique |
||
* 25/02: |
* 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 |
* 26/02: Soutenance de mi-parcours |
||
== Sprint 2 == |
== Sprint 2 == |
||
===Semaine du 01/03=== |
|||
* Travail sur le JDL de l'application |
* Travail sur le JDL de l'application |
||
* Génération avec JHispter de l'application du projet |
* Génération avec JHispter de l'application du projet |
||
* Documentation Keycloak |
|||
** Documentation sur [https://jwt.io/introduction Json Web Token(JWT)] |
|||
** Protocoles [https://oauth.net/2/ Oauth2] et [https://openid.net/connect/ OpenID connect] |
|||
** Documentation sur Spring Security |
|||
** Envoi de mail |
|||
* Configuration de Keycloak |
* Configuration de Keycloak |
||
** Travail sur la liaison d'un utilisateur de Keycloak à un utilisateur de l'application jhipster. |
** 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'[https://fr.wikipedia.org/wiki/Mot_de_passe_%C3%A0_usage_unique OTP] avec Keycloak lors la création et la connexion d'un compte à l'application |
|||
* Visualisation d'un PDF avec défilement dans une page de l'application |
|||
* Visualisation d'un PDF en mode scrollable dans une page de l'application avec la librairie [https://www.npmjs.com/package/ngx-extended-pdf-viewer ngx-extended-pdf-viewer] |
|||
* Recherche sur les librairies de d'écriture dans un PDF |
|||
* Test sur les librairies de signature à la main : [https://www.npmjs.com/package/signature_pad signature_pad](retenu) et [https://www.npmjs.com/package/angular2-signaturepad angular2-signaturepad] (pas retenu) |
|||
* Recherche sur les canvas Angular |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* Réalisation de la page d’accueil d'un compte connecté à l'application |
* Réalisation de la page d’accueil d'un compte connecté à l'application |
||
⚫ | |||
* Recherche sur l'utilisation de canvas pour afficher un PDF et déterminer en même temps la position d'un canvas dans un PDF. |
|||
⚫ | |||
* Page de création d'un utilisateur d'une organisation dans l'application |
|||
⚫ | |||
* 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 [https://www.npmjs.com/package/pdfjs-dist pdfjs-dist] |
|||
*export en CSV de la liste des utlisateurs et des organisations de l'application |
|||
* 12/03: rendez-vous avec Nicolas PALIX : Point d'avancement et conseils sur l'implémentation du circuit de signature |
|||
* Utilisation d'autres librairies: |
|||
** [https://www.e-iceblue.com/Introduce/free-pdf-for-java.html#.YFJQRu1KhNg Spire.PDF](version gratuite) pour lire et écrire dans les PDF et les sauvegarder |
|||
* [https://fr.wikipedia.org/wiki/X.509 x509] pour la génération des certificats |
|||
* [https://www.bouncycastle.org/fr/ 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 sur la librairie [https://pdfbox.apache.org/ PDFBox] car non payante contrairement à Spire.pdf pour lire et écrire dans les PDF et les sauvegarder |
|||
* Test sur la librairie [https://interactjs.io/ 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 |
|||
*19/03: Soutenance finale |
|||
=Liens= |
=Liens= |
||
*[https://github.com/2020-2021-EIDAS-INFO5 Projet GitHub] |
|||
*[https://docs.spring.io/spring-framework/docs/5.3.5-SNAPSHOT/reference/html/ Documentation Spring] |
|||
*[https://www.keycloak.org/docs/latest/getting_started/index.html Keycloak] |
|||
*[https://angular.io/docs Documentation Angular] |
|||
*[https://ng-bootstrap.github.io/#/home Bootstrap 4 for Angular] |
|||
*[https://medium.com/angular-in-depth/how-to-get-started-with-canvas-animations-in-angular-2f797257e5b4 Canvas Angular] |
Latest revision as of 19:58, 17 March 2021
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
- Due 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
- 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 organisation 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
- export en CSV de la liste des utlisateurs et des organisations de l'application
- 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 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
- 19/03: Soutenance finale