Vous êtes sur la page 1sur 106

Dédicaces

Du fond de mon coeur, je dédie ce travail à :

Mon père Belgacem GHARSALLAH, pour les sacrifices qu’il a consentis pour mon
éducation et pour l’avenir qu’il n’a cessé d’offrir.

Ma tendre chère mère Henia FELLAH, pour son amour inconditionnelle, sa grande
affection, sa patience illimitée, son encouragement continu, son aide, en témoignage de son
profond amour et respect pour ses grands sacrifices.

Mes chers frères Fethi, Abdelmajid et Mouadh et Mes chers soeurs Mounira, Houda,
Afef et Fadwa pour leur grand amour et leur soutien qu’ils trouvent ici l’expression de ma
haute gratitude. Que Dieu vous garde en sécurité et vous mène à un chemin plein de succès.

A mes chers amis qui m’ont aidé, encouragé, apprécié mon effort et crée le milieu favorable,

l’ambiance joyeuse et l’atmosphère joviale pour me procurer ce travail.

Je dédie ce modeste rapport

Youssef

i
Remerciements

Je souhaite, à travers cette page, rendre hommage à tous ceux, qui ont
contribué à la réalisation de ce travail. Je tiens avant tout, à adresser mes

plus vifs remerciements à Mr Tarek Ayari, mon encadreur, pour son suivi et
ses conseils judicieux ainsi que ma gratitude pour son soutien pour la

réalisation de ce projet.

Je viens également exprimer ma plus grande reconnaissance à Mme Hela

Kastalli qui m’a proposé ce sujet et m’a aidé à y voir clair dans la
compréhension du sujet, de m’avoir guidé durant ce projet avec ses conseils de

valeur et son partage de son expertise, ainsi qu’à tous les membres de l’équipe
New Access pour l’extrême gentillesse et sympathie qu’ils ont bien voulu

manifester à mon égard, je prodigue à tous, et à chacun à sa manière, les


bienveillantes directives dont j’avais besoin pour mener à bien ce projet.

Je tiens d’autre part à remercier les respectables membres du jury d’avoir bien
voulu m’accorder de leur temps précieux pour commenter, discuter et juger

mon travail.

J’exprime, enfin, ma profonde reconnaissance à tout le corps enseignant


d’ESPRIT pour la qualité de la formation qu’ils m’ont donné durant nos trois

années d’études. Que les uns et les autres trouvent ici l’expression de ma
grande estime pour leur personne et de ma profonde considération pour leur

compétence professionnelle.

ii
Table des matières

Introduction générale 1

1 Contexte général 3

1.1 Cadre général du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Présentation de NEW ACCESS . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 Solutions de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Présentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.1 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4.1 Formalisme de modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4.2 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Analyse et spécification des besoins 12

2.1 Pilotage du projet avec Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Backlog du produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Etude des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.1 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4 Modélisations des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4.2 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . 21

2.4.3 Diagramme de classes global . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.5 Planification des sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Sprint 0 25

3.1 Environnement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

iii
3.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Architecture physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3.1 MVVM en Front-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3.2 Architecture MVC en Back-end : . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.4 Architecture logique globale : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4 Sprint 1 33

4.1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.1 Diagrammes de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3.1 Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.3.2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.5 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Sprint 2 46

5.1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.1 Diagrammes de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.3.1 Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.3.2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.5 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6 Sprint 3 61

iv
6.1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.2.1 Diagrammes de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.3.1 Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.3.2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.5 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

7 Sprint 4 72

7.1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

7.2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.2.1 Diagrammes de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7.3.1 Diagrammes de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7.3.2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

7.4 Rercherche dans l’espace document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

7.4.1 Traitement du langage naturel pour l’apprentissage automatique NLP . . . . 78

7.4.2 Phase de prétraitement : du texte aux données . . . . . . . . . . . . . . . . . 78

7.5 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

7.6 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Conclusion générale et perspectives 82

Annexes 83

Annexe 1. Gérer un sous-département . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Annexe 2. Diagramme de séquence «S’authentifier» . . . . . . . . . . . . . . . . . . . . . . 83

Annexe 3. Diagramme de séquence «Ajouter un département» . . . . . . . . . . . . . . . . 85

Annexe 4. Interface gérer département . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

v
Annexe 5. Gérer le questionnaire de besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Annexe 6. Raffinement du cas d’utilisation «Streaming live» . . . . . . . . . . . . . . . . . 86

Annexe 7. Interface de gestion de formation professionnelle . . . . . . . . . . . . . . . . . . 87

Annexe 8. Interface de gestion dde réponse au questionnaire de besoin . . . . . . . . . . . 88

Annexe 9. Statistiques des réponses du Questionnaire de besoin par question . . . . . . . . 89

Annexe 10. Gérer les inscriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Annexe 11. Plan d’intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Annexe 12. Diagramme de séquence « Publier un Plan de formation » . . . . . . . . . . . 91

Annexe 13. Diagramme de séquence « Inscription formation » . . . . . . . . . . . . . . . . 91

Annexe 14. Diagramme de séquence « Valider formation » . . . . . . . . . . . . . . . . . . 92

Annexe 15. Interface de gestion d’inscription formation . . . . . . . . . . . . . . . . . . . . 93

Annexe 16. Interface de gestion d’historique de formation . . . . . . . . . . . . . . . . . . 93

Annexe 17. Interface de gestion du plan d’intégration . . . . . . . . . . . . . . . . . . . . . 94

Annexe 18. Iinterface de gestion des réclamations . . . . . . . . . . . . . . . . . . . . . . 94

vi
Table des figures

1.1 Organigramme de New Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Cycle de vie SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2 Diagramme de classes global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.1 Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.2 Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.3 Architecture N-tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.4 Architecture MVVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.6 Architecture Logique de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1 Diagramme de cas d’utilisation du Sprint 1 . . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Raffinement du cas d’utilisation "Gérer les profils utilisateurs" . . . . . . . . . . . . . 36

4.3 Raffinement du cas d’utilisation "Gérer les départements" . . . . . . . . . . . . . . . 39

4.4 Diagramme de séquence «Ajouter un profil utilisateur» . . . . . . . . . . . . . . . . . 42

4.5 Diagramme de classe relatif au Sprint 1» . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.6 Interface «S’authentifier» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.7 Interface «Gestion utilisateurs» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1 Diagramme de cas d’utilisation du Sprint 2 . . . . . . . . . . . . . . . . . . . . . . . 49

5.2 Raffinement du cas d’utilisation « Gérer les formations » . . . . . . . . . . . . . . . . 52

5.3 Diagramme de séquence «Ajouter une formation» . . . . . . . . . . . . . . . . . . . . 56

5.4 Diagramme de séquence «Valider une formation» . . . . . . . . . . . . . . . . . . . . 57

5.5 Diagramme de classe relatif au sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.6 Formation suggérée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

vii
Table des figures

5.7 Formation proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.8 Questionnaire de besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.9 Streaming live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.1 Diagramme de cas d’utilisation du Sprint 3 . . . . . . . . . . . . . . . . . . . . . . . 63

6.2 Raffinement du cas d’utilisation « Gérer le plan de formation » . . . . . . . . . . . . 64

6.3 Diagramme de séquence « Ajouter un plan de formation » . . . . . . . . . . . . . . . 69

6.4 Diagramme de classe du Sprint 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.5 Plan de formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

7.1 Diagramme de cas d’utilisation du Sprint 4 . . . . . . . . . . . . . . . . . . . . . . . 74

7.2 Raffinement du cas d’utilisation «Gérer un document» . . . . . . . . . . . . . . . . . 75

7.3 Raffinement du cas d’utilisation « Gérer les réclamations » . . . . . . . . . . . . . . . 76

7.4 Diagramme de classe relatif au sprint 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 78

7.5 Vectoriser les données : N-grams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7.6 Gestion des documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.1 Raffinement du cas d’utilisation "Gérer un sous-département" . . . . . . . . . . . . . 83

8.2 Diagramme de séquence «S’authentifier» . . . . . . . . . . . . . . . . . . . . . . . . . 84

8.3 Diagramme de séquence «Ajouter un département» . . . . . . . . . . . . . . . . . . . 85

8.4 Interface «Gestion département» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.5 Raffinement du cas d’utilisation «Gérer le questionnaire de besoin» . . . . . . . . . . 86

8.6 Raffinement du cas d’utilisation «Streaming live» . . . . . . . . . . . . . . . . . . . . 87

8.7 Formation professtionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

8.8 Répondre questionnaire de besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.9 Statistiques des réponses du Questionnaire de besoin par question . . . . . . . . . . . 89

8.10 Raffinement du cas d’utilisation « Gérer les inscriptions » . . . . . . . . . . . . . . . 89

8.11 Raffinement du cas d’utilisation « Plan d’intégration » . . . . . . . . . . . . . . . . . 90

8.12 Diagramme de séquence «Publier un plan de formation» . . . . . . . . . . . . . . . . 91

viii
8.13 Diagramme de séquence « Inscription formation » . . . . . . . . . . . . . . . . . . . . 92

8.14 Diagramme de séquence « Valider inscription formation » . . . . . . . . . . . . . . . 92

8.15 Inscription formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

8.16 Historique des formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

8.17 Plan d’intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

8.18 Envoyer une réclamation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

ix
Liste des tableaux

2.1 Backlog du produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Planification des sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.1 Backlog du sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 Authentifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3 Ajouter un profil utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4 Activer un profil utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.5 Ajouter un département . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1 Backlog du sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 Créer un questionnaire de besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3 Afficher les statistiques des réponses par question . . . . . . . . . . . . . . . . . . . . 51

5.4 Ajouter formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.5 Valider formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.6 Streaming live . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.1 Backlog du produit du sprint 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.2 Créer un plan de formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.3 Publier le plan de formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.4 Inscription formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.5 Valider demande d’inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.6 Créer un plan d’intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7.1 Backlog du produit du sprint 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

7.2 Consulter document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

7.3 Ajouter réclamation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

x
Liste des abréviations

— API = Application Programming Interface

— HTTP = hyperText Transfer Protocol

— JSON = JavaScript Object Notation

— NLP = Natural Language Processing

— REST = Representational State Transfer

— TF-IDF = Term Frequency-Inverse Document Frequency

— UML = Unified Modeling Language

xi
Introduction générale

La formation professionnelle présente de nombreux bénéfices au sein de New Access. Elle


permet de développer, d’approfondir les compétences techniques tout en améliorant par ces bienfaits
le développement professionnel continu ainsi que la compétitivité et la croissance de l’entreprise.

Actuellement, le processus de formation est semi-automatisé car les interactions entre les
différents intervenants dans chaque département ne sont pas centralisées. Ceci engendre une perte
de temps et une mauvaise circulation des données entre les divers acteurs qui participent à une
formation. La formation se fait dans la majorité des cas en présentielle ce qui engendre une contrainte
du nombre de places limitées et du nombre de salles réduites.

Pour cette raison nous avons eu l’occasion d’accomplir notre projet de fin d’études au sein de
New Access. Notre mission consiste à concevoir et réaliser une application qui s’intitule « Plateforme
d’intégration des nouvelles recrues ». Ce travail a lieu au sein du département QA. Notre projet opte
à établir un processus de formation afin de mettre en place un système qui permettra aux utilisateurs
d’effectuer les diverses opérations du cycle de formation.

Notre rapport commence par un premier chapitre intitulé "Contexte générale" dans lequel
nous avons présenté l’organisme d’accueil ainsi que le contexte du projet et la méthodologie adoptée
tout au long du travail. Ensuite, nous avons mis un deuxième chapitre intitulé "Analyse et spécification
des besoins" dans lequel nous avons identifié nos besoins fonctionnels et non fonctionnels et nous
avons présenté l’analyse globale de notre projet. Dans un troisième chapitre intitulé "Sprint 0", nous
avons présenté les choix technologiques ainsi que l’architecture logique et physique afin de procéder
au développement de notre solution.

Après, dans les quatre autres chapitres, nous avons présenté quatre livrables qui sont des
parties majeurs de notre application. Ils représentent le module de gestion d’administration, la

1
Introduction générale

gestion de formation, la gestion du plan de formation et inscription et la gestion du questionnaire


d’évaluation et de documents. Nous allons tout au long de ce rapport expliquer, avec plus de détails,
les objectifs et le fonctionnement de ces quatre grands modules.

Enfin, le rapport se termine par une conclusion générale présentant une synthèse de notre
travail, ainsi que les perspectives futures.

2
Chapitre 1

Contexte général

Plan
1 Cadre général du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Présentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapitre 1. Contexte général

Introduction

