Vous êtes sur la page 1sur 46

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université AMO de Bouira


Faculté des Sciences et des Sciences Appliquées
Département d’Informatique

Mémoire de Licence
en Informatique

Spécialité : SI

Thème

Application de Suivi des Enseignements

Encadré par Réalisé par

— Dr.Abbas Akli — madi Nadir


— hamid Zohir
— grib Abderrahmane

2022/2023
Remerciements

En premier lieu, nous remercions le bon Dieu, tout puissant, de nous avoir donné la
santé , la volonté et la patience pour mener à terme notre projet
Nous remercions nos chers parents qui ont toujours été là pour nous. Leur soutien
inconditionnel, leurs encouragements, leur amour et leurs sacrifices ont été d’une grande
aide.
Nos remerciements les plus sincères à tous ceux et celles qui nous ont apporté leurs
aides, leurs encouragements et leurs soutiens pour nous permettre de mener à bien ce
projet.
On tient à remercier sincèrement notre encadrant Monsieur Abbas Akli, pour ses
soutiens, ses conseils précieux et son aide durant toute la période du travail.
Nous désirons aussi remercier tous nos enseignants de l’UAMOB qui nous ont fourni
les outils nécessaires à la réussite de nos études universitaires.
Nous tenons aussi à exprimer l’honneur qui nous est fait par les membres du jury, en
acceptant de juger notre travail.
Dédicaces

Je dédie ce travail à :

À mes très chers parents, qui ont été toujours là pour moi et qui m’ont encouragé durant
toute ma vie, aucun dédicace ne pourrait exprimer mes sentiments envers vous. Merci
beaucoup je vous aime, Que Dieu vous protège Inchallah.

À mon frère que j’aime trop, je te souhaite une vie pleine de bonheur et de joie et de
réussite Inchallah.

Nadir
Dédicaces

À mes parents, mon frère et mes sœurs et mes amis qui m’ont soutenu, à l’occasion de
ma soutenance. Vous avez été ma force et ma motivation dans ce parcours. Je vous dédie
ce diplôme avec fierté et reconnaissance.”

Abderrahmane
Dédicaces

À mes parents, mon frère et mes sœurs et mes amis qui m’ont soutenu, à l’occasion de
ma soutenance. Vous avez été ma force et ma motivation dans ce parcours. Je vous dédie
ce diplôme avec fierté et reconnaissance.”

Zohir
Résumé
Le suivi de la présence des étudiants au niveau des établissements scolaires en général,
et au niveau de l’université de Bouira en particulier, est effectuée manuellement selon la
procédure classique en utilisant de feuilles de papier. Cette méthode n’est pas vraiment
efficace et peut entraı̂ner une perte du temps, d’effort et de ressources matérielles. Pour
cette raison dans ce travail, nous avons développé une application mobile multiplatforme
pour le suivi des enseignements, qui se charge des taches suivantes : la présence des
étudiants, leurs justifications et la prise en compte de participations.

Mots clés : Présence, Application mobile, multiplatforme , UML, Flutter, . . .

Abstract
The attendance tracking of students in educational institutions, including Bouira Uni-
versity, is generally done manually using traditional paper-based methods. This approach
is not very efficient and can result in a waste of time, effort, and material resources.
Therefore, in this project, we have developed a cross-platform mobile application for aca-
demic monitoring, which handles the following tasks : student attendance, justification of
absences, and tracking of their participation.

Key words : Attendance, Mobile application, cross-platform, UML, Flutter, . . .

‘jÊÓ
ék. ð úΫ èQK ñK. éªÓAg

. ú¯ð , ÐA« ɾ‚  . éJ ÒJʪJË@ HA‚ƒ
 ñÖÏ @ ú¯ H. C¢Ë@ Pñ’k éªK  AJÓ ÕæK
.
   Ë é®K Q¢Ë@ è Yë . †PñË@
 †@ P ð @ Ð@YjJƒAK éK YJÊ® JË@ H@Z@ 
 Qk. CË A® ¯ð AK ðYJ,“ñ’mÌ '@
A®k éËAª¯ I‚ .

QK ñ¢JK. ÉÒªË@ @ Yë ú¯ AJÔ¯ , I..‚Ë@ @ YêË . éK XAÖÏ @ XP@ñÖÏ @ð Yêm.Ì '@ð I ¯ñË@ é«A  “@ úÍ@ ø XñK Y¯ð 
Pñ’k ÉJj.‚ : éJ ËAJË@ ÐAêÖÏ AK. Ðñ®K ø YË@ð ,€ðPYË@ éªK  AJÖÏ HA’
.  JÖÏ @ XYªJÓ ÈñÒm× ‡J J.¢
 ‚Ó
.ÑîD»PA  ©J.Kð ,ÑîE. AJ« QK Q.Kð ,H. C¢Ë@
..., È@ñm.Ì '@ ‡J J.¢ , Pñ’mÌ '@ : éJ kAJ®ÖÏ @ HAÒʾË@

