Vous êtes sur la page 1sur 90

Département de TIC

République du Burundi

Ministère de l’Enseignement
Supérieur et de la Recherche Mastère en Génie
Informatique
Scientifique

Année Académique:
Université du Burundi
2021-2023
Faculté des Sciences de l’Ingénieur

MISE EN PLACE D’UNE APPLICATION WEB


AVEC MODE D’AUTHENTIFICATION « ONE TIME
MEMOIRE
PASSEWORD »DE GESTIONS DES STAGIAIRES

Présentée Par

IRAMBONA Méthode
à la

Faculté des Sciences de l’Ingénieur (FSI)


En vue de l’obtention du grade de

MASTER
en

Génie Informatique
Soutenu le /10/2023, devant le jury composé
de :
Dr. NDAYISABA Longin Président
Dr. MUKESHIMANA Michèle Vice-Président
Dr. NKUNZIMANA Hilaire Secrétaire
Pr. Jérémie NDIKUMAGENGE Directeur
Dr. SAHINGUVU William Membre
Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

DEDICACES

A DIEU tout puissant ;


A mes parents ;
A mes frères et sœurs ;
A mes oncles et tantes ;
A tous mes camarades de classe ;
A tous mes amis et connaissances.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

REMERCIEMENTS

Ce travail est le fruit des efforts conjugues de plusieurs personnes envers


lesquelles j’adresse mes sincères remerciements :
Mes sincères remerciements s’adressent en premier lieu à DIEU tout puissant,
source de toute connaissance qui ma garde et protégé jusqu’à cet heure-ci.
Mes sincères remerciements s’adressent également à mes parents, qui se sont
donne corps et âmes pour mon éducation et bien-être. De plus mes sincères
remerciements s’adressent plus particulièrement à mon encadreur Prof.
Jérémie NDIKUMAGENGE et l’étudiant doctorant
Msc.Ir.NTIRANDEKURA Vércus qui, malgré leurs multiples occupations et
lourdes fonctions a accepté de diriger ce travail. Ses conseils judicieux, ses
critiques et remarques pertinentes m’ont été d’une très grande utilité.
Il serait ingrat de ma part si j’oublie de remercier mes éducateurs depuis
l’école primaire jusqu’à l’université, plus particulièrement à tous les
enseignants du département de Technologie de l’Information et de la
communication pour la formation tant intellectuelle que morale qu’ils ont
inculquées en moi, qu’ils trouvent ici le couronnement de leurs efforts. Enfin
que toutes personnes qui directement ou indirectement, ont contribué
matériellement ou moralement à l’aboutissement de ce travail, trouve ici
l’expression de me vifs remerciements. A chaque et à tous je dis merci.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

LISTE DES SIGLES ET ABLREVIATIONS

BANCOBU : Banque Commerciale du Burundi

CNTC : Cibitoke New Technology Center

CSS : Cascading Style Sheets

FSI : Faculté des Sciences de l’Ingénieur

HMAC : Hash-based message authentication code

HOTP :HMAC-based One-Time Password

HTML : HyperText Markup Language

HTTP : HyperText Transfer Protocol

IG : Informatique de Gestion

IM : Informatique de Maintenance

IT : Informatique de Télécommunication

JS : Javascript

LTC : Lycée Technique Communal

MFA : Authentification multifactorielle

OMG : Object Management Group

OMT : Object Modelling Technique

OOD : Object Oriented Design

OOSE : Object Oriented Software Engineering

OTP : One Time password

PHP : Hypertext Preprocessor

POO : Programmation Oriente objet

RDC : République Démocratique du Congo

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

RN5 : Route Nationale numero5

SDLC : Software Development Life Cycle

SGBDR : Système de gestion de bases de données relationnelles

SQL : Structured Query Language

TIC : Technologie de l’information et de la communication

TOTP : Time based One Time Password

UML : Unified Modeling Language

UPI : Université polytechnique intègres

XAMPP : XAMPP Apache + MariaDB + PHP + Perl

XML Extensible Markup Language

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

LISTE DES FIGURES

Figure 1:Structure Organisationnelle du centre CNTC...................................15


Figure 2: Modèle du cycle de vie en cascade .................................................20
Figure 3 : Modèle du cycle de vie en V. ........................................................20
Figure 4: Schéma d’ensemble des diagrammes d’UML 2..............................23
Figure 5:Formalisme général de la classe.......................................................26
Figure 6 :Une classe avec des attributs et méthodes.......................................28
Figure 7:Formalisme générale de l’héritage....................................................30
Figure 8:Diagramme de cas d’utilisation du système.....................................32
Figure 9:Diagramme de cas d’utilisation de l’administrateur.........................33
Figure 10:Diagramme de cas d’utilisation du secrétaire.................................34
Figure 11:Diagramme de cas d’utilisation du stagiaire...................................35
Figure 12:Diagramme de classe de notre système..........................................42
Figure 13:Diagramme de séquence d’authentification....................................43
Figure 14:Diagramme de séquence de demande du stage...............................44
Figure 15:Diagramme de séquence de rechercher..........................................44
Figure 16:Page d'Authentification pour les utilisateurs du système..............62
Figure 17: Interface pour entre le code OTP..................................................63
Figure 18: Formulaire d'inscription du stagiaire.............................................63
Figure 19: Interface de demande du stage.......................................................64
Figure 20:Interface de résultat si la demande n'est pas encore traite..............64
Figure 21: Interface de résultat si la demande n'est acceptée..........................65
Figure 22: La page d'accueil pour l'admin......................................................65
Figure 23: formulaire d'ajout du nouvel utilisateur.........................................66
Figure 24: Liste de demandes de stage............................................................67
Figure 25: formulaire pour faire la présence du stagiaire...............................67
Figure 26: Liste de présence des stagiaires.....................................................68
Figure 27: Liste pour marquer la présence......................................................68
Figure 28 : Affectation dans un service et cotation du stagiaire.....................69
Figure 29: Désaffectation du stagiaire dans le service pour réaffecter dans
l'autre service...................................................................................................69
Figure 30: Liste des stagiaires qui ont terminés le stage (archivés)................70
Figure 31: Tableau de distribution des droits et permission...........................71
Figure 32: Fiche du stagiaire...........................................................................72
Figure 33: attestation de service rendue..........................................................73

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

LISTE DES TABLEAUX

Tableau 1: valeurs de multiplicité...................................................................29


Tableau 2:Identification des cas d’utilisation de notre système......................31
Tableau 3:Description textuelle du cas d'utilisation « Ajouter stagiaire »,.....36
Tableau 4:Cas d'utilisation « S’Authentifier »................................................37
Tableau 5:Cas d'utilisation « modifier stagiaire »...........................................38
Tableau 6:Cas d'utilisation « Rechercher stagiaire ».....................................39
Tableau 7:Cas d'utilisation « Imprimer »........................................................40
Tableau 8:Operateurs de l’algèbre Relationnelle............................................48

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

RESUME

Le monde est très actif et continuellement évolutif, il a besoin des moyens


performants et fiables de gestion, de communication et d’échange d’informations
pour sa meilleure évolution. C’est dans ce cadre qu’une révolution
numérique/digitale axée/basée sur la disponibilité des données et l’accès aux
informations en temps réel reste pertinente. Ainsi, l’usage de l’internet revêt un
caractère accentué dans la bonne marche de la révolution digitale/numérique.
La sécurité des données/informations des entreprises et/ou des organisations reste
un défi à relever pour le management et l’échange de ces dernières sur le réseau.
C’est dans cette perspective que notre travail se penchera sur la mise en place d’un
outil logiciel de gestion des stagiaires avec intégration d’un mode
d’authentification OTP afin de se protéger contre toute usurpation des données du
système.
Notre travail sera détaillé selon les différentes phases de mise en place du nouvel
outil dont la conceptualisation, le développement et la présentation des résultats
obtenus dans l’optique d’aboutir à un outil satisfaisant.

Les mots clés : Authentification, outil logiciel, information, internet, sécurité,


gestion;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

ABSTRACT

The world is very active and continuously evolving, it needs efficient and reliable
means of management, communication and information exchange for its best
evolution. It is in this context that a digital/digital revolution centered/based on the
availability of data and access to information in real time remains relevant. Thus,
the use of the Internet is accentuated in the smooth running of the digital/digital
revolution.
The security of data/information of companies and/or organizations remains a
challenge to be met despite the management and exchange of these on the network.
It is in this perspective that our work will focus on the implementation of a
software tool for managing trainees with the integration of an OTP authentication
mode in order to protect against any usurpation of system data.
Our work will be detailed according to the different phases of implementation of
the new tool, including the conceptualization, development and presentation of the
results obtained with a view to achieving a satisfactory tool.

Key words: software tool, information, internet, security, management,


trainees;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

TABLE DE MATIER

DEDICACES.....................................................................................................i

REMERCIEMENTS.........................................................................................ii

LISTE DES SIGLES ET ABLREVIATIONS................................................iii

LISTE DES FIGURES......................................................................................v

LISTE DES TABLEAUX................................................................................vi

RESUME........................................................................................................vii

ABSTRACT...................................................................................................viii

TABLE DE MATIERE...................................................................................ix

INTRODUCTION GENERALE.......................................................................1

CHAP I : JUSTIFICATION DU CONTEXTE ET CADRE DU PROJET. .2


I.1 Généralité..................................................................................................2
I.1.1 Quelques terminologies......................................................................2
I.1.2. Authentification en mode OTP..........................................................2
I.1.3 Fonctionnement du mode d’authentification OTP.............................3
I.2. Objectifs du projet...................................................................................3
I.2.1. Objectif Global..................................................................................3
I.2.2. Objectifs spécifiques..........................................................................4
I.3. Problématique..........................................................................................4
I.4. Etude de l’existant...................................................................................5
I.4.1 Description de l’existant........................................................................5
I.4.2 Critique de l’existant..........................................................................5
I.4.3 Délimitation du champ d’études.........................................................6
I.6 Résultats attendus....................................................................................7
I.7 Apports scientifiques et technologiques...................................................8
I.8 Domaines d’application............................................................................8
I.9 Methodologies..........................................................................................8

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

I.10. Outils de développement utilisés.........................................................9

conlusion.........................................................................................................10

CHAP II.PRESENTATION DE CIBITOKE NEW TECHNOLOGY


CENTER………………………....................................................................11
II.1.1 Historique........................................................................................11
II.1.2 Présentation du centre.....................................................................12
II.2. Situation géographique.........................................................................13
II.3. Adresse du centre CNTC......................................................................14
II.4 Mission du centre..................................................................................14
II.5 Objectifs du centre.................................................................................14
II.6 Structure Organisationnelle du centre CNTC........................................15
II.9 Partenaires de CNTC.............................................................................16

CHAP III : CONCEPTION DU SYSTEME D’INFORMATION DE


GESTION DES STAGIAIRES....................................................................17
III.0 Généralités et plan prévisionnel de la réalisation du projet.................17
III.1. Introduction.........................................................................................17
III.2 Intérêt de la modélisation.....................................................................18
III.3 Le cycle de vie d'un logiciel.................................................................18
III.4. modèle de Cycle de vie d’un logiciel..................................................19
III.5 Notion d’UML.....................................................................................22
III.6 Diagrammes d’UML............................................................................22
III.6.1 Diagrammes UML structurels........................................................23
III.6.2 Diagrammes UML comportementaux...........................................24
III.7 Composants du diagramme de classe..................................................25
III.8 Identification des acteurs du système...................................................31
III.9 Diagramme de cas d’utilisation du système........................................32
III.10 Diagramme de cas d’utilisation de l’administrateur..........................33
III.11 Diagramme de cas d’utilisation du secrétaire....................................34
III.12 Diagramme de cas d’utilisation du stagiaire......................................35
III.13 Description contextuelle de quelques cas d’utilisation......................36

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.13.1Description contextuelle de Cas d'utilisation « ajouter »..............36


III.13.2 Description contextuelle de Cas d'utilisation « s’authentifier »..37
III.13.3 Description contextuelle de Cas d'utilisation : « modifier »........38
III.13.4 Description contextuelle de Cas d'utilisation : « Rechercher »....39
III.13.5 Description contextuelle de Cas d'utilisation : « Imprimer ».......40
III.14 Diagramme de classe..........................................................................41
III.15 Les diagrammes de séquences..........................................................43
III.15.1.Diagramme de séquence d’authentification.................................43
III.15.2 Diagramme de séquence de demande du stage............................44
III.15.4 Diagramme de séquence de rechercher........................................44

CHAP IV : MODELISATION MATHEMATIQUE AVEC ALGEBRE


RELATIONNELLE........................................................................................45
IV.1 Définition............................................................................................45
IV.2 Introduction..........................................................................................45
IV.3 Modèle Relationnelle...........................................................................46
IV.3.1 Historique et description du modèle..............................................46
IV.3.2 Justification du choix de ce modèle...............................................47
IV.3.3 Operateurs de l’algèbre Relationnelle............................................47
IV.3.4 Fonctions d’agrégat en algèbre relationnelle................................52
IV.3.5 Traduction d’opérateurs de l’algèbre relationnels en SQL............52
IV.4 Optimisation des requêtes SQL...........................................................55
IV.5 Règles d'optimisation pour les requêtes SQL......................................57
IV.5.1 Optimisation AND.........................................................................58
IV.5.2 Optimisation OR............................................................................58
IV.5.3 Réorganisation des prédicats.........................................................59