Ce chapitre comprend tout d’abord une présentation sur la société accueillante au sein de
laquelle nous avons réalisé ce stage. Ensuite, nous discutons les systèmes de gestion de l’accueil
existants déjà que nous nous intéressons à critiquer pour identifier notre problématique et proposer
une solution. Enfin, nous introduisons le choix méthodologique adopté dans la réalisation du projet.

1.1 Cadre général du projet

Le travail présenté dans ce rapport a été effectué au sein de la société NEW ACCESS
dans le cadre d’un projet de fin d’études en vue de l’obtention du diplôme national d’ingénieur
en Informatique à l’Ecole supérieur privé d’ingénierie et de technologie(ESPRIT).

1.2 Organisme d’accueil

L’organisme d’accueil de ce stage est la société NEW ACCESS. Nous allons, dans cette partie,
le présenter et énumérer ses solutions

1.2.1 Présentation de NEW ACCESS

NEW ACCESS a été fondé en 2000 à Genève. Elle fournit des solutions logicielles Front-to-Back
agiles et évolutives dédiées aux secteurs de la banque privée. L’expertise de New Access consiste
à fournir aux banques, aux gestionnaires d’actifs et aux courtiers la solution logicielle la plus
adaptée et la plus fiable conçue pour répondre à leurs besoins. La société est présente à l’échelle
mondiale avec des bureaux en Tunisie, Suisse, Singapour, États-Unis, Brésil, Panamá, Luxembourg
et Royaume-Uni.

4
Chapitre 1. Contexte général

Figure 1.1 : Organigramme de New Access

Le directeur général (CEO) est au sommet de l’organigramme de NEW ACCESS ayant


comme subordonnés le directeur technique (CTO) et le directeur financier (CFO). Sous la directive
du directeur technique, se trouve les différents services y compris l’assurance de la qualité de produit
ou du service livré au client par l’équipe le département QA au sein de laquelle se déroule mon stage
de fin d’étude.

1.2.2 Solutions de l’organisme d’accueil

Dans cette partie nous allons citer les différentes solutions de New Access.

• Banker’s Front : BANKER’S FRONT est dédié aux chargés de clientèle et fournit via une
seule interface : la gestion du portefeuille et des commandes, la gestion de la relation client,
les processus d’intégration et les gestionnaires de documents électroniques.

• Core Banking : APSYS est un système Core Banking complet et flexible qui automatise les
flux de travail pour un traitement cohérent, intégrant des systèmes de support pour fournir
le STP. Il facilite la tenue des livres et registres pertinents. APSYS garantit le respect des
exigences réglementaires tout en surveillant les activités et les opérations en temps réel.

• Digital banking : Cette solution offre aux clients de la banque et aux gérants externes
un portail e-Banking puissant, attractif et totalement sécurisé. Disponible via une interface

5
Chapitre 1. Contexte général

utilisateur Web intégrée au design réactif (y compris les smartphones et les tablettes avec
messagerie sécurisée client-banquier).

1.3 Présentation du sujet

Dans cette section du chapitre nous allons présenter le domaine d’étude de notre projet afin
de clarifier le déroulement du processus de formation au sein de New Access. Ainsi, nous entreprenons
à une étude de l’existant et puis une mise à position de la problématique afin d’introduire la solution
proposée.

1.3.1 Étude de l’existant

Dans cette section, nous allons procéder à une description sommaire de la mission, de l’organisation
et du système d’informatique de New Access. Ensuite nous allons présenter le domaine d’étude de
notre projet afin de clarifier le déroulement du processus de formation au sein de New Access.

1.3.1.1 Description du processus de gestion formation :

La formation professionnelle continue est organisée par le code de travail et qui la considère
comme service comprenant l’acquisition d’éléments essentiels de culture générale et celle d’une
technique professionnelle, théorique et pratique, le perfectionnement professionnel, le reclassement
professionnel et la formation professionnel accélérée. C’est pour cette raison que New Access a
concentré plein d’effort autour de son maitre d’œuvre qui n’est personne autre que l’employé.
En effet, développer son sens créatif, sa capacité à apprendre et à évoluer, et maintenir ses compétences
sont devenus vitaux pour accroitre l’agilité et la flexibilité de l’entreprise.
New Access a mis en place un système de formation pour chaque département afin que ses employés
améliorent leurs compétences professionnelles et acquièrent les connaissances et les aptitudes nécessaires
pour assurer leurs taches. On distingue pour chaque département différents thèmes de formations.
Chaque employé choisit un thème de formation avant de suivre sa formation. Ce programme de
formation a permis à New Access d’enrichir la qualité de travail en utilisant de nouvelles techniques
plus performantes et innovantes que précédemment.

6
Chapitre 1. Contexte général

New Access gère actuellement la procédure de :

■ Gestion des comptes utilisateurs :

➢ Les emails

➢ Les fichiers Excel

➢ Active Directory

■ Gestion des formations :

➢ Microsoft Teams

➢ Les emails

■ Gestion des publications :

➢ Espace de partage de document sur le serveur naboo2

1.3.1.2 Critique de l’existant

Les activités du processus de formation sont semi-informatisées et toutes les taches se font
par mail ce qui affecte la qualité du travail et le rend peu pratique. Ceci engendre un manque de
confidentialité d’informations, une lenteur et une lourdeur dans la réalisation du cycle de formation et
un risque croissant d’erreur et de perte de temps. L’insuffisance d’automatisation pour ce domaine
engendre une mauvaise circulation des données et ne facilite pas la communication et l’échange
d’informations entre les intervenants de la formation. En outre le suivi de la formation se fait dans
la majorité des cas de façon traditionnelle en présentielle ce qui engendre une contrainte du nombre
de places limitées et du nombre de salles réduites.

1.3.1.3 Solution proposée

Après avoir observé l’existant et recensé les besoins des utilisateurs et dans le but d’optimiser
le travail, bénéficier des progrès technologiques, suivre l’évolution de l’organisation des services
de New Access et offrir un travail satisfaisant, pour remédier à celles-ci nous allons concevoir et
implémenter un portail web qui regroupe la plupart des fonctionnalités pour la gestion des processus
de formation. Dans notre solution Nous envisageons le scénario suivant :

➢ Processus de questionnaire de besoins :


Le questionnaire de besoins est établi afin d’analyser les compétences des employés et détecter le

7
Chapitre 1. Contexte général

domaine d’activité où l’employé doit améliorer et enrichir ses performances. En effet le manager
élabore un questionnaire de besoins et l’envoie sur le système afin que chaque participant de
New Access puisse le consulter.

➢ Processus Recensement tri :


Au cours de cette opération Le système élabore des statistiques sur les questionnaires de besoins
en triant le nombre de participants par thème de formation.

➢ Processus du thème de formation :


Le manager peut suggérer un thème de formation selon les statistiques réalisées sur les questionnaires
de besoin ou bien il propose sans consulter le sondage effectué sur ces derniers le thème de
formation à planifier. Il envois la liste des formations à entamer pour chaque formateur.

➢ Processus du plan de formation :


Le formateur élabore un plan de formation pour chaque domaine d’activité et ceci tant que le
thème de formation forme un groupe de participants.

➢ Processus de Publication
L’administrateur publie le plan de formation sur le réseau local de NEW ACCESS qui s’affichera
à tous les profils et sous profils de NEW ACCESS.

➢ Processus Validation inscription


Chaque employé envoie une demande d’inscription sur la plateforme de formation de la NEW
ACCESS. Dans le cas où le participant dépasse le délai de l’inscription à la formation ou bien il
renouvelle son inscription à la formation alors son inscription sera refusée. Dans le cas contraire,
c’est-à-dire lorsque l’employé respecte le délai d’inscription à la formation et ne renouvelle
pas son inscription alors son inscription sera validée et une convocation informatisée lui sera
émise. D’autre part le système effectue un tri selon le nombre de formations réalisés par chaque
employé ainsi qu’un tri selon la date de formation. Le système élabore un tri selon le nombre
de formations par ordre croissant c’est-à-dire le participant ayant effectué le moins de nombre
de formations est prioritaire aux autres. En outre le système établit un tri selon la date de
formation la plus ancienne. Finalement le système envoie au manager une liste de participants
acceptés et une liste de participants rejetés. Le manager contrôle la liste des participants
acceptés et valide leurs inscriptions. Il contrôle aussi la liste des participants rejetés, supprime
leurs inscriptions et envoie un message de rejet d’inscription à chaque employé.

➢ Suivre action de formation :

8
Chapitre 1. Contexte général

La formation peut se poursuivre en ligne en utilisant les nouvelles technologies multimédia ou


bien en présentielle. Chaque participant inscrit à un thème de formation consulte et imprime
sa convocation sur la plateforme. Chaque formateur est affecté par le manager. Ce dernier
enseigne un thème précis selon son activité professionnelle. Le manager attribue une liste de
participants sur le système à chaque formateur qui enseigne un thème précis approprié au
thème choisit par les participants appartenant à cette liste. Chaque formateur reçoit le nombre
de groupes à former respectifs à leur numéro de salle de formation.

➢ Processus du Questionnaire d’évaluation :


A la fin de la formation chaque participant consulte le questionnaire d’évaluation.Il évalue les
compétences de chaque formateur au cours de la période de formation. Après avoir rempli
ce questionnaire chaque participant l’enregistre sur le système. Enfin le manager consulte les
questionnaires et établi un sondage sur les statistiques d’évaluation de chaque formateur.

➢ Processus de gestion électronique de document :


Chaque participant peut mettre à jour un document sur son espace de partage selon les
privilèges qui lui sont attribués. Ces restrictions dépendent du département et du projet
auquel il est affecté. L’employé peut également publier à son département ou bien à tous
les départements de New Access le fichier approprié.

1.4 Choix méthodologique

Afin de garantir le bon déroulement du projet, il est essentiel de choisir à l’avance une
méthodologie de gestion de projet. Cela permet d’organiser le temps de développement et contribue
à minimiser les risques.

1.4.1 Formalisme de modélisation

Pour la spécification des besoins, nous avons opté pour le langage de modélisation UML qui
permet la description et la visualisation des besoins, ainsi que la définition de l’architecture logicielle.
Nous présentons les diagrammes utiles pour la conception du projet :

— Diagramme de cas d’utilisation pour visualiser le comportement global de l’application

— Diagramme de classe pour définir la structure de l’application

— Diagramme de séquence pour décrire les différentes interactions entre les éléments du système

9
Chapitre 1. Contexte général

et les acteurs

1.4.2 Méthodologie

La méthodologie est une analyse systématique et technique suivant une démarche organisationnelle
pour aboutir à un résultat.

Pour bien conduire notre projet et assurer le bon déroulement des différentes phases, nous
avons opté pour la méthodologie Agile SCRUM comme méthodologie de gestion de projet. La
méthode Scrum soutient la livraison rapide et régulière de fonctionnalités à haute valeur ajoutée.
Scrum présente plusieurs avantages :

— L’équipe obtient une visibilité claire de l’avancement du projet

— Le client prend part dans la définition et l’évolution des fonctionnalités

— Les exigences sont priorisées selon les besoins et les changements confrontés.

— Les grands projets sont divisés en des sprints facilement gérables

Figure 1.2 : Cycle de vie SCRUM

1.4.2.1 Répartition des rôles de la méthode Scrum

La méthodologie SCRUM fait intervenir trois rôles principaux qui sont :

➢ Le Product Owner : c’est le représentant officiel du client au sein d’un projet SCRUM Son rôle
est de :

➙ Définir la liste des fonctionnalités du produit dont les fonctionnalités en fonction de leur
importance et leur valeur ajoutée pour l’entreprise qu’il présente.

➙ La date de livraison des versions ainsi que leurs contenus.

➙ Valider les lots livrés avec l’équipe de développement.

10
Chapitre 1. Contexte général

➙ Les besoins à l’équipe de développement si nécessaire

➢ Le Scrum Master : il assure les tâches suivantes :

➙ S’assurer que Scrum est bien appliquée et respectée.

➙ Encourager l’équipe à apprendre et à progresser pour qu’elle soit fonctionnelle, productive


et créative durant le projet.

➙ Eliminer les obstacles pouvant perturber la progression du travail.

➢ L’équipe de développement Son rôle principal est :

➙ Transformer les besoins exprimés dans le Sprint Backlog en fonctionnalités utilisables.

➙ Livrer régulièrement une version fonctionnelle du produit.

Conclusion

Dans ce chapitre, nous avons fixé les repères de notre projet en décrivant l’organisme d’accueil,
New Access, et le contexte du projet, nous avons effectué aussi une étude critique de l’existant en
présentant notre solution qui va remédier aux insuffisances. Nous avons terminé le chapitre par
introduire la méthodologie. ainsi que le formalisme de modélisation que nous avons adopté pour la
conception du projet que nous allons spécifier dans le chapitre suivant.

11
Chapitre 2

Analyse et spécification des besoins

