Vous êtes sur la page 1sur 102

Résumé

Ce projet vise à élaborer un système de gestion des documents pour les


banques qui assure la sécurité des données, l'efficacité du processus de
classification des documents et la capacité d'échelle.

Le système est composé de plusieurs modules, dont le module


d'authentification, le module de gestion des utilisateurs, le module de
numérisation, le module de saisie et le module statistique. Ces modules
offrent une grande flexibilité aux utilisateurs et permettent d'améliorer
considérablement l'efficacité du processus de gestion des documents.
L'utilisation du système offre plusieurs avantages pour les banques,
notamment en termes de sécurité et de confidentialité des données,
d'efficacité du processus de classification des documents et de flexibilité. En
somme, ce système est une solution efficace pour les banques qui cherchent à
améliorer leur processus de gestion des documents tout en assurant la
sécurité et la confidentialité de leurs données.

Mots clés : Banque, GED, Numérisation, .Net, Angular, OCR liste des abréviations
Introduction générale

Dans le monde actuel axé sur la technologie, les banques sont confrontées à un volume
croissant de documents et d'informations à gérer. Des contrats aux relevés bancaires en
passant par les demandes de prêt, les banques doivent traiter et stocker efficacement une
multitude de documents importants tout en respectant les réglementations en matière de
sécurité et de confidentialité des données. La gestion manuelle de ces documents peut être
fastidieuse, chronophage et sujette à des erreurs humaines, ce qui peut entraîner des
inefficacités et des risques pour les banques.

Pour résoudre ces défis, il est essentiel de mettre en place un système de gestion de
documents efficace, sécurisé et évolutif spécifiquement conçu pour répondre aux besoins des
banques. Un tel système devrait garantir la sécurité des données, l'efficacité du processus de
classification des documents et la capacité d'expansion pour s'adapter à la croissance continue
des besoins des banques en matière de gestion documentaire.

C'est dans ce contexte que notre projet vise à développer un tel système de gestion des
documents pour les banques. En utilisant une approche modulaire, notre système comprendra
plusieurs modules essentiels, tels que le module d'authentification, le module de gestion des
utilisateurs, le module de numérisation, le module de saisie et le module statistique. Ces
modules offriront aux utilisateurs une grande flexibilité et contribueront à améliorer
considérablement l'efficacité du processus de gestion des documents.

En somme, notre système de gestion de documents pour les banques vise à apporter des
améliorations significatives en termes de sécurité des données, d'efficacité du processus de
classification et de capacité d'évolution. Les banques pourront ainsi bénéficier d'une
meilleure gestion des documents, réduire les risques associés à la gestion manuelle, améliorer
l'efficacité opérationnelle et garantir la confidentialité des données sensibles
Table des matières
CV..............................................................................................................................................je

Abstrait.....................................................................................................................................II

Résumé III

Introduction générale...............................................................................................................1

1 La portée du projet.............................................................................................................2

1.1 Introduction..................................................................................................................3

1.2 Présentation de la société.............................................................................................3

1.2.1 La société d'accueil.........................................................................................3

1.2.2 Organigramme.................................................................................................4

1.3 Portée du projet............................................................................................................4

1.3.1 Contexte du projet...........................................................................................4

1.3.2 Etude comparative de l'existant.......................................................................5

1.3.3 Critique de l'existant........................................................................................6

1.4 Problématique..............................................................................................................7

1.5 Solution proposée.........................................................................................................8

1.6 Choix méthodologiques...............................................................................................8

1.6.1 Méthodologies comparatives..........................................................................8

1.6.2 Mêlée............................................................................................................dix

1.7 Langage de modélisation..........................................................................................dix


1.8 Conclusion................................................................................................................dix

2 Préparation du projet.......................................................................................................12

2.1 Introduction................................................................................................................13

2.2 Capture des exigences................................................................................................13

2.2.1 Spécification des exigences fonctionnelles...................................................13

2.2.2 Prérogatives non fonctionnelles....................................................................14

2.3 Modularisation des exigences....................................................................................16

2.3.1 Identification des acteurs...............................................................................16

2.3.2 Diagramme de cas d'utilisation général.........................................................16

2.4 Gestion de projet avec Scrum....................................................................................17

2.4.1 Équipe Scrum................................................................................................17

2.4.2 Carnet de produit...........................................................................................18

2.5 Planification des sprints.............................................................................................22

2.6 Environnement de travail...........................................................................................22

2.6.1 Environnement matériel................................................................................22

2.6.2 Environnement logiciel.................................................................................23

2.7 Architecture................................................................................................................28

2.7.1 Architecture physique...................................................................................28

2.7.2 Architectures applicatives.............................................................................29

2.7.3 Modèles de conception..................................................................................30

2.8 Conclusion.................................................................................................................31

3 Sprint 1...............................................................................................................................32
3.1 Introduction................................................................................................................33

3.2 Carnet de sprint 1.......................................................................................................33

3.3 Cas d'utilisation du premier sprint.............................................................................35

3.4 Analyse du cas d'utilisation du premier sprint...........................................................35

3.5 Description des cas d'utilisation.................................................................................36

3.5.1 Description du cas d'utilisation « Réinitialiser le mot de passe ».................36

3.5.2 Description du cas d'utilisation « Ajouter un utilisateur »............................37

3.5.3 Description du cas d'utilisation « Mettre à jour l'utilisateur ».......................39

3.6 Diagrammes de séquence des cas d'utilisation...........................................................40


3.6.1 Diagramme de séquence du cas d'utilisation « Réinitialiser le mot de 4
passe » . . . . . . . 0

3.6.2 Diagramme de séquence du cas d'utilisation « Ajouter un utilisateur » 4


........... 0

3.6.3 Diagramme de séquence du cas d'utilisation « Mettre à jour l'utilisateur 4


». . . . . . . . . . 1

3. Descriptif des interfaces : . . . . . . . . . . . . . . . . . . . . . . . . . 4


7 2

3.7 Description de l'interface « Réinitialiser le mot de passe » . . . . . . . . . . . 4


.1 2

3.7 Description de l'interface « Ajouter un utilisateur ». . . . . . . . . . . . . . . 4


.2 5

3.7 Description de l'interface « Mettre à jour l'utilisateur » . . . . . . . . . . . . . 4


.3 5

4 Sprint 2 ....................................... 4
7

4. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1 8

4. Carnet de sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 8

4. Cas d'utilisation du deuxième sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


3 0

4. Analyse du cas d'utilisation du deuxième sprint . . . . . . . . . . . . . . . . . . . . . 5


4 0

4. Description des cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 5


5 0

4.5.1 Description du cas d'utilisation « Importer des documents 5


».......... 0

4.5.2 Description du cas d'utilisation « Consulter l'historique des documents 5


importés » 1

4. Diagrammes de séquence du cas d'utilisation. . . . . . . . . . . . . . . . . . . . . . . 5


6 2

4.6.1 Diagramme de séquence du cas d'utilisation « Importer des 5


documents » . . . . . . 2

4. Descriptif des interfaces : . . . . . . . . . . . . . . . . . . . . . . . . . 5


7 3

4.7.1 Description de l'interface « Importer un document » . . . . . . . . . . 5


3

4.7.2 Description de l'interface « Consulter l'historique des documents 5


importés » 4

5 Sprint 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6

5.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7

5.2 Carnet de sprint 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


7

5.3 Cas d'utilisation du troisième sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


8

5.4 Analyse du cas d'utilisation du troisième sprint :. . . . . . . . . . . . . . . . . . . . . . 5


8

5.5 Description du cas d'utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 5


8

5.5.1 Description du cas d'utilisation « Document de type manuel » ... 5


.... 8
5.5.2 Description du cas d'utilisation « Rejeter le document » . . . . . . . . . . . 6
0
5.5.3 Diagramme de séquence du cas d'utilisation « Document de type manuel »61

5.6 Descriptif des interfaces 61

5.6.1 Description de l'interface « Document de type manuel » 61

6 Conclusion et perspectives 63
Table des figures

1.1 Logo d'Addin. 3

1.2 Logo des filiales d'Addinn. 4

1.3 Logo de L'organigramme d'Addinn. 4

2.1 Diagramme de cas d'utilisation global 17

2.2 Logo du code de studio visuel. 23

2.3 Logo du studio visuel. 23

2.4 Logo du studio visuel. 24

2.5 Logo du facteur. 24

2.6 Logo de Postgresql. 24

2.7 Logo de C#(C sharp). 25