CHAPITRE V: IMPLEMENTATION DU SYSTEME DE GESTION DES


STAGIAIRES..................................................................................................62
V.1 présentation de l’application.................................................................62
V.2 Les Fonctionnalités de l’application.....................................................62
V.2.1 L’interface d’Authentification pour des utilisateurs du système....62
V.2.2 L’interface d’Authentification pour l’OTP.....................................63
V.2.3 Formulaire d’inscription du stagiaire.............................................63
V.2.4 L’interface de demande du stage.....................................................64
V.2.5 L’interface de résultat de demande du stage...................................64
V.2.6 La page d’accueil pour l’administrateur du système.......................65

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.7 Le formulaire d’ajout des nouveaux utilisateurs.............................66


V.2.8 Liste de demandes de stage.............................................................67
V.2.9 Formulaire pour faire la présence...................................................67
V.2.10 Liste de présence des stagiaires.....................................................68
V.2.11 Tableau de marque de présences des stagiaires............................68
V.2.12 Liste d’affectation des stagiaires à un encadreur selon le service.69
V.2.13 Liste de désaffectation d’un stagiaire dans un service..................69
V.2.14 Liste des stagiaires qui ont terminés la période de stage..............70
V.2.15 Page d’attribution des droits d’axes aux données.........................71
V.2.16 Fiche du stagiaire à imprimer........................................................72
V.2.17 attestation de service rendue.........................................................73

CONCLUSION GENERALE ET RECOMMANDATIONS....................74


Conclusion générale.....................................................................................74
Recommandations........................................................................................74

REFERENCES BIBLIOGRAPHIQUES ET WEBOGRAPHIQUES.....75

ANNEXES......................................................................................................76

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

INTRODUCTION GENERALE

Depuis l’arrivée du nouveau système éducatif au Burundi, le nombre des


écoliers au niveau des écoles secondaires et supérieurs est de plus en plus
augmenté par rapport à l’ancien système éducatif, raison pour laquelle la
recherche des stages est très compliquée pour les élèves qui terminent les
écoles secondaires et universitaires afin de mettre en pratique les
connaissances théoriques acquises en classe.
Avant l’arrivée de la FSI au Burundi en particulier la technologie de
l’information et des communications TIC, Le Burundi était parmi l’un des
pays qui ne connaissaient pas la nouvelle technologie de l’informatisation et
l’automatisation des taches dans des entreprises car il était habitué à
l’utilisation des systèmes manuels et les données sont stockées dans des
archives au lieu de les stocker électroniquement dans des bases de données.
Le monde d’aujourd’hui évolue de temps à temps et la technologie doit être
appliquée dans tous les domaines d’activité ; Cela entraine le passage des
systèmes manuels vers la modélisation donc l’informatisation des données et
automatisation des taches.
En effet, toute entreprise publique ou privée est susceptible d’un traitement
des informations nécessaires à sa gestion. Toute structure professionnelle
offrant des stages a nécessairement besoin d'un système informatique de
gestion des stagiaires afin de mieux organiser et suivre ses stagiaires.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

CHAP I : JUSTIFICATION DU CONTEXTE ET CADRE DU


PROJET

I.1 Généralité

L'informatisation est le phénomène le plus important de notre époque.


Actuellement, l'informatique est au cœur de toutes les grandes entreprises. Le
système d'information d'une entreprise est composé de matériels et de
logiciels.

I.1.1 Quelques terminologies

Du point de vue général la gestion désigne l'action ou la manière de gérer,


d'administrer, de diriger, d'organiser l'exécution d'une tâche.
Le stage quant à lui peut se définir comme étant une période pendant laquelle
une personne exerce une activité temporaire dans une entreprise, en vue de sa
formation. Le stagiaire quant à lui désigne toute personne qui effectue un
stage.

I.1.2. Authentification en mode OTP

Un mot de passe à usage unique (OTP) est une séquence de caractères


numériques ou alphanumériques générée automatiquement qui permet
d'authentifier un utilisateur pour une seule connexion ou transaction. Cela
signifie qu'une fois qu'un utilisateur s'est connecté avec un mot de passe à
usage unique, celui-ci n'est plus valide et ne peut plus être utilisé pour des
connexions ultérieures. [7][13]
Il est utilisé dans le cadre d'un processus d'authentification multifactorielle
(MFA ) pour sécuriser l'accès aux données. Il est créé de manière aléatoire par
un algorithme, le code OTP se présente sous forme d'une séquence de
caractères (généralement alphanumérique) et peut être envoyé par e-mail, par
SMS, par message vocal ou encore via une application.
Un mot de passe à usage unique est un mot de passe qui possède deux
propriétés fondamentales : il expire rapidement et il ne peut pas être réutilisé.
Vous entendrez fréquemment l'abréviation OTP ainsi que les termes "OTP
key " et "OTP code ". [13]

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

I.1.3 Fonctionnement du mode d’authentification OTP

Les mots de passe à usage unique sont basés sur un algorithme qui crée un
nouveau code aléatoire chaque fois qu'un mot de passe est demandé. Mais
pour bien comprendre le fonctionnement d’OTP, il faut tenir compte de deux
éléments : le générateur OTP et le serveur d'authentification. Nous allons
nous pencher plus en détail sur ces deux composants.
Le générateur OTP fournira à l'utilisateur un mot de passe unique généré sur :
quelque chose que l'utilisateur possède (un jeton d'authentification) ;
Un mot de passe unique basé sur le temps (TOTP), il s'agit d'un mot de passe
OTP dont le facteur de déplacement est basé sur le temps ;Un algorithme de
mot de passe à usage unique basé sur HMAC (HOTP) qui est un algorithme
basé sur les événements OTP où le facteur de déplacement est basé sur les
compteurs plutôt que sur le temps.
En fonction de la solution MFA qui est à l'origine d’OTP, le générateur OTP
peut également inclure un élément connu de l'utilisateur. C'est pourquoi il est
important de vérifier soigneusement si votre solution MFA est basée sur
plusieurs facteurs ou sur un seul.
Le serveur d’authentification : Une fois que le générateur OTP a fourni à
l'utilisateur un mot de passe unique, comme indiqué ci-dessus, le serveur
d'authentification doit vérifier l’OTP. [13]

I.2. Objectifs du projet

I.2.1. Objectif Global

L’objectif principal est de mettre en place une application web avec mode
d’authentification « One Time Password » de gestion des stagiaires dans le
Centre de Nouvelle Technologie de Cibitoke

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

I.2.2. Objectifs spécifiques

Les objectifs spécifiques du nouveau système sont :


1) Assurer une authentification en mode OTP ;
2) Tracer la matrice des responsabilités pour le nouveau système ;
3) Sécuriser les données contre les accès non autorisés ;
4) Réduire la multiplication des supports papier ;
5) Digitaliser l’acquisition des demandes des stages ;
6) Permettre la recherche automatique des informations ;
7) Automatiser l’attribution des stages ;
8) Générer et envoyer des attestations aux stagiaires ;
9) Concevoir une base de données pour le stockage des données.
10) Archiver électroniquement des données relatives aux stagiaires.

I.3. Problématique

Le management quasi manuel des stagiaires relève le risque de perte de


données et la prise de décision erronée conduisant à un système éducatif
moins performant.
Les problèmes liés à ce système de gestion manuelle des stagiaires sont les
suivants :
1. Les Difficultés d’acquérir et attribuer les encadreurs aux stagiaires
puisqu’il s’agit d’un nombre très important des dossiers;
2. La recherche des stagiaires est compliquée ;
3. La difficulté d'élaboration des listes des stagiaires selon les domaines ;
4. La presque impossibilité d'élaborer les attestations de stage aux les
stagiaires ;
5. Le manque d’une base de donnes pour stocker les informations ;
6. La perte des informations ;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

I.4. Etude de l’existant

I.4.1 Description de l’existant

Depuis sa création, Le CNTC reçoit plusieurs stagiaires au cours de l’année


afin de contribuer activement à la formation des futurs diplômés.
Les stagiaires qui désirent effectuer un stage dans la société doivent postuler
et déposer leurs demandes, directement au sein de la société.
Actuellement, la société ne dispose d’aucun outil informatique permettant la
gestion des stagiaires et leurs documents, ce qui nécessite une gestion
manuelle. Pour chaque stagiaire, le secrétaire réserve un dossier qui sera
archivé dès que le stagiaire termine son stage.
Les stagiaires sont obligés de ne pas s’absenter sans aucun motif, en cas
d’absence le secrétaire doit marquer l’absence du stagiaire en cherchant, à
chaque fois, son dossier afin de trouver sa fiche d’absence. Pour consulter une
information sur le stagiaire ou bien sur son stage (nom et prénom, durée
du stage, …) le secrétaire doit toujours chercher son dossier parmi les dossiers
existants.
Pour les stagiaires qui demandent leurs attestations du stage (en cours /
terminé), ils doivent attendre jusqu’à ce que le secrétaire le génère, de
manière
personnalisée, leurs attestations à l’aide d’un éditeur de texte (Word ou
Excel).
Pour faire les affectations des stages et des encadrants, Le secrétaire maintient
une table Excel qui contient 5 colonnes (nom et prénom du stagiaire, sujet de
stage, encadrant, date début du sage, date fin du stage). Chaque ligne dans la
table représente l’affection d’un encadrant à un stagiaire et de ce dernier à un
stage.

I.4.2 Critique de l’existant

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Après l’analyse de l’existant, nous avons pu relever un certain nombre de


difficultés que rencontrent les employés de la société dans la gestion
actuelle des stages et des stagiaires : La tâche de recherche du dossier d’un
stagiaire et très lourde à faire lorsque le nombre des stagiaires est important,
L’accès aux informations des stagiaires est difficile vu qu’il faut à chaque fois
chercher leurs dossiers, Le secrétaire doit organiser manuellement les
documents et les dossiers des stagiaires et des stages, Le classement des
dossiers et très compliqué (par nom du stagiaire/par durée de stage …), les
documents peuvent être perdus, mal reclassées ou bien détériorés par l’usage
fréquent, les dossiers occupent beaucoup d’espace, les dossiers ne sont pas
sécurisés, n’importe quelle personne peut y accéder, vu qu’il n’y a pas d’un
système de génération automatique des attestations, les stagiaires doivent
toujours attendre le secrétaire pour qu’elle génère leurs attestations.

Récemment, un effort de la part de la secrétaire a été mis en place. Cela


consiste à enregistrer les informations des stagiaires dans des tableaux Excel
pour éviter le recours à chaque fois aux dossiers mais cette solution manque
d'interaction et n’évite pas la redondance des informations, ainsi elle n’est
pas très sécurisée.
Actuellement à la CNTC il n'existe pas un logiciel spécialisé pouvant assurer
la gestion des stagiaires. En effet, les différentes tâches de gestion s'effectuent
manuellement. Quand un stagiaire arrive à la CNTC, le chef de service lui fait
signer la convention dont il garde une copie. Puis il fait sortir une nouvelle
liste des stagiaires en utilisant des logiciels non adaptés tels que : Word,
Excel. Ensuite, lors de son départ le stagiaire dépose deux (02) imprimés de
son mémoire et une note ainsi qu'une attestation de fin de stage lui sont
délivrées. Ainsi CNTC ne garde ni la note ni le service où le stage a été
effectué.

I.4.3 Délimitation du champ d’études

Notre étude porte essentiellement sur la gestion des stagiaires dans CNTC. En
effet la gestion des stagiaires consiste à faciliter la recherche des stagiaires, la
traçabilité des stages, l'impression des attestations du stagiaire ainsi que la
définition des profils des stagiaires. Il est donc important pour la CNTC de
mettre sur pied un système compétent pour palier à ce problème, un système

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

qui n'est autre que le Système Informatique de Gestion des Stagiaires de


CNTC d'où le choix de notre Thème.

I.5 Solutions proposées

Afin de pallier au problème observé, et de faciliter la tâche de la Gestion des


stagiaires, nous avons proposé une solution informatique comportant
plusieurs fonctionnalités. Cette solution est de développer une application
web de gestion des stagiaires qui doit être exploitée d’une manière facile et
efficace.
1. Le nouveau système offre des solutions variées entre autre :
2. L’attribution des profils aux stagiaires ;
3. La traçabilité des différents stages effectués ;
4. La recherche automatique des informations ;
5. La Génération automatique des rapports ;
6. L’authentification en mode OTP pour l’accès aux informations ;
7. La Demande de stage à distance ;
8. L’Acceptation ou refus de la demande du stage à distance ;
9. La Gestion des retards et absences des stagiaires ;
10.L’Affectation automatique des stagiaires dans les différents services ;
11.La Consultation du résultat de demande en ligne ;
12.L’Evaluation automatique des stagiaires ;
13.La Conception d’une base de données pour Stocker les données

I.6 Résultats attendus

Les résultats attendus pour le nouveau système sont :


1) Les stages sont gérés de façon automatique ;
2) Les données sont stockées dans une base de données ;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

3) La sécurité des données du nouveau système établie ;


4) La recherche des informations du stagiaire est automatique ;
5) La disponibilité des données en temps réel garantie ;
6) Pas des documents dans des archives ;
7) Tout le processus de gestion des stages se fait en ligne;
8) Les rapports sont générés automatiquement ;
9) Le réseau internet performant existe.

I.7 Apports scientifiques et technologiques

Ce travail a pour principaux apports comme :