Plan
1 Pilotage du projet avec Scrum . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Backlog du produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Etude des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Modélisations des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Planification des sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24


Chapitre 2. Analyse et spécification des besoins

Introduction

Ce chapitre présente une initiative dans la réalisation de ce projet. Nous commençons par
définir les différents rôles des membres de l’équipe Scrum, pour passer à la création du backlog
produit et l’identification des besoins fonctionnels du système. Nous clôturons ce chapitre par la
planification des sprints.

2.1 Pilotage du projet avec Scrum

Ayant choisi Scrum comme étant une méthodologie, nous présentons les différents acteurs
participant au déroulement du projet et à l’élaboration du rapport :

✔ Le Product Owner : M.Mohamed CHAARI, chef du département QA/Support chez New Access
Tunisie.

✔ Le Scrum Master :Mme.Hela KASTALLI, Rédactrice technique principale chez New Access
Tunisie.

✔ L’équipe de développement : M. youssef GHARSALLAH, Eléve ingénieur en informatique au


sein d’ESPRIT.

2.2 Backlog du produit

Le backlog du produit est un artefact fondamental de Scrum dont le Product Owner est
responsable. Il présente une liste qui comprend les exigences initiales des clients et qui est susceptible
d’évoluer au fil du projet. Le tableau 2.1 présente le backlog du produit initial de notre projet. Les
besoins sont décrits par un ensemble de User stories.

13
Chapitre 2. Analyse et spécification des besoins

Tableau 2.1 : Backlog du produit

ID Epic UserStory Complexité Priorité

1 Authentification En tant qu’Administrateur, Manager, 8 1


Formateur ou Participant je veux m’authentifier
afin d’accèder à mon espace.

2 Gestion des profils En tant qu’Administrateur, je veux ajouter 10 2


utilisateurs un manager, formateur ou participant
à l’application afin de les attribuer un accès.

3 Gestion des profils En tant qu’Administrateur, je veux activer 8 2


utilisateurs ou desactiver un compte utilisateur

4 Gestion des profils En tant que Administrateur, je veux 6 5


utilisateurs consulter les détails d’un utilisateur

5 Gestion des profils En tant qu’Administrateur, je veux 2 3


utilisateurs consulter les rôles affectés à chaque utilisateur.

6 Gestion En tant qu’Administrateur je veux ajouter 4 3


Département et le département et le sous-département et
Sous-département

7 Gestion Projet En tant qu’Administrateur je veux ajouter 3 3


un projet

8 Salle de En tant qu"Administrateur je veux ajouter 2 4


Formation une salle de formation

9 Gestion Bureau En tant qu’Administrateur je veux ajouter 3 3


un bureau

10 Gestion catégorie En tant qu’Administrateur je veux ajouter 3 3


une catégorie de formation.

11 Paramétrage En tant qu’Administrateur, je veux 4 2


consulter l’application metrics

12 Formation Suggérer En tant que manager, je veux 5 8


proposer une formation

13 Formation Suggérer En tant que formateur, je veux consulter 5 8


la liste des formations suggérées

14
Chapitre 2. Analyse et spécification des besoins

ID Epic UserStory Complexité Priorité

14 Gestion Formation En tant que manager, je veux 6 10


valider une formation

15 Gestion Formation En tant que Manager ou formateur, On peut 6 10


ajouter l’état de suivi d’une formation.

16 Streaming live En tant que formateur, je veux 6 25


animer une formation en ligne

17 Streaming live En tant que manager, formateur ou 4 25


participant je veux assister a une
formation en ligne

18 Streaming live En tant que manager, formateur ou participant 13 28


je veux partager mon ecran

19 Streaming live En tant que manger, Formateur ou participant 12 20


je veux participer à une discussion instantané

20 Streaming live En tant que manger, Formateur ou participant 8 20


je veux activer ou désactiver l’audio et la vidéo

21 Questionnaire de En tant que manager je veux créer 10 12


Besoin un questionnaire de besoin

22 Questionnaire de En tant que participant ou formateur 10 17


Besoin je veux repondre sur le questionnaire

23 Questionnaire de En tant que manager je veux consulter 6 17


Besoin les statistiques des reponses
sur le questionnaire

24 Plan de Formation En tant que Formateur je veux créer 9 22


le plan de formation

25 Plan de Formation En tant que formateur je veux publier 7 18


ou dépublier un plan formation

26 Plan de Formation En tant que manager, Formateur et participant 9 26


je veux consulter le plan de formation

27 Inscription En tant que manager, Formateur et participant 8 14


Formation je veux s’inscrire a la formation

15
Chapitre 2. Analyse et spécification des besoins

ID Epic UserStory Complexité Priorité

28 Plan En tant que manager je veux préparer 10 13


d’intégration un plan d’intégration

29 Invitation En tant que formateur je veux inviter 6 13


Formation un participant à une formation

30 Invitation En tant que participant je veux recevoir 10 13


Formation une notifiaction d’assistance à une formation

31 Historique En tant que manager je veux consulter 10 13


Formation l’historique des formations

32 Questionnaire En tant que manager ou formateur je veux 10 17


d’évaluation créer un questionnaire d’évaluation

33 Questionnaire En tant que participant, formateur ou manager 10 17


d’évaluation je veux répondre à un questionnaire

34 Questionnaire En tant que manager ou formateur je veux 6 14


d’évaluation consulter les statistiques des reponses
sur le questionnaire

35 Gestion Electronique En tant que manager, formateur ou 12 11


de Document participant je veux créer, modifier,
(GED) consulter supprimer un document

36 Gestion Réclamation En tant que formateur ou participant 9 14


je peux envoyer une réclamation

37 Gestion Réclamation En tant que manager je peux consulter 9 13


la liste des réclamations

38 Gestion Carégorie En tant que administrateur je peux 4 15


Document créer une catégorie de document

2.3 Etude des besoins

Pour mener à bien le projet, il est essentiel d’élaborer les exigences fonctionnelles et non
fonctionnelles. Cela permettra d’assurer la cohérence entre les besoins du client, et l’architecture à
mettre en place.

16
Chapitre 2. Analyse et spécification des besoins

2.3.1 Besoins fonctionnels

✦ Authentification : Notre système doit être sécurisé pour pouvoir connaitre les administrateurs,
les managers, les formateurs et les participants. De ce fait chacun possède un mot de passe et
un login pour accéder à l’application.
Les intervenants s’authentifient afin de pouvoir accéder à leurs sessions. On peut bloquer à
tout moment le compte d’un utilisateur pour des raisons de sécurité. On peut aussi débloquer
à tout moment un compte bloqué dans la mesure du possible.

✦ Gestion des droits d’accès : L’interface permet de gérer les contrôles d’accès et de privilèges
des utilisateurs. En effet un administrateur peut créer, modifier, supprimer et consulter un
utilisateur. Il peut aussi activer son profil. Tout utilisateur que ce soit manager, formateur ou
participant peut créer un compte sans qu’il soit activé. Ceci a été mis en place afin de sécuriser
le contrôle d’accès (en cas où un collaborateur quitte l’entreprise son profil sera désactivé). Il
n’y a que l’administrateur qui a la main de faire l’activation.

✦ Gestion d’une salle de formation, de bureaux, catégorie de formation et de documents :


L’administrateur a la main de gérer les salles de formations de bureaux, catégorie de formation
et de documents. Il peut effectuer des mises à jour sur les salles de formations de bureaux,
catégorie de formation et de documents dont l’ajout, la modification et la suppression. L’interface
de consultation comporte un filtre pour chaque colonne du tableau qui est un tri par ordre
alphabétique. Elle comporte aussi une pagination.

✦ Configuration : L’administrateur peut consulter le diagnostique des éléments de déploiement


de l’application.

✦ Gestion des questionnaire de besoin et d’évaluation : Ces questionnaires sont des


indicateurs de performances et de lacunes de compétences. En effet le manager créé dynamiquement
le questionnaire de besoin qui permet de détecter le domaine d’activité dont le collaborateur
doit améliorer et enrichir ses compétences. Lorsqu’on clique sur créer questionnaire de besoin
il y a une barre d’outils qui s’affiche et lui permet de créer son questionnaire en utilisant des
zones de texte, des labels, des boutons radios afin de formuler l’ensemble des questions et des
réponses associées à chaque question. Il a la main de modifier ou de supprimer un questionnaire.
Après la validation du questionnaire, il sera affiché à tous les profils afin de le remplir dont
les participants. Une fois chaque participant rempli le questionnaire de besoin et le valide,
le système élabore un sondage sur le choix des réponses des participants par question. Le

17
Chapitre 2. Analyse et spécification des besoins

manager consulte les statistiques des questionnaires de besoins (comme le choix de la formation
affiche le nombre de participant par formation). On peut visualiser l’ensemble des participants
par question et télécharger un fichier Excel qui renferme les détails concernant le choix des
collaborateurs par question. Le temps moyen de saisie des réponses s’affiche sur les statistiques
du questionnaire ainsi que le statut du manager. Le manager peut partager le questionnaire
à tous les utilisateurs de New Access. Le même principe a été adopté pour le questionnaire
d’évaluation pour évaluer les compétences du formateur.

✦ Gestion des formations : Le manager suggère une formation en la créant. Elle comporte
la date début, date fin, la description, un fichier joint. . . Le formateur reçoit la formation
suggérée par le manager. Un formateur peut proposer une formation en la créant au manager.
Celle-ci doit être validé ou rejeté par le manager. Dès sa validation elle sera affichée sur l’écran
de consultation des formations. Un manager ou formateur peut modifier ou supprimer une
formation.

✦ Gestion plan de formation : Ce cas d’utilisation permet au formateur d’effectuer une mise
à jour des plans de formations (ajout, modification, suppression). Le formateur peut également
consulter les plans de formation. Pour l’opération d’ajout le formateur doit planifier le plan
de formation pour chaque thème de formation. Le plan de formation renferme le module, le
chapitre, la description, le bureau, la salle de formation, le type de formation qui peut être en
présentielle ou en ligne. Les plans de formations créés s’affichent sur l’écran de consultation de
formation.

✦ Gestion des publications : Le manager ouvre la fenêtre « Formation » afin de consulter la


liste des publications et de dépublication des plans de formations. Le formateur peut publier
le plan de formation c’est-à-dire qu’il va s’afficher pour tous les profils manager, formateur,
participant. Il peut également dépublier un plan de formation c’est-à-dire qu’il va le supprimer
pour les profils manager, administrateur et participant. Uniquement le profil formateur dans
ce cas comporte le plan de formation.

✦ Gestion des inscriptions : Le participant lance une demande d’inscription sur la plateforme
de formation en remplissant un formulaire d’inscription. Il valide ensuite sa demande et
attend la réponse du manager. Le manager contrôle la validation des inscriptions en vérifiant
l’historique des formations par participants. Le manager reçoit la liste des inscriptions par
participant. Il peut accepter un participant ou le rejeter.

18
Chapitre 2. Analyse et spécification des besoins

✦ Gestion des outils multimédia (streaming live) : L’outil de streaming live permet
au formateur de poursuivre une formation en ligne en joignant plusieurs participants à cette
formation. Il comporte un outil de discussion en ligne, une activation audio, vidéo, un partage
d’écran, un enregistrement. . . Tout intervenant peut participer au streaming live.

✦ Gestion du department, sous-departement et du projet : L’administrateur a la main de


gérer les entités de la gestion électroniques de documents dont la gestion des départements,sous
départements et des projets. Il peut effectuer des mises à jour dont l’ajout, la modification et
la suppression. L’interface de consultation des départements, sous-départements et projets
comporte un filtre pour chaque colonne du tableau qui est un tri par ordre alphabétique. Elle
comporte aussi une pagination.

✦ Gestion des documents : Le manager, formateur ou participant peut consulter un document


afin de le rechercher et le télécharger. Le téléchargement du document doit être précédé d’une
opération de recherche. Ce cas d’utilisation permet aux intervenants de pouvoir effectuer des
mises à jour sur les documents (ajout, modification, suppression). Les utilisateurs peuvent
également consulter des documents. Les opérations de modification, suppression et consultation
doivent etre précédés d’une opération de recherche. Il y a un espace document qui s’affichent
à tous les rôles. Chaque document est affecté à un département, sous département, projet,
catégorie document. On peut joindre des fichiers et les télécharger. L’interface de consultation
de document comporte un filtre pour chaque colonne du tableau qui est un tri par ordre
alphabétique. Elle comporte aussi une pagination. On peut créer, modifier ou supprimer un
document.

✦ Gestion reclamation : Le participant peut envoyer une réclamation. Le manager consulte


les réclamations des participants.

2.3.2 Besoins non fonctionnels