2.8 Logo de Tapuscrit. 25

2.9 Logo HTML(HyperText Markup Language). 26

2.10 Logo du CSS. 26

2.11 Logo de .Net Core. 26

2.12 Logo du cadre d'entité. 27


2.13 Logo de Primeng. 27

2.14 Logo de Swagger 27

2.15 Logo de Sendgrid. 28

2.16 Logo d'Apex Charts. 28

2.17 Logo de MinIO. 28

2.18 Diagramme de déploiement 29

3.1 Diagramme de cas d'utilisation du premier sprint 35

3.2 Diagramme de cas d'utilisation du premier sprint 40


Table des figures

3.3 Diagramme de cas d'utilisation du premier sprint 41

3.4 Diagramme de cas d'utilisation du premier sprint 42

3.5 Réinitialiser le mot de passe première étape 43

3.6 Réinitialiser le mot de passe deuxième étape 44

3.7 Réinitialiser le mot de passe troisième étape 44

3.8 Ajouter un compte utilisateur 45

3.9 mettre à jour le compte utilisateur 46

4.1 Diagramme de cas d'utilisation du premier sprint 50

4.2 Diagramme de cas d'utilisation du premier sprint 53

4.3 Importer des documents bruts 54

4.4 Consulter l'historique des documents bruts importés 55

5.1 Diagramme de cas d'utilisation du troisième sprint 58

5.2 Diagramme de cas d'utilisation du premier sprint 61

5.3 Diagramme de cas d'utilisation du premier sprint 62


????Intitulé de ces titres

1.2 Étude comparative de l'existant. 6

1.4 Critique de l'existant. 7

1.6 Méthodes comparatives dix

2.2 Équipe Scrum 16

2.4 Équipe Scrum 18

2.6 Méthodes comparatives 21

2.8 Spécifications de l'ordinateur portable 22

3.2 carnet de commandes du sprint 1 33

3.6 carnet de commandes du sprint 1 36

3.8 carnet de commandes du sprint 1 37

3.10 carnet de commandes du sprint 1 39

4.2 arriéré du sprint 2 48

4.4 carnet de commandes du sprint 1 50

4.6 carnet de commandes du sprint 1 52


c5.2 arriéré du sprint 3 57

5.4 carnet de commandes du sprint 1 58

5.6 carnet de commandes du sprint 1 60

Liste des algorithmes

SGD Système de gestion documentaire

DOUBLE Technologie du web et de l’informatique

ROC Reconnaissance optique de caractères

UML Langage de modélisation unifié

SOLIDE Principe de responsabilité unique /


UX/UI Expérience utilisateur / Interface utilisateur

VA Environnement de développement intégré

API Interface de protocole d'application

ORM Cartographie relationnelle d'objet

JSON Notation d'objet JavaScript

HTTP Protocole de transfert hypertexte

MVVM Vue Modèle - ViewModel

CQRS Ségrégation des responsabilités de requête


de commande

REPOS Transfert d'État représentatif

Liste des algorithmes

TCP Protocole de contrôle de transmission

SMTP Protocole de transfert de courrier


simple

UDP Protocole de datagramme utilisateur


1

Introduction générale

Au cours des dernières décennies, la révolution numérique a balayé tous les pays, y
compris la Tunisie, qui a également connu une forte croissance dans le domaine
informatique.

Parmi les secteurs qui ont connu une évolution notable, on peut citer le domaine
financier. Précisément les banques. Certaines d'entre elles, jusqu'à cette heure, ont encore
du mal à gérer une grande quantité de données clients. La validation, le stockage et la
classification des documents peuvent devenir très compliqués et fastidieux.

Par conséquent, les banques essaient toujours de trouver des outils et des logiciels
appropriés pour accélérer le processus et répondre aux besoins du client sans enfreindre le
délai d'une opération.

Dans ce cadre, l'entreprise « ADDINN », dans laquelle nous avons effectué notre stage
de fin d'études, souhaitait mettre en place une application web répondant à ces besoins.
Désormais, notre projet de fin d'études consiste à concevoir et réaliser une application web
de gestion électronique des documents bancaires. Il leur offre la possibilité de numériser,
stocker, gérer et archiver des documents rapidement et en toute sécurité. En outre, cette
solution fournit une classification automatique et manuelle pour garantir un espace de
travail organisé.

Le rapport est divisé en cinq chapitres : lesquels ?????


2

La portée du projet
3

1.1 Introduction

Ce chapitre se concentre sur la portée du projet. Tout d'abord, nous présentons


l'organisation d'accueil et sa structure organisationnelle. Puis, nous passons au contexte du
projet, à l'étude comparative et à la critique de l'existant. Puis, nous avançons avec la
problématique et la solution proposée. De plus, nous expliquons nos choix méthodologiques
et notre langage de modélisation. Le dernier point, mais non des moindres, est la conclusion
de tout le chapitre.

1.2 Présentation de la société

Cette partie contient la présentation de l'entreprise dans laquelle nous avons effectué
notre stage de fin d'études.

1.2.1 La société d'accueil

“Addinn” est un bureau de conseil et d'ingénierie spécialisé dans les secteurs de la banque,
de l'assurance et de la grande distribution. Elle fournit divers services en matière de
conception et de réalisation de sites Web et applications mobiles. Elle a été fondée en 2017
dans le centre urbain du nord tunisien et est une filiale de la société “ADDINN” basée à Paris,
France.

FIG.1.1 : Logo d'Addinn

Le groupe “ADDINN” s'appuie sur ses différentes filiales pour couvrir les besoins de ses
clients, comme on peut le voir sur la figure.
4

1
Site Web supplémentaire :https://addinn.com

FIG.1.2 : Logo des filiales d'Addinn.

1.2.2 Organigramme

Addinn utilise l'organisation cellulaire pour développer des activités innovantes avec une
coordination optimale entre chaque département. Avec cette organisation, le partage
d'informations et de connaissances est plus facile.

FIG.1.3 : Logo de l'organigramme d'Addinn.

1.3 Portée du projet


5
1.3.1 Contexte du projet

Cette implémentation de système de gestion documentaire (SGD), est réalisée dans le cadre
du projet de fin d'études en vue de l'obtention du diplôme d'ingénieur logiciel spécialisé
TWIN d'ESPRIT.

Le projet s'est déroulé à “ADDINN” entre le 14 février 2022 et le 14 août 2022.

La plateforme permet à ses utilisateurs de numériser l'ensemble du processus de stockage,


de validation, de saisie, de classification et d'archivage des données des clients de la manière
la plus rapide, la plus sûre et la plus efficace.

1.3.2 Etude comparative de l'existant

Il existe plusieurs applications web et desktop qui offrent aux banques une gestion
électronique des documents. Nous ne nous intéresserons aux solutions rentables que pour la
raison que notre application Demat n'est pas une application gratuite.

Voici quelques sélections de logiciels intéressantes que nous envisageons :

Logiciel Propriétaire Prix Caractéristiques

- Application de bureau, Web et mobile

- Authentification

$39ou$5
9 par
- Gestion des droits
utilisate
M-Files Systèmes
ur par
moteurs
mois - Gestion des archives
6

- Recherche rapide de fichiers

- Flux de travail d'entreprise

2
Site M-Files :https://www.m-files.com/fr/
7

- Application de bureau, Web et mobile

- Utilise l'OCR pour trouver des


Prix sur documents
OpenBee
OpenBee demande

- Classement automatique

- Partager du contenu dans un


environnement sécurisé

- Archiver des documents

- Application de bureau, Web et mobile

35 $ - Rechercher des documents


par
Ademero
Ademero utilisa
- Archiver des documents
teur et
par
mois
- Processus automatique

- Sécurité des documents

JUN B.1.2 : Etude comparative de l'existant.

1.3.3 Critique de l'existant

Les solutions existantes n'utilisent pas les mêmes fonctionnalités, le tableau ci-dessous
8
montrera la différence entre elles :

Sécur Disponibili RO Classement traçabilité


ité té C automatique

M-Files ✓ ✓ ✓

OpenB ✓ ✓ ✓ ✓
ee

Centre de ✓ ✓ ✓
contenu

JUN B.1.4 : Critique de l'existant.

1.4 Problématique