1) Livraison des attestations aux stagiaires justifiant que l’étudiant a suivi
le stage régulièrement dans une période prévue ;
2) Documents attestatifs numériques ou traçables numériquement sur les
prestations des stagiaires disponibles pour les institutions hôtes ;
3) Evaluation automatique des stagiaires et transmission automatique des
résultats ;
4) Automatisation des opérations.

I.8 Domaines d’application

Les principaux domaines d’application sont :


1) Industries de transformation et de production de biens et services ;
2) Réseautage informatiques ;
3) Optimisation des systèmes d’information ;
4) Systèmes informatiques de gestion des entreprises ;
5) Institution publique ou privée ;

I.9 Methodologies

Pendant la phase de recherche d’information sur ce travail, on a dû recourir à


diverses méthodes.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Les techniques et les méthodologies utilisées pour collecter et analyser les


données sont les suivantes :
La technique documentaire : Nous avons fait recourt à des documents dans
l’entreprise CNTC, dans certains travaux scientifiques, livres, sites ou nous
avons pu récolter les informations nécessaires et exactes pour la réalisation de
ce travail.
Technique d'observation: C'est une technique qui permet aux chercheurs
d'entrer personnellement en contact avec la réalité qu'ils étudient, elle nous a
aussi permis de descendre sur terrains pour voir le déroulement des opérations
afin de critiquer les informations reçues
Technique d’interview : nous a permis d'être en contact direct avec le
responsable de l’entreprise. (les employés et les chefs de service).

I.10. Outils de développement utilisés

PHP (HyperText Preprocessor), plus connu sous son sigle PHP, est un
langage de programmation libre, principalement utilisé pour produire des
pages Web dynamiques via un serveur HTTP. PHP est un langage impératif
orienté objet. Il s'agit d'un langage de script interprété côté serveur. Même s'il
peut être utilisé en ligne de commande, PHP est principalement associé à un
serveur Web utilisant le protocole HTTP dans le cadre d'une architecture
client/serveur.
HTML signifie « HyperText Markup Language » qu'on peut traduire par
« langage de balises pour l'hypertexte ». Il est utilisé afin de créer et de
représenter le contenu d'une page web et sa structure.
CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage
informatique qui sert à décrire la présentation des documents HTML et XML.
Les standards définissant CSS sont publiés par le World Wide Web
Consortium (W3C).
JavaScript (souvent abrégé JS) est un langage de programmation de scripts
principalement utilisé dans les pages web interactives
Bootstrap est un Framework destiné aux applications web. Développé par
Twitter et distribué sous licence Apache 2, c'est un outil à considérer lors du
développement rapide d'applications web.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

APACHE est un serveur HTTP créé et maintenu au sein de la fondation


Apache. Jusqu'en avril 2019, ce fut le serveur HTTP le plus populaire
du World Wide Web.
MySQL est un système de gestion de bases de données relationnelles
(SGBDR). Il fait partie des logiciels de gestion de base de données les plus
utilisés au monde, autant par le grand public (applications web
principalement) que par des professionnels, en concurrence avec Oracle,
PostgreSQL et Microsoft SQL Server.
Sublimetext est un éditeur de texte générique codé en C++ et Python,
disponible sur Windows, Mac et Linux. Le logiciel a été conçu tout d'abord
comme une extension pour Vim, riche en fonctionnalités.
Xampp est un ensemble de logiciels permettant de mettre en place un serveur
Web local, un serveur FTP et un électronique. Il s'agit d'une distribution de
logiciels libres offrant une bonne souplesse d'utilisation, réputée pour son
installation simple et rapide. Officiellement, XAMPP permet de configurer un
serveur de test local avant la mise en œuvre d'un site Web.
Astah UML Anciennement appelé Jude, Astah est un outil de modélisation
UML créé par la compagnie japonaise Change Vision.
Codigniter est un framework d'application Web PHP qui aide les
développeurs à créer des sites Web dynamiques à l'aide du modèle
architectural Model-View-Controller (MVC). Il fournit une boîte à outils
simple et élégante pour créer des applications Web robustes avec un code
propre et concis. Codigniter est connu pour sa rapidité, sa flexibilité et sa
facilité d'utilisation, ce qui en fait un choix populaire parmi les développeurs
PHP.

conlusion

Après avoir évoqué les généralités sur la gestion des stagiaires et décrit le
problème dans le cadre de notre étude, nous nous intéresserons dans le
chapitre suivant à l'analyse et à la conception du système de gestion des
stagiaires où nous présentons tout d'abord le langage de modélisation, ensuite
la démarche de développement et enfin la modélisation du système.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

CHAP II.PRESENTATION DE CIBITOKE NEW TECHNOLOGY


CENTER

II.1. Historique et présentation du centre

II.1.1 Historique

L’existence de Cibitoke New Technology Center émane de plusieurs


versions. Comme tant d’autre projets, dès l’idée à la réalisation passent aussi
pas mal de temps et de sessions d’épreuves.
Après ses études en informatique à l’université de Ngozi, le promoteur du
projet de faire naître le Centre des Nouvelles technologies de Cibitoke,
Monsieur l’Ingénieur Olivier NDATIMANA, a travaillé dans de différentes
écoles publiques et privées à Cibitoke où il a trouvé un problème majeur que
malgré la multiplicité des écoles techniques, la plus part des élèves terminent
leurs études secondaires sans avoir maitrisé la manipulation de l’outil
informatique, surtout, l’ordinateur à cause de la manque de matériel pour les
pratiques. Outre est que la plupart de la population instruite de cette province
ne sait pas manipuler l’ordinateur.

Pour faire face à ces problèmes, il a envisagé de mettre en place un centre qui
permettra à la population de cette localité d’apprendre et accroitre l’utilisation
des nouvelles technologies et qui permettra aussi aux élèves des écoles
techniques de cette province qu’ailleurs, de trouver un milieu adéquat des

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

pratiques sur l’ordinateur. Même si le CNTC a été créé en juillet 2018, il a


resté dans les idées du fondateur durant une année.
- Par exemple, un certain lundi du 05 juin 2017, le fondateur s’est réuni
avec quelques élèves finalistes de la section « informatique des
télécommunications » qu’il enseignait pour leur expliquer le projet et les
inciter à y participer ;
- En février 2018, il s’est réuni pour la 2ème fois avec les chômeurs
techniciens A2 en différentes sections informatiques comme IG, IM et IT
pour planifier comment on peut débuter ledit projet mais là aussi, il n’a
pas réussi à commencer suite au manque de moyens vu que à cette
époque, le projet lui demandait au minimum 5 million qu’il ne pouvait pas
trouver sur place.

En se basant sur l’un des piliers de l’esprit entrepreneurial « la résilience » qui


consiste à continuer d’avancer malgré les difficultés, le fondateur avait la soif
de voir le CNTC en train de fonctionner. Voilà, en juillet 2018, il commence à
mettre à la disposition de tout le monde son Entreprise.

II.1.2 Présentation du centre

Le Centre des Nouvelles Technologies de Cibitoke est un centre qui offre de


divers services, entre autres : de formations en bureautique, maintenance des
ordinateurs, et autres ; le cyber ; de stages ordinaires et professionnels ; de
secrétariat publique ; et d’autres.
Outre, notre centre a pour mission de promouvoir la nouvelle technologie
basée surtout sur l’information qui permet d’accroitre le développement. Pour
ce faire, la CNTC constitue un environnement doux où l’accès à la
manipulation de l’ordinateur est familier à tout le monde.

Notre projet est bénéfique non seulement pour nous, mais aussi pour la
population locale puisque notre centre constitue un environnement adéquat
pour la manipulation de la machine ordinateur et ainsi, offre des satisfactions
aux divers besoins de la population en rapport avec l’information et la
communication.
Nous rémunérons nos travailleurs.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Notre centre se localise à Cibitoke-Rugombo Tr.7, au cours des premières


années, nous accomplissons nos activités dans un local loué couvrant une
superficie de 54 m2 (6 × 9 m) organisée en deux appartements dont l’un
constitue la salle polyvalente et l’autre sert pour l’administration du centre. Le
coût mensuel de location s’élève à une somme de 100. 000 Fr bu. La structure
organisationnelle dudit centre interpelle 6 employeurs dont connait le centre
comme personnel. Ce qui exige le plus, les qualités de résiliences,
persévérances, dévouements, habiletés et expertises ardentes pour pouvoir
répondre avec pertinence et fiabilité aux besoins de tous genres des
demandeurs de services.

II.2. Situation géographique

Le centre « Cibitoke New Technology Center » se situe dans la province de


Cibitoke, précisément, au chef-lieu de ladite province, juste au 8 ème
transversale sur la route nationale (RN5) Bujumbura-Rugombo. Le CNTC
dispose deux locaux qui résultent du louage. L’un de ces locaux est le siège
social et l’autre correspond en atelier pour des campagnes des pratiques
accueillants des effectifs élevés des participants tels les stages et autres.

Le siège social dudit centre se situe entre une pharmacie vétérinaire et le local
de l’ATRABU-Cibitoke.
Par rapport aux quatre points cardinaux et les points stratégiques :
- Au Nord, se trouve le Bar-Guest house HOME SAINT JOSEPH des
Frères BENEYOZEFU de Cibitoke;
- Au Nord-Ouest, se trouve la station KOBIL de Cibitoke ;
- A l’Ouest, se trouve le Quartier social A;
- Au Sud, se trouve la Paroisse Catholique Christ-Roi de Cibitoke ;
- Et en fin, à l’Est, se trouve l’ECOFO Cibitoke.

Quant au local-atelier, ce local se situe par rapport aux quatre points


cardinaux :
- Au Nord, se trouve le 112ème Bataillon de Cibitoke;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

- Au Nord-Ouest, l’Université UPI de Cibitoke et le palais provincial ;


- Au Nord-Est, se trouve l’Hôpital de Cibitoke ;
- A l’Est, se trouve la rivière Nyamagana ;
- A l’Ouest, sur la route nationale 5, le principal chemin qui mène à ce
local passe par la BANCOBU-Cibitoke;
- Au Sud-Ouest, se trouve le chef-lieu de la Zone Cibitoke ;
- Au sud, se trouve l’Ecole des Techniciens de Laboratoire de Cibitoke ;
- Et enfin, au Sud-Est, se trouve le camp de transit des déplacées
Cishemere.
C’est juste au Nord-Ouest du Burundi, la province qui partage les frontières
avec le Rwanda au Nord, la province de Kayanza à l’Est, la RDC à l’Ouest
ainsi que la province de Bubanza au sud (voir Sud-Est, Sud).

II.3. Adresse du centre CNTC

Vis-à-vis que c’est une institution à caractère de technologie avancée, le


centre CNTC est joignable aussi via ses lignes téléphoniques dont :
68 217 793 / 69 543 392 / 79 443 441 mais aussi sur son adresse électronique
de type mail : cntcbdi@gmail.com .

II.4 Mission du centre

Le Centre de Nouvelles Technologies de Cibitoke a pour mission de


promouvoir les nouvelles technologies basées sur l’information et la
communication afin de participer à l’accroissement du développement.

II.5 Objectifs du centre

Le Centre des Nouvelles Technologies de Cibitoke est un centre qui offre de


divers services, entre autres : de formations en bureautique, maintenance des
ordinateurs, et autres ; le cyber ; de stages ordinaires et professionnels ; de
secrétariat publique ; et d’autres. Le principal objectif de Cibitoke New
Technology Center est de sensibiliser la population surtout instruite de la

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

province de Cibitoke qu’ailleurs d’abandonner le système archaïque


d’information et de communication afin d’adopter les nouvelles technologies
qui permet d’accélérer le développement et de faciliter la vie.

Les objectifs spécifiques sont entre autres : Former la population à manipuler


l’ordinateur et à utiliser les différents logiciels d’application ; Octroyer les
stages aux élèves finalistes des écoles secondaires techniques et aussi ceux
des universités ; Mettre à la disposition des élèves et étudiants un lieu de se
familiariser aux pratiques ; Participer au développement de la province ;
Lutter contre le chômage en octroyant du travail aux chômeurs ;Sensibiliser la
population à acheter et utiliser l’ordinateur ; Sensibiliser les entreprises
publiques et privées d’utiliser les outils informatiques pour améliorer la
rentabilité de leurs entreprises ; Présenter une image de spécialiste et bâtir une
organisation professionnelle ; Participer à la maintenance des équipements
informatiques des entreprises ; Etc.

Les objectifs à atteindre à court terme : Faire connaitre l’importance tant


scientifique qu’économique d’utiliser la machine ordinateur ; Satisfaire à
majorité les divers besoins de la population locale en rapport avec
l’information et la communication.

Les objectifs à atteindre à long terme sont: Arriver à créer les agences du
centre dans les communes de la province Cibitoke ainsi qu’ailleurs ;
Développer un site web de notre centre pour faire connaître plus loin le dit
centre et ainsi accéder à concourir à des marchés nationaux, interrégionaux et
même internationaux surtout en programmation et de diverses formations (cas
des séminaires et ateliers, etc.).

II.6 Structure Organisationnelle du centre CNTC

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Figure 1:Structure Organisationnelle du centre CNTC


La structure organisationnelle dudit centre interpelle 6 employeurs dont
connait le centre comme personnel. Ce qui exige le plus, les qualités de
résiliences, persévérances, dévouements, habiletés et expertises ardentes pour
pouvoir répondre avec pertinence et fiabilité aux besoins de tous genres des
demandeurs de services.

