PFC06 Madi Nadir Hamid Zohir Grib Abderrahmane
PFC06 Madi Nadir Hamid Zohir Grib Abderrahmane
PFC06 Madi Nadir Hamid Zohir Grib Abderrahmane
Mémoire de Licence
en Informatique
Spécialité : SI
Thème
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.
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.
jÊÓ
ék. ð úΫ èQK ñK. éªÓAg
. ú¯ð , ÐA« ɾ . éJ ÒJʪJË@ HA
ñÖÏ @ ú¯ H. C¢Ë@ Pñk éªK AJÓ ÕæK
.
Ë é®K Q¢Ë@ è Yë . PñË@
@ P ð @ Ð@YjJAK é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
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
Bibliographie 34
iii
Table des figures
iv
Liste des tableaux
v
Liste des abréviations
vi
Introduction générale
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.
1
Introduction générale
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).
3
Chapitre 1 Étude de l’existant
4
Chapitre 1 Étude de l’existant
5
Chapitre 1 Étude de l’existant
6
Chapitre 1 Étude de l’existant
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.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).
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. Performance : L’application doit être rapide et réactive pour éviter tout retard
ou tout gel pendant l’utilisation ;
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.
10
Chapitre 2 Analyse et Conception
11
Chapitre 2 Analyse et Conception
2.4 Conception
Dans cette partie nous abordons conception de notre système.
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].
12
Chapitre 2 Analyse et Conception
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 :
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.
15
Chapitre 2 Analyse et Conception
(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.
16
Chapitre 2 Analyse et Conception
(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 ;
17
Chapitre 2 Analyse et Conception
18
Chapitre 2 Analyse et Conception
19
Chapitre 2 Analyse et Conception
20
Chapitre 2 Analyse et Conception
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.
Pour le développement de cette application, nous avons utilisé les machines avec les
configurations suivantes :
23
Chapitre 3 Implémentation et Réalisation
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
24
Chapitre 3 Implémentation et Réalisation
lucidchart
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
26
Chapitre 3 Implémentation et Réalisation
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.
27
Chapitre 3 Implémentation et Réalisation
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
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
30
Chapitre 3 Implémentation et Réalisation
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.
32
Conclusion générale
33
Bibliographie
[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.
[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.
[13] https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/
1203607-sqlite-definition/. consulté le 27 mai 2023.
34