La problématique qui guide notre client à investir dans ce projet est le fait qu'une
entreprise bancaire ne peut pas trouver tous ses besoins dans une simple application de
gestion électronique de documents. L'objectif principal n'est pas seulement de stocker et de
partager des documents sur une plate-forme sécurisée, ils souhaitent automatiser l'ensemble
du processus pour gagner du temps et de l'argent. La solution existante a quelques problèmes
communs :
• Les interfaces applicatives ne peuvent pas être personnalisées par le besoin de chaque
utilisateur de la banque, ce qui complique l'interaction avec la plateforme.

• La banque ne peut pas avoir une idée du temps mis par chaque agent bancaire pour
traiter un document

• La banque ne peut pas avoir une idée du nombre de documents traités par chaque agent.
9
• Le processus de numérisation, de classement, de stockage et d'archivage des documents
prend trop de temps.

• Il n'y a aucune garantie d'avoir une classification efficace en utilisant uniquement l'OCR.

• La banque ne peut pas avoir de traçabilité sur l'identité de chaque agent qui a traité
chaque document, ce qui rend très difficile le suivi d'un agent en cas de fraude.

• L'application est lourde en calcul.

Les banques veulent être tenues au courant de l'ensemble du processus de production afin
d'élaborer de meilleures stratégies et approches. De plus, les banques doivent traiter les
données des clients rapidement et efficacement.

En même temps, pour éviter de perdre de l'argent. L'ajout de ces fonctionnalités est donc une
nécessité et un incontournable.

1.5 Solution proposée

Afin de couvrir les besoins de nos clients dans une seule application en offrant à la fois
une haute sécurité, une disponibilité et de bonnes performances, nous proposons de
développer une plateforme web de gestion électronique de documents et de dématérialisation
dédiée aux banques.

Nous mettrons à disposition de chaque agent bancaire une interface spécifique pour faire
uniquement son travail. Cette plateforme permet également de numériser, gérer, archiver,
stocker et rechercher un document particulier.

De plus, nous rendons le processus plus efficace et plus rapide en ajoutant plusieurs couches
de validation de documents, y compris l'intelligence artificielle et l'intelligence humaine. C'est
pourquoi nous avons ajouté des services automatiques et manuels pour la classification des
documents.

Enfin, nous suivrons le temps de traitement de chaque document pour chaque agent bancaire
tout au long du cycle de vie du processus, afin d'atteindre un certain degré de transparence.

1.6 Choix méthodologiques


10

Le choix de la méthodologie que nous allons utiliser pour réaliser ce projet est basé sur
une étude comparative entre méthodologie agile et méthodologie classique. Dans la section
suivante, nous définirons ces deux méthodologies puis nous choisirons celle qui convient à
notre projet.

1.6.1 Méthodologies comparatives

Dans cette section, nous tenterons de réaliser une étude comparative entre certaines des
méthodologies de développement les plus connues. Le tableau suivant fournit une brève
comparaison des deux méthodologies suivantes :
• La méthodologie dite « classique »

• Méthodologie agile

Thème Approche traditionnelle Approche agile

En cascade ou en v, sans retour


Cycle de Itératif et incrémental
possible, phases séquentielles
vie

Adaptable avec plusieurs


Planificatio Prédictif, caractérisé par des
niveaux de planification (macro
n plans détaillés basés sur une
et micro planification) avec des
portée et des exigences définies
ajustements au besoin au fil du
et stables au début du projet.
temps, en fonction des
changements qui se sont
produits.
11

Une équipe compétente dans


Équipe Une équipe ressource dédiée
laquelle l'initiative et la
sous la direction d'un chargé de
communication sont privilégiées,
projet.
appuyée par le chef de projet.

Contrôle de qualité précoce et


Qualité Contrôle qualité en fin de cycle
continu au niveau du produit et
de développement. Le client
du processus. Le client visualise
découvre le produit fini.
les résultats tôt et fréquemment.

Acceptation du changement
Changeme Résistant ou même opposé au
inévitable dans le cadre du
nts changement. Le processus de
processus. Le processus de
changement est si lourd.
changement est plus souple et
facile.

Un indicateur de progrès :
Suivi des progrès Mesure de la conformité aux
combien de fonctionnalités ont
plans initiaux. Analyse des
été implémentées et combien de
écarts.
travail reste à faire.

JUN B.1.6 : Méthodes comparatives

1.6.2 Mêlée

Dans le cadre de notre projet, nous souhaitons nous assurer du bon déroulement de ses
différentes phases. Nous avons choisi la méthode agile scrum pour la conception et le
développement de notre système. En fait, le processus scrum s'adapte parfaitement à la
cadence de notre projet de fin d'études. Chaque itération peut durer de deux à quatre semaines,
et à la fin de chaque sprint, un produit fonctionnel doit être livré incluant un livrable.
12

1.7 Langage de modélisation

Pour accélérer notre mission, nous avons utilisé le langage de modélisation unifié UML.
Nous estimons qu'UML est le langage le plus adapté pour fournir à “ADDINN” une
présentation compréhensible de la future application web. La raison principale est que les
différents diagrammes UML nous permettent de présenter nos solutions de manière flexible,
efficace et rapide.

1.8 Conclusion

Dans ce chapitre, nous avons donné un aperçu du projet en décrivant l'organisation hôte
Addinn, et la portée du projet. Aussi, nous avons discuté de la problématique et de la solution
proposée. Nous avons présenté en plus de cela, notre méthode de travail pour mener à bien
notre projet, telle que la méthode Scrum. Enfin, nous avons clôturé ce chapitre en expliquant

le langage de modélisation. Le reste du rapport est organisé selon cette méthodologie. Le


chapitre suivant traite de la préparation du projet.
13

Chapitre 2

Préparation du projet
14

2.1 Introduction

Ce chapitre est destiné à capturer les exigences fonctionnelles et non fonctionnelles de


notre système en élaborant la modularisation des exigences, le backlog produit et la
planification des sprints ainsi que la présentation de l'environnement de travail.

2.2 Capture des exigences

2.2.1 Spécification des exigences fonctionnelles

Pour répondre aux besoins de nos clients, notre application propose des interfaces web
pour accéder aux espaces suivants :

• Réinitialiser le mot de passe : Notre plateforme permet à chaque utilisateur de


réinitialiser son mot de passe en cas d'oubli, de la manière la plus sûre et la plus
sécurisée. Une fois que l'utilisateur aura confirmé son adresse e-mail, un mail lui sera
envoyé contenant un lien de réinitialisation. Le lien de réinitialisation expirera dans
seulement deux heures. En cliquant sur le lien, l'utilisateur sera dirigé vers une interface
où il pourra saisir son nouveau mot de passe. Dès confirmation, l'utilisateur sera
immédiatement connecté à son espace.

• Gestion de la numérisation : Notre plateforme permet à l'agent de numérisation


d'importer et de stocker des documents bruts dans un environnement sécurisé afin de
passer automatiquement à l'étape suivante qui est l'OCR. L'agent de numérisation se
voit proposer une interface lui permettant d'importer simultanément des centaines de
documents bruts. De plus, les agents de numérisation peuvent consulter le détail des
documents bruts en temps réel. Il peut également supprimer et rechercher un document
brut spécifique afin de rendre le processus plus flexible.

• Gestion de la saisie manuelle : Notre plateforme permet aux agents de saisie manuelle
15
de gérer manuellement les différents types de documents (chèque, paiement comptant,
ordre de virement, retrait, bordereau de remise). Après consultation des documents que
l'OCR n'a pas réussi à saisir, l'agent de saisie manuelle doit pouvoir saisir manuellement
un document non dactylographié. En revanche, l'agent de frappe peut rejeter un
document s'il est erroné. Il peut également passer à un autre document au cas où il ne le
comprendrait pas.

• Gestion des utilisateurs : Notre plateforme fournit aux administrateurs une interface
qui leur permet de gérer facilement les utilisateurs. L'interface contient l'affichage de
tous les comptes existants. De plus, l'administrateur est capable de créer un nouveau
compte utilisateur. Un email sera envoyé à cet utilisateur contenant son identifiant et
son mot de passe afin qu'il puisse se connecter à son compte. Pour plus de flexibilité,
l'administrateur peut également bannir, mettre à jour et rechercher un compte utilisateur
spécifique.

• Statistiques des documents numérisés : Notre plateforme garde une trace de chaque
document brut importé. Un agent de numérisation peut vérifier l'historique des
documents qu'il a réussi et échoué à importer.

2.2.2 Prérogatives non fonctionnelles

Une fois les exigences fonctionnelles bien définies, les exigences non fonctionnelles
doivent être captées tout au long du processus de développement de l'application, à savoir :

