PROJET-INFO5 2021 Signature électronique eIDAS: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 24: Line 24:
=Journal=
=Journal=
==Sprint 0==
==Sprint 0==
'''Semaine du 25/01'''
===Semaine du 25/01===
* 28/02: Attribution du projet
* 28/02: Attribution du projet
* 29/02: rendez-vous avec Nicolas PALIX
* 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'''
===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
*** Définition de tâches et répartition du travail
*** répartition des rôles
*** Répartition des rôles
* Début Documentation sur EIDAS:
* Début Documentation sur EIDAS:
** Réglementation EIDAS
** Réglementation EIDAS
Line 44: Line 44:
** Recherche sur les librairies (pour visualiser des PDF : Jquery, ng2-pdf-viewer, ngx-extended-pdf-viewer,etc, écrire dans des PDF : Apache FOP, PDFBox)
** 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'''
===Semaine du 08/02===


* Création projet Github
* Création projet Github
Line 54: Line 54:


==Sprint 1==
==Sprint 1==
'''Semaine du 15/02'''
===Semaine du 15/02===


Interruption Pédagogique
Interruption Pédagogique
Line 60: 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 UML
** diagramme de classe
** Diagramme de classe
** diagramme des cas d'utilisation
** Diagramme des cas d'utilisation
** vue globale
** Due globale
** réalisation de maquettes
** Réalisation de maquettes
** etc
** etc


'''Semaine du 22/02'''
===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
* 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 75: 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: 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.
* 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'''
===Semaine du 01/03===


* Travail sur le JDL de l'application
* Travail sur le JDL de l'application
Line 94: Line 94:
** 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
** 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 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]
* 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]
* travail de 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)
* 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)
* 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
* 05/03: rendez-vous avec Nicolas PALIX : Présentation de l'application généré et point d'avancement
* 05/03: Rendez-vous avec Nicolas PALIX : Présentation de l'application généré et point d'avancement


'''Semaine du 08/03'''
===Semaine du 08/03===
* Page de création d'un utilisateur d'une administration dans l'application
* Page de création d'un utilisateur d'une organisation dans l'application
* Merge de branches
* Merge de branches


* Positionnement d'un place holder pour poser la signature : ''cdkDrag Module'' d'Angular.
* 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]
* 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:
* 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://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
Line 110: Line 111:
* [https://www.bouncycastle.org/fr/ bouncyCastle] pour la génération des pairs de clés
* [https://www.bouncycastle.org/fr/ bouncyCastle] pour la génération des pairs de clés



'''Semaine du 15/03'''
===Semaine du 15/03===
* Ajout de bouton pour le PDF avec afin de pouvoir changer de page.
* Ajout de bouton pour le PDF avec afin de pouvoir changer de page.
* test réalisé 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://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.
* 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
* Travail sur la page de création d'un circuit de signature
** Page de Chargement du document PDF pour la signature
** Page de Chargement du document PDF pour la signature
** Page d'Ajout des signataires au document
** Page d'Ajout des signataires au document
Line 120: Line 122:
** Page de récapitulatif et envoi de mail aux signataires pour finaliser la création d'un circuit de signature (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
* Merge de branches

*19/03: Soutenance finale

=Liens=
=Liens=


*[https://github.com/orgs/2020-2021-EIDAS-INFO5/dashboard Projet GitHub]
*[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]
*[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
  • 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

Liens