✦ Sécurité des données : Au niveau d’accès aux données : le système doit offrir une feuille
d’identification (login et mot de passe) pour s’assurer que seulement les acteurs identifiés
peuvent accéder aux données demandées. Au niveau de contrôle des champs de saisie : le
système doit vérifier la validité des données saisies et en cas d’erreur, il doit afficher un message
d’erreur pour que l’utilisateur rectifie les donné

✦ Maintenabilité : Les différents modules de la solution doivent êtres bien lisibles et compréhensibles

19
Chapitre 2. Analyse et spécification des besoins

pour pouvoir la maintenir facilement et rapidement.

✦ La performance : Un logiciel doit être avant tout performant c’est à-dire à travers ses
fonctionnalités, répond à toutes les exigences des usagers d’une manière optimale. En effet il
doit garantir un temps de réponse minimal : le site devra se charger rapidement et le chargement
d’une page web dans le navigateur ne devrait pas dépasser quelques secondes en condition
normale.

✦ Ergonomie : L’interface de l’application doit être simple et pratique afin que l’utilisateur
puisse l’exploiter sans se référer à des connaissances particulières. En d’autres termes, les
informations doivent être lisibles et facile à accéder par n’importe quel utilisateur.

2.4 Modélisations des besoins

Les diagrammes de cas d’utilisation, généralement appelés diagrammes comportementaux,


sont utilisés pour décrire un ensemble d’actions qu’un système peut effectuer en collaboration avec
un ou plusieurs utilisateurs externes (acteurs). Chaque cas d’utilisation doit fournir des résultats
observables et utiles aux acteurs ou autres parties prenantes du système.

2.4.1 Identification des acteurs

Un acteur représente un rôle joué par une entité externe, pouvant être une personne, un
système ou tout élément extérieur qui interagit avec l’application. Les acteurs sont des classificateurs
qui représentent des rôles à travers un certain cas d’utilisation et non pas des personnes physique.
Les acteurs de notre projet sont :

➙ Administrateur : Il a tous les droits d’accès dont l’activation, l’ajout, la modification et


la suppression des données relatives à la configuration de base. Il est responsable de toutes
les taches administratives de notre application à savoir la gestion de contrôle d’accès et de
privilèges, la gestion et la configuration de l’application et contrôle des inscriptions. Cet acteur
a la responsabilité de gérer la sécurité ainsi que les paramètres de l’application.

➙ Manager : Il est le déclencheur du processus de formation. Il est l’auteur de toutes les taches
de mises à jour, validation de gestion formation, d’inscription. Il contrôle les indicateurs de
performances et de lacunes en créant des questionnaires de besoins aux participants et des
questionnaires d’évaluations qui évaluent les compétences des formateurs. Il a la possibilité de

20
Chapitre 2. Analyse et spécification des besoins

consulter les statistiques sur chaque questionnaire.

➙ Formateur : Il permet de gérer les formations, les plans de formation et leurs publications,
les envois des invitations aux participants afin d’assister à une formation. Il a la possibilité
d’animer en présentiel ou à distance une session de formation.

➙ Participant : Il a la main de consulter l’espace documentation, les plans de formations. Il


peut également s’inscrire et assister à une formation. Il peut aussi remplir les questionnaires
de besoins et d’évaluations.

2.4.2 Diagramme de cas d’utilisation global

Pour mieux comprendre le comportement de notre solution, nous proposons le diagramme de


cas d’utilisation global. Ce diagramme comprend les fonctionnalités principales que doit fournir le
système. La figure Ci-dessous présente le diagramme de cas d’utilisation global de notre application.

21
Chapitre 2. Analyse et spécification des besoins

Figure 2.1 : Diagramme de cas d’utilisation global

2.4.3 Diagramme de classes global

Le diagramme de classes permet de clarifier les différentes relations entre les classesde l’application
en assurant ainsi de déterminer tout les cas d’utilisation. Après l’analyse de notre projet nous avons
obtenu le diagramme de classe suivant

22
Chapitre 2. Analyse et spécification des besoins

Figure 2.2 : Diagramme de classes global

23
Chapitre 2. Analyse et spécification des besoins

2.5 Planification des sprints

La planification des sprints sert à planifier le travail à réaliser à moyen terme, à mesurer
la capacité et la vélocité de l’équipe à réaliser les tâches dans le temps et à donner une visibilité
sur les livrables au propriétaire et aux utilisateurs. Cette planification est construite une fois que le
Backlog du produit est rédigé et sera mise à jour à chaque Sprint. Le tableau ci-dessous présente
notre planification des sprints selon les User Stories référencés par leurs ID. Chaque sprint a sa
propre vélocité qui est estimée en calculant la somme des complexités de ses User Stories.

Tableau 2.2 : Planification des sprints

Sprint 1 : Du 15 Février Au 15 Mars


- US N°1 - US N°2 - US N°3 - US N°4 - US N°5 - US N°6 - US N°7 - US N°8
- US N°9 - US N°10 - US N°11
Estimation : 54

Sprint 2 : Du 16 Mars Au 30 Avril


- US N°12 - US N°13 - US N°14 - US N°15 - US N°16 - US N°17 - US N°18 - US N°19
- US N°20 - US N°21 - US N°22 - US N°23
Estimation : 91

Sprint 3 : Du 01 Mai Au 31 Mai


- US N°24 - US N°25 - US N°26 - US N°27 - US N°28 - US N°29 - US N°30 - US N°31
Estimation : 69

Sprint 4 : Du 01 Juin Au 30 Juin


- US N°32 - US N°33 - US N°34 - US N°35 - US N°36 - US N°37 - US N°38
Estimation : 60

Conclusion

Durant ce chapitre, nous avons spécifié la première étape de la méthodologie Scrum, soient
l’identification des acteurs participant à la réalisation de ce projet, la rédaction du Backlog du
produit et la planification des sprints. Nous entamons le sprint 0 dans le chapitre suivant.

24
Chapitre 3

Sprint 0

Plan
1 Environnement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2 Architecture physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Architecture logique globale : . . . . . . . . . . . . . . . . . . . . . . . . . 31


Chapitre 3. Sprint 0

Introduction

Dans ce chapitre, nous présentons le sprint zéro, au cours duquel nous introduisons la
conception architecturale de la solution ainsi que les technologies et les langages de programmation
adoptés pour la mise en place de notre solution.

3.1 Environnement du travail

Cette section présentera l’environnement matériel ainsi que l’environnement logiciel et les
technologies utilisées lors du développement de l’application de notre projet.

3.1.1 Environnement matériel

Le projet est réalisé localement chez NEW ACCESS et développé sur une machine possédant
les caractéristiques décrites ci-dessous :

✧ Modelé : Dell

✧ Processeur : Intel Core i7 CPU

✧ Mémoire : 8 Gb«RAM»/500 Gb «SSD»

✧ Système d’exploitation : Windows 10

3.1.2 Environnement logiciel

les différents outils logiciels que nous avons exploité pour réaliser notre application.

26
Chapitre 3. Sprint 0

27
Chapitre 3. Sprint 0

Dans cette partie nous allons citer les frameworks que nous avons utilisés durant la réalisation
de notre projet.

✧ Choix du framework FrontEnd :


Cette partie est consacrée à la présentation de notre choix pour faire le développement de la
partie Front-End. Parmi ses points forts on peut citer :

Figure 3.1 : Angular

✧ Choix du framework Back-end : En vu des avantages qu’il présente, nous avons décidé
que Sping Boot ferait un excellent choix pour la partie back-end de notre application. Parmi
ses plus grands avantages on site :

28
Chapitre 3. Sprint 0

Figure 3.2 : Spring

3.2 Architecture physique

L’architecture physique d’une application permet de décrire l’interaction entre les différents
composants du système. Dans ce projet, nous avons opté pour une architecture monolithique Cette
dernière présente une approche de développement des systèmes informatiques sous forme de trois
couches logicielles ( niveaux ou étages) dont le rôle est clairement défini :

✼ la présentation des données : correspondant à l’affichage, la restitution sur le poste de


travail, le dialogue avec l’utilisateur.

✼ le traitement métier des données : correspondant à la mise en oeuvre de l’ensemble des


règles de gestion et de la logique applicative.

✼ l’accès aux données persistantes : correspondant aux données qui sont destinées à être
conservées sur la durée, voire de manière définitive.

29
Chapitre 3. Sprint 0

Figure 3.3 : Architecture N-tiers

3.3 Architecture logique

Afin d’assurer une bonne synchronisation avec l’architecture physique choisie, nous avons
opté pour le patron de conception MVVM au niveau Front-end et l’architecture n-tires pour la
partie Back-end.

3.3.1 MVVM en Front-end

Le patron de conception Model-View-ViewModel a pour but d’améliorer la séparation


entre les données et la vue, et ce par ses trois parties ainsi définies :

✔ Model : il représente les données et les informations à traiter.

✔ View : il s’agit de la partie avec laquelle l’utilisateur interagit. C’est la présentation des
données.

✔ ViewModel : il s’agit de l’élément principal de la triade puisqu’il introduit le concept de la


séparation des nuances de la vue par rapport au modèle. Il présente la liaison entre la vue et
le modèle. Son rôle est de gérer les commandes reçues à partir de la vue et les rediriger vers
le modèle ou d’interagir avec le service pour extraire le modèle, traduire les propriétés et les
placer sur la vue.

La figure Ci-dessous présente l’architecture MVVM au niveau front-end

30
Chapitre 3. Sprint 0

Figure 3.4 : Architecture MVVM

3.3.2 Architecture MVC en Back-end :

Sur le coté Back-End de l’application, nous avons opté pur l’utilisation de 4 couches différentes.
Il y a, tout d’abord, la couche "Model" responsble de la création des tables. Ensuite, il y a la couche
"Repository" qui est responsable de la communication avec la base de données. Il y a après une
couche "Service" dans laquelle se fait l’implémenation du métier de notre application. Enfin, il y a
une couche "Controller" qui est responsable de l’exposition des Rest services qui seront à leur tour
consommés dans la partie Front-End de notre application. La figure Ci-dessous présente l’architecture
MVC au niveau back-end.

Figure 3.5 : Architecture MVC

3.4 Architecture logique globale :

La communication entre les deux parties est assurée par le service REST. Ce dernier est
un style d’architecture reposant sur le protocole HTTP qui permet d’accèder à une ressource par

31
Chapitre 3. Sprint 0

son URI unique pour procéder aux opérations HTTP natives (GET/POST/PUT/DELETE). Après
traitement de la requête HTTP, une réponse JSON sera renvoyée à partir du service REST. La figure
Ci-dessous présente l’architecture logique de notre solution.

Figure 3.6 : Architecture Logique de l’application

Conclusion

Ce chapitre a été consacré pour la présentation de l’environnement du travail, et des architectures


physique et logique, ainsi que la description des choix technologiques que nous avons choisi pour la
mise en oeuvre de notre application. Le chapitre suivant présentera le travail réalisé durant le sprint
1.

32
Chapitre 4

Sprint 1

Plan
1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Chapitre 4. Sprint 1

Introduction

Dans ce chapitre nous présentons le travail effectué dans le sprint 1. Nous commençons par
rédiger le Backlog du sprint, pour passer à la spécification fonctionnelle et la conception. Ensuite,
nous présentons la réalisation par quelques interfaces et nous finissons par une revue du sprint.

4.1 Backlog du sprint

Après la planification des sprints, nous avons décomposé les User Stories du sprint 1 en des
tâches techniques appelées Technical Stories. Chaque Technical Story est présenté par la tâche à
réaliser et son estimation en heure. Le tableau 4.1 présente le Backlog du sprint 1.

Tableau 4.1 : Backlog du sprint 1

Estimation
ID User Story Tasks
(h)

En tant qu’Administrateur, - Réaliser la conception du Sprint 1 1


Manager ou formateur je veux - Développer l’interface utilisateur Login 3
1
m’authentifier afin d’accéder - Développer le service UserService 4
à mon espace - Tests & validation 1

En tant qu’Administrateur,
je veux ajouter un manager, - Développer l’interface utilisateur AddUser 3
2 formateur ou participant - Développer le service AddUserService 3
à l’application afin de leur -Tests & validation 1
attribuer un accès

- Développer l’interface utilisateur


En tant qu’Administrateur, 2
ActiverUser
3 je veux activer ou désactiver 4
- Développer le service ActiverUserService
un compte utilisateur 1
- Tests & Validation

En tant qu’Administrateur, -Développer l’interface utilisateur ViewUser 2


4 je veux consulter les détails -Développer le service ViewUserService 3
d’un utilisateur -Tests & Validation 1

34
Chapitre 4. Sprint 1

En tant qu’Administrateur, -Développer l’interface utilisateur 3


5
je veux consulter les rôles affectés -Développer le service AuthorityService 6
à chaque utilisateur -Tests & Validation 2

-Développer l’interface Département 3