• Sécurité : La sécurité n'est pas une option dans les applications Web, en particulier
dans les applications bancaires. Parce que la sécurité crée la confiance, et la confiance
n'est pas acquise ; la confiance se gagne et se construit. Et sans sécurité, personne ne
peut vous faire confiance, ce qui entraînera la perte de clients et éventuellement la
faillite. Pour cette raison, notre solution doit avoir un haut niveau de sécurité pour
protéger la confidentialité des données des clients. Ce processus est garanti par :

– Un système d'authentification complexe

– Utilisation des jetons


16
– Protection d'itinéraire

– Contrôler l'accès

– Hachage et cryptographie asymétrique

• Ergonomie :Notre plateforme doit être claire, simple d'utilisation, conviviale et


ergonomique. Il doit également être responsive et respecte la charte graphique qui est
construite et évaluée par notre designer UX/UI.

qui il, la plateforme???

• Disponibilité :L'application est toujours très demandée en raison du grand volume de


données. De plus, il a un processus très délicat et délicat. C'est pourquoi il doit être
disponible à tout moment et répondre à toutes les exigences des utilisateurs. Car le
simple fait d'être indisponible vous fait perdre du temps et la perte de temps se traduit
par une perte d'argent qui conduit à l'inefficacité. C'est pourquoi nous avons mis en
place un système d'ombrage pour distribuer le grand flux de données aux utilisateurs
connectés. Et aussi une architecture de code propre pour éviter les applications bloquées
et lentes.

• Performance :La performance des applications est essentielle pour notre client. Ainsi,
le serveur de notre application doit pouvoir gérer un grand nombre d'accès et de
requêtes simultanées.

• Extensibilité :Notre solution doit être capable de gérer l'ajout de nouvelles


fonctionnalités et la personnalisation du code ou des mises à niveau. Car les
applications bancaires peuvent à tout moment modifier certaines lois ou détails de
certains protocoles utilisés . De plus, leur entretien est long et doit être continu. Pour
cette raison, les futurs développeurs et ingénieurs doivent comprendre le code de
l'application afin d'effectuer de futures mises à niveau. Pour ce faire, nous avons
construit notre plateforme dans le respect des principes SOLID. Le but de ces principes
17
est de nous aider à écrire un code maintenable, flexible, évolutif et réutilisable que nous
choisissons de réaliser.
18

2.3 Modularisation des exigences

2.3.1 Identification des acteurs

Un acteur est une entité externe qui peut être une personne, un matériel ou un logiciel qui
interagit avec notre système afin d'effectuer une ou plusieurs fonctions concernant les cas
d'utilisation. Les plateformes DEMAT impliquent quatre acteurs principaux comme indiqué
dans le tableau suivant :

Rôle Les fonctions

Un administrateur doit avoir la possibilité d'ajouter un compte


Administrateur
utilisateur. Mettez-le également à jour et arrêtez-le. De plus, il peut
consulter tous les utilisateurs dans un tableau avec tous les détails
nécessaires et en rechercher un en particulier.

Un agent de numérisation est celui qui est chargé d'importer et de


Agent de
stocker les documents bruts afin qu'ils puissent être traités par la suite.

numérisation Il peut également consulter ses statistiques sur le nombre de


documents qu'il a réussi à importer ou n'a pas réussi à importer avec
d'autres détails.

Le rôle de l'agent de dactylographie est de dactylographier les


Agent de
documents que l'OCR n'a pas pu identifier. L'agent de saisie intervient
dactylographie
dans le processus et saisit manuellement les documents pour couvrir
manuelle
la défaillance de la couche d'intelligence artificielle. Après, ce
document sera archivé et stocké dans la base de données

JUN B.2.2 : Équipe Scrum


19

2.3.2 Diagramme de cas d'utilisation général


20

FIG.2.1 : Diagramme de cas d'utilisation global

2.4 Gestion de projet avec Scrum

La gestion de notre application avec scrum rend notre travail finement réglé et hautement
organisé. Chaque membre de l'équipe aura un rôle spécifique avec une date de livraison
précise, suite à des réunions régulières et quotidiennes pour être le plus cohérent et cohérent
possible.

2.4.1 Équipe Scrum


21
Pour notre application, les rôles sont répartis comme suit :

Rôles Scrum Personnes concernées

Propriétaire du M. Mohamed Essid


produit

Maître de M Riadh Craiet


mêlée

Équipe de Mme Ghada Khedri et Mme Oumaima chargui


développement

Équipe de science M. Khaled Haguiga et Mme Yasmine Boussaadoun


des données

Équipe Équipe Devops M. Mohamed Lataief

UX/UI M. Jawher Hamdi

AQ M. Foulen le Foulen

JUN B.2.4 : Équipe Scrum

2.4.2 Carnet de produit

Le backlog produit contient l'ensemble des besoins clients prioritaires qui déterminent les
fonctionnalités à implémenter.

Le tableau ci-dessous présente le backlog produit contenant les fonctions à réaliser dans notre
application. Revoir la mise en page du tableau ci-dessous
22

IDENTIFIAN Histoire de En tant Je veux ... Complexité Priorité


T l'utilisateur que/une...

Administrate Réinitialiser Moyen


ur mon mot de
passe
1
Numérisatio
n
1 réinitialiser le Réinitialiser Moyen

mot de passe mon mot de


passe
Agent

Agent de Réinitialiser Moyen


dactylographi mon mot de
e passe

Consulter la liste
des
Administrate Faible
ur

utilisateurs

Administrate Ajouter un Moyen


2 Gestion des ur nouvel utilisateur
utilisateurs
1
Mettre à jour un
existant utilisateur
Administrate Moyen
ur

Supprimer un
existant utilisateur
Administrate Faible
ur
23

Rechercher un
particulier
Administrate Moyen
utilisateur
ur

Envoie
automatiquement
un email à
l'utilisateur créé qui
contient son

Administrate mot de passe Moyen


ur généré

Numérisatio Importer brut


Document brut n
3 Haut
2
gestion documents
Agent

Consulter en
temps réel le
processus de
Agent de
document brut
numérisati
importé Moyen
on

Consulter les
détails sur les
documents
bruts qui ont
échoué
Agent de
numérisati processus Moyen
on d'importation
24

Utiliser
l'OCR pour
taper
Agent de automatique
numérisati ment raw Haut
on documents

Consulter le
nombre de
documents
bruts que j'ai
Statistiqu réussi à
Agent de
es des
numérisati importer Moyen
documen
on
ts
4 numérisé 2
s

Consulter le
nombre de
documents
bruts que je
n'ai pas pu
Agent de
numérisati importer Moyen
on

Consulter
l'historique des
importations
Agent de documents
numérisati Moyen
on

Consulter les
25

Agen documents
t de non
dacty dactylographié
Gestion de logra Moyen
s par le
5 la saisie phie 3
ROC
manuelle manu
elle

Saisie Tapez les


manu documents non
elle dactylographié
s par Haut
Agent
l'OCR

JUN B.2.6 : Méthodes comparatives

2.5 Planification des sprints

Avant le début des sprints, le Product Owner, le Scrum master et l'équipe de


développement se réunissent pour partager la vision du projet et les objectifs associés.
L'équipe de développement sélectionne les éléments du Product Backlog en commençant par
les plus prioritaires. Chaque membre de l'équipe de développement estime le temps nécessaire
pour réaliser ses tâches sachant que la durée du sprint ne peut excéder 4 semaines. Notre
projet est composé de 3 sprints majeurs comme ci-dessous.

2.6 Environnement de travail

Dans cette section, nous décrirons l'environnement matériel et logiciel lié à la mise en
œuvre de l'application.
26

2.6.1 Environnement matériel

L'architecture matérielle utilisée pour la réalisation de l'application est la suivante :

PC portable Ordinateur portable de jeu HP Pavilion 15-dk1xxx

RAM 32 Go

CPU Processeur Intel(R) Core(TM) i5-10300 H à 2,50


GHz

Stockage SK hynix BC511 HFM512GDJTNI-82A0A 500GO

Système opérateur Windows 10 pro

JUN B.2.8 : Spécifications du portable

2.6.2 Environnement logiciel

Outils de développement et de modélisation :

Code de studio visuel1est un éditeur de code qui prend en charge plusieurs langages de programmation.
Avec Visual studio code, vous avez la possibilité d'installer un certain nombre d'extensions. ce qui le rend
personnalisable, flexible et accélère également le processus de codage. Nous utilisons les extensions
Typescript, Javascript, CSS, Angular et git sur notre éditeur. Cela peut nous aider beaucoup dans l'écriture
de code propre et réutilisable.