II.9 Partenaires de CNTC

1) CJED BLC : Dès 2020, partenariat dans le fonctionnement (offre du


local pour atelier multimédia) ;
2) ETB : Dès 2019, partenariat dans le renforcement des capacités (offre
de stagiaires de la section IM) ;
3) GTHS : Dès 2019, partenariat dans le renforcement des capacités (offre
des lauréats de GTHS aux travaux pratiques chez CNTC pour renforcer
les programmes ; les sections de IM, IT, Mécanique, IG, etc). Ainsi que
le partenariat en technologie (offre des terrains au CNTC pour les
pratiques en maintenance);
4) LTC Rugombo : Dès 2019, assistance aux stagiaires ; les sections de
IM et Electromécanique. Dès 2020, partenariat dans le renforcement
des capacités (offre de stagiaires de la section IM) ;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

5) Lycée Technique KIRIBA de la commune Mabayi: Dès 2020,


partenariat dans le renforcement des capacités (offre de stagiaires de la
section IT) ;
6) Lycée Technique Rugendo de la commune Mugina: Dès 2019,
partenariat dans le renforcement des capacités (offre des lauréats aux
travaux pratiques chez CNTC pour renforcer les programmes ; la
section de IG. Assistance aux stagiaires de la section EI ainsi que le
partenariat en technologie (offre des terrains au CNTC pour les
pratiques en maintenance). Dès 2020, assistance aux stagiaires de la
section IG;
7) UCODE-AMR : Dès 2019, partenariat en technologie (offre des
terrains au CNTC pour les pratiques en maintenance) ;
8) EDNOS : Dès 2020, partenariat dans le fonctionnement (assistance en
soumission des projets).

CHAP III : CONCEPTION DU SYSTEME D’INFORMATION DE


GESTION DES STAGIAIRES

III.0 Généralités et plan prévisionnel de la réalisation du projet

Dans le cadre de ce chapitre, nous allons définir quelques généralités portant


sur les méthodes et outils mettant en évidence la réalisation de notre projet.
Nous allons commencer par présenter le langage de modélisation unifié UML
(Unified Modeling Language), définir la démarche générique du processus de
développement logiciel qui l’accompagne ainsi que la description de quelques
cas d’utilisation du système.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.1. Introduction

Pour faire face à la complexité croissante des systèmes d’information, de


nouvelles méthodes et outils ont été créées. La principale avancée des quinze
dernières années réside dans la programmation orientée objet(P.O.O.). Face à
ce nouveau mode de programmation, les méthodes de modélisation classique
(telle MERISE) ont rapidement montré certaine limites et ont dû s’adapter.
De très nombreuses méthodes ont apparues comme Booch, OMT, OOSE,…
Les langages orientés objet dominent le monde de la programmation parce
qu'ils modélisent des objets du monde réel. L'UML combine plusieurs
notations orientées objet : Object-Oriented Design (conception orientée
objet), Object Modeling Technique (technique de modélisation objet) et
Object-Oriented Software Engineering (génie logiciel orienté objet).[1]
C’est ainsi qu’est apparu UML (Unified Modified Language « langage de
modélisation objet unifié »), qui est issu de la fusion des méthodes Booch,
OMT (Object Modelling Technique) et OOSE (Object Oriented Software
Engineering).
L'UML utilise les points forts de ces trois approches pour présenter une
méthodologie plus cohérente et plus facile à utiliser. Il représente les
meilleures pratiques de création et de documentation des différents aspects de
la modélisation des systèmes logiciels et d'entreprise. [1]

III.2 Intérêt de la modélisation

La modélisation permet de prédire un fonctionnement ou des événements à


venir ; De mieux comprendre, d’expliquer et de maîtriser le fonctionnement
d’un système (un dessin vaut mieux que mille discours) et par conséquent de
faciliter sa réalisation puis sa maintenance. Elle Permet aussi dans certains
cas d’automatiser certaine tâches (génération automatique du squelette
du programme à partir d’un modèle).

III.3 Le cycle de vie d'un logiciel

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Le cycle de vie d'un logiciel (en anglais software lifecycle), désigne toutes les
étapes du développement d'un logiciel, de sa conception à sa disparition.
L'objectif d'un tel découpage est de permettre de définir des jalons
intermédiaires permettant la validation du développement logiciel, c'est-à-dire
la conformité du logiciel avec les besoins exprimés, et la vérification du
processus de développement, c'est-à-dire l'adéquation des méthodes mises en
œuvre.
L'origine de ce découpage provient du constat que les erreurs ont un coût
d'autant plus élevé qu'elles sont détectées tardivement dans le processus de
réalisation. Le cycle de vie permet de détecter les erreurs au plus tôt et ainsi
de maîtriser la qualité du logiciel, les délais de sa réalisation et les coûts
associés.
Le cycle de vie du logiciel comprend généralement au minimum les étapes
suivantes :
Analyse des besoins et faisabilité signifie l'expression, le recueil et la
formalisation des besoins du demandeur (le client) et de l'ensemble des
contraintes, puis l'estimation de la faisabilité de ces besoins ;
Spécifications ou conception générale c’est une élaboration des
spécifications de l'architecture générale du logiciel ;
Conception détaillée est une étape qui consiste à définir précisément chaque
sous-ensemble du logiciel ;
Codage (Implémentation ou programmation) :c'est la traduction dans un
langage de programmation des fonctionnalités définies lors de phases de
conception ;
Tests unitaires : ils permettent de vérifier individuellement que chaque sous-
ensemble du logiciel est implémenté conformément aux spécifications ;
Intégration : l'objectif est de s'assurer de l'interfaçage des différents éléments
(modules) du logiciel. Elle fait l'objet de tests d'intégration consignés dans un
document ;
Qualification (ou recette) : c'est-à-dire la vérification de la conformité du
logiciel aux spécifications initiales ;
Documentation : elle vise à produire les informations nécessaires pour
l'utilisation du logiciel et pour des développements ultérieurs ;

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Mise en production : c'est le déploiement sur site du logiciel ;


Maintenance : elle comprend toutes les actions correctives (maintenance
corrective) et évolutives (maintenance évolutive) sur le logiciel.
La séquence et la présence de chacune de ces activités dans le cycle de vie
dépendent du choix d'un modèle de cycle de vie entre le client et l'équipe de
développement. Le cycle de vie permet de prendre en compte, en plus des
aspects techniques, l'organisation et les aspects humains. [3]

III.4. modèle de Cycle de vie d’un logiciel

Le cycle de vie du développement logiciel (Cycle de vie d'un projet


informatique) fait référence à la conception, le développement et le test des
logiciels de qualité optimale. SDLC (plus clairement Software Développent
Life Cycle), définit le cycle complet de développement.
Modèle de Cycle de vie en cascade a été mis au point dès 1966, puis
formalisé aux alentours de 1970.
Dans ce modèle le principe est très simple : chaque phase se termine à une
date précise par la production de certains documents ou logiciels. Les
résultats sont définis sur la base des interactions entre étapes, ils sont soumis à
une revue approfondie et on ne passe à la phase suivante que s'ils sont jugés
satisfaisants.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Figure 2: Modèle du cycle de vie en cascade [3]


Le modèle original ne comportait pas de possibilité de retour en arrière. Celle-
ci a été rajoutée ultérieurement sur la base qu'une étape ne remet en cause que
l'étape précédente, ce qui, dans la pratique, s'avère insuffisant.
L'inconvénient majeur du modèle de cycle de vie en cascade est que la
vérification du bon fonctionnement du système est réalisée trop tardivement :
lors de la phase d'intégration, ou pire, lors de la mise en production.
Modèle de Cycle de vie en V demeure actuellement le cycle de vie le plus
connu et certainement le plus utilisé. Il s'agit d'un modèle en cascade dans
lequel le développement des tests et du logiciel sont effectués de manière
synchrone.

Figure 3 : Modèle du cycle de vie en V. [3]

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Le principe de ce modèle est qu'avec toute décomposition doit être décrite la


recomposition et que toute description d'un composant est accompagnée de
tests qui permettront de s'assurer qu'il correspond à sa description.
Ceci rend explicite la préparation des dernières phases (validation-
vérification) par les premières (construction du logiciel), et permet ainsi
d'éviter un écueil bien connu de la spécification du logiciel : énoncer une
propriété qu'il est impossible de vérifier objectivement après la réalisation.
Cependant, ce modèle souffre toujours du problème de la vérification trop
tardive du bon fonctionnement du système.
Modèle du cycle de vie en spirale proposé par B. Boehm en 1988, ce modèle
est beaucoup plus général que le précédent. Il met l'accent sur l'activité
d'analyse des risques : chaque cycle de la spirale se déroule en quatre phases :
Détermination : à partir des résultats des cycles précédents, ou de l'analyse
préliminaire des besoins, des objectifs du cycle, des alternatives pour les
atteindre et des contraintes ;
Analyse des risques : évaluation des alternatives et, éventuellement
maquettage ; Développement et vérification de la solution retenue : un modèle
« classique » (cascade ou en V) peut être utilisé ici ; Revue des résultats et
vérification du cycle suivant : L'analyse préliminaire est affinée au cours des
premiers cycles. Le modèle utilise des maquettes exploratoires pour guider la
phase de conception du cycle suivant. Le dernier cycle se termine par un
processus de développement classique.
Modèle du cycle de vie en incrément un logiciel est décomposé en
composants développés séparément et intégrés à la fin du processus dans les
modèles précédents.
Dans les modèles par incrément un seul ensemble de composants est
développé à la fois : des incréments viennent s'intégrer à un noyau de logiciel
développé au préalable. Chaque incrément est développé selon l'un des
modèles précédents.
Les avantages de ce type de modèle sont les suivants :
Chaque développement est moins complexe ; les intégrations sont
progressives ; il est ainsi possible de livrer et de mettre en service chaque
incrément ; il permet un meilleur lissage du temps et de l'effort de
développement grâce à la possibilité de recouvrement des différentes phases.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Les risques de ce type de modèle sont les suivants :


Remettre en cause les incréments précédents ou pire le noyau ; Ne pas
pouvoir intégrer de nouveaux incréments.
Les noyaux, les incréments ainsi que leurs interactions doivent donc être
spécifiés globalement, au début du projet. Les incréments doivent être aussi
indépendants que possible, fonctionnellement, mais aussi sur le plan du
calendrier du développement. [3]

III.5 Notion d’UML

UML (Unified Modeling Language), se définit comme un langage de


modélisation graphique et textuel destiné à comprendre et à définir des
besoins, spécifier et documenter des systèmes, esquisser des architectures
logicielles, concevoir des solutions et communiquer des points de vue.
UML modélise l’ensemble des données et des traitements en élaborant des
différents diagrammes. En clair, il ne faut pas designer UML en tant que
méthode (Il y manque la démarche) mais plutôt comme une boite d’outils qui
sert à améliorer les méthodes de travail.

III.6 Diagrammes d’UML

UML dans sa version 2 s’articule autour de treize diagrammes, chacun d’entre


eux est dédié à la représentation d’un système logiciel suivant un point de vue
particulier.
Ces diagrammes sont regroupés dans deux grands ensembles: les diagrammes
structurels et les diagrammes de comportement.
L’ensemble des 13 types de diagrammes UML peut ainsi être résumé sur la
figure ci- dessous :

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Figure 4: Schéma d’ensemble des diagrammes d’UML 2[14] [15]


L'UML utilise des éléments et les associe de différentes manières pour former
des diagrammes qui représentent les aspects statiques ou structurels d'un
système, ainsi que des diagrammes comportementaux qui capturent les
aspects dynamiques d'un système.

III.6.1 Diagrammes UML structurels

Les diagrammes UML structurels, comme leur nom l’indique, illustrent la


structure d’un système, notamment les classes, les objets, les paquetages, les
composants, etc., et les relations entre ces éléments.
Diagramme de classes : Diagramme UML le plus couramment utilisé et
fondement de toute solution orientée objet. Classes d'un système, attributs et
opérations, et relations entre chaque classe.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Les classes sont regroupées pour créer des diagrammes de classe lors de la
modélisation de systèmes de grande taille.
Diagramme de composants : Représente la relation structurelle entre les
éléments d'un système logiciel, le plus souvent utilisé avec des systèmes
complexes disposant de multiples composants. Les composants
communiquent à l'aide d'interfaces.
Diagramme de structure composite : Les diagrammes de structure composite
sont utilisés pour présenter la structure interne d'une classe.
Diagramme de déploiement : Illustre les infrastructures physique et logicielle
d'un système. Ils sont utiles lorsqu'une solution logicielle est déployée sur de
nombreuses machines avec des configurations uniques.
Diagramme d'objets: Montre les relations entre des objets à travers des
exemples tirés du monde réel et permet de voir l'apparence d'un système à
n'importe quel instant donné. Les données sont disponibles à l'intérieur des
objets, elles peuvent donc être utilisées pour clarifier les relations entre des
objets.
Diagramme de paquetages : Il existe deux types de dépendances spéciales
entre les paquetages : l'importation de paquetages et la fusion de paquetages.
Les paquetages peuvent représenter les différents niveaux d'un système pour
en révéler l'architecture. Les dépendances des paquetages peuvent être
marquées pour mettre en avant le mécanisme de communication entre les
différents niveaux. [1][14]

III.6.2 Diagrammes UML comportementaux

Les diagrammes de comportement (behavior diagrams) rassemblent :