En tant qu’Administrateur
6
je veux ajouter le département et sous-département
-Développer le service DepartementService 4
et le sous-département
-Tests & Validation
1

En tant qu’administrateur je -Développer l’interface Projet 2


7
veux ajouter un projet -Développer le service ProjectService 2
-Tests & Validation 1

En tant qu’Administrateur -Développer l’interface Salle Formation 2


8
je veux ajouter -Développer le service SalleFormationService 2

une salle de formation -Tests & Validation


1

En tant qu’Administrateur -Développer l’interface Bureau 2


9
-Développer le service BureauService 2
je veux ajouter un bureau -Tests & Validation 1

En tant qu’Administrateur -Développer l’interface Catégorie Formation 2


10
je veux ajouter une catégorie -Développer le service 2

de formation. CategorieFormationService
-Tests & Validation 1

4.2 Spécification fonctionnelle

Dans cette section nous présentons les diagrammes de cas d’utilisation relatifs à ce sprint,
ainsi que le raffinement des cas d’utilisation afin de mieux comprendre chaque scénario possible du
livrable.

35
Chapitre 4. Sprint 1

4.2.1 Diagrammes de cas d’utilisation

Cette partie comprend les diagrammes de cas d’utilisation avec une description textuelle des
principaux cas d’utilisation La figure 4.1 présente le diagramme de cas d’utilisation du sprint 1.

Figure 4.1 : Diagramme de cas d’utilisation du Sprint 1

4.2.1.1 Raffinement du cas d’utilisation «Gérer les comptes utilisateurs»

La figure 4.2 présente le cas d’utilisation «Gérer les comptes utilisateurs» détaillé.

Figure 4.2 : Raffinement du cas d’utilisation "Gérer les profils utilisateurs"

36
Chapitre 4. Sprint 1

❍ Description Textuelle du cas d’utilisation «Authentification»


Le tableau 4.2 présente la description textuelle du cas d’utilisation «Authentification».

Tableau 4.2 : Authentifications

Cas d’utilisation Authentification

Acteur Administrateur, Manager, Formateur, Participant

Pré-conditions L’utilisateur doit d’abord s’authentifier.

Post-conditions L’utilisateur accède à son espace de travail.

- L’utilisateur ouvre l’interface d’authentification.


- L’utilisateur saisit les accès d’authentifications dont le login et mot de passe.
- L’utilisateur clique sur "Valider" afin d’accéder à sa session de travail.
Scénario de base
- Le système vérifie les identifiants d’accès.
- Le système enregistre les données saisies dans la base de données.
- Le système affiche une notification "Accès validé"

- Saisie incorrecte.
Exceptions - Champ obligatoire non rempli.
- Utilisateur existant.

❍ Description Textuelle du cas d’utilisation «Ajouter un profil utilisateur»


Le tableau 4.3 présente la description textuelle du cas d’utilisation «Ajouter un profil utilisateur».

37
Chapitre 4. Sprint 1

Tableau 4.3 : Ajouter un profil utilisateur

Cas d’utilisation Ajouter un profil utilisateur

Acteur Administrateur

Pré-conditions L’administrateur doit d’abord s’authentifier.

L’administrateur ajoute un accès au formateur, manager ou participant.


Post-conditions
Profil utilisateur ajouté à la base de données.

- L’administrateur ouvre la fenêtre "Ajouter profil utilisateur".


- Le système ouvre le formulaire d’ajout utilisateur.
- L’administrateur rempli le formulaire d’ajout utilisateur.
Scénario de base
- L’administrateur clique sur "Ajouter".
- Le système enregistre les données saisies dans la base de données.
- Le système affiche une notification "Utilisateur ajouté avec succès"

- Saisie incorrecte.
Exceptions - Champ obligatoire non rempli.
- Utilisateur existant.

❍ Description Textuelle du cas d’utilisation «Activer un profil utilisateur»


Le tableau 4.4 présente la description textuelle du cas d’utilisation «Activer un profil utilisateur».

38
Chapitre 4. Sprint 1

Tableau 4.4 : Activer un profil utilisateur

Cas d’utilisation Activer un compte utilisateur

Acteur Manager, Formateur, Participant

Pré-conditions L’administrateur doit d’abord s’authentifier.

Post-conditions L’administrateur doit activer un accès au manager, formateur ou participant.

- L’administrateur ouvre la fenêtre "Gestion profil utilistaeur".


- Le système affiche la liste des utilisateurs.
- L’administrateur clique sur le bouton "Activer".
Scénario de base -L’administrateur clique sur le bouton "modifier"
-L’administrateur clique sur la liste des "rôles" en choisissant un rôle.
- Le système enregistre les données saisies dans la base de données.
- Le système affiche une notification "Utilisateur activé avec succès".

- Saisie incorrecte.
- Utilisateur inexistant.
Exceptions
- L’administrateur pourra procéder à une nouvelle activation directement
suite à la validation des données relatives à la dernière activation.

4.2.1.2 Raffinement du cas d’utilisation «Gérer les départements»

La figure 4.3 présente le cas d’utilisation «Gérer les départements» détaillé.

Figure 4.3 : Raffinement du cas d’utilisation "Gérer les départements"

❍ Description Textuelle du cas d’utilisation «Ajouter les départements»


Le tableau 4.5 présente la description textuelle du cas d’utilisation «Ajouter les départements».

39
Chapitre 4. Sprint 1

Tableau 4.5 : Ajouter un département

Cas d’utilisation Ajouter un département

Acteur Administrateur

Pré-conditions L’administrateur doit d’abord s’authentifier.

L’administrateur ajoute un département


Post-conditions
Département ajouté à la base de données.

- L’administrateur ouvre la fenêtre "Ajouter département".


- Le système ouvre le formulaire d’ajout département.
- L’administrateur rempli le formulaire d’ajout département.
Scénario de base
- L’administrateur clique sur "Ajouter".
- Le système enregistre les données saisies dans la base de données.
- Le système affiche une notification "Département ajouté avec succès"

- Saisie incorrecte.
- Champ obligatoire non rempli.
Exceptions - Département existant.
- L’administrateur pourra procéder à l’ajout d’un autre département suite à la
validation des données relatives au dernier ajout.

4.2.1.3 Raffinement du cas d’utilisation «Gérer un sous-département»

Le cas d’utilisation «Gérer un sous-département» détaillé est illustré dans l’annexe. Voir
annexe 1.

4.2.1.4 Raffinement du cas d’utilisation «Gérer les salles de formation»

Le cas d’utilisation «Gérer les salles de formation» détaillé est illustré dans l’annexe. Voir
Annexe 2.

4.3 Conception

Pour bien organiser le développement de notre solution, nous avons utilisé des diagrammes
de séquences détaillés et des diagrammes de classes.

40
Chapitre 4. Sprint 1

4.3.1 Diagrammes de séquence

Le diagramme de cas d’utilisation permet d’organiser les interactions entre le système et les
différents acteurs. Pour bien comprendre la communication entre les acteurs et les objets niveau du
système, nous avons pensé à concevoir des diagrammes de séquence.

➮ Diagramme de séquence «S’authentifier»


Afin d’accéder à son espace, chaque utilisateur doit s’authentifier en saisissant son nom d’utilisateur
et son mot de passe. Dans le cas où les données sont erronées, un message d’erreur sera envoyé,
sinon l’utilisateur sera rediriger vers son interface. Le diagramme de séquence «S’authentifier»
est illustré dans l’annexe. Voir annexe 3.

➮ Diagramme de séquence «Ajouter un profil utilisateur»


Pour ajouter un profil utilisateur, l’administrateur, étant authentifié, doit remplir un formulaire
par le nom d’utilisateur, l’adresse mail du nouvel utilisateur et choisit son rôle à partir de la
liste des rôles existants. Dans le cas où le nom d’utilisateur ou l’adresse mail existent déjà, le
système renvoie un message d’erreur, sinon le nouvel utilisateur sera enregistré et la liste des
utilisateurs mise à jour sera affichée.
La figure 4.4 présente le diagramme de séquence «Ajouter un profil utilisateur»

41
Chapitre 4. Sprint 1

Figure 4.4 : Diagramme de séquence «Ajouter un profil utilisateur»

➮ Diagramme de séquence «Ajouter un département»

Pour ajouter un département, l’administrateur, authentifié, doit remplir un formulaire avec le


nouveau nom du département. Le système vérifie alors que le nom saisi est inexistant. sinon,
le nouveau nom de département sera enregistré, et le système affiche la liste de tous les nom
des départements existants. Dans le cas échéant le système affichera un message d’erreur.
Le diagramme de séquence «Ajouter un nouveau département» est illustré dans l"annexe Voir
annexe 4.

42
Chapitre 4. Sprint 1

4.3.2 Diagramme de classe

Le diagramme de classe permet de décrire la structure du système en spécifiant les liens entre
les objets dont le système est composé ainsi que leurs attributs et leurs méthodes. Dans ce sprint, on
s’intéresse à la classe utilisateur qui est caractérisée par son identifiant, son nom, son prénom, son
nom d’utilisateur, son adresse mail, son mot de passe, dont on lui affecte un seul rôle. On utilisera
aussi les classes département, sous-département, salle de formation, bureau, catégorie de formation
et projet qui sont caractérisée par un identifiant et un nom. La figure 4.5 présente le diagramme de
classe relatif au sprint 1.

Figure 4.5 : Diagramme de classe relatif au Sprint 1»

4.4 Réalisation

Dans cette section, nous présentons le travail réalisé durant ce sprint à travers des captures
d’écran de quelques interfaces de notre application.
La figure 4.6 illustre l’interface de l’authentification à travers laquelle chaque utilisateur peut accéder
à son espace en saisissant son nom d’utilisateur et son mot de passe.

43
Chapitre 4. Sprint 1

En cliquant sur « Remember me » le système enregistre les identifiants d’accès de l’utilisateur.


C’est-à-dire qu’aux prochaines connexions à l’application ses accès seront automatiquement saisis.
Tout profil manager, formateur ou participant peut créer un utilisateur en cliquant sur « Register a
new account » sans qu’il soit activé et sans l’attribution du rôle qui lui sera affecté.

Figure 4.6 : Interface «S’authentifier»

La figure 4.7 illustre l’interface de gestion des contrôles d’accès et de privilèges des utilisateurs.

44
Chapitre 4. Sprint 1

Figure 4.7 : Interface «Gestion utilisateurs»

L’interface de gestion des entités de la gestion électroniques de documents dont la gestion des
départements. Voir annexe 5

4.5 Rétrospective du sprint

Cette section est consacrée pour la rétrospective du sprint 1. La rétrospective est une réunion
animée par le Scrum Master et à laquelle participe toute l’équipe Scrum. Dans cette réunion, on
évoque tous les problèmes rencontrés durant la réalisation du travail à partir desquels on planifie des
améliorations pour se préparer pour le sprint suivant.Nous avons terminé le premier sprint à partir
duquel nous entamons le deuxième sprint.

Conclusion

Ce chapitre a été consacré pour le travail réalisé durant le sprint 1. A cet effet, nous avons
commencé par la spécification fonctionnelle, pour passer par la conception et terminer par la réalisation.
Ayant établi la nouvelle planification des sprints, nous entamons le chapitre suivant.

45
Chapitre 5

Sprint 2

Plan
1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Chapitre 5. Sprint 2

Introduction

Ce chapitre présente le sprint 2. Suivant le principe du sprint 1, nous commençons par rédiger
le Backlog du sprint. Nous passons ensuite à la conception et à la réalisation pour terminer par la
revue du sprint.

5.1 Backlog du sprint

Le tableau 5.1 présente le Backlog du sprint 2 auquel nous allons ajouter les User Stories
restants du sprint précédent.

Tableau 5.1 : Backlog du sprint 2

Estimation
ID User Story Tasks
h

- Réaliser la conception du Sprint 1 1


En tant que manager, je veux - Développer l’interface formation suggérée 3
12
proposer une formation - Développer le service FormationSuggererService 3
- Test & validation 1

- Développer l’interface list des formations 3


En tant que formateur,
suggérées
13 Je veux consulter la liste
- Développer le service FormationSuggererService 3
des formations suggérées
- Test & validation 1

- Développer l’interface valider formation 2


En tant que manager, je veux
14 - Développer le service FormationService 2
valider une formation
- Test & validation 1

En tant que Manager - Développer l’interface etat formation 2


15 ou formateur, je veux ajouter - Développer le service FormationService 2
l’état de suivi d’une formation. - Test & validation 1

- Développer l’interface streaming live 2


En tant que formateur, je veux
16 - Développer le service streaming live 2
animer une formation en ligne
- Test & validation 1

47
Chapitre 5. Sprint 2

En tant que manager, formateur - Développer l’interface streaming live 2