FIG.2.2 : Logo du code Visual studio.


27

Visual Studio2est un IDE Microsoft. Nous utilisons ce logiciel pour créer notre API. Il s'intègre parfaitement
à nos technologies. Ce qui le rend bien équipé , c'est le fait que nous pouvons écrire du code à l'aide d'un
IntelliSense qui nous guide sur chaque ligne. Le débogueur Visual Studio nous aide également beaucoup
dans la phase de débogage. Nous avons accès à la documentation et à plusieurs autres outils qui nous aident
à livrer un bon produit.

FIG.2.3 : Logo de Visual studio.

1
Code studio visuel :https://code.visualstudio.com 2Visual Studio :https://visualstudio.microsoft.com/fr/
28

Paradigme visuel3 est un outil logiciel pour construire des cas UML. Visual Paradigm
contient plusieurs conceptions et composants prédéfinis prêts à l'emploi. Tous nos dessins
UML ont été réalisés avec un logiciel.

FIG.2.4 : Logo de Visual studio.

Facteur4 est une bibliothèque graphique disponible dans plusieurs langages de


programmation, dont Typescript que nous utilisons pour construire notre interface. Cela nous
permet de créer des graphiques précis pour notre utilisateur.

FIG.2.5 : Logo du facteur.

PostgresqlName5 est un système de gestion de bases de données relationnelles orienté objet.


C'est l'outil que nous utilisons pour stocker des données en toute sécurité. Il est gratuit et
open-source.

FIG.2.6 : Logo de Postgresql.


29

3
Paradigme visuel :https://www.visual-paradigm.com
4
Facteur :https://www.postman.com
5
Postgresql :https://www.postgresql.org
6
Documents C# :https://learn.microsoft.com/en-us/dotnet/csharp/

Langages de programmation C#6 est un langage de programmation orienté objet. Il est utilisé
pour construire toutes sortes de choses. Tels que Windows, Web, applications mobiles et plus
encore. Dans notre cas, nous utilisons C # pour construire
Applications Web .NET Core. Nous parlerons plus de .Net dans la section framework.

FIG.2.7 : Logo de C#.

Manuscrit7est un langage de programmation. C'est aussi la version stricte de Javascript. Il est maintenu et
construit par Microsoft . Nous utilisons Typescript pour créer de grandes applications comme la nôtre. Plus
précisément, nous codons notre composant web Angular à l'aide de Typescript . Nous parlerons également
d'Angular dans la section framework .

FIG.2.8 : Logo de Tapuscrit.

HTML8 est le squelette du côté client de notre plateforme. Avec HTML, nous pouvons concevoir la façon
dont le navigateur affichera les multiples éléments Web dont nous parlerons plus tard dans ce rapport.
30

FIG.2.9 : Logo du HTML.

7
Documentation dactylographiée :https://www.typescriptlang.org/docs/
8
Documentation HTML :https://developer.mozilla.org/en-US/docs/Web/HTML
31

CSS9 est l'abréviation de Cascading Style Sheets qui est également un langage de balisage
utilisé avec HTML. Nous l'avons utilisé pour traduire les interfaces développées par notre
concepteur UX/UI en interfaces Web réelles.

FIG.2.10 : Logo du CSS.

Frameworks et librairies :

.NET Coredix est un framework conçu et maintenu par Microsoft. Il est gratuit, open source et
multiplateforme. Nous l'utilisons principalement pour le développement de notre API web.

FIG.2.11 : Logo de .Net Core.

Cadre d'entité11 est le nom de l'ORM officiel de notre framework .NET core . Il est
également développé par Microsoft. Nous l'utilisons pour nous aider à cartographier les
différents objets C# et classe aux tables de bases de données relationnelles. Son rôle principal
est de conserver les données.
32

FIG.2.12 : Logo du framework Entity.

Primeng12 est une bibliothèque de composants d'interface utilisateur. Il contient un


composant angulaire pré-construit prêt à l'emploi. Nous utilisons cette bibliothèque pour créer
nos interfaces web afin d'améliorer l'expérience utilisateur.

FIG.2.13 : Logo de Primeng.

fanfaronnade13 est une bibliothèque qui nous aide à créer, consommer des API RESTful,
tester et même documenter votre code. Cela nous aide également à garder notre code fort,
réutilisable et facile à entretenir.

FIG.2.14 : Logo de Swagger.

Envoyer la grille14 est une plate-forme basée sur le cloud qui fournit plusieurs services tels
33
que la livraison d'e-mails, de SMS et bien d'autres. La rapidité et l'efficacité de Sendgrid nous
ont conduit à la choisir. Nous l'utilisons pour de multiples fonctions de notre plate-forme,
principalement l'envoi d'e-mails aux utilisateurs afin de les tenir informés.

FIG.2.15 : Logo de Sendgrid.

12
Documentation principale :https://www.primefaces.org/primeng/
13
Documentation fanfaronnade :https://swagger.io
14
Site Web de Sendgrid :https://sendgrid.com
34

ApexCharts15 est une bibliothèque graphique disponible dans plusieurs langages de


programmation, dont Typescript que nous utilisons pour construire notre interface. Cela nous
permet de créer des graphiques précis pour notre utilisateur.

FIG.2.16 : Logo d'ApexCharts.

ServiteurMini-site https://min.io est une bibliothèque graphique disponible dans plusieurs


langages de programmation, dont Typescript que nous utilisons pour construire notre
interface. Cela nous permet de créer des graphiques précis pour notre utilisateur.

FIG.2.17 : Logo de MinIO.

2.7 Architecture

2.7.1 Architecture physique


35

15
Site internet d'Apexchart :https://apexcharts.com
11
Cadre d'entité :https://www.entityframeworktutorial.net
36

FIG.2.18 : Schéma de déploiement

2.7.2 Architectures applicatives

Du côté serveur, nous avons utilisé l'architecture Clean. Il a trouvé de nombreux noms au fil
des ans. L'un des premiers noms était Hexagon Architecture. Plus récemment, on l'a appelée
architecture Onion ou architecture propre. Cette raison principale pour laquelle nous avons
utilisé cette architecture est pour sa :

• Maintenabilité améliorée car tous les codes dépendent des couches ou des centres.

• Meilleure stabilité car le test unitaire peut être créé pour des couches distinctes sans
effet des autres modules d'application.
37
• Application faiblement couplée car la couche externe de l'application communique toujours
avec la couche interne via des interfaces.
38

Côté client, puisque nous utilisons Angular Framework, notre architecture côté client est
MVVM. Ce qui signifie également Model-View-ViewModel. C'est un modèle de conception
structurelle qui décompose les objets en trois groupes distincts :

• Des modèles qui contiennent des données d'application.

• Vues qui affichent des composants visuels et des commandes.

• Voir les modèles qui transforment les informations du modèle en valeurs pouvant être
affichées sur une vue

Nous avons utilisé Angular car cela facilite grandement le développement parallèle de
l'interface utilisateur et des éléments de base.

2.7.3 Modèles de conception

Les modèles de conception sont très importants pour créer des applications Web
évolutives, maintenables et sécurisées. Ce sont des solutions générales aux problèmes de
conception qui se répètent à maintes reprises dans de nombreux projets, également appelées
bonnes pratiques. Côté serveur et côté client, nous avons utilisé plusieurs design patterns tels
que :

• Motif SOLIDE qui est un ensemble de cinq principes adaptés à la programmation


informatique orientée objet. Il vise à rendre la conception de logiciels plus compréhensible,
flexible et maintenable. Nous utilisons également ce modèle pour nous assurer que nos
classes et composants sont aussi réutilisables que possible. Cette conception est
implémentée côté client ainsi que côté serveur.

• Injection de dépendance est un modèle de conception important pour développer de


grandes applications efficaces et évolutives. L'attribution de la responsabilité de la
création d'instances à un système externe appelé "l'injecteur" facilite notre travail de
développement et de test. L'injection de dépendances est utilisée côté client et côté
39
serveur.

• Médiateur est un modèle de conception comportemental. Le but principal de


l'utilisation de ce modèle de conception est le fait qu'il nous fait réduire les dépendances
anarchiques entre objets. Il est mis en œuvre. Il est implémenté côté serveur avec
CQRS.

• CQRS :signifie Command Query Responsibility Segregation. Ce pattern sépare les