Diagrammes d'activités : Flux de travail d'entreprise ou opérationnels
représentés graphiquement pour montrer l'activité de chacune des
composantes du système. Les diagrammes d'activités sont utilisés comme une
alternative aux diagrammes états-transitions.
Diagramme de communication Semblable à un diagramme de séquence, mais
l'accent est mis sur les messages transmis entre les objets. La même
information peut être représentée par un diagramme de séquence et différents
objets.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Diagramme global d'interaction. Il existe sept types de diagrammes


d'interaction, et ce diagramme montre l'ordre dans lequel ils agissent.
Diagramme de séquence Montre comment les objets interagissent les uns
avec les autres et dans quel ordre. Ils représentent les interactions d'un
scénario particulier.
Diagramme états-transitions Semblable à un diagramme d'activités, il décrit le
comportement des objets qui se comportent de diverses manières dans leur
état actuel.
Diagramme de temps À l'instar d'un diagramme de séquence, le
comportement des objets est représenté sur un laps de temps donné. S'il y a un
seul objet, le schéma est simple. S'il y a plus d'un objet, les interactions des
objets sont présentées sur ce laps de temps précis.
Diagramme de cas d'utilisation Il représente une fonctionnalité spécifique
dans un système et est créé pour illustrer comment différentes fonctionnalités
sont interconnectées et montrer leurs contrôleurs(ou acteurs) internes et
externes[1][14].

III.7 Composants du diagramme de classe

Le diagramme de classe constitue l’un des pivots essentiels de la modélisation


avec UML. En effet, ce diagramme permet de donner la représentation statique
du système à développer. Cette représentation est centrée sur les concepts de
classe et d’association. Chaque classe se décrit par les données et les
traitements dont elle est responsable pour elle-même et vis-à-vis des autres
classes. Les traitements sont matérialisés par des opérations. Le détail des
traitements n’est pas représenté directement dans le diagramme de classe; seul
l’algorithme général et le pseudocode correspondant peuvent être associés à la
modélisation. [2]
La description du diagramme de classe est fondée sur : le concept d’objet ; le
concept de classe comprenant les attributs et les opérations ;les différents types
d’association entre classes.
Le concept d’objet : Un objet est un concept, une abstraction ou une chose qui
a un sens dans le contexte du système à modéliser. Chaque objet a une identité
et peut être distingué des autres sans considérer a priori les valeurs de ses
propriétés.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

- Un objet est caractérisé par les valeurs de ses propriétés qui lui
confèrent des états significatifs suivant les instants considérés.
- Concept de classe.
- Une classe décrit un groupe d’objets ayant les mêmes propriétés
(attributs), un même comportement (opérations), et une sémantique
commune (domaine de définition).
- Un objet est une instance d’une classe. La classe représente
l’abstraction de ses objets. Au niveau de l’implémentation, c’est-à-dire
au cours de l’exécution d’un programme, l’identificateur d’un objet
correspond une adresse mémoire [10].
Une classe se représente à l’aide d’un rectangle comportant plusieurs
compartiments.
-Les trois compartiments de base sont : La désignation de la classe ; La
description des attributs ; La description des opérations.
-Deux autres compartiments peuvent être aussi indiqués : La description des
responsabilités de la classe ; La description des exceptions traitées par la
classe.
Cependant Il est possible de manipuler les classes en limitant le niveau de
description à un nombre réduit de compartiments selon les objectifs
poursuivis par le modélisateur.
Ainsi les situations suivantes sont possibles pour la manipulation d’une
description restreinte de classe: description uniquement du nom et des
caractéristiques générales de la classe ; description du nom de la classe et de
la liste d’attributs.
La figure suivante montre le formalisme général des comportements d’une
classe:

Nom de la classe

Attributs

Operations

Figure 5:Formalisme général de la classe

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Attributs est une propriété élémentaire d’une classe. Pour chaque objet d’une
classe, l’attribut prend une valeur (sauf cas d’attributs multivalués).
La description complète des attributs d’une classe comporte un certain
nombre de caractéristiques qui doivent respecter le formalisme suivant :
Visibilité/Nom attribut : type [= valeur initiale {propriétés}]
Visibilité : Chaque attribut d’une classe peut être de type public, protégé,
privé ou paquetage ;
Nom d’attribut : nom unique dans sa classe ;
Type: type primitif (entier, chaîne de caractères…) dépendant des types
disponibles dans le langage d’implémentation ou type classe matérialisant un
lien avec une autre classe.
Valeur initiale : valeur facultative donnée à l’initialisation d’un objet de la
classe.
Propriétés : valeurs marquées facultatives (ex. : « interdit » pour mise à jour
interdite).
Opération : Une opération est une fonction applicable aux objets d’une
classe. Une opération permet de décrire le comportement d’un objet. Une
méthode est l’implémentation d’une opération.
-Caractéristiques d’une opération:
Visibilité : Chaque opération d’une classe peut être de type public, protégé,
privé ou paquetage.
Nom d’opération : utiliser un verbe représentant l’action à réaliser.
Paramètres : liste de paramètres (chaque paramètre peut être décrit, en plus de
son nom, par son type et sa valeur par défaut). L’absence de paramètre est
indiquée par ( ).
Type résultat : type de (s) valeur(s) retourné(s) dépendant des types
disponibles dans le langage d’implémentation.
Propriétés : valeurs facultatives applicables (ex. : {query} pour un
comportement sans influence sur l’état du système).
Visibilité des attributs et opérations
Nous avons vu que chaque attribut ou opération d’une classe peut être de type
public, protégé, privé ou paquetage.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Les symboles + (public), # (protégé), - (privé) et ~ (paquetage) sont indiqués


devant chaque attribut ou opération pour signifier le type de visibilité autorisé
pour les autres classes.Les droits associés à chaque niveau de confidentialité
sont :
Public (+) : Attribut ou opération visible par tous.
Protégé (#) : Attribut ou opération visible seulement à l’intérieur de la classe
et pour toutes les sous-classes de la classe.
Privé (-) : Attribut ou opération seulement visible à l’intérieur de la classe.
Paquetage (~) : Attribut ou opération ou classe seulement visible à l’intérieur
du paquetage où se trouve la classe .
On peut montrer quelques notions évoquées ci-haut avec la classe ci-dessus :

Stagiaire

-Idstagr : int
-Nomstgr : String
-Prenomstgr :String

+ Enregistrer() :void
+Modifier() : void
+Supprimer() : void

Figure 6 : une classe avec des attributs et méthodes


-Relation entre les classes
Les classes ne valent que par les relations qu'elles tissent entres elles. Ces
relations ne sont pas exclusives au diagramme de classe, elles peuvent
également s'appliquer à l'ensemble des diagrammes statiques.
Association ou relation structurelle exprime une connexion sémantique
bidirectionnelle entre classes. C’est une abstraction des liens qui existent entre
les objets instances des classes associées
Une association est représentée par un trait plein, pouvant être orienté. La
multiplicité est notée du côté du rôle cible de l'association.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Elle spécifie le nombre d'instances pouvant être associées (liées) avec une
seule instance source de la relation. Exemple : Une personne peut posséder
plusieurs voitures (entre zéro et un nombre quelconque) ; une voiture est
possédée par une seule personne.
Les associations comportent des cardinalités : Cette notion est identique à
celle contenue dans Merise. Dans UML, on parle de valeurs de multiplicité.
Interprétation : Une revue est disponible dans un ou plusieurs points de vente.
Un point de vente distribue de une à plusieurs revues.
Commentaire: Le nombre de classes participant à l'association définissent
l'arité de l'association. L’exemple précédent montre une association d'arité 2,
Ceci sera le plus fréquent.
Valeurs de multiplicité :
Tableau 1: valeurs de multiplicité

1..1 Un et un seul

1 Un et un seul

0..1 Zéro ou un

m..n De m à n

* De zéro à plusieurs

0..* De zéro à plusieurs

1..* De un à plusieurs

Relation de spécialisation/généralisation
Relation d'héritage, dans laquelle les objets de l'élément spécialisé (classe
enfant) peuvent remplacer les objets de l'élément général (classe parent).
Notation UML : Un trait plein, orienté de la classe spécialisée (enfant) vers
son modèle (parent) et se terminant par une flèche fermée.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

utilisateur Encadreur

Figure 7: Formalisme générale de l’héritage


Relation de dépendance : Cette relation est simple à comprendre : elle
présente l'utilisation que fait une classe d'une autre. Une classe dépend d'une
autre si ses méthodes manipulent l'objet de cette classe. En UML, une
dépendance est représentée par une ligne en tirets, terminée par une simple
flèche.Autrement dit, une dépendance est une relation entre deux éléments
dans laquelle une modification à un élément (l'élément indépendant : par
exemple fournisseur) provoque des modifications sur l'autre élément
(l'élément dépendant : exemple client).
Une dépendance est représentée graphiquement sous la forme d'une ligne
dirigée de pointillés, dirigée vers l'élément indépendant (fournisseur):
Agrégation: Une relation d'agrégation indique un principe de subordination
entre l'agrégat (classe qui regroupe les classes agrégées) et les agrégées.
Concrètement, elle indique une "possession" : l'agrégat peut contenir
plusieurs objets d'un type. Réservation Par exemple, une classe peut contenir
un ou plusieurs objets de type Place de Cinéma.
En UML, une agrégation est représentée par une ligne entre deux classes,
terminée par un losange vide du côté de l'agrégat.
Exemple : La relation entre une Personne est son adresse peut être vue comme
une agrégation : la classe Personne possède une adresse, mais l'Adresse ne
meurt pas forcément quand la Personne déménage, ou "décède".
Composition aussi appelée "agrégation forte" ou "agrégation par valeur", il
s'agit en fait d'une agrégation à laquelle on impose des contraintes internes :
un seul objet peut faire partie d'un composite (l'agrégat de la composition), et
celui-ci doit gérer toutes ses parties.
En clair, les composants sont totalement dépendants du composite. En UML,
la composition est représentée de la même manière que l'agrégation, mais le
losange est plein. [2]

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.8 Identification des acteurs du système

Le tableau ci-dessous illustre l’identification des cas d’utilisation de notre


système
Tableau 2:Identification des cas d’utilisation de notre système

Acteurs Cas d’utilisation

Tous les acteurs S’authentifier

Administrateur du système -Gérer les utilisateurs


-accepter /refuser les demande
-imprimer les rapports
-supprimer le stagiaire
-affecter le stagiaire dans le service
-affecter l’encadreur au stagiaire
-afficher les listes

Secrétaire -accepter /refuser les demande


-imprimer les rapports
-supprimer le stagiaire
-affecter le stagiaire dans le service
-affecter le stagiaire à un encadreur
-afficher les listes des stagiaires

Stagiaire -faire la demande de stage ??


-consulter le résultat de la demande
de stage

Encadreur -afficher la liste des stagiaires

III.9 Diagramme de cas d’utilisation du système

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Figure 8:diagramme de cas d’utilisation du système

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.10 Diagramme de cas d’utilisation de l’administrateur

Figure 9:Diagramme de cas d’utilisation de l’administrateur

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.11 Diagramme de cas d’utilisation du secrétaire

Figure 10:Diagramme de cas d’utilisation du secrétaire

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.12 Diagramme de cas d’utilisation du stagiaire

Figure 11:Diagramme de cas d’utilisation du stagiaire

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.13 Description contextuelle de quelques cas d’utilisation

III.13.1Description contextuelle de Cas d'utilisation « ajouter »

Le tableau suivant présente la description textuelle du cas d'utilisation


Ajouter stagiaire, pour enrichir le diagramme de cas d'utilisation :
Tableau 3:Description textuelle du cas d'utilisation « Ajouter stagiaire »,

Nom Ajouter stagiaire

Résume Ce cas d'utilisation permet à l'administrateur


d'accepter ou de refuse la demande d’un nouveau
stagiaire.

Acteurs primaires Administrateur, secrétaire

Acteurs
secondaires

Précondition Le stagiaire n'est pas inscrit

Scenario nominal 1. le stagiaire envoie la demande


2. L'administrateur vérifie la demande
3. l’administrateur clique sur le bouton accepter ou
refuse
2. Le système lui propose l'interface d'enregistrement
3. L'administrateur entre les données puis clique sur
le bouton d'envoi
4. Le système envoie un message de confirmation de
l'ajout à l'administrateur.

Scénario alternatif A1 : le profil n’est pas demande


6- Le système informe notifie au stagiaire que la
demande est refusée

Scénario d'erreur

Post – condition Le système a enregistré un nouvel stagiaire dans la


base de données. Un nouvel stagiaire vient d'être

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

ajouté.

III.13.2 Description contextuelle de Cas d'utilisation « s’authentifier »

Tableau 4:Cas d'utilisation « S’Authentifier »

Nom Authentification

Résume Ce cas d'utilisation permet à un utilisateur de se


connecter à la plateforme et d'avoir accès à son
compte

Acteurs primaires Utilisateur,

Acteurs
secondaires

Précondition Avoir les informations (email, mot de passe)


enregistrées dans la base de données du système

Scenario nominal 1. L'utilisateur lance l'application


2. Le système affiche l'interface de connexion
3. L'utilisateur saisie les informations de son compte
4. Le système vérifie les informations entrées
5. Le système envoie le mot de passe unique en mode
OTP sur mail
6. L’utilisateur entre le mot de passe provenant sur
son mail
7. Le système affiche la page d'accueil (utilisateur,
administrateur, secrétaire)