17 ou participant je veux assister - Développer le service streaming live 2
à une formation en ligne - Test & validation 1

En tant que manager, formateur - Développer l’interface streaming live 2


18 ou participant je veux partager - Développer le service streaming live 2
mon ecran - Test & validation 1

En tant que manger, Formateur - Développer l’interface streaming live 2


19 ou participant je veux participer - Développer le service streaming live 2
à une discussion instantanée - Test & validation 1

En tant que manger, Formateur - Développer l’interface streaming live 2


20 ou participant, je veux activer ou - Développer le service streaming live 2
désactiver l’audio et la vidéo - Test & validation 1

- Développer l’interface questionnaire de besoin 2


En tant que manager
- Développer le service 2
21 je veux créer un questionnaire
QuestionnaireBesoinService
de besoin
- Test & validation 1

- Développer l’interface questionnaire de besoin 2


En tant que participant
- Développer le service 2
22 ou formateur, je veux
QuestionnaireBesoinService
répondre au questionnaire
- Test & validation 1

En tant que manager,


- Développer l’interface questionnaire de besoin 2
je veux consulter
23 - Développer le service QuestionnaireBesoinService 2
les statistiques des réponses
- Test & validation 1
sur le questionnaire

5.2 Spécification fonctionnelle

Dans cette section, nous présentons le diagramme de cas d’utilisation relatif au sprint 2, avec
une description textuelle pour certains d’entre eux.

48
Chapitre 5. Sprint 2

5.2.1 Diagrammes de cas d’utilisation

La figure 5.1 présente le diagramme de cas d’utilisation du sprint 2.

Figure 5.1 : Diagramme de cas d’utilisation du Sprint 2

5.2.1.1 Raffinement du cas d’utilisation «Gérer le questionnaire de besoin»

Le raffinement du cas d’utilisation «Gérer le questionnaire de besoin» est illustré dans l’annexe
Voir annexe 6.

❍ Description Textuelle du cas d’utilisation « Créer le questionnaire de besoin »


Le tableau 5.2 présente la description textuelle du cas d’utilisation « Créer le questionnaire de
besoin »

49
Chapitre 5. Sprint 2

Tableau 5.2 : Créer un questionnaire de besoin

Cas d’utilisation Créer un questionnaire de besoin

Acteur Manager

Pré-conditions Le manager doit d’abord s’authentifier.

Le manager crée un questionnaire de besoin.


Post-conditions
Le questionnaire de besoin a été ajouté avec succès.

- Le manager ouvre la fenêtre "Créer Questionnaire besoin".


- Le système ouvre le formulaire d’ajout Questionnaire de besoin.
- Le manager crée le formulaire du questionnaire de besoin
Scénario de base à partir d’une barre d’outils.
- Le manager clique sur "Créer".
- Le système enregistre les données saisies dans la base de données.
- Le système affiche une notification "Questionnaire de besoin ajouté avec succès"

- Saisie incorrecte.
Exceptions - Question ne contient aucune réponse.
- Question existante.

❍ Description Textuelle du cas d’utilisation « Afficher les statistiques des réponses


par question »
Le tableau 5.3 présente la description textuelle du cas d’utilisation « Afficher les statistiques
des réponses par question ».

50
Chapitre 5. Sprint 2

Tableau 5.3 : Afficher les statistiques des réponses par question

Cas d’utilisation Afficher les statistiques des réponses par question

Acteur Manager

Pré-conditions Le manager doit d’abord s’authentifier.

Les statistiques des réponses d’un questionnaire de besoin s’affichent au manager.


Post-conditions
Les statistiques des réponses ont été affichées avec succès.

- Le manager ouvre la fenêtre "Afficher réponse".


- Le système ouvre les statistiques des réponses du Questionnaire de besoin.
Scénario de base - Le manager consulte les statistiques des réponses du questionnaire de besoin .
- Le manager clique sur "Afficher en détaille".
- Le système affiche la liste des réponses par personne

- Réponse incorrecte.
- Utilisateur répond deux fois à une question.
Exceptions - Question ne contient aucune réponse
- Le manager pourra procéder à la consultation d’une nouvelle réponse suite
à la fermeture de la réponse précédente

5.2.1.2 Raffinement du cas d’utilisation « Gérer les formations »

La figure 5.2 présente le raffinement du cas d’utilisation « Gérer les formations ».

51
Chapitre 5. Sprint 2

Figure 5.2 : Raffinement du cas d’utilisation « Gérer les formations »

❍ Description Textuelle du cas d’utilisation «Ajouter formation»

52
Chapitre 5. Sprint 2

Tableau 5.4 : Ajouter formation

Cas d’utilisation Ajouter formation

Acteur Manager, Formateur

Pré-conditions Le manager ou formateur doit d’abord s’authentifier.

- Le manager ou formateur ajoute une formation suggérée


Post-conditions
- La formation suggérée a été effectué avec succès.

- Le manager ou formateur ouvre la fenêtre « Gestion des formations ».


- Le manager ou formateur rempli le formulaire d’ajout de la formation.
- Le manager ou formateur clique sur le bouton « Ajouter formation ».
Scénario de base
– Le système enregistre les données saisies dans la base de données.
– Le système affiche la formation dans le formulaire d’ajout de formation.
– Le système affiche une notification « Nouvelle formation ajoutée avec succès »

– Saisie incorrecte.
- Formation existante.
Exceptions
– Le manager ou formateur pourra procéder à l’ajout d’une nouvelle formation
directement suite à la validation du dernier ajout.

❍ Description textuelle du cas d’utilisation « Valider formation »

53
Chapitre 5. Sprint 2

Tableau 5.5 : Valider formation

Cas d’utilisation Valider formation

Acteur Manager

Pré-conditions Le manager doit d’abord s’authentifier.

- Le manager valide une formation suggérée


Post-conditions
- La formation suggérée a été validée avec succès.

Le manager ouvre la fenêtre « Gérer les formations »


– Le système affiche la liste des formations
– Le manager choisit une formation valide
Scénario de base – Le manager clique sur le bouton « Valider »
– Le système enregistre les données saisies dans la base de données
– Le système affiche la formation valide dans le formulaire d’ajout de formation valide
– Le système affiche une notification « Formation validée avec succès »

- Formation existante validée.


Exceptions – Le manager pourra procéder à la validation d’une nouvelle formation
suite à la validation de la dernière formation.

5.2.1.3 Raffinement du cas d’utilisation « Streaming live »

Le streaming live est une application nommée Jitsi qui est installé sur une machine virtuelle
Linux, car une grande partie du processus est scriptée et automatisée. L’hébergement d’un service
comme celui-ci a été réalisé avec un serveur Linux Ubuntu avec accès Internet, ainsi que Microsoft
Azure cloud qui le rend facilement accessible à configurer.
Le raffinement du cas d’utilisation « Streaming live » est illustré dans l’annexe. Voir annexe 7.

❍ Description Textuelle du cas d’utilisation «Streaming live»

54
Chapitre 5. Sprint 2

Tableau 5.6 : Streaming live

Cas d’utilisation Streaming live

Acteur Administrateur, Manager, Formateur ou Participant

L’utilisateur doit d’abord s’authentifier.


Pré-conditions L’utilisateur demande à un autre intervenant de piloter son PC
par un message textuel ou vocal. L’intervenant donne l’accord.

Post-conditions L’utilisateur anime, assiste ou navigue sur le PC d’un autre collaborateur.

- L’utilisateur ouvre la fenetre "Streaming Live".


- Le système affiche l’interface du streaming live comprenant les paramétres
relatifs au son, vidéo, discussion instantannée,
partage d’écran, enregistreùment vidéo.
- L’utilisateur clique sur "Activate" ou "Desactivate" pour activer ou désactiver
Scénario de base le son et la vidéo.
- L’utilisateur clique sur le bouton de partage d’écran pour partager son PC
à distance durant la formation.
- L’utilisateur clique sur l’icône de discussion instantanée.
- Le système affiche une fenêtre qui représente le bureau du PC lors
du partage d’écran.

Exceptions - Problème de connexion.

5.3 Conception

Dans cette section, nous présentons les diagrammes de séquence et le diagramme de classe
du sprint 2.

5.3.1 Diagrammes de séquence

Ayant rédiger la description de certains cas d’utilisation, nous passons à la présentation des
présenter les diagrammes de séquence.

➮ Diagramme de séquence « Ajouter formation »


Le manager ou le formateur, authentifié, clique sur un bouton "Ajouter" et saisi les données
nécessaires de la formation à ajouter. Le système vérifie l’unicité de la formation. Si la formation

55
Chapitre 5. Sprint 2

n’existe pas, alors elle sera enregistrée et le système affichera la liste de toutes les formations
existantes. La figure 5.3 représente le diagramme de séquence « Ajouter une formation ».

Figure 5.3 : Diagramme de séquence «Ajouter une formation»

➮ Diagramme de séquence « Valider formation »


Le manager, authentifié, clique sur le bouton "Valider". Le système valide la formation choisie.
Le système met à jour la liste des formations et retourne les nouvelles formations valides.

56
Chapitre 5. Sprint 2

Figure 5.4 : Diagramme de séquence «Valider une formation»

5.3.2 Diagramme de classe

Ce sprint, comporte les classes relatives à la gestion du questionnaire de besoin, au streaming


live et à la gestion des formations dont la formation suggérée, proposée et professionnelle. La classe
formation est caractérisée par un identifiant, un titre, un niveau, une date de début et de fin, un
nombre de participants, une description, l’état et le statut d’une formation.

57
Chapitre 5. Sprint 2

Figure 5.5 : Diagramme de classe relatif au sprint 2

5.4 Réalisation

Cette section est consacrée pour l’exposition des différentes interfaces réalisées durant le
sprint 2.
La figure 5.6 illustre l’interface de gestion de formation suggérée.

Figure 5.6 : Formation suggérée

La figure 5.7 illustre l’interface de gestion de formation proposée.

58
Chapitre 5. Sprint 2

Figure 5.7 : Formation proposée

L’interface de gestion de formation professionnelle se trouve dans l’annexe.Voir annexe 8


La figure 5.8 illustre l’interface de gestion du questionnaire de besoin.

Figure 5.8 : Questionnaire de besoin

L’interface de gestion de réponse au questionnaire de besoin se trouve dans l’annexe. Chaque


participant rempli le questionnaire de besoin et le valide.Voir annexe 9
Les statistiques des réponses du Questionnaire de besoin par question sont illustrés dans l’annexe.Voir
annexe 10
La figure 5.9 illustre l’interface de streaming live. Ce réseau social permet au formateur de poursuivre
une formation en ligne en joignant plusieurs participants à cette formation. Il comporte un outil de
discussion en ligne, une activation audio, vidéo, un partage d’écran, un enregistrement vidéo.

59
Chapitre 5. Sprint 2

Figure 5.9 : Streaming live

5.5 Rétrospective du sprint

Durant ce sprint, nous n’avons pas réussi à réaliser tout le travail estimé. Nous avons,
essentiellement trouvé des difficultés techniques au niveau du serveur du streaming live. Cette partie
sera achevée durant le sprint suivant.

Conclusion

Au cours de ce chapitre, nous avons présenté le travail réalisé durant le deuxième sprint,
notamment la spécification fonctionnelle, la conception et la réalisation. Nous avons terminé par une
revue du sprint à partir de laquelle nous entamons le troisième sprint.

60
Chapitre 6

Sprint 3

Plan
1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Chapitre 6. Sprint 3

Introduction

Ce chapitre présente la troisième sprint. Suivant la même approche que celle des deux sprints
précédents, nous commençons par rédiger le Backlog du sprint. Nous passons ensuite à la conception
et à la réalisation pour terminer par la revue du sprint.

6.1 Backlog du sprint

Le tableau 6.1 présente le Backlog du sprint 2 auquel nous allons ajouter les User Stories
restants du sprint précédent.

Tableau 6.1 : Backlog du produit du sprint 3

Estimation
ID User Story Tasks
h

En tant que manger, Formateur - Développer l’interface streaming live 2


20 ou participant je veux activer ou - Développer le service streaming live 2
désactiver l’audio et la vidéo - Test & validation 1

En tant que Formateur - Développer l’interface plan de formation 3


24 je veux créer - Développer le service PlanFormationService 3
le plan de formation - Test & validation 1

En tant que formateur - Développer l’interface publier plan de formation 2


25 je veux publier ou dépublier - Développer le service PlanFormationService 2
un plan formation - Test & validation 1

En tant que manager, Formateur - Développer l’interface plan de formation 2


26 ou participant je veux consulter - Développer le service PlanFormationService 2
le plan de formation - Test & validation 1

- Développer l’interface Inscription formation 2


En tant que manager, Formateur
- Développer le service 2
27 ou participant, je veux m’inscrire
InscriptionFormationService
à une formation
- Test & validation 1