opérations de lecture et d'écriture, ce qui explique son utilisation avec le pattern
Mediator. L'un des avantages de CQRS est l'évolutivité, la performance et la simplicité.

• Dépôt Est un célèbre design patterns en C# . C'est l'un des modèles de conception les
plus utilisés qui est devenu presque essentiel pour la mise en œuvre dans chaque
application Web. Nous l'avons utilisé pour isoler entre le reste de l'application et la
logique d'accès aux données.

• Unité de travail est un modèle de conception très important dans notre application.
Avec l'aide du référentiel, ils créent à la fois une couche d'abstraction entre la couche
d'accès aux données et la couche métier logique. L'unité de travail nous évite un
mauvais phénomène, qui se produit souvent dans les grandes applications Web. Ce
phénomène est appelé mise à jour partielle qui peut ruiner la structure de notre base de
données en phase de développement.

• DTO est un modèle de conception d'architecture. Nous avons utilisé ce modèle de


conception pour extraire plusieurs modèles à partir d'un seul. Cela facilite la
communication entre deux systèmes sans exposer potentiellement des informations
sensibles (par exemple, le mot de passe dans le modèle utilisateur). La mise en forme et
le formatage des données sont extrêmement importants pour la sécurité des
applications.
40

2.8 Conclusion

Dans ce chapitre, nous avons planifié notre travail, identifier les besoins fonctionnels et
non fonctionnels de notre application, les rôles des acteurs, puis nous avons présenté l'équipe
scrum et le backlog de notre système. Nous avons donc détaillé la phase de planification des
sprints. Enfin nous avons choisi l'architecture de notre projet ainsi que notre environnement
de travail
41

Chapitre 3

Sprint 1
42

3.1 Introduction

Après avoir précisé les besoins et le planning du projet, ce chapitre est consacré à la
présentation des étapes franchies dans la réalisation du premier sprint. Pour ce faire, nous
présenterons dans un premier temps le backlog du sprint, puis nous détaillerons la conception
de chaque étape suivie de sa réalisation.

3.2 Carnet de sprint 1

Après avoir défini le but de notre sprint, nous devons décider quelles histoires inclure.
Plus précisément, quelles histoires de notre backlog de produit vont être incluses dans le
backlog du premier Sprint.
Ainsi le tableau ci-dessous décrit le backlog de notre premier sprint qui contient les tâches que
nous avons développées
JUN B.3.2 : arriéré du sprint 1

Estimatio
n
IDENTIFIA Histoires Descriptio
NT d'utilisateurs n

( jours )

En tant
qu'administrateur, je
veux pouvoir
1 Création d'une interface de
réinitialiser mon mot de
réinitialisation de mot de passe pour les
passe.
utilisateurs, puis développement d'une
5
En tant qu'agent de API d'envoi de mot de passe de
numérisation, je veux réinitialisation et enfin implémentation
pouvoir réinitialiser de l'API dans le front-end. hauteur
2
mon mot de passe.
43

En tant qu'agent de
dactylographie, je
souhaite pouvoir
3
réinitialiser mon
mot de passe.

En tant qu'administrateur,
je veux pouvoir créer un
nouveau
4 Créez une interface utilisateur
compte d'utilisateurs.
supplémentaire, puis développez une 3
API utilisateur supplémentaire et enfin
En tant qu'administrateur,
implémentez l'API dans le front-end.
je veux pouvoir envoyer
automatiquement un e-
mail à l'utilisateur créé qui
contient son nom
d'utilisateur et
mot de passe généré.
5

En tant qu'administrateur, Créer une interface utilisateur de mise à


je veux pouvoir mettre à jour
jour un compte utilisateur
6 Développer l'API d'ajout d'utilisateurs 2
spécifique

Implémenter l'API d'ajout d'utilisateur


dans le front-end

En tant qu'administrateur, Créer une interface utilisateur


je veux pouvoir interdire d'interdiction
un
7 Développer l'API d'ajout d'utilisateurs 1
compte utilisateur
spécifique
Implémenter l'API d'ajout d'utilisateur
44

dans le front-end
45

En tant qu'administrateur, Créer une interface utilisateur d'affichage


je veux pouvoir consulter
Développer l'API utilisateur d'affichage
tous
8 utilisateurs dans un tableau 1
Implémenter l'API utilisateur d'affichage
trié
dans le front-end

En tant qu'administrateur, je Créer une interface utilisateur de recherche


veux pouvoir rechercher un 1
Développer l'API utilisateur de recherche
compte utilisateur spécifique
9

Revoir la mise en page de tout le tableau


3.3 Cas d'utilisation du premier sprint

FIG.3.1 : Diagramme de cas d'utilisation du premier sprint


46

3.4 Analyse du cas d'utilisation du premier sprint


????????
47

3.5 Description des cas d'utilisation

3.5.1 Description du cas d'utilisation « Réinitialiser le mot de passe »

JUN B.3.6 : arriéré du sprint 1

Titre Réinitialiser le mot de passe

Objectif Réinitialiser le mot de passe du compte

Acteurs Administrateur , Agent de numérisation et Agent de


dactylographie

Pré-condition L'utilisateur doit déjà avoir un compte enregistré


48

1. L'utilisateur clique sur le mot de passe oublié


2. Le système affiche l'interface de réinitialisation du
mot de passe
3. L'utilisateur saisit son adresse e-mail et clique sur
le bouton de réinitialisation du mot de passe
4. Le système envoie un e-mail au même utilisateur qui
contient un lien de réinitialisation
5. L'utilisateur clique sur le lien de réinitialisation
et est directement redirigé vers l'interface de
réinitialisation du mot de passe
6. L'utilisateur tape son nouveau mot de passe et le
confirme
7. Le système enregistre les modifications et
Scénario nominal connecte l'utilisateur à son interface
49

État de la poste Le mot de passe est réinitialisé

3.a Erreur de validation de l'e-mail

3.a.1 Le système affiche un message d'erreur

3.a.2 Le système revient à l'étape numéro 2

Scénario alternatif 3.b L'e-mail n'existe pas

3.b.1 Le système affiche le message d'erreur "Il n'y a


pas d'utilisateur avec un tel e-mail"
3.b.2 Le système revient à l'étape numéro 2

3.5.2 Description du cas d'utilisation « Ajouter un utilisateur »

JUN B.3.8 : arriéré du sprint 1

Titre Ajouter un utilisateur

Objectif Ajouter un nouvel utilisateur

Acteurs Administrateur

Pré-condition L'administrateur doit être authentifié


50

1. Demandes de l'administrateur pour l'interface de gestion des


utilisateurs
2. Le système affiche l'interface de gestion des utilisateurs
3. L'administrateur clique sur le bouton "Ajouter un nouvel
utilisateur"
4. Le système affiche le formulaire d'ajout d'utilisateur
5. L'administrateur saisit les informations de l'utilisateur et valide son
choix
6. Le système ajoute l'utilisateur dans la base de données
Scénario nominal 7. Le système lui envoie un e-mail contenant son nom
d'utilisateur et son mot de passe

État de la poste Un nouvel utilisateur est ajouté

5.a Erreur de champs invalides

5.a.1 Le système affiche un message d'erreur invalide

5.a.2 Le système revient à l'étape numéro 4

Scénario alternatif

5.b L'utilisateur existe déjà

5.b.1 Le système affiche un message d'erreur

5.b.2 Le système revient à l'étape numéro 4


51

3.5.3 Description du cas d'utilisation « Mettre à jour l'utilisateur »

JUN B.3.10 : carnet de commandes du sprint 1

Tit Mettre à jour l'utilisateur


re

Objectif Mettre à jour un utilisateur existant

Acteurs Administrateur

Condition L'administrateur doit être authentifié


préalable

1. Demandes de l'administrateur pour l'interface de gestion des


utilisateurs

2. Le système affiche l'interface de gestion des utilisateurs

3. L'administrateur clique sur le bouton avec l'icône de mise à


jour sur l'utilisateur qu'il souhaite mettre à jour

4. Le système affiche le formulaire utilisateur de mise à jour


Scénario nominal

5. L'administrateur saisit les informations de l'utilisateur et valide son


choix

6. Le système met à jour l'utilisateur dans la base de données

7. Le système lui envoie une notification indiquant le succès de


52
l'action

État de la poste L'utilisateur existant est mis à jour


53

3.6 Diagrammes de séquence des cas d'utilisation

3.6.1 Diagramme de séquence du cas d'utilisation « Réinitialiser le mot de passe »