Scénario alternatif A1 : les informations du compte sont incorrectes


L'enchainement A1 commence au point 3
5- Le système informe l'utilisateur de l'erreur
Le scénario reprend au point 2

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Scénario d'erreur Le profil n’est pas demande

Post – condition L'utilisateur est connecté à l’application.

III.13.3 Description contextuelle de Cas d'utilisation : « modifier »

Le tableau suivant présente la description textuelle du cas d'utilisation


Modifier stagiaire, pour enrichir le diagramme de cas d'utilisation :
Tableau 5:Cas d'utilisation « modifier stagiaire »

Nom Modifier stagiaire

Résume Ce cas d'utilisation permet à l'administrateur d'ajouter


un nouveau stagiaire dans la base de données

Acteurs primaires Administrateur, secrétaire

Acteurs
secondaires

Précondition Le stagiaire est déjà inscrit

Scenario nominal 1. L'administrateur ou secrétaire clique sur le lien de


modification de stagiaire
2. Le système lui propose l'interface de modification
3. L'administrateur entre les données puis clique sur
le bouton d'envoi
4. Le système contrôle les informations entrées puis
envoie un message sur l'état de la modification à
l'administrateur ou secrétaire.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Scénario alternatif

Scénario d'erreur

Post – condition Le système a modifié un stagiaire dans la base de


données.

III.13.4 Description contextuelle de Cas d'utilisation : « Rechercher »

Le tableau suivant présente la description textuelle du cas d'utilisation


Rechercher stagiaire, pour enrichir le diagramme de cas d'utilisation :
Tableau 6:Cas d'utilisation « Rechercher stagiaire »

Nom Recherche stagiaire

Résume Ce cas d'utilisation permet à l'administrateur ou secrétaire


ainsi que l’encadreur de rechercher un stagiaire dans la base
de données

Acteurs Administrateur, secrétaire, encadreur


primaires

Acteurs
secondaire
s

Préconditi - La base de données doit être renseignée


on - La base de données doit être mise à jour

Scenario 1. L'administrateur, secrétaire, encadreur clique sur le lien de


nominal de recherche stagiaire
2. Le système lui propose l'interface de recherche
3. L'administrateur choisit le critère de recherche puis entre
les données et tape sur la touche rechercher
4. le système fouille le résultat avec les données choisies

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

5. le système affiche le résultat de recherche

Scénario A1: pas de résultat


alternatif A1 commence au point 4 du scénario nominal
5- le système informe l'administrateur de l'indisponibilité du
résultat
le scénario reprend au point 2

Scénario
d'erreur

Post – La recherche a abouti à un résultat valable


condition désiré par l'administrateur.

III.13.5 Description contextuelle de Cas d'utilisation : « Imprimer »

Le tableau suivant présente la description textuelle du cas d'utilisation


Imprimer le rapport du stagiaire, pour enrichir le diagramme de cas
d'utilisation
Tableau 7:Cas d'utilisation « Imprimer »

Nom Recherche stagiaire

Résume Ce cas d'utilisation permet à l'administrateur de rechercher


un stagiaire dans la base de données

Acteurs Administrateur, secrétaire


primaires

Acteurs
secondaires

Précondition - La base de données doit être renseignée


- La base de données doit être mise à jour

Scenario 1. L'administrateur, secrétaire, clique sur le lien


nominal d’impression du stagiaire
2. Le système lui propose l'interface de recherche

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

3. L'administrateur choisit le critère de recherche puis entre


les données et tape sur la touche rechercher
4. le système fouille le résultat avec toutes les informations
du stagiaire
5. l’administrateur, ou le secrétaire clique sur le bouton
imprimer
6. Le système imprime les informations demandées

Scénario A1: pas de résultat


alternatif A1 commence au point 3 du scénario nominal
5- le système informe l'administrateur de l'indisponibilité du
résultat
le scénario reprend au point 2

Scénario
d'erreur

Post – Le rapport désire par l’administrateur est disponible.


condition

III.14 Diagramme de classe

Le diagramme de classes est un schéma utilisé en génie logiciel pour


présenter les classes et les interfaces des systèmes ainsi que leurs relations.
Il est considéré comme le plus important de la modélisation orientée objet,
il est le seul obligatoire lors d'une telle modélisation.
En effet, le diagramme de classes montre la structure interne. Il permet de
fournir une représentation abstraite des objets du système qui vont interagir
pour réaliser les cas d'utilisation. Il est important de noter qu'un même objet
peut très bien intervenir dans la réalisation de plusieurs cas d'utilisation. Les
cas d'utilisation ne réalisent donc pas une partition des classes du diagramme
de classes. Un diagramme de classes n'est donc pas adapté
(sauf cas particulier) pour détailler, décomposer, ou illustrer la réalisation d'un
cas d'utilisation particulier.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Figure 12:Diagramme de classe de notre système

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.15 Les diagrammes de séquences

Les diagrammes de séquences sont la représentation graphique des


interactions entre les acteurs et le système selon un ordre chronologique dans
la formulation Unified Modeling Language.

III.15.1.Diagramme de séquence d’authentification

Figure 13:Diagramme de séquence d’authentification

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

III.15.2 Diagramme de séquence de demande du stage

Figure 14:Diagramme de séquence de demande du stage

III.15.4 Diagramme de séquence de rechercher

Figure 15:Diagramme de séquence de rechercher

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

CHAP IV : MODELISATION MATHEMATIQUE AVEC ALGEBRE


RELATIONNELLE

IV.1 Définition

Un modèle mathématique est une traduction de la réalité pour pouvoir lui


appliquer les outils, les techniques et les théories mathématiques, puis
généralement, en sens inverse, la traduction des résultats mathématiques
obtenus en prédictions ou opérations dans le monde réel. [16][17]
Les modèles mathématiques représentent une représentation formalisée d'un
système en utilisant un langage abstrait, en utilisant des relations
mathématiques qui reflètent le processus de fonctionnement du système. Pour
compiler des modèles mathématiques, vous pouvez utiliser n'importe quel
moyen mathématique - calcul algébrique, différentiel, intégral, théorie des
ensembles, théorie des algorithmes, etc. En substance, toutes les
mathématiques sont créées pour la compilation et l'étude de modèles d'objets
et de processus. [16]

IV.2 Introduction

La représentation d'information sous forme relationnelle est intéressante car


les fondements mathématiques du relationnel, outre qu'ils permettent une
modélisation logique simple et puissante, fournissent également un
ensemble de concepts pour manipuler formellement l'information ainsi
modélisée.
Ainsi une algèbre relationnelle, sous forme d'un ensemble d'opérations
formelles, permet d'exprimer des questions, ou requêtes, posées à une
représentation relationnelle, sous forme d'expressions algébriques.[9]
L'algèbre relationnelle est un support mathématique cohérent sur lequel
repose le modèle relationnel. L'objet de cette section est d'aborder l'algèbre
relationnelle dans le but de décrire les opérations qu'il est possible
d'appliquer sur des relations pour produire de nouvelles relations.
L'approche suivie est donc plus opérationnelle que mathématique.[10]
On peut distinguer trois familles d'opérateurs relationnels :

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Les opérateurs unaires (Sélection, Projection) :ce sont les opérateurs les plus
simples, ils permettent de produire une nouvelle table à partir d'une autre
table.
Les opérateurs binaires ensemblistes (Union, Intersection Différence) :ces
opérateurs permettent de produire une nouvelle relation à partir de deux
relations de même degré et de même domaine.
Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division). Ils
permettent de produire une nouvelle table à partir de deux ou plusieurs autres
tables.

IV.3 Modèle Relationnelle

IV.3.1 Historique et description du modèle

L’Algèbre Relationnelle a été inventée par E.Codd comme un ensemble


d’opérateurs pour manipuler les relations ou tables d’une base des données
relationnelle.
Nous pouvons faire un parallélisme avec l’arithmétique qui fournit les
opérations de base pour manipuler les nombres (addition, soustraction,
multiplication et division). Tout comme l’arithmétique, ces opérateurs
d’algèbre relationnelle prennent en entrée des relations et produisent en
sortie des relations ou tables.
L’algèbre relationnelle constitue le fondement théorique du langage
standard SQL qui est utilisée pour localiser des données dans la base
répondant à un critère. Notons tout de même une certaine nuance entre
l’algèbre relationnelle et le SQL. Le SQL est un langage déclaratif qui
permet de caractériser le résultat attendu sans dire comment l’obtenir. Par
contre, l’algèbre relationnelle est un langage procédural qui permet de
décrire l’enchaînement des opérateurs qui permettront d’obtenir un résultat.
C’est ainsi que tous les SGBD relationnels utilisent l’algèbre relationnelle
pour trouver des plans d’exécution en vue d’optimiser les requêtes. En effet,
pour une requête SQL donnée, il existe plusieurs requêtes algébriques
équivalentes (ie plusieurs requêtes en algèbre relationnelles qui retournent
les mêmes tuples ou résultats) obtenus en appliquant des règles de réécriture
appelées aussi lois algébriques. Tout dépend de la façon dont les opérations

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

qui composent le plan d’exécution sont organisées. [11]

IV.3.2 Justification du choix de ce modèle

Le choix du type de modèle est déterminé par les caractéristiques du


système à l'étude et les objectifs de la modélisation, puisque l'étude du
modèle permet d'obtenir des réponses à un groupe spécifique de questions.
D'autres informations peuvent nécessiter un type de modèle différent. Les
modèles mathématiques peuvent être classés en déterministes et
probabilistes, analytiques, numériques et simulation.

IV.3.3 Operateurs de l’algèbre Relationnelle

L'algèbre relationnelle est principalement composée par les cinq opérateurs


de base et les trois opérateurs additionnels suivants : [10][18]
Les opérateurs de base : Union, Différence, Projection, Restriction ou
sélection, Produit cartésien
Les opérateurs additionnels : Intersection, jointure, Division
Voici les huit opérations de base de l'algèbre relationnelle du Docteur CODD
et leur transcription en SQL.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Tableau 8:Operateurs de l’algèbre Relationnelle

OPERATEUR
S SYNTAXE EN SQL

PROJECTION SELECT [ALL] [DISTINCT] liste d'attributs


FROM table

SELECTION SELECT liste d'attributs FROM table WHERE condition

JOINTURE SELECT liste d'attributs FROM table1 JOIN table2 ON


table1.attribut1=table2.attribut1 ...

DIVISION SELECT attributs FROM table1 JOIN table2


ON,table1_id=table2.id.table1.id WHERE condition

UNION SELECT liste d'attributs FROM table


UNION SELECT liste d'attributs FROM table

INTERSECTI SELECT liste d'attributs FROM table


ON INTERSECT SELECT liste d'attributs FROM table
on peut aussi utiliser une clause WHERE avec le NOT IN
SELECT liste d'attributs FROM table1 WHERE attribut1
NOT IN SELECT liste d'attributs FROM table2

DIFFERENCE SELECT liste d'attributs FROM table


EXCEPT SELECT liste d'attributs FROM table

PRODUIT SELECT * FROM table1 CROSS JOIN table2


CARTESIEN

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

1. Sélection ou Restriction

La restriction est une opération unaire (c'est à dire portant sur une seule
relation). La restriction de R1, étant donnée une condition C, produit une
relation R2 de même schéma que R1 et dont les tuples sont les tuples de R1
vérifiant la condition C : R = Restriction (R1, condition)
Elle est notée : σpredicat (R)
2. Projection

La projection est une opération unaire (c'est à dire portant sur une seule
relation). La projection de R1 sur une partie de ses attributs {A1, A2, ...}
produit une relation R2 dont le schéma est restreint aux attributs mentionnés
en opérande, comportant les mêmes tuples que R1, et dont les doublons sont
éliminés.
R = Projection (R1, a1, a2, ...)
Elle est notée : πa 1, a 2 … , akπ ( R)

3. Union

L'union de deux relations R1 et R2 de même schéma produit une relation R3


de même schéma constituée de l'ensemble des tuples appartenant à R1 et/ou à
R2.
R = Union (R1, R2)
Elle se note : R ∪T

4. Différence

La différence entre deux relations R1 et R2 de même schéma produit une


relation R3 de même schéma constituée de l'ensemble des tuples de R1
n'appartenant pas à R2. Notons que la différence entre R1 et R2 n'est pas
égale à la différence entre R2 et R1.
R = Différence (R1, R2)
Elle se note : R−T

5. Produit cartésien

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Le produit cartésien est une opération binaire (c'est à dire portant sur deux
relations). Le produit de R1 par R2 (équivalent au produit de R2 par R1)
produit une relation R3 ayant pour schéma la juxtaposition de ceux des
relations R1 et R2 et pour tuples l'ensemble des combinaisons possibles entre
les tuples de R1 et ceux de R2.
R = Produit (R1, R2)
Elle se note : R 1× R 2

6. Renommage

Le renommage est une opération qui permet de redéfinir les noms des
attributs d'une relation R
Syntaxe :
R = Renommage (R1, a1, a2, ...)
Elle est notée : ∝[nomattr 1 : nouveaunom pour attr 1 , …]R

7. Intersection
L'intersection de deux relations R1 et R2 de même schéma produit une
relation R3 de même schéma constituée de l'ensemble des tuples appartenant
à la fois à R1 et à R2. Notons que l'intersection n'est pas une opération de
base, car elle est équivalente à deux opérations de différence successives.
R = Intersection (R1, R2)
Elle se note : R∩S