62
Chapitre 6. Sprint 3

En tant que manager je veux - Développer l’interface Historique formation 2


28 consulter l’historique - Développer le service HistoriqueFormationService 2
des formations - Test & validation 1

En tant que formateur - Développer l’interface Invitation formation 2


29 je veux inviter un participant - Développer le service InvitationFormationService 2
à une formation - Test & validation 1

En tant que participant - Développer l’interface Invitation formation 2


30 je veux recevoir une notifiaction - Développer le service InvitationFormationService 2
d’assistance à une formation - Test & validation 1

En tant que manager - Développer l’interface PlanIntégration 2


31 je veux préparer - Développer le service PlanIntégrationService 2
un plan d’intégration - Test & validation 1

6.2 Spécification fonctionnelle

Dans cette section, nous présentons le diagramme de cas d’utilisation relatif au sprint , avec
une description textuelle pour certains d’entre eux.

6.2.1 Diagrammes de cas d’utilisation

La figure 6.1 présente le diagramme de cas d’utilisation du sprint 3.

Figure 6.1 : Diagramme de cas d’utilisation du Sprint 3

63
Chapitre 6. Sprint 3

6.2.1.1 Raffinement du cas d’utilisation « Gérer le plan de formation »

La figure 6.2 présente le raffinement du cas d’utilisation « Gérer le plan de formation ».

Figure 6.2 : Raffinement du cas d’utilisation « Gérer le plan de formation »

❍ Description Textuelle du cas d’utilisation « Créer le plan de formation »


Le tableau 6.2 présente la description textuelle du cas d’utilisation « Créer le plan de formation»

64
Chapitre 6. Sprint 3

Tableau 6.2 : Créer un plan de formation

Cas d’utilisation Créer un plan de formation

Acteur Formateur

Pré-conditions Le formateur doit d’abord s’authentifier.

Le formateur doit ajouter un plan de formation.


Post-conditions
Plan de formation ajouté à la base de données.

– Le formateur ouvre la fenêtre « ajouter plan de formation ».


– Le système affiche la liste des formations valides.
– Le formateur clique sur la formation qu’il désire ajouter son plan de formation.
– Le système affiche le formulaire d’ajout.
Scénario de base – Le formateur entre les informations relatives au plan de formation.
– Le formateur clique sur le bouton « ajouter ».
– Le système enregistre les données saisies dans la base de données.
– Le système affiche une notification « Nouveau plan de formation
affiché avec succès »

– Saisie incorrecte.
– Champs obligatoires non rempli.
Exceptions – Plan de formation existant.
– Le formateur pourra procéder à l’ajout d’un nouveau plan de formation.
directement suite à la validation des données relatives au dernier ajout.

❍ Description Textuelle du cas d’utilisation « Publier le plan de formation »


Le tableau 6.3 présente la description textuelle du cas d’utilisation « Publier le plan de
formation ».

65
Chapitre 6. Sprint 3

Tableau 6.3 : Publier le plan de formation

Cas d’utilisation Publier le plan de formation

Acteur Formateur

Pré-conditions Le formateur doit d’abord s’authentifier.

Post-conditions Le formateur doit publier un plan de formation.

- Le formateur ouvre la fenêtre « Liste des formations valide ».


– Le système affiche la liste des plans de formations valides.
– Le formateur clique sur la formation qu’il désire publier son plan de formation.
– Le système affiche le plan de formation de la formation sélectionné.
Scénario de base
– Le formateur clique sur le bouton « publier ».
– Le système affiche le plan de formation à publier à tous les profils.
– Le système enregistre les données saisies dans la base de données.
– Le système affiche une notification « Publication effectuée avec succès ».

– Saisie incorrecte.
– Plan de formation inexistant.
Exceptions
– Le formateur pourra procéder à une nouvelle publication directement
suite à la validation des données relatives à la dernière publication.

6.2.1.2 Raffinement du cas d’utilisation « Gérer les inscriptions »

Le raffinement du cas d’utilisation « Gérer les inscriptions » est illustré dans l’annexe. Voir
annexe 11.

❍ Description Textuelle du cas d’utilisation « Inscription formation »

66
Chapitre 6. Sprint 3

Tableau 6.4 : Inscription formation

Cas d’utilisation Inscription formation

Acteur Participant

Pré-conditions Le participant doit d’abord s’authentifier.

- Le participant s’inscrit à une formation


Post-conditions
- L’inscription a été effectué avec succès.

- Le participant ouvre la fenêtre « Inscription formation ».


- Le participant rempli le formulaire d’inscription formation.
- Le participant clique sur le bouton « S’inscrire ».
Scénario de base
– Le système enregistre les données saisies dans la base de données.
– Le système affiche l’inscription dans la liste des inscriptions.
– Le système affiche une notification « Inscription formation effectuée avec succès »

- Saisie incorrecte
- Utilisateur déja inscrit.
Exceptions
– Le participant pourra procéder à l’inscription à une nouvelle formation
directement suite à la validation de l’inscription précédente.

❍ Description textuelle du cas d’utilisation « Valider demande d’inscription »

Tableau 6.5 : Valider demande d’inscription

Cas d’utilisation Valider demande inscription

Acteur Manager

Pré-conditions Le manager doit d’abord s’authentifier.

Post-conditions - Le manager doit valider une inscription.

– Le manager ouvre la fenêtre « Valider inscription ».


– Le système affiche la liste des inscriptions par participant.
– Le manager sélectionne une inscription retenue.
Scénario de base
- – Le manager clique sur le bouton « Accepter ».
– Le système enregistre les données saisies dans la base de données.
– Le système affiche une notification « Inscription validée avec succès. ».

– Le manager pourra procéder à la validation d’une nouvelle inscription


Exceptions
directement suite à la validation de l’inscription précédente.

67
Chapitre 6. Sprint 3

6.2.1.3 Raffinement du cas d’utilisation « Plan d’intégration »

Le raffinement du cas d’utilisation « Plan d’intégration » est illustré dans l’ annexe 12.

❍ Description Textuelle du cas d’utilisation «Ajouter plan d’intégration»

Tableau 6.6 : Créer un plan d’intégration

Cas d’utilisation Créer un plan d’intégration

Acteur Manager

Pré-conditions Le manager doit d’abord s’authentifier.

Le manager doit ajouter un plan d’intégration.


Post-conditions
Plan d’intégration ajouté à la base de données.

– Le manager ouvre la fenêtre « ajouter un plan d’intégration ».


– Le système affiche la liste des formations valides.
– Le manager clique sur le boutton "Ajouter PLan D’intégration" dont il désire
ajouter son plan d’intégration.
– Le système affiche le formulaire d’ajout.
– Le manager entre les informations relatives du plan d’intégration.
Scénario de base
-Le manager clique sur la liste des "participants" en choisissant un collaborateur.
- Le manager clique sur le bouton "Affecter"
– Le manager clique sur le bouton « ajouter ».
– Le système enregistre les données saisies dans la base de données.
– Le système affiche une notification « Nouveau plan d’intégration
ajouté avec succès »

– Saisie incorrecte.
– Champs obligatoires non rempli.
Exceptions – Plan d’intégration existant.
– Le manager pourra procéder à l’ajout d’un nouveau plan d’intégration.
directement suite à la validation des données relatives au dernier ajout.

6.3 Conception

Dans cette section, nous présentons les diagrammes de séquence et le diagramme de classe
du sprint 3.

68
Chapitre 6. Sprint 3

6.3.1 Diagrammes de séquence

Ayant rédiger la description de certains cas d’utilisation, nous passons à la présentation des
diagrammes de séquence.

➮ Diagramme de séquence « Ajouter plan de formation »


Le formateur, authentifié, clique sur un bouton "Ajouter" et saisi les données nécessaires de
plan formation à ajouter. Le système vérifie l’unicité du plan de formation. Si le plan de
formation n’existe pas, alors il sera ajouté et le système affichera la liste de tous les plan
formations existants. La figure 6.3 représente le diagramme de séquence « Ajouter un plan de
formation ».

Figure 6.3 : Diagramme de séquence « Ajouter un plan de formation »

➮ Diagramme de séquence « Publier un Plan de formation »


Le Formateur, authentifié, clique sur le bouton "Publier". Le système publie le plan de formation
choisie. Le système met à jour la liste des formations et retourne les nouvelles formations avec

69
Chapitre 6. Sprint 3

leurs plans.Voir annexe 13.

➮ Diagramme de séquence « Inscription formation »


Le participant, authentifié, clique sur le bouton "S’inscrire". Le système affiche le formulaire
d’inscription. Le participant remplie les champs du formulaire et clique sur le bouton "S’inscrire".
Le système met à jour la liste des inscriptions et retourne la nouvelle inscription. Voir annexe
14.

➮ Diagramme de séquence « Valider inscription formation »


Le manager, authentifié, clique sur le bouton " Inscription ". Le système affiche la liste des
inscriptions. Il clique sur le bouton " Valider ". Le système met à jour la liste des inscriptions.
Voir annexe 15.

6.3.2 Diagramme de classe

Ce sprint, comporte les classes relatives à la gestion du plan de formation, de l’inscription,


de l’historique de formation et du plan d’intégration. La figure 6.4 présente le diagramme de classe
relatif au sprint 3.

Figure 6.4 : Diagramme de classe du Sprint 3

6.4 Réalisation

Cette section est consacrée pour l’exposition des différentes interfaces réalisées durant le
sprint 3.

70
Chapitre 6. Sprint 3

La figure 6.5 illustre l’interface de gestion du plan de formation.

Figure 6.5 : Plan de formation

L’interface de gestion d’inscription formation est illustrée dans l’annexe.Voir annexe 16

L’interface de gestion du plan d’intégration est présentée dans l’annexe.Voir annexe 17

6.5 Rétrospective du sprint

Durant ce sprint, nous avons réalisé tous le travail du sprint 3 ainsi que le travail restant du
sprint 2.

Conclusion

Au cours de ce chapitre, nous avons présenté le travail réalisé durant le troisième sprint,
notamment la spécification fonctionnelle, la conception et la réalisation. Nous avons terminé par une
revue du sprint à partir de laquelle nous entamons le quatrième sprint.

71
Chapitre 7

Sprint 4

Plan
1 Backlog du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

2 Spécification fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4 Rercherche dans l’espace document . . . . . . . . . . . . . . . . . . . . . 78

5 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6 Rétrospective du sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapitre 7. Sprint 4

Introduction

Suivant la même approche que celle des trois sprints précédents, nous passons au quatrième
sprint, à l’issue duquel nous visons à avoir une version de l’application qui soit livrable. Nous
commençons donc par rédiger le Backlog du sprint pour passer à la spécification et la conception et
terminer par la réalisation.

7.1 Backlog du sprint

Le tableau 7.1 présente le Backlog du sprint 4.

Tableau 7.1 : Backlog du produit du sprint 4

Estimation
ID User Story Tasks
h

- Réaliser la conception du sprint 4 2


En tant que manager ou - Développer l’interface Questionnaire d’évaluation 2
32 formateur je veux créer un - Développer le service 2
questionnaire d’évaluation QuestionnaireEvaluationService
- Test & validation 1

En tant que participant, - Développer l’interface Questionnaire d’évaluation 3


formateur ou manager - Développer le service 3
33
je veux répondre QuestionnaireEvaluationService
à un questionnaire d’évaluation - Test & validation 1

En tant que manager ou - Développer l’interface Questionnaire d’évaluation 2


formateur je veux consulter - Développer le service 2
34
les statistiques des réponses QuestionnaireEvaluationService
sur le questionnaire d’évaluation - Test & validation 1

En tant que manager, formateur


- Développer l’interface Espace Document 2
ou participant je veux créer,
35 - Développer le service DocumentService 2
modifier, consulter et supprimer
- Test & validation 1
un document

73
Chapitre 7. Sprint 4

En tant que formateur - Développer l’interface Réclamation 2


36 ou participant je veux - Développer le service RéclamationService 2
envoyer une réclamation - Test & validation 1

En tant que manager je veux - Développer l’interface Réclamation 2


37 consulter la liste - Développer le service RéclamationService 2
des réclamations - Test & validation 1

En tant qu’administrateur - Développer l’interface Espace Document 2


38 je veux créer une catégorie - Développer le service DocumentService 2
de document - Test & validation 1

7.2 Spécification fonctionnelle

Dans cette section, nous présentons le diagramme de cas d’utilisation relatif au sprint 4, avec
une description textuelle pour certains d’entre eux.

7.2.1 Diagrammes de cas d’utilisation

La figure 7.1 présente le diagramme de cas d’utilisation du sprint 4.

Figure 7.1 : Diagramme de cas d’utilisation du Sprint 4

74
Chapitre 7. Sprint 4