(mise en page)

FIG.3.2 : Diagramme de cas d'utilisation du premier sprint

3.6.2 Diagramme de séquence du cas d'utilisation « Ajouter un utilisateur »


54

FIG.3.3 : Diagramme de cas d'utilisation du premier sprint

3.6.3 Diagramme de séquence du cas d'utilisation « Mettre à jour l'utilisateur »


55

FIG.3.4 : Diagramme de cas d'utilisation du premier sprint

3.7 Descriptif des interfaces :

3.7.1 Description de l'interface « Réinitialiser le mot de passe »


Trop d’espace vide!!!!
56

FIG.3.5 : Réinitialiser le mot de passe première étape

L'image décrit la première étape de la procédure de réinitialisation du mot de passe. Cette


plate-forme montre l'entrée où l'utilisateur peut taper son email du compte existant dont il a
oublié le mot de passe. Même si l'utilisateur tape un e-mail à partir d'un compte qui n'existe
pas, l'étape réussit quand même. Une fenêtre contextuelle apparaît juste après avoir dit que l'e-
mail a été envoyé avec succès. Ce comportement est fait dans le but de protéger les
utilisateurs contre les pirates. La plateforme ne doit donner aucune information sur le fait que
l'utilisateur existe ou non.
57

FIG.3.6 : Réinitialiser le mot de passe deuxième étape

La figure de la deuxième étape, décrit l'e-mail envoyé. Un e-mail sera envoyé


immédiatement à l'utilisateur essayant de récupérer son compte. Juste après avoir cliqué sur le
lien , l'utilisateur sera redirigé vers le dernier chiffre ci-dessous.
58
FIG.3.7 : Réinitialiser le mot de passe troisième étape
59

La dernière étape consiste à définir un nouveau mot de passe pour le compte. Le mot de
passe doit être différent du dernier. Après avoir soumis , l' utilisateur sera redirigé vers son
espace .

3.7.2 Description de l'interface « Ajouter un utilisateur »

FIG.3.8 : Ajouter un compte utilisateur

Cette image décrit la procédure pour vous ajouter. En tant qu'administrateur, je peux
ajouter des utilisateurs. Cette boîte de dialogue contient les champs obligatoires pour ajouter
un utilisateur. Le mot de passe sera généré automatiquement. Après avoir saisi les champs et
défini le rôle, l'administrateur peut soumettre l'appel et l'utilisateur sera créé. Un mail
contenant le mot de passe généré sera envoyé à cet utilisateur. Ensuite, l'utilisateur peut
modifier son mot de passe dans son espace s'il le souhaite.

3.7.3 Description de l'interface « Mettre à jour l'utilisateur »


60

FIG.3.9 : mise à jour du compte utilisateur

Un administrateur peut mettre à jour les métadonnées d'un compte d'utilisateur


spécifique. L'administrateur peut cliquer sur l'utilisateur qu'il souhaite mettre à jour, et
cette boîte de dialogue apparaîtra. Les champs sont déjà remplis avec les anciennes
données si l'administrateur souhaite mettre à jour un seul champ.
61

Chapitre 4

Sprint 2
62

4.1 Introduction

Ce chapitre est consacré à la présentation des étapes franchies lors du premier sprint. Pour
ce faire, nous commencerons par présenter le backlog du sprint, puis nous détaillerons la
conception de chaque étape suivie de sa réalisation. Enfin, nous présenterons et décrirons les
interfaces avec la plateforme.

4.2 Carnet de sprint 2

Après avoir défini le but de notre sprint, nous devons décider quelles histoires inclure.
Plus précisément, quelles histoires de notre backlog de produit vont être incluses dans le
backlog du premier Sprint. (ont été ou vont être??.... Premier ou deuxième sprint??)
Ainsi le tableau ci-dessous décrit le backlog de notre premier sprint qui contient les tâches que
j’ai développées :
JUN B.4.2 : arriéré du sprint 2

Estimation
( jours )
IDENTIFIAN Histoires Descriptio
T d'utilisateurs n

En tant qu'agent Créer une interface utilisateur d'importation 1


de numérisation,
Développer l'API d'importation 2
je souhaite
1 pouvoir importer
Implémenter l'API d'importation dans le front- 2
des données
end
brutes
documents.

En tant qu'agent
de numérisation,
je souhaite
pouvoir utiliser
63
2 Implémenter l'OCR dans notre fonction 2
l'OCR pour taper
d'importation
automatiquement
raw documents.

Créer les détails des documents bruts importés


interface
En tant qu'agent de
numérisation, je
souhaite pouvoir Développer l'API
3 2
consulter les détails
des documents bruts Mettre en œuvre l'import de documents bruts

qui ont échoué au API dans le front-end

processus
d'importation.

Créer les détails des documents importés en

En tant qu'agent de temps réel interface


numérisation, je
souhaite pouvoir Développer l'API
4 1
consulter en temps réel
le processus Implémenter l'API dans le front-end

En tant qu'agent de
numérisation, je
souhaite pouvoir
5
consulter les
échec des documents
bruts importés

En tant qu'agent de
numérisation, je veux
pouvoir consulter le
6 Créer une interface de statistiques,
succès 3
développer son API et l'implémenter
64
documents bruts dans le front-end
importés

En tant qu'agent de
numérisation, je veux
pouvoir consulter
7 l'historique
de documents importés
65

4.3 Cas d'utilisation du deuxième sprint

FIG.4.1 : Diagramme de cas d'utilisation du premier sprint

4.4 Analyse du cas d'utilisation du deuxième sprint

4.5 Description des cas d'utilisation

4.5.1 Description du cas d'utilisation « Importer des documents »


66

JUN B.4.4 : arriéré du sprint 1

Titre Importer un document


67

Objectif Importer des documents bruts afin qu'ils puissent être


ajoutés au cycle

Acteurs Agent de numérisation

Pré-condition L'agent de numérisation doit être authentifié

1. Demandes de l'administrateur pour l'interface d'importation de


documents bruts

2. Le système affiche l'interface d'importation de documents bruts

3. La numérisation cliquez sur le bouton d'importation et


sélectionne les documents bruts qu'il souhaite télécharger

4. L'agent de numérisation confirme son choix et la mise en


Scénario nominal
ligne démarre

5.Lorsque le processus de téléchargement est terminé, une notification


de réussite s'affiche.

État de la poste Les documents bruts sont importés

4.a Erreur de format incorrect


Scénario alternatif 4.a.1 Le système affiche une erreur indiquant à l'utilisateur que seul le
format PDF est acceptable
4.a.2 Le système revient à l'étape numéro 2

4.5.2 Description de la « Consulter l'historique des documents importés


68
" cas d'utilisation
69

JUN B.4.6 : arriéré du sprint 1

Tit Consulter l'historique du document important


re

Objectif Consultez cet historique de document importé afin de


faire ?????

Acteurs Agent de numérisation

Pré-condition L'agent de numérisation doit être authentifié

1. Demandes de l'administrateur pour l'interface de gestion des


utilisateurs

2. Le système affiche l'interface de gestion des utilisateurs

3. L'administrateur clique sur le bouton avec l'icône de mise à


jour sur l'utilisateur qu'il souhaite mettre à jour
4. Le système affiche le formulaire utilisateur de mise à jour

Scénario nominal
5. L'administrateur saisit les informations de l'utilisateur et valide son
choix

6. Le système met à jour l'utilisateur dans la base de données


7. Le système lui envoie une notification indiquant le succès de
l'action

État de la poste Les documents bruts sont importés


70

4.6 Diagrammes de séquence du cas d'utilisation

4.6.1 Diagramme de séquence du cas d'utilisation « Importer des documents »


71

FIG.4.2 : Diagramme de cas d'utilisation du premier sprint

4.7 Descriptif des interfaces :

Après avoir parlé des diagrammes de séquence, nous essaierons de les traduire en
interfaces en décrivant chacune avec un petit paragraphe et une image qui lui est liée.

4.7.1 Description de l'interface « Importer un document »

Cette image décrit le processus dans lequel vous pouvez télécharger plusieurs documents
afin de les saisir manuellement. Cette fonction n'est accessible qu'en tapant agent.
72

FIG.4.3 : Importer des documents bruts

4.7.2 Description de l'option « Consulter l'historique des documents importés»


interface