Table des matières

Table des matières i

Table des figures iv

Liste des tableaux v

Liste des abréviations vi

Introduction générale 1

1 Étude de l’existant 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de l’Université de Bouira . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Création de l’université (Bref Historique) . . . . . . . . . . . . . . . 3
1.2.2 Les Facultés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Organigramme de l’université de Bouira . . . . . . . . . . . . . . . 4
1.3 Présentation de la faculté sciences et science appliquées . . . . . . . . . . . 5
1.3.1 Organigramme de la faculté des sciences . . . . . . . . . . . . . . . 5
1.4 Présentation de département informatique . . . . . . . . . . . . . . . . . . 6
1.4.1 Organigramme de département informatique . . . . . . . . . . . . . 7
1.5 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Problématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Les solutions proposées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

i
Table des matières

2 Analyse et Conception 9
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Analyse et Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Dictionnaire de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Règles de gestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 Choix de la méthode de conception . . . . . . . . . . . . . . . . . . 12
2.4.2 Historique d’UML . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.3 Les différents diagrammes UML . . . . . . . . . . . . . . . . . . . . 13
2.4.4 Les différents acteurs du système . . . . . . . . . . . . . . . . . . . 14
2.5 Le diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1 Le diagramme de cas d’utilisation générale . . . . . . . . . . . . . 15
2.5.2 Diagrammes des cas d’utilisation détaillés . . . . . . . . . . . . . . 16
2.6 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6.1 Diagramme de séquence créer classe . . . . . . . . . . . . . . . . . . 19
2.6.2 Diagramme de séquence marquer présence . . . . . . . . . . . . . . 19
2.7 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7.1 Le modèle relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Implémentation et Réalisation 23
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Environnement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Langages utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 Entrés de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5 Présentation des interfaces graphiques . . . . . . . . . . . . . . . . . . . . 26
3.5.1 Page d’accueil de l’application . . . . . . . . . . . . . . . . . . . . . 27
3.5.2 Création d’une classe . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.3 Marquer la présence . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ii
Table des matières

3.5.4 La page d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . 29


3.5.5 Historique des séances . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Conclusion générale et perspectives 32

Bibliographie 34

iii
Table des figures

1.1 Organigramme Univ-Bouira[1] . . . . . . . . . . . . . . . . . . . . . . . . 5