7.2.1.1 Raffinement du cas d’utilisation « Gérer le questionnaire d’évaluation»

Le questionnaire d’évaluation est similaire au questionnaire de besoins ( voir le raffinement


du cas d’utilisation « Questionnaire de besoin » dans la deuxiéme sprint page 49. )

7.2.1.2 Raffinement du cas d’utilisation « Gérer le document »

La figure 7.2 présente le raffinement du cas d’utilisation « Gérer le document ».

Figure 7.2 : Raffinement du cas d’utilisation «Gérer un document»

❍ Description Textuelle du cas d’utilisation « Consulter un document »


Le tableau 6.2 présente la description textuelle du cas d’utilisation « Consulter un document»

75
Chapitre 7. Sprint 4

Tableau 7.2 : Consulter document

Cas d’utilisation Consulter un document

Acteur Utilisateur

Pré-conditions L’utilisateur doit d’abord s’authentifier.

Post-conditions Document trouvé et téléchargé

– L’utilisateur ouvre la fenêtre « Espace document ».


– L’utilisateur remplit le champ de saisie du label « Rechercher ».
– L’utilisateur clique sur le bouton « valider ».
Scénario de base
– Le système affiche le document recherché.
– L’utilisateur clique sur le bouton « télécharger ».
– Le système affiche une notification « Nouveau document téléchargé avec succès ».

– Saisie incorrecte.
– Document inexistant.
Exceptions
– L’utilisateur pourra procéder à la consultation d’un nouveau document
directement suite à la fermeture de la fenêtre du document précédent.

7.2.1.3 Raffinement du cas d’utilisation « Gérer les réclamations »

La figure 7.3 présente le raffinement du cas d’utilisation « Gérer les réclamations ».

Figure 7.3 : Raffinement du cas d’utilisation « Gérer les réclamations »

❍ Description Textuelle du cas d’utilisation « Ajouter une réclamation »

76
Chapitre 7. Sprint 4

Tableau 7.3 : Ajouter réclamation

Cas d’utilisation Ajouter une réclamation

Acteur Participant

Pré-conditions Le participant doit d’abord s’authentifier.

- Le participant envoie une réclamation


Post-conditions
- La réclamation a été effectuée avec succès.

- Le participant ouvre la fenêtre « Réclamation ».


- Le participant rempli le formulaire de réclamation
Scénario de base - Le participant clique sur le bouton « Ajouter une réclamation ».
– Le système enregistre les données saisies dans la base de données.
– Le système affiche une notification « réclamation effectuée avec succès »

– Saisie incorrecte.
– Champs obligatoires non rempli.
Exceptions
- L’utilisateur pourra procéder à la création d’une nouvelle réclamation
directement suite à l’ajout de la réclamation précédente.

7.3 Conception

Dans cette section, nous présentons les diagrammes de séquence et le diagramme de classe
du sprint 4.

7.3.1 Diagrammes de séquence

Ayant rédiger la description de certains cas d’utilisation, nous passons à la présentation des
diagrammes de séquence.

➮ Diagramme de séquence « Ajouter une réclamation »


Le participant, authentifié, clique sur le bouton "Réclamation". Le système ajoute la réclamation.
Le système met à jour la liste des réclamations et l’affiche au manager. Voir annexe 23.

7.3.2 Diagramme de classe

Ce sprint, comporte les classes relatives à la gestion de document et à la réclamation. La


figure 7.6 présente le diagramme de classe relatif au sprint 4.

77
Chapitre 7. Sprint 4

Figure 7.4 : Diagramme de classe relatif au sprint 4

7.4 Rercherche dans l’espace document

Dans cette section, nous allons parler sur la recherche par mot clé dans l’espace document en
utilisant un algorithme d’intelligence artificielle et un modèle sur la machine learninge.

7.4.1 Traitement du langage naturel pour l’apprentissage automatique


NLP

Le NLP pour Natural Language Processing ou Traitement Numérique du Langage est une
discipline qui porte essentiellement sur la compréhension, la manipulation et la génération du langage
naturel par les machines. Ainsi, le NLP est réellement une l’interface entre la science informatique
et la linguistique. Il porte donc sur la capacité de la machine à interagir directement avec l’humain.

7.4.2 Phase de prétraitement : du texte aux données

Le nettoyage des données textuelles est nécessaire pour mettre en évidence les attributs que
notre système d’apprentissage automatique détecte. Le nettoyage (ou prétraitement) des données
comprend généralement un certain nombre d’étapes :

➮ Supprimer la ponctuation
La ponctuation peut fournir un contexte grammatical à une phrase, ce qui favorise notre

78
Chapitre 7. Sprint 4

compréhension.Notre vectoriseur compte le nombre de mots et non le contexte, elle n’ajoute


pas de valeur, donc nous supprimons tous les caractères spéciaux.

➮ Tokenization
La tokenisation sépare le texte en unités telles que des phrases ou des mots. Elle donne une
structure à un texte auparavant non structuré.
ex : Plata o Plomo-> ’Plata’, ’o’, ’Plomo’.

➮ Supprimer les mots d’arrêt


Les mots d’arrêt sont des mots courants qui sont susceptibles d’apparaître dans n’importe quel
texte. Ils nous acuièrent peu d’information sur nos données, c’est pour cette raison qu’on les
supprime. Par exemple : l’argent ou le plomb me conviennent-> argent, plomb, bien.

➮ Vectorisation des données


La vectorisation est le processus d’encodage du texte sous forme d’entiers, c’est-à-dire sous
forme numérique, pour créer des vecteurs de caractéristiques afin que les algorithmes d’apprentissage
automatique puissent comprendre nos données.

➮ Vectorisation des données : Sac de mots


Le sac de mots (BoW) ou CountVectorizer décrit la présence de mots dans les données
textuelles. Il donne un résultat de 1 s’il est présent dans la phrase et de 0 s’il ne l’est pas.
Il crée donc un sac de mots avec un compte de matrice de document dans chaque document
texte.

➮ Vectoriser les données : N-grams


Les N-grammes sont simplement toutes les combinaisons de mots ou de lettres adjacentes de
longueur n que nous pouvons trouver dans notre texte source. Les n-grams avec n=1 sont
appelés unigrammes. De même, on peut utiliser des bigrammes (n=2), des trigrammes (n=3),
etc.

Figure 7.5 : Vectoriser les données : N-grams

➮ Vectoriser les données : TF-IDF

79
Chapitre 7. Sprint 4

Elle calcule la "fréquence relative" d’un mot dans un document par rapport à sa fréquence
dans tous les documents. Elle est plus utile que la "fréquence des termes" pour identifier les
mots "importants" dans chaque document (fréquence élevée dans ce document, fréquence faible
dans les autres documents).

7.5 Réalisation

Cette section est consacrée pour l’exposition des différentes interfaces réalisées durant le
sprint 4.
La figure 7.7 illustre l’interface de gestion des documents.

Figure 7.6 : Gestion des documents

L’interface de gestion des réclamations est illustrée dans l’annexe. Le participant peut envoyer
une réclamation et effectuer des mises à jour dont l’ajout, la modification et la suppression. Le
manager reçoit la liste des réclamations. L’interface de consultation des réclamations comporte un
filtre sur la colonne description qui est un tri par ordre alphabétique. Elle comporte aussi une
pagination.Voir annexe 18

80
Chapitre 7. Sprint 4

7.6 Rétrospective du sprint

Durant ce sprint, nous avons réussi à réaliser tous le travail.

Conclusion

Au cours de ce chapitre, nous avons présenté le travail réalisé durant le quatrième sprint,
notamment la spécification fonctionnelle, la conception et la réalisation. Nous avons terminé par une
revue du sprint à partir de laquelle nous entamons le quatrième sprint.

81
Conclusion générale et perspectives

Tout au long de ce rapport, nous avons présenté les parties d’analyse, de conception et de
développement qui ont été mis en oeuvre dans l’objectif de réaliser ce projet. Notre solution, qui
utilise différentes nouvelles technologies, répond bien aux besoins de New Access grâce à l’innovation
qui lui a été apportée.

Par ailleurs, plusieurs technologies ont été exploitées durant la période du stage, afin d’arriver
au résultat souhaité. Nous citons par exemple Spring Boot, Angular, MangoDB.

Cette opportunité a été très enrichissante en termes de développement des connaissances


acquises aussi bien sur le plan technique mais aussi sur le plan de développement personnel. Mais
elle nous a également permise d’intégrer le monde professionnel en étant bien entouré par des
compétences de New Access. Toutefois, il est utile de noter que pendant le développement de notre
application, nous avons rencontré des problèmes techniques.

Finalement, notre travail s’achève sur un bon résultat et plusieurs opportunités se présentent
à ce projet qui pourra bientôt être intégré dans les solutions de New Access. Comme perspectives, la
solution pourra continuer à s’étendre afin d’enrichir son système d’information comme le développement
d’une application mobile afin de faciliter l’utilisation et l’intéraction entre les collaborateurs.

82
Annexes

Annexe 1. Gérer un sous-département

La figure 8.1 présente le cas d’utilisation «Gérer un sous-département» détaillé.

Figure 8.1 : Raffinement du cas d’utilisation "Gérer un sous-département"

Annexe 2. Diagramme de séquence «S’authentifier»

La figure 8.2 présente le diagramme de séquence «Ajouter un profil utilisateur»

83
Annexes

Figure 8.2 : Diagramme de séquence «S’authentifier»

84
Annexes

Annexe 3. Diagramme de séquence «Ajouter un département»

La figure 8.3 présente le diagramme de séquence «Ajouter un nouveau département».

Figure 8.3 : Diagramme de séquence «Ajouter un département»

Annexe 4. Interface gérer département

La figure 8.4 présente l’interface « Gérer un département».

Figure 8.4 : Interface «Gestion département»

85
Annexes

Annexe 5. Gérer le questionnaire de besoin

La figure 8.5 présente le cas d’utilisation « Gérer le questionnaire de besoin » détaillé.

Figure 8.5 : Raffinement du cas d’utilisation «Gérer le questionnaire de besoin»

Annexe 6. Raffinement du cas d’utilisation «Streaming live»

La figure 8.6 présente le cas d’utilisation « Gérer le questionnaire de besoin » détaillé.

86
Annexes

Figure 8.6 : Raffinement du cas d’utilisation «Streaming live»

Annexe 7. Interface de gestion de formation professionnelle

La figure 8.7 présente l’interface de gestion de formation professionnelle.

Figure 8.7 : Formation professtionnelle

87
Annexes

Annexe 8. Interface de gestion de réponse au questionnaire de

besoin

La figure 8.8 présente l’interface de gestion de réponse au questionnaire de besoin.

Figure 8.8 : Répondre questionnaire de besoin

88
Annexes

Annexe 9. Statistiques des réponses du Questionnaire de besoin

par question

La figure 8.9 présente les statistiques des réponses du Questionnaire de besoin par question.

Figure 8.9 : Statistiques des réponses du Questionnaire de besoin par question

Annexe 10. Gérer les inscriptions

La figure 8.10 présente le cas d’utilisation « Gérer les inscriptions » détaillé.

Figure 8.10 : Raffinement du cas d’utilisation « Gérer les inscriptions »

89
Annexes

Annexe 11. Plan d’intégration

La figure 8.11 présente le cas d’utilisation « Plan d’intégration » détaillé.

Figure 8.11 : Raffinement du cas d’utilisation « Plan d’intégration »

90
Annexes

Annexe 12. Diagramme de séquence « Publier un Plan de formation»

La figure 8.12 présente le diagramme de séquence « Publier un Plan de formation »

Figure 8.12 : Diagramme de séquence «Publier un plan de formation»

Annexe 13. Diagramme de séquence « Inscription formation »

La figure 8.13 présente le diagramme de séquence « Inscription formation »

91
Annexes

Figure 8.13 : Diagramme de séquence « Inscription formation »

Annexe 14. Diagramme de séquence « Valider formation »

La figure 8.14 présente le diagramme de séquence « Valider formation »

Figure 8.14 : Diagramme de séquence « Valider inscription formation »

92
Annexes

Annexe 15. Interface de gestion d’inscription formation

La figure 8.15 présente l’interface de gestion d’inscription formation

Figure 8.15 : Inscription formation

Annexe 16. Interface de gestion d’historique de formation

La figure 8.16 présente l’interface de gestion d’historique de formation

Figure 8.16 : Historique des formations

93
Annexes

Annexe 17. Iinterface de gestion du plan d’intégration

La figure 8.17 présente l’interface de gestion du plan d’intégration

Figure 8.17 : Plan d’intégration

Annexe 18. Interface de gestion des réclamations

La figure 8.18 présente l’interface de gestion des réclamations

Figure 8.18 : Envoyer une réclamation

94
Annexes

95

Vous aimerez peut-être aussi