Après avoir cliqué sur le bouton "Télécharger", tous les documents seront filtrés et
téléchargés. Seules les images peuvent être téléchargées dans un format et une taille
spécifiques. Vous pouvez afficher l'historique des documents téléchargés comme illustré dans
l'image. S'il y a des documents rejetés dans le processus de téléchargement, ils apparaîtront
également dans l'historique.
73

FIG.4.4 : Consulter l'historique des documents bruts importés


74

Chapitre 5

Sprint 3
75

5.1 Introduction

Tous les sprints ont une durée constante et ne se chevauchent jamais. En d'autres termes,
un sprint ne peut pas démarrer tant que le précédent n'est pas terminé. C'est pourquoi le
premier est très important, car son impact est crucial pour l'avancement du projet.

5.2 Carnet de sprint 3

Après avoir défini le but de notre sprint, nous devons décider quelles histoires inclure.
Plus précisément, quelles histoires de notre backlog de produit vont être incluses dans le
backlog du premier Sprint.
Ainsi le tableau ci-dessous décrit le backlog de notre premier sprint qui contient les tâches que
j’ai développées:
JUN B.5.2 : arriéré du sprint 3

Estimatio
n
IDENTIFIA Histoires Description
NT d'utilisateurs

( jours )

En tant que Créer une interface


dactylographe manuel, d'affichage
je souhaite pouvoir
1 Développer l'API 3
consulter des documents
que l'OCR n'a pas réussi
Implémenter l'API dans le front-
à taper
end

En tant qu'agent de Créer une interface de saisie


saisie manuelle, je manuelle
76

souhaite pouvoir Développer une API de saisie


saisir des manuelle
2 8
documents non
Implémenter l'API de saisie
reconnus
par l'OCR manuelle dans la partie avant
77

5.3 Cas d'utilisation du troisième sprint

FIG.5.1 : Diagramme de cas d'utilisation du troisième sprint

5.4 Analyse du cas d'utilisation du troisième sprint

5.5 Description du cas d'utilisation


78
5.5.1 Description du cas d'utilisation « Document de type manuel »

JUN B.5.4 : arriéré du sprint 1

Titre Saisie manuelle


79

Objectif Tapez manuellement les documents que l'OCR n'a pas


réussi à taper

Acteurs Agent de dactylographie manuelle

Pré-condition L'agent de saisie manuelle doit être authentifié

1. Demandes d'agent de saisie manuelle pour l'interface de saisie


manuelle

2. Le système affiche une interface de saisie manuelle

3. L'agent clique sur le bouton qui pointe vers un type de


document spécifique
4. Une pop-up apparaîtra sur laquelle l'agent devra soit confirmer
son choix, soit annuler

Scénario nominal 5.Une fois que l'utilisateur a confirmé son choix, une notification de
réussite s'affiche.
sera affiché et le système vous donnera un autre document à taper et le
processus sera répété

État de la poste Le document sera dactylographié

4.a L'utilisateur clique sur le bouton d'annulation

Scénario alternatif

4.a.1 Le système revient à l'étape numéro 2


80

5.5.2 Description du cas d'utilisation « Rejeter le document »

JUN B.5.6 : arriéré du sprint 1

Titre Refuser un document

Objectif Rejeter un document si son type n'est pas mentionné

Acteurs Agent de dactylographie manuelle

Pré-condition L'agent de saisie manuelle doit être authentifié

1. Demandes d'agent de saisie manuelle pour l'interface de saisie


manuelle

2. Le système affiche une interface de saisie manuelle

3. L'agent clique sur le bouton de rejet du document


4. Une pop-up apparaîtra sur laquelle l'agent devra soit confirmer
son choix, soit annuler
5.Une fois que l'utilisateur a confirmé son choix, une notification de

Scénario nominal réussite s'affiche.


sera affiché et le système vous donnera un autre document à taper et le
processus sera répété

État de la poste Le document sera dactylographié

4.a L'utilisateur clique sur le bouton d'annulation

Scénario alternatif

4.a.1 Le système revient à l'étape numéro 2


81

5.5.3 Diagramme de séquence du cas d'utilisation « Document de type


manuel »

FIG.5.2 : Diagramme de cas d'utilisation du premier sprint

5.6 Descriptif des interfaces

5.6.1 Description de l'interface « Document de type manuel »

En tant qu'agent de saisie manuelle, vous disposerez d'une interface, tout-en-un, prête à l'emploi. Le grand
écran affichera tous les documents existants, non dactylographiés. L'agent choisira à chaque fois un type
82
pour le document représenté par les boutons ci-dessous. Après avoir cliqué sur le bouton, une pop-over de
confirmation apparaîtra afin de sauvegarder l'utilisateur en cas de panne.

Lors de la confirmation, le document suivant s'affiche automatiquement, afin de continuer la tâche de


saisie.

FIG.5.3 : Diagramme de cas d'utilisation du premier sprint


83

Conclusion & perspectives


84

Conclusion générale
il faut synthétiser avant de commencer à parler des différents sprints

Le premier sprint a permis de poser les bases du système de gestion documentaire,

avec la mise en place du module d'authentification et du module de gestion des utilisateurs. Ces

assurent la sécurité et la confidentialité des données tout en permettant aux utilisateurs d'accéder aux
documents qu'ils ……..

besoin.

Le deuxième sprint était dédié à la mise en place du module de numérisation et du module de saisie. Ces

modules ont amélioré l'efficacité du processus de classification des documents en permettant aux utilisateurs
de …….

entrer directement les informations dans le système après qu'elles aient été traitées par OCR.

Enfin, le troisième sprint a implémenté le module statistique, qui permet aux utilisateurs de visualiser
les statistiques liées à leur processus de gestion des documents. Ce module offre une grande flexibilité et
permet aux utilisateurs de …..

adapter leur processus de gestion documentaire en fonction des résultats obtenus.

En conclusion, les trois sprints réalisés dans le cadre de ce projet ont permis à la

mise en place d'un système complet et efficace de gestion documentaire dans les banques. Le différent

les modules qui composent cette plateforme offrent une grande flexibilité et permettent aux utilisateurs
de gérer leurs documents en toute sécurité tout en améliorant l'efficacité du processus de classification
des documents.
85
86

Points de vue (plutôt utiliser le terme perspectives)

Concernant les perspectives de ce projet, je crois qu'il y a plusieurs pistes à explorer. Dans un
premier temps, il serait intéressant de développer des fonctionnalités supplémentaires pour le
module statistique, afin de permettre aux utilisateurs d'obtenir une analyse plus approfondie de
leur processus de gestion documentaire. De plus, il serait possible d'intégrer des fonctionnalités
de reconnaissance vocale ou de reconnaissance d'écriture manuscrite pour faciliter davantage la
saisie de données dans le système.

En outre, il serait possible d'étendre l'utilisation du système de gestion de documents à d'autres


secteurs au-delà du secteur bancaire. En effet, ce système pourrait être adapté pour d'autres
types d'entreprises qui ont besoin de gérer efficacement leurs documents tout en assurant la
sécurité et la confidentialité des données.

Enfin, il serait possible d'améliorer encore l'efficacité du processus de classification des


documents en utilisant des techniques d'apprentissage automatique ou de traitement du langage
naturel. Ces techniques permettraient au système de reconnaître automatiquement les
informations contenues dans les documents et de les classer en conséquence.

En résumé, je crois que ce projet offre de nombreuses perspectives intéressantes pour l'avenir,
et qu'il est possible d'améliorer encore le système de gestion documentaire présenté en
explorant ces différentes pistes.
87

Évaluation personnelle (ce paragraphe est à mettre à la fin de la partie


conclusion sans mettre l’intitulé évaluation personnelle)

Concernant mon appréciation personnelle de ce projet, je suis convaincu que le système de


gestion documentaire présenté est une solution efficace pour les banques qui cherchent à
améliorer leur processus de gestion documentaire tout en assurant la sécurité et la
confidentialité des données. Les différents modules qui composent cette plateforme offrent
une grande flexibilité et permettent aux utilisateurs de gérer leurs documents en toute sécurité.
De plus, l'utilisation de l'OCR et la possibilité pour les utilisateurs de saisir directement des
informations dans le système améliorent considérablement l'efficacité du processus de
classification des documents. Enfin, le module statistique offre une grande flexibilité et
permet aux utilisateurs d'adapter leur processus de gestion documentaire en fonction des
résultats obtenus. En résumé, je suis convaincu que ce système est une solution efficace pour
les banques qui cherchent à améliorer leur processus de gestion documentaire tout en
garantissant la sécurité et la confidentialité des données.

Vous aimerez peut-être aussi