8. Jointure
La jointure est une opération binaire (c'est à dire portant sur deux relations).
La jointure de R1 et R2, étant donné une condition C portant sur des attributs
de R1 et de R2, de même domaine, produit une relation R3 ayant pour
schéma la juxtaposition de ceux des relations R1 et R2 et pour tuples
l'ensemble de ceux obtenus par concaténation des tuples de R1 et de R2, et
qui vérifient la condition C.
R = Jointure (R1, R2, condition) ;
Elle est notee : R ⋈ S∨θ

 R et S sont deux relations


 θ est une condition entre les attributs de R et S

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

La jointure est l'opération qui permet de rassembler les informations séparées


entre plusieurs tables et référencées par des clés étrangères.
La theta-jointure produit une relation qui contient tous les tuples qui satisfont
la condition θ. La condition θ est une expression booléenne qui compare les
valeurs des attributs de R et S.
Exemple :tbluser ⋈ tbl service ∨tb user .user id=tbl service .user id
9. Equi-jointure
Une équi-jointure est une jointure dont la condition est un test d'égalité.
R=⋈ (R 1 , R 2 ,condition )

R=R 1 ⋈ ( condition ) R 2

10. Jointure naturelle


La jointure naturelle entre R1 et R2 est une jointure pour laquelle la condition
est l'égalité entre les attributs de même nom de R1 et de R2. Il est donc inutile
de spécifier la condition dans une jointure naturelle, elle reste toujours
implicite.
R = Jointure Naturelle (R1, R2)
Syntaxes alternatives :
R=⋈ (R 1 , R 2)
R=R 1 ⋈ R 2

11. Division
La division est une opération binaire (c'est à dire portant sur deux relations).
La division de RD par Rd a pour résultat RQ tel que RQ comporte le plus
grand ensemble possible de tuples qui concaténés à ceux de Rd donnent
toujours un tuple de RD.
Fondamental :
RQ=RD ÷ RD Si et seulement si :
Rd × RQ ⊆dans RD

∄ RQ' tel que RQ ⊂ RQ ' et Rd × R Q' ⊆ dans RD


Syntaxe
RQ=Division(RD , Rd)

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

IV.3.4 Fonctions d’agrégat en algèbre relationnelle

En algèbre relationnelle, les fonctions d'agrégat sont des fonctions qui


effectuent un calcul sur un ensemble de valeurs et renvoient une seule
valeur. Les fonctions d'agrégat courantes sont :
SUM : calcule la somme des valeurs d'une colonne
AVG : calcule la moyenne des valeurs d'une colonne
COUNT : compte le nombre de lignes dans une table ou le nombre de
valeurs non nulles dans une colonne
MAX : renvoie la valeur maximale d'une colonne
MIN : renvoie la valeur minimale d'une colonne
Ces fonctions sont souvent utilisées avec la clause GROUP BY pour
regrouper les données en fonction de certaines colonnes et calculer les
agrégats pour chaque groupe.

IV.3.5 Traduction d’opérateurs de l’algèbre relationnels en SQL

Le but pour cette partie était de choisir une forme très simpliste de la requête
SQL en l’analysant sous l’angle algèbre relationnelle.
Nous pouvons présenter d’autres requêtes SQL avec leurs expressions
équivalentes en algèbre relationnel de la manière suivante :
– Sélection

1. affichage de tous les stagiaires qui ont une note inferieur à 80%
SELECT * FROM `tbl_affectation` WHERE cotation <80;
σ cotation <80 (tblaffectation )

2. affichage de tous les utilisateurs.


SELECT*FROM tbl_user;
π∗( tbluser )

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

– Projection

Exemple : Affichage du nom des stagiaire ,leurs encadreurs,la date


d’affectation ainsi que la note obtenue.
SELECT tbl_inscription.nom,tbl_user.username,tbl_affectation.dateaffection,
tbl_affectation.cotation FROM tbl_user JOIN tbl_affectation ON
tbl_user.user_id=tbl_affectation.user_id JOIN tbl_inscription ON
tbl_inscription.idinscription=tbl_affectation.idstagiaire ;
π nom, username , dateaffection , cotation(σuser id =user id (tbluser JOIN tblaffectation )JOIN tblinscription ON tblaffectat

– Union

Exemple : Affichage du nom, prénom des encadreurs dont les grades


est ‘docteur’ OU ‘Master ‘
SELECT * FROM tbl_user UNION SELECT * FROM tbl_inscription
π∗(tbluser ∪ tblinscription )

Ou encore : tbluser ∪tbl inscription


– Intersection

Exemple : Affichage les services qui ont les memes nons ques les
département :
SQL:SELECT DISTINCT nomservice FROM tbl_service WHERE
nomservice IN (SELECT nomdepartement FROM tbl_departement
π nomservice ¿

 Différence
Si les deux tables n'ont pas la même structure, vous pouvez utiliser l'opérateur
EXCEPT. L'opérateur EXCEPT fonctionne de la même manière que
l'opérateur MINUS, mais il prend en charge les tables qui n'ont pas la même
structure.
Exemple : Affichage du nom, prénom, grade des utilisateurs dont le niveau
n’est pas bachelier
SELECT nom, prenom, telephone, nomgrade FROM
tbl_inscription,tbl_grade EXCEPT WHERE nomgrade = 'bachelier';
Ou, SELECT nom, prenom, telephone, nomgrade FROM

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

tbl_inscription,tbl_grade MINUS WHERE nomgrade != 'bachelier'


πnom, prenom , telephone , nomgrade ( tblinscription ) −πnom , prenom ,telephone , nomgrade(σnomgrade !=bac
;
– Produit Cartésien

Le produit cartésien de deux tables est l'ensemble de toutes les combinaisons


possibles de lignes des deux tables. Pour calculer le produit cartésien de deux
tables en SQL, vous pouvez utiliser l'opérateur : cross join
Exemple : 1 Affichage du produit cartésien entre la table demande
et la table affectation.
SELECT *FROM tbl_demande CROSS JOIN tbl_affectation;
R=tbl_demande × tbl_affectation
2 Affichage du produit cartésien entre la table user et la table presence
SELECT *FROM tbl_user CROSS JOIN tbl_presence
– Jointure

Exemple : Affichage le nom, prénom, téléphone, mailrel et la note


obtenue des stagiaires.
SELECT nom, prenom, telephone, mailreel, cotation FROM
`tbl_inscription`
JOIN`tbl_affectation`ON`tbl_inscription`.`idinscription`=`tbl_affectation`.`u
ser_id`and nom is not null
δnom , prenom , telephone , mailreel ( tblinscription ) ⋈ cotisation (affectation)

– Renommage

Exenple : Renommage de l’attribut ’username’ de la table tbl_user en


nom_utilisateur.
ALTER TABLE tbl_user RENAME COLUMN username TO
nom_utilisateur;
∝[username ÷ nomutilisateur ](tbluser )

– Division

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Si vous souhaitez diviser uniquement les enregistrements de la table


tbl_inscriptionqui ont une correspondance dans la table tbl_demande, vous
pouvez utiliser la clause WHERE pour préciser la condition de
correspondance.[10]
SELECT nom, prénom, téléphone FROM tbl_inscription JOIN tbl_demande
ON tbl_inscription.idinscription=tbl_demande.idstagiaire WHERE
nometablisseemnt = 'Universite du burundi'
R=tblinscription ÷ tbl demande

IV.4 Optimisation des requêtes SQL

Pour optimiser les requêtes SQL, on peut suivre certaines bonnes pratiques et
utiliser des techniques spécifiques pour améliorer les performances de vos
requêtes. Voici quelques conseils d'optimisation et des exemples : [5]
1. Utiliser des index :
Utilisez des index : Les index permettent d'accélérer les requêtes en
fournissant un accès plus rapide aux données.
Les index accélèrent les recherches dans une table en créant une copie triée
des données, permettant ainsi d'accéder rapidement aux enregistrements. Il est
essentiel d'indexer les colonnes utilisées fréquemment dans les clauses
WHERE, JOIN et ORDER BY. [6][20]

Exemple :
Utilisez la INDEX()fonction pour créer un index sur les colonnes nom
et prénom
CREATE INDEX idx_nom_prenom ON tbl_inscription (nom, prénom);
2. Éviter les étoiles (*) dans la clause SELECT : Spécifiez explicitement
les colonnes dont vous avez besoin pour éviter de récupérer des données
inutiles.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Exemple :

sql non optimisé

SELECT * FROM tbl_inscription WHERE nom = 'methode';

Sql optimisé

SELECT nom,prenom,telephone,mailreel FROM tbl_inscription WHERE


nom= 'methode';

3. Utiliser des jointures appropriées : Utilisez les types de jointures


appropriés (INNER JOIN, LEFT JOIN, RIGHT JOIN, etc.) pour obtenir
uniquement les données nécessaires.
Exemple :Jointure interne pour récupérer les noms des utilisateurs et leurs
grades
SELECT username, nomgrade FROM tbl_user INNER JOIN tbl_grade ON
tbl_grade.idgrade=tbl_grade.user_id;
4. Limiter les résultats : Utilisez la clause LIMIT pour récupérer
uniquement un nombre spécifique de résultats, surtout lorsque vous n'avez
besoin que de quelques-uns.
Exemple : Récupérer les 5 premiers stagiaires
SELECT * FROM tbl_inscription LIMIT 10;
On peut aussi optimiser la requête ci-dessus en éliminant l’étoile (*) pour bien
déterminer les données qu’on veut récupérer pour minimiser le temps
d’exécution.
SELECT nom, prenom, telephone, mailreel FROM tbl_inscription LIMIT 10;
5. Éviter les sous-requêtes coûteuses (imbriquée): Les sous-requêtes
peuvent être lentes, essayez de les remplacer par des jointures ou des
requêtes indépendantes si possible.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Exemple : affichage des services qui ont les mêmes noms que les
départements

sql non optimisé

SQL:SELECT DISTINCT nomservice FROM tbl_service WHERE


nomservice IN (SELECT nomdepartement FROM tbl_departement

Sql optimisé

SELECT DISTINCT nomservice FROM tbl_service JOIN tbl_departement


ON tbl_service.nomservice = tbl_departement.nomdepartement

6. Éviter les fonctions dans les clauses WHERE : L'utilisation de fonctions


dans les clauses WHERE peut empêcher l'utilisation d'index et ralentir la
requête.
Exemple: affichage des stagiaires qui ont eu la note inférieures ou égales à 80

sql non optimisé

SELECT * FROM tbl_affectation WHERE cotation<=80 ;

Sql optimisé

SELECT * FROM tbl_affectation WHERE cotation<=80 AND cotation


>=30

7. Maintenance régulière de la base de données : Assurez-vous de


maintenir régulièrement la base de données en effectuant des tâches telles que
la mise à jour des statistiques, la réorganisation des index, la suppression des
données inutiles, etc. Cela contribue à maintenir de bonnes performances.

IV.5 Règles d'optimisation pour les requêtes SQL

Lorsque l'optimisation de requête SQL survient, toutes les règles


d'optimisation sont appliquées à la condition dans la requête. Les prédicats
sont ensuite réorganisés.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

L'optimisation AND et OR, et la réorganisation des prédicats sont appliquées


aux requêtes SQL de la manière suivante : optimisation AND , optimisation
OR, Réorganisation des prédicats.

IV.5.1 Optimisation AND

Si une clause WHERE se compose de plusieurs prédicats connectés par


l'opérateur AND, l'optimisation survient uniquement si la même colonne et
le même opérateur de comparaison sont utilisés dans chaque prédicat et que
l'opérateur de comparaison est LIKE ou égal à (=).

Exemple: affichage du stagiaire dont le nom est methode et le prenom est


irambona

Requête SQL d'origine :

SELECT * FROM tbl_inscription where nom like 'methode' and prenom


like 'irambona';

Requête optimisée :

SELECT * FROM tbl_inscription


WHERE CONCAT(nom, ' ', prenom) LIKE '%methode irambona%';

IV.5.2 Optimisation OR

Si une clause WHERE se compose de plusieurs prédicats connectés par


l'opérateur OR, l'optimisation survient uniquement si la même colonne et le
même opérateur de comparaison sont utilisés dans chaque prédicat et que
l'opérateur de comparaison est LIKE ou égal à (=).
Dans cette clause WHERE, la variable opérateur est LIKE ou = uniquement.
Exemple

Requête SQL d'origine :

SELECT * FROM tbl_inscription where nom like 'methode' or prenom like


'irambona';

Requête optimisée :

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

SELECT *FROM tbl_inscription WHERE nom IN ('methode', 'irambona');

IV.5.3 Réorganisation des prédicats

Les prédicats servent très souvent à spécifier quelles lignes sont incluses dans
une sélection de données, via une clause Where dans une instruction SQL
Select, Update, ou Delete.
Les prédicats sont utilisés dans la condition de recherche des clauses WHERE
et HAVING, dans les conditions de jointure des clauses FROM ainsi que dans
d'autres constructions où une valeur booléenne est nécessaire.
L'optimiseur réorganise l'évaluation des prédicats dans une clause WHERE
selon le coût d'exécution qui leur est affecté. Si le premier prédicat d'une
optimisation OR est défini sur TRUE, les prédicats suivants n'ont pas besoin
d'être définis. De même, dans une optimisation AND, si le premier prédicat
est défini sur FALSE, les prédicats suivants n'ont pas besoin d'être définis. [5]
Le coût d'exécution affecté dans l'ordre croissant est le suivant :
1. True/False
2. Comparaison d'entier
3. Comparaison de chaîne
4. Entier ANY/ALL/IN
5. Chaîne ANY/ALL/IN
6. Sous-requête : il s'agit d'une instruction SELECT imbriquée
Exemple d’optimisation AND (a AND b AND c)

Requête SQL d'origine :

SELECT nom, prenom, nomservice,cotation FROM tbl_inscription JOIN


tbl_affectation ON tbl_inscription.idinscription=tbl_affectation.idstagiaire JOIN
tbl_service ON tbl_service.iddeservice=tbl_affectation.idservice WHERE cotation IN
(15,18,45) AND nomservice IN ('Maintenance','reseau','gestion') AND cotation<20;

Requette reorganisee

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

SELECT nom, prenom, nomservice,cotation FROM tbl_inscription JOIN


tbl_affectation ON tbl_inscription.idinscription=tbl_affectation.idstagiaire JOIN
tbl_service ON tbl_service.iddeservice=tbl_affectation.idservice WHERE
cotation<20, AND cotation IN (15,18,45) AND nomservice IN
('Maintenance','reseau','gestion') ;

Exemple d’optimisation OR (a OR b OR c)

Requête SQL d'origine :

SELECT nom, prenom, nomservice,cotation FROM tbl_inscription JOIN


tbl_affectation ON tbl_inscription.idinscription=tbl_affectation.idstagiaire JOIN
tbl_service ON tbl_service.iddeservice=tbl_affectation.idservice WHERE
cotation IN (15,18,45) OR nomservice IN ('Maintenance','reseau','gestion') OR
cotation<20;

Requête réorganisée optimisée :

SELECT nom, prenom, nomservice,cotation FROM tbl_inscription JOIN


tbl_affectation ON tbl_inscription.idinscription=tbl_affectation.idstagiaire JOIN
tbl_service ON tbl_service.iddeservice=tbl_affectation.idservice WHERE
cotation<20, OR cotation IN (15,18,45) OR nomservice IN
('Maintenance','reseau','gestion') ;

Ces exemples illustrent quelques techniques courantes pour optimiser les


requêtes SQL. N'oubliez pas que l'optimisation des requêtes peut varier en
fonction de la base de données que vous utilisez et de la complexité de vos
données. L'utilisation d'outils d'analyse de requêtes et la compréhension des
plans d'exécution peuvent également vous aider à identifier les points
d'optimisation. Parmi ces outils on peut parler par exemple :
EverSQL est un optimiseur de requêtes qui améliore les performances du
serveur de base de données en accélérant l’exécution des requêtes.
Crapaud SQL Optimizer pour oracle (Toad SQL Optimizer) prend en
charge les bases de données Oracle.
SQL Query Tuner est un module complémentaire pour SQL Diagnostic
Manager.
SentryOne est un outil de surveillance des performances de la base de
données qui se concentre sur le dépannage des problèmes de performances.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Redgate SQL Monitor est un outil d’optimisation des requêtes qui propose
des alertes personnalisables, des rapports personnalisés et un tableau de bord
pour surveiller les performances SQL.
Idera DB Optimizer est un optimiseur de base de données compatible avec
SQL Server, Oracle, DB2 et Sybase, et il est excellent pour les entreprises de
taille moyenne.
Microsoft SMSS est un outil de base de données relationnelle gratuit pour
Microsoft SQL Server.
AppOptics APM est un outil de surveillance des performances basé sur le
cloud qui propose des utilitaires d’optimisation de base de données.
AppOptics APM se concentre sur les systèmes de gestion de bases de
données MySQL, Microsoft SQL Server, Oracle, Postgres et Apache.

Conclusion

Toutes les fonctionnalités du système se traduisent par une sorte des requêtes
à construire. Dans ce chapitre nous avons présenté les opérateurs de l’algèbre
relationnelle et montrer son importance dans la construction des requêtes
SQL.
Le code SQL est traduit dans le code relationnel avec son exécution dans ces
environnements. La plupart des solutions que nous préconisons dans ce
présent travail consiste à l’élaboration des requêtes SQL. C’est pourquoi, il
nous a été utile de les construire en utilisant l’algèbre relationnelle. Ainsi,
Nous avions présenté dans ce chapitre les opérateurs de l’algèbre
relationnelle, l’optimisation des requêtes SQL et enfin la manière dont
nous avions réalisé nos propres requêtes en vue de minimiser le temps
d’exécution et d’obtenir les résultats dans un moment réduit.

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

CHAPITRE V: IMPLEMENTATION DU SYSTEME DE GESTION


DES STAGIAIRES

V.1 présentation de l’application

L’application que nous avons mis en place a pour objectif de gérer les
demandes des stages en linge et le suivi des stagiaires dans le centre
technique de Cibitoke; elle permet aussi d’approuver ou de refuser les
demande si c’est le cas du profil non demande ,et d’attribuer l’encadreur aux
stagiaires selon les services auxquels sont affectés .

V.2 Les Fonctionnalités de l’application

Notre application de gestion des stagiaires a plusieurs interfaces mais nous


pouvons présentes les principaux :

V.2.1 L’interface d’Authentification pour des utilisateurs du système

Cette interface permet à l’utilisateur de saisir son adresse mail et mot de passe
correspondant à celui qui se trouve dans la base de données pour qu’il puisse
recevoir l’OTP générer aléatoirement par le système.

Figure 16:page d'Authentification pour les utilisateurs du système

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.2 L’interface d’Authentification pour l’OTP

Cette interface permet à l’utilisateur d’entrer le code envoyer sur son mail
pour accéder à la page d’accueil

Figure 17: Interface pour entre le code OTP

V.2.3 Formulaire d’inscription du stagiaire

Ce formulaire permet aux stagiaires de s’inscrire avant la demande le stage.

Figure 18: Formulaire d'inscription du stagiaire

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.4 L’interface de demande du stage

Ce formulaire permet aux stagiaires de saisir ses informations et d’envoyer la


demande.

Figure 19: Interface de demande du stage

V.2.5 L’interface de résultat de demande du stage

Cette interface permet aux stagiaires de consulter le résultat de la demande,


elle contient le message d’approbation ou de refus envoyé par l’administrateur
du système. Si la demande est approuvée le message doit contenir la date de
début et de fin du stage.
Si la demande n’est pas encore traitée le résultat se présente ainsi :

Figure 20:Interface de résultat si la demande n'est pas encore traite

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

Si la demande est acceptée voici le résultat :

Figure 21: Interface de résultat si la demande n'est acceptée

V.2.6 La page d’accueil pour l’administrateur du système

Cette page montre l’espace administrateur avec toutes les fonctionnalités du


système

Figure 22: La page d'accueil pour l'admin

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.7 Le formulaire d’ajout des nouveaux utilisateurs

Ce formulaire permet à l’administrateur du système tout d’abord d’enregistrer


les informations du nouvel utilisateur dans la base des données avant de se
connecter au système

Figure 23: formulaire d'ajout du nouvel utilisateur

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.8 Liste de demandes de stage

Cette liste permet à l’administrateur du système de consulter les demandes


envoyées par les stagiaires ; Soit il peut approuver ou refuser la demande

Figure 24: Liste de demandes de stage

V.2.9 Formulaire pour faire la présence

Ce formulaire permet à l’utilisateur de sélectionner le nom du stagiaire et de


marquer l’heure d’arrivée

Figure 25: formulaire pour faire la présence du stagiaire

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.10 Liste de présence des stagiaires

La liste de présence des stagiaire montre les heures que le stagiaires ont
travaillés dès l’heure d’arrivée jusqu’ à l’heure de départ.

Figure 26: Liste de présence des stagiaires

V.2.11 Tableau de marque de présences des stagiaires

Ce tableau permet de comparer le nombre de présence et le nombre d’absence


pour prendre une décision, si le nombre d’absence est supérieur ou égal à 5 le
système va suspendre le stagiaire pour se justifier à l’administrateur. Apres
avoir se justifier l’administrateur peut lui autorise de continuer le stage .

Figure 27: Liste pour marquer la présence

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.12 Liste d’affectation des stagiaires à un encadreur selon le service

Chaque stagiaire doit être affecté dans un service et à un encadreur

Figure 28 : Affectation dans un service et cotation du stagiaire

V.2.13 Liste de désaffectation d’un stagiaire dans un service

L’utilisateur doit désaffecter un stagiaire dans un service pour réaffecter dans


un autre service, et le stagiaire doit être coté dans chaque service.

Figure 29: Désaffectation du stagiaire dans le service pour réaffecter dans


l'autre service

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.14 Liste des stagiaires qui ont terminés la période de stage

Cette liste contienne des stagiaires qui ont terminés leur période de stage

Figure 30: Liste des stagiaires qui ont terminés le stage (archivés)

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.15 Page d’attribution des droits d’axes aux données

Cette page permet à l’administrateur du système d’attribuer les droits d’accès


aux données aux autres utilisateurs.

Figure 31: Tableau de distribution des droits et permission

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.16 Fiche du stagiaire à imprimer

Figure 32: Fiche du stagiaire

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

V.2.17 attestation de service rendue

Figure 33: attestation de service rendue

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

CONCLUSION GENERALE ET RECOMMANDATIONS

Conclusion générale

Au terme de notre travail, nous avons apporté une solution informatique aux
problèmes de gestion des stagiaires au sein du CNTC.
Nous avons mis en place une application fiable et apte à atteindre les objectifs
fixés .L'application va permettre de réaliser les tâches suivantes : Assurer une
authentification avec mode OTP ;Attribuer les droits d’accès aux données à
chaque utilisateur du système ;Sécuriser les donnes contre les accès non
autorisé ;Réduire la multiplication des supports papier ;Automatiser
l’acquisition des demandes des stages ;la recherche automatique des
informations ; l’attribution en ligne des stages ; générer et l’envoyer des
attestations à l’encadreur et aux stagiaires ; stocker des données ;Archiver
électroniquement des données relatives aux stagiaires. De ce fait nous
pouvons dire que les objectifs de notre projet ont été atteints.

Recommandations

Nous suggérons a la CNTC d’utilise notre application de gestion des


stagiaires afin d'améliorer le suivi de ces derniers.
Nous suggérons aussi aux futurs chercheurs d’améliorer le système en mettant
les fonctions manquantes

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

REFERENCES BIBLIOGRAPHIQUES ET WEBOGRAPHIQUES

[1] https://www.lucidchart.com/pages/fr/langage-uml consulte le 13/06/2023


[2] https://ult.bi/fr/chapitre-ii-presentation-du-langage-de-modelisation-uml
consulte le 13/06/2023
[3].https://laurent-audibert.developpez.com/Cours-UML/?page=introduction-
modelisation-objet#L1-2-4 consulte le 13/06/2023
[4]https://www.memoireonline.com/12/21/12591/Mise-en-place-d-une-
application-de-gestion-d-affection-des-stagiaires-dans-une-institution-
tatiq.html consulte le13/06/2023
[5]https://www.ibm.com/docs/fr/netcoolomnibus/7.4?topic=optimizations-
optimization-rules-sql-queries#omn_adm_per_optimizationrules__reorder
consulte le 14/07/2023
[6].https://use-the-index-luke.com/fr/sql/plans-dexecution/sql-server/
predicats-acces-filtre consulte le14/07/2023
[7] https://www.trustbuilder.com/fr/mfa-otp-one-time-password consulte le
06/09/2023
[8] https://webusers.i3s.unice.fr/~edemaria/cours/c3.pdf
[9] https://librecours.net/module/bdd/alg1/relUC071.xhtml consulte le
28/08/2023
[10].https://sgbd.developpez.com/tutoriels/cours-complet-bdd-sql/?
page=algebre-relationnelle consulte le 28/08/2023
[11] BORIBO KIKUNDA Philippe, Mise en place d’une application
informatique sécurisée pour la gestion du système pénitentiaire de la
République Démocratique du Congo, université du Burundi : 2019-2020
[12] Christine Solnon : Modélisation UML ,INSA de Lyon - 3IF 2013 – 2014
[13].https://www.trustbuilder.com/fr/mfa-otp-one-time-password consulte le
29/08/2023
[14] https://perso.liris.cnrs.fr/christine.solnon/coursUML.pdf consulte le
06/09/2023
[15] https://home.mis.u-picardie.fr/~furst/docs/1-UML_Besoins.pdf consulte
le 29/08/2023
[16]https://www.techno-science.net/definition/2880.html,consulte
le31/08/2023

IRAMBONA Méthode A/A 2022-2023


Mise en place d’une application web avec mode d’authentification « One Time PasseWord » de
gestion des stagiaires.

[17]https://www.techno-science.net/definition/2880.html,consulte
le31/08/2023
[18] MOHAMAD.NEMICHE,Algèbre Relationnelle, Faculté
Polydisciplinaire de Ouarzazate Filière: Informatique et Gestion d’Entreprises
2012-2013, consulte le 03/09/2023
[19] Elisabetta De Maria, Cours de Base de Données ´ Cours n.3 Algèbre
relationnelle ` L2 Informatique - Portail Sciences et Technologies, DS4H et
Laboratoire I3S, Université Côte d’Azur, CNRS 2022-2023, consulte le
03/09/2023
[20] Jeffreya nd Jennifer Widom, A First Course_in_Database_Systems_3ed_

ANNEXES

IRAMBONA Méthode A/A 2022-2023

Vous aimerez peut-être aussi