1.2 Organigramme de la faculté des sciences [2] . . . . . . . . . . . . . . . . . . 6
1.3 Organigramme de département informatique[3] . . . . . . . . . . . . . . . . 7
1.4 Fiche de suivi de la présence . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 Historique d’UML [4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13


2.2 Les diagrammes UML [4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Les diagrammes UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Diagramme de cas d’utilisation ≪ Gérer une classe à suivre ≫ . . . . . . 16
2.5 Diagramme de cas d’utilisation ≪ Gérer une fiche de suivi≫ . . . . . . . 17
2.6 Diagramme de cas d’utilisation ≪ Gérer une séance≫ . . . . . . . . . . . 18
2.7 Diagramme de séquence créer classe . . . . . . . . . . . . . . . . . . . . . . 19
2.8 Diagramme de séquence marquer présence . . . . . . . . . . . . . . . . . . 20
2.9 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1 Format du fichier Excel d’entré l’application . . . . . . . . . . . . . . . . . 26


3.2 La page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Le formulaire de la création d’une classe . . . . . . . . . . . . . . . . . . . 28
3.4 La page de signaler la présence . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5 La page d’affichage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

iv
Liste des tableaux

2.1 Dictionnaire de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1 Les caractéristiques de la première machine utilisée . . . . . . . . . . . . . 23


3.2 Les caractéristiques de la deuxième machine utilisée . . . . . . . . . . . . . 24
3.3 Les caractéristiques de la troisième machine utilisée . . . . . . . . . . . . . 24

v
Liste des abréviations

UAMOB Université Akli Mohand Olhadj Bouira


FSSA Faculté des Sciences et des Sciences Appliquées
FST Faculté des Sciences et de la Technologie
QR Quick Response
UML Unified Modeling Language
MLD Modèl relationnel
BDD Base de données
SQL Structured Query Language

vi
Introduction générale

Actuellement, l’informatique connaı̂t une avance considérable et joue un rôle de plus


en plus essentiel dans tous les aspects de notre vie moderne, que ce soit dans les do-
maines de l’industrie, de la recherche, de la santé y compris l’établissement scolaire dont
la convergence vers l’informatique est devenue nécessaire.

Les établissements scolaires reconnaissent de plus en plus la valeur ajoutée de l’infor-


matique pour améliorer les méthodes d’enseignement et de gestion, ainsi que pour offrir
des outils innovants aux enseignants et aux élèves, comme les plateformes d’enseignement
en ligne, les systèmes de gestion de scolarité et les outils de collaboration en ligne.

L’un des grands problèmes posés au niveau des établissements scolaires en général et
pour les enseignants en particulier c’est le suivi de la présence des étudiants. La méthode
traditionnelle de vérification de la présence en utilisant de feuilles de papier peut être fas-
tidieuse, difficile et chronophage à suivre pour les enseignants. De plus, cela peut entraı̂ner
des problèmes de sécurité et de confidentialité des données. Face à ces défis, il devient
impératif de développer des solutions informatiques innovantes.

Notre objectif consiste à réaliser une application mobile pour le suivi de la présence des
étudiants. Cette application permettra aux enseignants de gérer facilement et efficacement
la présence des étudiants de manière automatisée en utilisant des codes QR et les listes
numériques.

Ce mémoire, est composé de trois chapitres structurés comme suit :


— Dans le premier chapitre nous allons présenter l’université de Bouira ainsi que

1
Introduction générale

la faculté des sciences et sciences appliquées et le département informatique, en-


suite on va faire une étude de l’existant suivi d’une problématique et des solutions
proposées ;
— Le deuxième chapitre est consacré à la présentation du langage UML (Les
définitions, les descriptions) et la modélisation du système étudie, en utilisant les
différents diagrammes (diagramme de cas d’utilisation, diagramme de séquence et
diagramme de classes) d’UML ;
— Dans le dernier chapitre nous présenterons les résultats du travail effectué et
nous illustrons quelques interfaces de l’application réalisée.

2
Chapitre 1
Étude de l’existant

1.1 Introduction
Dans ce chapitre nous allons définir la structure de l’établissement puis le département
informatique ainsi que ces composants. Au commencement, nous présenterons l’Université
Akli Mohand Oulhadj de Bouira (UAMOB).

1.2 Présentation de l’Université de Bouira


≪ L’Université Akli Mohand Oulhadj Bouira a été créée par le décret exécutif n°12-
241 du 14 Rajab 1433 correspondant au 04 Juin 2012. C’est un établissement public à
caractère scientifique, culturel et professionnel doté de personnalité juridique et d’auto-
nomie financière.
Suivant le décret exécutif mentionné ci-dessus, l’université a été restructurée par la
constitution de (06) six facultés et d’un Institut ≫[1].

1.2.1 Création de l’université (Bref Historique)

Nous donnons ci-dessous un bref Historique de la creation de l’université de Bouira


[1] :
— 2001/2002 : Création en tant qu’annexe de l’Université M’HAMED BOUGARA
et offrant une formation en sciences juridiques et administratives, puis littérature
arabe durant la rentrée suivante (2002/2003) ;
— 2005/2006 : L’annexe évolue et devient Centre Universitaire avec de nouvelles

3
Chapitre 1 Étude de l’existant

offres de formation en Sciences Economiques et de Gestion ainsi qu’en Sciences Ju-


ridiques et Politiques. Des spécialités en Sciences Humaines et Sociales sont créées
durant l’année universitaire 2006/2007, le domaine des Sciences et Technologie en
2008/2009, le département des Sciences et Techniques des Activités Physiques et
Sportives en 2010/2011 ainsi que le domaine des Sciences de la Nature et de la Vie
et des Sciences de la terre en 2011/2012 ;
— 04/06/2012 : Le Centre Universitaire de Bouira change de statut et devient Uni-
versité et comporte six (06) facultés et un institut.

1.2.2 Les Facultés

nous mentionnerons ci-dessous les différentes facultés de l’université de bouira[1] :

1. Faculté des Sciences et Sciences Appliquées ;

2. Faculté des sciences de la nature et de la vie et sciences de la terre ;

3. Faculté des Lettres et des Langues ;

4. Faculté des sciences sociales et humaines ;

5. Faculté des sciences économiques ; commerciales et des sciences de gestion ;

6. Faculté de droit et des sciences politiques ;

7. Institut des sciences et techniques des activités physiques et sportives.

1.2.3 Organigramme de l’université de Bouira

la figure ci-dessous représente l’organigramme de l’université de Bouira(voir Figure 1.1).

4
Chapitre 1 Étude de l’existant

Figure 1.1 – Organigramme Univ-Bouira[1]

1.3 Présentation de la faculté sciences et science ap-


pliquées
≪ La Faculté des Sciences et des Sciences Appliquées FSSA, est une faculté jeune,
crée par le Décret exécutif n° 12-241 du 14 Rajab 1433 correspondant au 4 juin 2012
portant création de l’Université de Bouira sous le nom ‘Faculté des Sciences et de la
Technologie (FST). Son nom est modifié à ‘Faculté des Sciences et des Sciences Appliquées’
par le décret exécutif n°13-179 du 24 Joumada Ethania 1434 correspondant au 5 Mai 2013
modifiant et complétant le précédent texte ≫[2].

1.3.1 Organigramme de la faculté des sciences

la figure ci-dessous représente l’organigramme de la faculté des sciences(voir Figure 1.2).

5
Chapitre 1 Étude de l’existant

Figure 1.2 – Organigramme de la faculté des sciences [2]

1.4 Présentation de département informatique


L’étude est réalisée au niveau de département d’informatique. La création de ce dernier
est très récente, il est fondé en 2013 par l’arrête N 124 du 04 mars 2013 portant la création
des départements composants la faculté des sciences et de la technologie (actuellement
faculté des sciences et sciences appliquées)[3].

6
Chapitre 1 Étude de l’existant

1.4.1 Organigramme de département informatique

la Figure 1.3 représente l’organigramme de département informatique.

Figure 1.3 – Organigramme de département informatique[3]

1.5 Étude de l’existant


La procédure de suivi de la présence, de participation et de justification des étudiants
effectuée par les enseignants de l’université en général et ceux de département d’informa-
tique en particulier se base sur une fiche de suivi montrée dans la figure 1.4 ci-dessous.

Figure 1.4 – Fiche de suivi de la présence

7
Chapitre 1 Étude de l’existant

1.6 Problématiques
À l’ère du développement, l’utilisation de feuilles de papier pour prendre la présence
et prendre en compte la participation peut être fastidieuse et difficile à suivre pour les
enseignants. De plus, cela peut entraı̂ner une perte de temps et de papier. Comment
pouvons-nous utiliser la technologie pour simplifier ce processus pour les enseignants tout
en assurant une gestion efficace des listes de présence et de participation des étudiants ?

1.7 Les solutions proposées


Pour cela nous proposons de développer une application mobile multiplateforme facile
à utiliser pour les enseignants, qui leurs permettra de suivre les présences des étudiants.
L’application permettra :
— Aux enseignants de générer un code QR unique pour chaque étudiant ;
— Aux étudiants de signaler leur présence selon leurs codes QR ;
— Aux enseignants la possibilité d’attribuer des points de participation ;
— De consulter l’historique de toutes les séances ;
— De prendre en compte les justificatifs d’absence.
Cette solution permettra de réduire l’utilisation de papier et de faciliter la gestion des
listes de présence et de participation en classe.

1.8 Conclusion
Dans ce chapitre nous avons présenté l’université Akli Mohand Oulhadj du Bouira, la
faculté des sciences et sciences appliquées et le département informatique concerné par
notre étude.
Dans le prochain chapitre nous allons compléter cette étude par une analyse et concep-
tion détaillée en utilisant le langage de modélisation unifié UML.

8
Chapitre 2
Analyse et Conception

2.1 Introduction
La spécification des besoins est la tâche la plus importante dans le cycle de vie d’une
application, elle permet l’étude en profondeur des données, elle doit aussi d’écrire toutes
les actions à développer dans l’étape de l’implémentation.
Dans ce chapitre nous spécifierons l’ensemble des besoins fonctionnels et non fonc-
tionnels liés à notre application, pour cela nous avons choisi le langage de modélisation
UML (Unified Modeling Language) pour les modéliser à l’aide des différents diagrammes
(diagramme de cas d’utilisation, diagramme de séquence, diagramme de classes).

2.2 Analyse et Spécification des besoins


Cette phase consiste à comprendre le contexte du système, Il s’agit de déterminer les
fonctionnalités et les acteurs les plus pertinents.

2.2.1 Besoins fonctionnels

Dans cette partie nous allons détailler l’ensemble de fonctionnalités que le système
doit fournir à l’acteur, qui se présentent comme suit :

1. Gestion des classes : L’enseignant doit pouvoir créer, modifier et supprimer des
classes. Il doit pouvoir ajouter les informations relatives à chaque classe, telles que
le nom du module, l’heure et la date de chaque séance de classe ;

9
Chapitre 2 Analyse et Conception

2. L’importation de fichier : L’enseignant doit pouvoir importer la fiche de suivi


des étudiants d’un groupe précis, qui sera fournie par le département sous forme
de fichier Excel contenant des informations sur les étudiants tels que le nom et
prénom et la matricule ;

3. Scanner des codes QR : Scanner de codes QR : L’application doit être équipée


d’un scanner de codes QR permettant à l’enseignant de scanner les codes QR
uniques de chaque étudiant pour enregistrer leur présence dans la séance concernée ;

4. L’ajout des points de participation : L’enseignant doit y avoir la possibilité


d’ajouter des points de participation aux étudiants ;

5. Prise en compte des justificatifs d’absences : L’enseignant doit y avoir la


possibilité de reconsidérer l’absence justifiée des étudiants.

2.2.2 Besoins non fonctionnels

1. Sécurité : L’application doit être sécurisée pour garantir la confidentialité des


données ;

2. Performance : L’application doit être rapide et réactive pour éviter tout retard
ou tout gel pendant l’utilisation ;

3. Facilité d’utilisation : L’application doit être conviviale et facile à utiliser pour


permettre aux enseignants de gérer facilement leurs classes ;

4. Compatibilité multiplateforme : L’application doit être compatible avec les


différentes plates-formes mobiles, telles que iOS et Android ;

5. Disponibilité hors ligne : L’application doit être disponible hors ligne pour
permettre aux enseignants de gérer leurs classes même en absence de connexion
internet.

2.3 Dictionnaire de données


Après l’analyse du document utilisé (fiche de suivi) Nous élaborons le dictionnaire de
données suivant :

10
Chapitre 2 Analyse et Conception

N° Code Libellé Type Observation


1 classe id identifiant de la classe N -
2 nomModule nom du module A -
3 type type de la classe A -
4 niveau niveau AN -
5 groupe groupe N -
6 date programmée l’heure de la classe chaque semaine TIME HH :MM :SS
7 salle la salle où se déroule la classe A -
8 note totalité présence note totale de la présence N -
9 note totalité participation note totale de la participation N -
10 matricule matricule de l’étudiant N -
11 nom nom étudiant A -
12 prénom prénom étudiant A -
13 émail émail de l’étudiant AN -
14 qrCode code Qr A -
15 date séance date d’une séance DATETIME AAAA-MM-JJ
HH :MI :SS
16 status status d’un étudiant lors d’une séance A -
17 bonus bonus de chaque étudiant N -

Table 2.1 – Dictionnaire de données

2.3.1 Règles de gestion

Après une discussion avec l’ensemble des enseignants du département d’informatique,


nous définissons les règles de gestions suivantes :

1. Une classe contient plusieurs étudiants ;

11
Chapitre 2 Analyse et Conception

2. Un étudiant est affecté à une ou plusieurs classes ;

3. Une classe contient plusieurs séances ;

4. Une séance est contenu dans une classe ;

5. Un étudiant est concerné par plusieurs séances ;

6. Un séance concerne une ou plusieurs étudiants ;

7. Un bonus de participation est attribué à un étudiant dans une séance donnée.

2.4 Conception
Dans cette partie nous abordons conception de notre système.

2.4.1 Choix de la méthode de conception

Dans le cadre de notre travail, nous avons choisi d’utiliser le langage UML (Unified
Modeling Language) comme moyen de conception et de description de nos besoins et de
nos spécifications de façon très précise.
Définition
≪ UML se définit comme un langage de modélisation graphique et textuel destiné à
comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des
architectures logicielles, concevoir des solutions et communiquer des points de vue ≫[4].

2.4.2 Historique d’UML

La Figure 2.1 nous montre l’historique d’uml.

12
Chapitre 2 Analyse et Conception

Figure 2.1 – Historique d’UML [4]

2.4.3 Les différents diagrammes UML

UML 2 (selon l’auteur Pascal Roques[4]) s’articule autour de treize types de dia-
grammes, chacun d’eux étant dédié à la représentation des concepts particuliers d’un
système logiciel. Ces types de diagrammes sont répartis en deux grands groupes :
Six diagrammes structurels
ˆ Diagramme de classes ;
ˆ Diagramme d’objets ;
ˆ Diagramme de packages ;
ˆ Diagramme de structure composite ;
ˆ Diagramme de composants ;

13
Chapitre 2 Analyse et Conception

ˆ Diagramme de déploiement.
Sept diagrammes comportementaux
ˆ Diagramme de cas d’utilisation ;
ˆ Diagramme de vue d’ensemble des interactions ;
ˆ Diagramme de séquence ;
ˆ Diagramme de communication ;
ˆ Diagramme de temps ;
ˆ Diagramme d’activité ;
ˆ Diagramme d’états.
L’ensemble des treize types de diagrammes UML peut ainsi être résumé sur la figure 2.2 :

Figure 2.2 – Les diagrammes UML [4]

Dans la suite de notre étude nous présentons les 3 diagrammes suivants :


— Le diagramme de cas d’utilisation ;
— Le diagramme de séquence ;
— Le diagramme de classes.
Pour la création des diagrammes on a choisi le logiciel StarUml qui est un logiciel libre.

2.4.4 Les différents acteurs du système

Les acteurs d’un système sont les entités qui interagissent avec lui. Dans notre appli-
cation on a :

14
Chapitre 2 Analyse et Conception

ˆ L’enseignant : peut créer, modifier des classes, importer les informations des
étudiants, scanner des codes QR et ajouter des points de participation pour les
étudiants pendant le cours ;
ˆ L’étudiant : recevra un code QR unique par e-mail pour qu’il puisse l’utiliser pour
signaler sa présence.

2.5 Le diagramme de cas d’utilisation


Selon Pascal Roques et Franck Vallée les auteurs de [5] un cas d’utilisation (use case) :
≪ représente un ensemble de séquences d’actions qui sont réalisées par le système et qui
produisent un résultat observable intéressant pour un acteur particulier. Un cas d’utilisa-
tion modélise un service rendu par le système. Il exprime les interactions acteurs/système
et apporte une valeur ajoutée ≪ notable ≫ à l’acteur concerné ≫.

2.5.1 Le diagramme de cas d’utilisation générale

La Figure 2.3 représente le diagramme de cas d’utilisation générale

Figure 2.3 – Les diagrammes UML

15
Chapitre 2 Analyse et Conception

2.5.2 Diagrammes des cas d’utilisation détaillés

1. :Gérer une classe à suivre


La Figure 2.4 représente le diagramme de cas d’utilisation gérer une classe a suivre.

Figure 2.4 – Diagramme de cas d’utilisation ≪ Gérer une classe à suivre ≫

ˆ Le cas d’utilisation ≪ Gérer une classe à suivre ≫

(a) Un enseignant crée une classe qu’il va suivre, il doit d’abord spécifier les étudiants
participants, et les détails qui concerne cette classe (salle, groupe, horaire,
...etc), cela est fait en important un fichier Excel.
(b) Un enseignant peut aussi, après avoir créé une classe, la supprimer plus tard,
ou modifier ces spécifications.

2. :Gérer une fiche de suivi


La Figure 2.5 représente le diagramme de cas d’utilisation gérer une fiche de suivi.

16
Chapitre 2 Analyse et Conception

Figure 2.5 – Diagramme de cas d’utilisation ≪ Gérer une fiche de suivi≫

ˆ Le cas d’utilisation ≪ Gérer une fiche de suivi ≫

(a) L’importation de la fiche de suivi est suivie par la génération des codes QR des
étudiants, qu’ils leurs seront envoyés par un Email.
(b) L’enseignant peut lister sa fiche de suivi comme un tableau et la consulter,
comme il peut au même temps faire ce qui il va suivre :
ˆ Supprimer un étudiant d’une liste ;

ˆ Modifier les spécifications des étudiants (adresse-mail, nom, prénom. . .etc) ;

ˆ Ajouter un nouvel étudiant à une liste ;

ˆ Exporter une liste comme un fichier Excel.

3. :Gérer une séance


La Figure 2.6 représente le diagramme de cas d’utilisation gérer une séance.

17
Chapitre 2 Analyse et Conception

Figure 2.6 – Diagramme de cas d’utilisation ≪ Gérer une séance≫

ˆ Le cas d’utilisation ≪ Gérer une séance ≫

(a) Un enseignant peut marquer la présence de ces étudiants, soit en scannant un


code QR, ou en la faisant manuellement.
(b) Un enseignant peut consulter l’historique de toutes les séances qu’il a super-
visées, et même l’état d’une séance donnée.
(c) En consultant une séance, un enseignant peut changer le groupe d’un étudiant,
modifier son statut de présence et lui ajouter des bonus de participation.
(d) En modifiant le statut d’un étudiant dans une séance donnée, ou après sa fin,
l’étudiant est notifié via Émail.

2.6 Diagramme de séquence


Un diagramme de séquence est définit dans [7] comme : ≪ un diagramme UML (Unified
Modeling Language) qui représente la séquence de messages entre les objets au cours d’une

18
Chapitre 2 Analyse et Conception

interaction. Un diagramme de séquence comprend un groupe d’objets, représentés par des


lignes de vie, et les messages que ces objets échangent lors de l’interaction ≫.

2.6.1 Diagramme de séquence créer classe

La Figure 2.7 représente le diagramme de séquence créer classe.

Figure 2.7 – Diagramme de séquence créer classe

2.6.2 Diagramme de séquence marquer présence

La Figure 2.8 représente le diagramme de séquence marquer présence.

19
Chapitre 2 Analyse et Conception

Figure 2.8 – Diagramme de séquence marquer présence

2.7 Diagramme de classes


Selon Pascal Roques dans le livre [6] Le diagramme de classes : ≪ est le point central
dans un développement orienté objet. En analyse, il a pour objectif de décrire la struc-
ture des entités manipulées par les utilisateurs. En conception, le diagramme de classes
représente la structure d’un code orienté objet ou, à un niveau de détail plus important,
les modules du langage de développement ≫.
la figure ci-dessous représente notre diagramme de classes(voir Figure 2.9).

20
Chapitre 2 Analyse et Conception

Figure 2.9 – Diagramme de classe

2.7.1 Le modèle relationnel

Le modèle relationnel (MLD) est une méthode de modélisation logique des données
contenues dans la base de données (BDD).
Après l’application de la règle de passage du diagramme de classes, nous pouvons main-
tenant établir le modèle relationnel.
— Classe(class id, nomModule, type, niveau, groupe, date programmée, salle, note totalité présence,
note totalité participation).
— Seance(date séance, class id#).
— Etudiant(matriculle, qrCode, nom, prénom, émail).
— Assiduité(date séance#, matriculle#, status, bonus).
— Suivre(class id#,matriculle#).

2.8 Conclusion
Dans ce chapitre, nous avons présenté la phase d’analyse et conception de notre ap-
plication en se basant sur les trois diagrammes du formalisme UML : cas d’utilisation,
séquence et classes qui a été utilisé pour la construction de notre base de données.

21
Chapitre 2 Analyse et Conception

L’étude réalisée dans ce chapitre nous permettra de passer à la dernière étape qui est
l’implémentation qui sera l’objet du chapitre suivant.

22
Chapitre 3
Implémentation et Réalisation

3.1 Introduction
Ce chapitre est consacré à la réalisation et la mise en œuvre de notre application, il
représente la dernière partie de ce mémoire. Tout d’abord nous commençons par la des-
cription des environnements de développement durant la réalisation de notre application.
Ensuite, nous présentons quelques interfaces réalisées pour illustrer le fonctionnement de
quelques activités de l’application.

3.2 Environnement du travail


Dans cette section nous décrirons l’environnement du travail.

3.2.1 Environnement matériel

Pour le développement de cette application, nous avons utilisé les machines avec les
configurations suivantes :

Nom de la machine Dell latitude 5420


CPU i7-1185G7 @ 3.00GHz
Ram 16GB
Système d’exploitation Windows 11

Table 3.1 – Les caractéristiques de la première machine utilisée

23
Chapitre 3 Implémentation et Réalisation

Nom de la machine Dell vostro 5042


CPU i5-1135G7 @ 2.40GHz
Ram 8GB
Système d’exploitation Windows 11

Table 3.2 – Les caractéristiques de la deuxième machine utilisée

Nom de la machine asus ZenBook


CPU i7-10870H CPU @ 2.20GHz
Ram 16GB
Système d’exploitation Windows 11

Table 3.3 – Les caractéristiques de la troisième machine utilisée

3.2.2 Environnement logiciel

Visual Studio

Dans le site [8] : ≪ Visual Studio Code est un éditeur de code source
léger, mais puissant, qui s’exécute sur votre bureau et est disponible
pour Windows, macOS et Linux. Inclut la prise en charge intégrée de
JavaScript, TypeScript et Node.js, et possède un écosystème enrichi
d’extensions pour d’autres langages et runtimes (tels que C++, C#,
Java, Python, PHP, Go et .NET) ≫.

Star UML

StarUML est définit dans [9] comme : ≪ un logiciel de modélisation


UML, cédé comme open source par son éditeur, à la fin de
son exploitation commerciale, sous une licence modifiée de GNU
GPL ≫.

24
Chapitre 3 Implémentation et Réalisation

lucidchart

≪ Lucidchart est l’une des premières solutions de création de dia-


grammes intelligents à lancer le marché de la collaboration visuelle en
2010. Grâce à son espace de travail visuel intuitif basé sur le cloud et à
son ensemble de fonctionnalités robustes, Lucidchart aide les équipes
à clarifier la complexité et à améliorer la collaboration depuis plus d’une décennie ≫[10].

3.3 Langages utilisés


Nous allons citer ci-dessous les langages qu’on a utilisé dans le développement de
l’application :
Dart

Selon le site officiel [11] : ≪ Dart est un langage de programmation


optimisé côté client pour le développement rapide d’applications sur
n’importe quelle plate-forme. Son objectif est de fournir le langage de
programmation le plus productif pour le développement multiplate-
forme, associé à une plate-forme d’exécution flexible pour les cadres
d’applications ≫.

Flutter Framework

Selon le site officiel [12] Flutter se définit comme suite : ≪ Flutter est
un framework open source de Google permettant de créer de belles
applications multiplateformes compilées en mode natif à partir d’une
seule base de code ≫.

25
Chapitre 3 Implémentation et Réalisation

SQLite

SQLite est système de gestion de bases de données relationnelles,


créé au début des années 2000 par D. Richard Hipp. Il repose sur
une écriture en langage C, un langage de programmation impératif,
et sur une accessibilité via le langage SQL. SQLite est directement
intégrée dans l’application qui utilise sa bibliothèque logicielle, avec son moteur de base
de données, et n’utilise aucune autre bibliothèque externe que la bibliothèque standard
du langage. Ceci rend SQLite compilable sans modification majeure sur toutes les archi-
tectures informatiques[13].

3.4 Entrés de l’application


Notre application reçois en entré un fichier excel dont le format est donnée par la figure
ci-dessous 3.1 :

Figure 3.1 – Format du fichier Excel d’entré l’application

3.5 Présentation des interfaces graphiques


Dans cette partie nous allons présenter les principales fonctionnalités de notre appli-
cation sous forme d’interface graphique.

26
Chapitre 3 Implémentation et Réalisation

3.5.1 Page d’accueil de l’application

La première interface qui apparaı̂t dans l’application est l’interface d’accueil 3.2 à
travers laquelle on peut voir les classes créées.

Figure 3.2 – La page d’accueil

3.5.2 Création d’une classe

La figure suivante 3.3 représente le formulaire de la création d’une classe.

27
Chapitre 3 Implémentation et Réalisation

Figure 3.3 – Le formulaire de la création d’une classe

3.5.3 Marquer la présence

l’interface marquer la présence 3.4 représente la page dans laquelle on peut marquer
la présence des étudiants que ça soit manuellement ou en scannant leurs codes QR.

28
Chapitre 3 Implémentation et Réalisation

Figure 3.4 – La page de signaler la présence

3.5.4 La page d’affichage

C’est la Page qui permet de voir toutes les séances d’une classe donnée 3.5.

29
Chapitre 3 Implémentation et Réalisation

Figure 3.5 – La page d’affichage

3.5.5 Historique des séances

La page d’historique contient tous les séances créés 3.6.

30
Chapitre 3 Implémentation et Réalisation

Figure 3.6 – Historique

3.6 Conclusion
Dans ce dernier chapitre, nous avons mis en évidence toutes les techniques nécessaires
à la réalisation de notre application, nous avons présenté l’environnement matériel, logiciel
et les différents langages de programmation que nous avons utilisé pour le développement,
nous avons également illustré quelques interfaces de notre application.

31
Conclusion générale et perspectives

Ce travail rentre dans le cadre du projet de fin de cycle pour l’obtention du diplôme
licence en ≪ Systèmes informatiques ≫.

Notre projet s’est concentré sur le développement d’une application mobile multi-
plateforme de suivi des enseignements basée sur l’utilisation de codes QR, offrant une solu-
tion innovante pour améliorer la gestion de la présence des étudiants dans les établissements
scolaires. L’objectif principal était de proposer un outil pratique et efficace pour les en-
seignants, leur permettant de simplifier le processus de vérification de la présence, de
participation et leur optimisation.

Au cours de ce travail, nous avons d’abord entamé notre étude par l’étude de l’existant
qui est une étape cruciale et nécessaire pour mieux assimiler le système déjà existant.
Ensuite, dans le deuxième chapitre, on a commencé par définir les besoins fonctionnels
et non fonctionnels suivi d’une étude conceptuelle en utilisant le formalisme UML. En-
fin, dans le dernier chapitre, nous avons décrit les outils que nous avons utilisé durant
le développement de l’application et pour finir nous avons montré quelques interfaces
graphiques de notre application.

Ce projet a fait l’objet d’une expérience intéressante, bénéfique et puissante pour nous,
car nous avons enrichi nos connaissances théoriques et pratiques. Il nous a aussi per-
mis de découvrir et d’acquérir de nouvelles expériences et connaissances en matière de
développement d’application mobile.

Dans le futur, nous prévoyons comme perspective :

32
Conclusion générale

— Visualisation de la présence en temps réel à l’aide de firebase : les étudiants


pourraient accéder à l’application pour vérifier leur présence dans les différentes
matières ;
— Notifications d’absence : lorsqu’un étudiant est marqué comme absent par l’en-
seignant, l’application pourrait envoyer une notification à l’étudiant pour l’informer
de son absence ;
— Demande de justification d’absence : l’application pourrait permettre aux
étudiants de soumettre des justifications pour leurs absences, directement depuis
l’application ;
— Suivi de la participation et des progrès : l’application pourrait inclure des
fonctionnalités permettant aux étudiants de suivre leur participation aux cours et
leurs progrès dans chaque matière.

33
Bibliographie

[1] Université Akli Mohand Oulhadj Bouira. https://www.univ-bouira.dz/fr/?page_


id=214700/#presentation. consulté le 23 mars 2023.

[2] Faculté sciences et science appliquées. http://fssa.univ-bouira.dz/?page_id=


511. consulté le 23 mars 2023.

[3] Lounis Tarek Bouzidi Adel, Azira Yacine. Conception et implémentation d’une appli-
cation web pour la gestion de l’affectations des projets de fin d‘etude (pfe) au niveau
de l’université de bouira, 2020.

[4] Pascal Roques. Uml 2 Modéliser une application web. Éditions Eyrolles, Paris, 4
edition, 2 octobre 2008.

[5] Pascal Roques and Franck Vallée. UML 2 en action. 2004.

[6] Pascal Roques. UML 2 par la pratique, Etudes de cas et exercices corriges. Éditions
Eyrolles, Paris, 5 edition, 2018.

[7] https://www.ibm.com/docs/fr/rsm/7.5.0?topic=uml-sequence-diagrams.
consulté le 23 mai 2023.

[8] https://visualstudio.microsoft.com/fr/. consulté le 23 mai 2023.

[9] https://dictionnaire.sensagent.com/StarUML/fr-fr/. consulté le 23 mai 2023.

[10] https://www.g2.com/products/lucidchart/reviews. consulté le 27 mai 2023.

[11] https://dart.dev/overview. consulté le 27 mai 2023.

[12] https://flutter.dev/. consulté le 27 mai 2023.

[13] https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/
1203607-sqlite-definition/. consulté le 27 mai 2023.

34

Vous aimerez peut-être aussi