Vous êtes sur la page 1sur 50

UNIVERSITE SIDI MOHAMED BEN ABDELLAH

FACULTE DES SCIENCES ET TECHNIQUES FES


DEPARTEMENT D’INFORMATIQUE

Projet de Fin d’Etudes


Licence Sciences et Techniques Génie Informatique

APPLICATION WEB POUR LA GESTION ET LE SUIVI DES


ABSENCES

Lieu de stage : Ecole Supérieure de Technologie Meknès

Réalisé par : Encadré par :

LARGO Salma Mr. OUCHANE Karim


Pr. MRABTI Fatiha

Soutenu le 10/06/2016 devant le jury composé de :

Pr. A. Majda
Pr. M.C. Abou Naima
Pr. F. Mrabti

Année Universitaire 2015-2016


Table des matières
Introduction générale.............................................................................................................................. 7
Contexte Générale Du Projet .................................................................................................................. 8
1. Présentation de l’Ecole supérieure de Technologie Meknès .......................................................... 9
1.1 Définition ................................................................................................................................... 9
1.2 Fiche technique ....................................................................................................................... 10
1.3 Organigramme de l’Ecole Supérieure de Technologie Meknès .............................................. 11
1.4 Structure de l’Ecole Supérieure de Technologie Meknès ....................................................... 11
2. Présentation Du Projet .................................................................................................................. 12
2.1 Etude de l’existant ................................................................................................................. 12
2.2 Problématique ........................................................................................................................ 13
2.3 Solutions proposées ................................................................................................................ 13
3. Analyse des besoins....................................................................................................................... 14
4. Diagramme Représentant La Planification Du Projet : ................................................................. 15
La conception ........................................................................................................................................ 16
1. Introduction ................................................................................................................................... 17
2. Méthodologie d’analyse ............................................................................................................... 17
2.1 2TUP (Two Track Unifie Process) ............................................................................................ 17
2.2 Le langage UML ...................................................................................................................... 19
2.3 Le modèle MVC ....................................................................................................................... 19
3. Modélisation du contexte ............................................................................................................ 21
3.1 Les acteurs et leurs rôles ......................................................................................................... 21
3.2 Les messages émis et reçus .................................................................................................... 22
3.3 Modélisation du contexte ....................................................................................................... 23
4. Conclusion .................................................................................................................................... 32
Présentation de l’application ................................................................................................................ 33
1. Introduction .................................................................................................................................. 34
2. Outils de développement ............................................................................................................. 34
2.1 HTML 5.................................................................................................................................... 34
2.2 CSS 3 ....................................................................................................................................... 34
2.3 PHP ......................................................................................................................................... 35
2.4 JavaScript ................................................................................................................................. 35
2.5 JQuery ..................................................................................................................................... 35
2.6 Ajax ......................................................................................................................................... 36
2.7 MySQL............................................................................................... Erreur ! Signet non défini.
2.9 WampServer ............................................................................................................................ 37

2
2.10 Bootstrap ........................................................................................ Erreur ! Signet non défini.
3. Présentation de l’application : ...................................................................................................... 38
3.1 Présentation de la phase authentification .............................................................................. 38
3.2 Interface de l’administrateur.................................................................................................. 38
Conclusion: ........................................................................................................................................ 49

Liste des tableaux


Tableau 1: ESTM.............................................................................................................................9

Tableau 2: acteur et rôles..............................................................................................................22

Tableau 3: Les messages émis reçus.............................................................................................25

Liste des figures


Figure 1: ESTM...............................................................................................................9

Figure 2: Organigramme de l’ESTM................................................................................10

Figure 3: planning du projet...........................................................................................14

Figure 4: Processus de développement en Y..................................................................17

Figure 5: Le langage de modélisation UML.....................................................................18

Figure 6: L'architecture MVC ..........................................................................................20

Figure 7: Diagramme de package ...................................................................................24

Figure 8: Diagramme de cas d’utilisation de l’Administrateur ......................................25

Figure 9: Diagramme de séquences (Authentification) .................................................27

Figure 10: Diagramme de séquences (Importer liste des étudiants).............................28

Figure 11: Diagramme de séquences (Noter absence)…………………………………………….. 29

Figure 12: Diagramme de séquences (Ajouter Filière)...................................................31

Figure 13: diagramme de classes……………………………………………………............................32

Figure 14: fenêtre d'authentification ...............................................................................39.

Figure 15: page d'accueil ..................................................................................................40

Figure 16: barre de navigation..........................................................................................40

Figure 17: L’ajout d’une nouvelle filière...........................................................................41

Figure 18: Erreur d’ajout d’une nouvelle filière .............................................................42

3
Figure 19: importation liste d’étudiants par filière .........................................................43

Figure 20: importation liste d’étudiants par group TP/TD...............................................43

Figure 21: génération de PV d’examen ...........................................................................44

Figure 22: noter absence…………………….. .........................................................................45

Figure 23: générer fiche d’absence..................................................................................46

Figure 24: fiche d’absence ...............................................................................................47

Figure 25: générer fiche de délibération .........................................................................48

Figure 26: ajouter utilisateur ............................................................................................49

Figure 27: consulter liste des utilisateurs..........................................................................49

Figure 28: historique personnel.........................................................................................50

4
Dédicace

A ma mère, qui depuis ma naissance, n’a cessé de me bercer avec des bons
conseils et sans doute celle qui me réconforte et m’encourage dans les moments
les plus difficiles de ma scolarité.

A mon père, celui qui ne se lassait jamais pour aménager tous ses efforts pour
que je sois quelqu’un de bien dans la vie. Pour lui, l’instruction est le socle
fondamental de ses enfants.

A mon cher frère, qui, par son soutien moral et encouragement, multipliait mes
efforts, pour pouvoir réaliser parfois l’impossible.

A mes amis, aussi à tous ceux qui m’ont soutenue par leurs orientations, leurs
conseils durant la réalisation de ce travail. Je vous dédie ce travail avec tous mes
vœux de bonheur, et de réussite.

5
Remerciement

Avant tout développement sur cette expérience professionnelle, il apparaît


opportun de commencer ce rapport de stage par des remerciements, à ceux qui
m’ont beaucoup appris au cours de ce stage, et même à ceux qui ont eu la
gentillesse de faire de ce stage un moment très profitable.

Je tiens tout d’abord à remercier Dieu le tout puissant, qui m’a donné la
force et la patience d’accomplir ce travail dans les meilleurs conditions.

Mes plus sincères remerciements, à mon encadrante pédagogique Pr


MRABTI Fatiha pour son attention, son orientation, son aide pendant la
réalisation de ce travail et pour être source d’information et de communication
sans hésiter à aucun moment de consacrer une part de son temps précieux .

Je tiens à exprimer avec un grand plaisir et un grand respect toute ma


reconnaissance à mon encadrant Mr OUCHANE Karim, pour ses conseils et sa
confiance qui m’ont permis de progresser sans cesse durant ces 2 mois, et pour
m’accompagner tout au long de cette expérience professionnelle avec beaucoup
de patience et de pédagogie.

Finalement je remercie mes parents, et mes proches pour leur soutien moral
et matériel.

6
Introduction générale

Dans le cadre de mon projet de fin d’étude j’ai effectué un stage de deux
mois au sein de l’Ecole Supérieure de Technologie de Meknès. Parmi les
principaux objectifs de ce stage :

 Évaluer les compétences de programmation et de conception acquises


durant toute la formation et les mettre en pratique.
 Approfondir l'utilisation de diverses techniques dans un contexte de
service aux clients.
 Vivre l'expérience du travail et améliorer sa capacité à prendre des
décisions.
 Améliorer sa capacité à s'adapter à de nouvelles situations et diminuer la
résistance aux changements.
 Apprendre à s'intégrer à une équipe de travail.

Ma mission de stage à l’ESTM est la réalisation d’une application WEB


pour la gestion et le suivi des absences des étudiants. Cette tache se réalise d’une
manière manuelle ce qui rond le travail difficile dû aux nombres important
d’étudiants.

Dans ce rapport nous allons présenter dans un premier temps la société


d’accueil, puis un cahier de charges pour expliciter les objectifs de
l’application. Dans une autre partie nous allons exposer la méthodologie et les
outils utilisés dans la réalisation du projet. Enfin nous allons passer à la
conception et la réalisation de l’application.

7
Chapitre I

Contexte Générale Du Projet

8
1. Présentation de l’Ecole supérieure de
Technologie Meknès

1.1 Définition

Depuis 1993 l'École Supérieure de Technologie de Meknès dispense un


enseignement universitaire post baccalauréat professionnalisant formant des
techniciens supérieurs dans différentes disciplines.

L’établissement est doté d’une infrastructure technique et technologique


avec un encadrement de proximité répondant aux exigences d'un enseignement
supérieur moderne.

Toutes ces formations sont assurées par un staff pédagogique aussi varié
que les différents statuts des intervenants : des enseignants- chercheurs, des
enseignants du secondaire qualifiant, des ingénieurs et de chargés
d'enseignements.

L'ESTM est en lien permanant avec son environnement socio-économique


à travers les stages de ses étudiants et l'intervention des professionnels dans
différentes disciplines. Les lauréats s’insèrent autant qu'ils le peuvent dans le
marché du travail et pour ceux qui à défaut poursuivent leurs études se trouvent
parmi les majorants de leurs promotions.

9
Figure 1 : l’Ecole Supérieure de Technologie Meknès

1.2 Fiche technique

Raison sociale Ecole Supérieure de Technologie Meknès

Adresse postale Adresse: Route d'Agouray, km 5, B.P. 3103, Toulal, Meknès,


50000
Tél (+212) 5 35 46 70 84/86

Email estm@est-umi.ac.ma
Fax +212 5 35 46 70 837

Site web www.est-umi.ac.ma


Date de création Septembre 1993

Directeur Pr. Mohammed BENNASER

Effectif global 2018 étudiants

Tableau 1: fiche technique de l’Ecole Superieure de Technologie Meknès

10
1.3 Organigramme de l’Ecole Supérieure de Technologie
Meknès

Organigramme global de l’ESTM :

Figure 2 : Organigramme de l’ESTM

1.4 Structure de l’Ecole Supérieure de Technologie Meknès


L’EST Meknès compte environs 2018 étudiants, la durée d’étude est étalée
sur 2 années (4 semesters), dans lequel il y’a une complémentarité entre les
études théoriques et les stages obligatoires effectués.

Départements:

 Techniques de Commercialisation et de Communication.


 Génie informatique
 Génie électrique.
 Techniques de management.
11
Formation Initiale :

Diplôme Universitaire de Technologie (DUT) :

 Techniques de Commercialisation et de Communication.


 Commercialisation des Produits Agroalimentaires.

 Techniques de Vente et Services Clients.

 Génie Electrique.

 Génie Thermique et Energétique.

 Génie Informatique.

 Techniques de Management

 Finance, Banque et Assurance

Licence professionnelle (LP) :

 Marketing des Services et Management des Points de Vente.

 Management Stratégique des Organisations.


 Développement des Systèmes d'Information et des Communication.
 Energies Renouvelables et Efficacité Energétique.

2. Présentation Du Projet

2.1 Etude de l’existant:


Le service des absences reçoit chaque jour un grand nombre de fiches
d’absence notées par les professeurs, le service accomplisse ses tâches en
utilisant des logiciels de bureautique. Parmi les rôles du service:

12
 Gestion des absences: c’est la tâche principale du service, l’administrateur
doit ajouter, modifier, consulter et supprimer les absences des étudiants.

 Gestion des étudiants par filière : la gestion des étudiants est aussi une
tâche importante du service d’absences, elle permet l’ajout des listes
d’étudiant, l’impression des fiches d’absences par filière.

2.2 Problématique:
L’ESTM ne dispose d’aucun logiciel informatique permettant la gestion
des absences. Le service accompli ses tâches de gestion d’une manière presque
manuelle en utilisant des logiciels de bureautique. Ceci rend leurs tâches
fastidieuses et difficiles, et le travail compliqué, lent et mal structuré.

Parmi ces problèmes:

 Problème de gestion l’ajout et la suppression des absences se fait avec


Excel chaque filière est dans un fichier Excel appart ce qui mène à une
perte de temps et une mauvaise organisation de travail.
 Difficulté d’accès à l’information chaque liste d’étudiant est stockée
par filière dans un fichier Excel indépendant, ce qui consiste le parcours
de plusieurs fichiers pour consulter les absences des étudiants.
 Problème de gestion de l’information il n’y a pas de base de données
pour stocker les listes d’étudiants et leurs informations ce qui peut mener
à une perte d’information.
 Problème de sécurité n’importe quelle personne peut accéder aux
informations et les modifier.

2.3 Solutions proposées:


Afin de remédier aux problèmes présentés dans la section précédente, les
responsables du service d’absence de l’ESTM ont opté pour réaliser une
application web automatisant la gestion et le suivi des absences.
L’application doit nous permettre de :

 Faciliter la consultation des absences des étudiants.
 Faciliter l’ajout des nouvelles absences.
 diminuer les risques d’erreur.
 Faciliter la génération des fiche d’absence.

13
 Garder trace sur toutes les activités effectuées par l’administrateur du
service.
 Garder l’archive des absences par année universitaire.
 Garantir la sécurité (Authentification).
 Rendre le travail plus structurés et dynamique.

3. Analyse des besoins

Dans cette partie nous allons clarifier les besoins du système à réaliser
pour pouvoir clarifier les besoins des utilisateurs de l’application.

 Authentification pour pouvoir accéder à l’interface de gestion d’absence.

 Gestion des utilisateurs il s’agit des différentes opérations de gestion


des utilisateurs telles que l’ajout et la consultation de la liste des
utilisateurs.

 Importation des listes des étudiants


 L’importation des listes des étudiants soit par filière ou bien par
groupe de TD/TP.
 L’ajout, la consultation et la suppression des absences.
 La modification d’une absence déjà ajoutée (l’ajout d’une
justification).

 L’ajout des nouvelles filières l’affectation d’une nouvelle filière à un


département.

 Fiches d’absence et des PV de surveillance l’impression des fiches


d’absence par filière et des PV de surveillance.

 Gestion des délibérations l’impression des fiches d’absence pour les


délibérations contenant les listes d’étudiants qui n’ont pas le droit de
bénéficier des notes de jury.

 Consultation d’historique consultation des activités effectuées par


l’administrateur.

14
4. Diagramme Représentant La
Planification Du Projet:

Chaque projet nécessite un planning représentant visuellement l'état


d'avancement des différentes activités qui constituent un projet. Mon projet de
fin d’études Gestion et Suivi des Absences est réalisé selon le planning
représenté sous forme de diagramme de Gant réalisé à l’aide de Tom’sPlanner.

Le diagramme de Gantt est un outil utilisé (souvent en complément d'un


réseau PERT) en ordonnancement et en gestion de projet et permettant de
visualiser dans le temps les diverses tâches composant un projet.

Figure 3 : planning du projet

15
Chapitre II

La conception

16
1. Introduction:
La conception est une phase importante avant la réalisation de tout projet,
Cette phase nécessite des méthodes permettant de mettre en place un modèle sur
lequel on va s'appuyer. C’est à dire créer une représentation similaire à la réalité
de telle façon à faire ressortir les points auxquels on s'intéresse.

Nous allons commencer ce chapitre par la présentation de la méthodologie


d’analyse, en justifiant la raison du choix de cette méthodologie pour mon
application, nous allons montrer ensuite les acteurs de l’application et leurs
rôles, ainsi que les différents diagrammes UML.

2. Méthodologie d’analyse :

2.1 2TUP (Two Track Unifie Process)


Pour développer mon application « gestion et suivi des absences » j’ai
utilisé le processus 2TUP. C’est un processus unifié centré sur les cas
d’utilisation et basé sur la modélisation avec le langage UML. Il consiste à
fusionner les résultats des deux évolutions fonctionnelle et technique, ce qui
conduit à un processus de développement en forme de caractérisé par trois
branches:

Figure 4 : Processus de développement en Y

17
La branche gauche (fonctionnelle) comporte:

– La capture des besoins fonctionnels, qui produit un modèle des besoins


focalisé sur le métier des utilisateurs. Elle qualifie au plus tôt le risque de
produire un système inadapté aux utilisateurs. De son côté, la maîtrise d’œuvre
consolide les spécifications et en vérifie la cohérence et l’exhaustivité;
– L’analyse, qui consiste à étudier précisément la spécification fonctionnelle de
manière à obtenir une idée de ce que va réaliser le système en termes de métier.
Les résultats de l’analyse ne dépendent d’aucune technologie particulière.

La branche droite (architecture technique) comporte:

– La capture des besoins techniques, qui recense toutes les contraintes et les
choix dimensionnant la conception du système. Les outils et les matériels
sélectionnés ainsi que la prise en compte de contraintes d’intégration avec
l’existant conditionnent généralement des pré requis d’architecture technique ;
– La conception générique, qui définit ensuite les composants nécessaires à la
construction de l’architecture technique. Cette conception est complètement
indépendante des aspects fonctionnels. Elle a pour objectif d’uniformiser et de
réutiliser les mêmes mécanismes pour tout un système. L’architecture technique
construit le squelette du système informatique et écarte la plupart des risques de
niveau technique. L’importance de sa réussite est telle qu’il est conseillé de
réaliser un prototype pour assurer sa validité.

La branche du milieu comporte :

– La conception préliminaire, qui représente une étape délicate, car elle intègre
le modèle d’analyse dans l’architecture technique de manière à tracer la
cartographie des composants du système à développer.
– La conception détaillée, qui étudie ensuite comment réaliser chaque
composant.
– L’étape de codage, qui produit ces composants et teste au fur et à mesure les
unités de code réalisées.
– L’étape de recette, qui consiste enfin à valider les fonctions du système
développé.

18
2.2 Le langage UML:
2.2.1 Définition:

Figure 5 : Le langage de modélisation UML

UML, c’est l’acronyme anglais pour « Unified Modeling Language ». On


le traduit par « Langage de modélisation unifié ». La notation UML est
un langage visuel constitué d’un ensemble de schémas, appelés des diagrammes,
qui donnent chacun une vision différente du projet à traiter. UML nous fournit
donc des diagrammes pour représenter le logiciel à développer: son
fonctionnement, sa mise en route, les actions susceptibles d’être effectuées par
le logiciel, etc.
2.2.2 Pourquoi UML?

 Pour obtenir une modélisation de très haut niveau indépendante des


langages et des environnements.
 Pour faire collaborer des participants de tous horizons autour d'un même
document de synthèse.
 Pour faire des simulations avant de construire un système.
 Pour exprimer dans un seul modèle tous les aspects statiques,
dynamiques, juridiques, spécifications, etc....
 Pour documenter un projet.
 Pour générer automatiquement la partie logiciel d'un système.

2.3 Le modèle MVC :


2.3.1 Définition:

19
L’architecture MVC (modèle, vue et contrôleur) est un concept très puissant
qui intervient dans la réalisation d’une application. Son principal intérêt est la
séparation des données (modèle), de l’affichage (vue) et des actions (contrôleur),
ce qui assure la clarté de l’architecture et simplifie la tâche du développeur
responsable de la maintenance et de l’amélioration du projet.

Les différentes interactions entre le modèle, la vue et le contrôleur sont


résumées par le schéma de la figure:

Figure 6: L'architecture MVC

Modèle: Le modèle représente le cœur de l’application: traitements des


données, interactions avec la base de données. Il décrit les données manipulées
par l’application. Il regroupe la gestion de ces données et, il est responsable de
leur intégrité. La base de données sera l’un de ses composants. Le modèle
comporte des méthodes standards pour mettre à jour ces données (insertion,
suppression, changement de valeur). Il offre aussi des méthodes pour récupérer
ces données. Les résultats renvoyés par le modèle ne s’occupent pas de la
présentation, Le modèle ne contient aucun lien direct vers la vue.

Vue: C’est avec quoi l’utilisateur interagit se nomme précisément la vue. Sa


première tâche est de présenter les résultats renvoyés par le modèle, sa seconde
tâche est de recevoir toute action de l’utilisateur (clic de souris, sélection d’un

20
bouton radio, coche d’une case, entrée de texte, de mouvements, de voix, etc..).
Ces différents événements sont envoyés au contrôleur. La vue n’effectue pas de
traitement, elle se contente d’afficher les résultats des traitements effectués par
le modèle et d’interagir avec l’utilisateur.

Contrôleur: Le contrôleur prend en charge la gestion des événements de


synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il
reçoit tous les événements de l’utilisateur et déclenche les actions à effectuer. Si
une action nécessite un changement des données, le contrôleur demande la
modification des données au modèle et ce dernier notifie la vue que les données
ont changée pour qu’elle se mette à jour.

2.3.2 Pourquoi le modèle MVC?

 La clarté de l'architecture qu'il impose.


 La simplification des tâches au développeur qui tenterait d'effectuer une
maintenance ou une amélioration sur le projet.

3. Modélisation du contexte:

3.1 Les acteurs et leurs rôles:


Un acteur est une entité externe qui interagit avec le système (opérateur, centre
distant, autre système...). En réponse à l'action d'un acteur, le système fournit un
service qui correspond à son besoin. Les acteurs peuvent être classés
(hiérarchie). Pour notre projet l’acteur principal est l’administrateur du service
des absences.

21
Acteur Rôles
 S’authentifier
 Gestion des utilisateurs

 Ajouter un utilisateur
 Consulter liste des utilisateurs

 Importer liste étudiants par filière


 Importer liste étudiants par groupe

 Gérer les absences


 Chercher et consulter les absences des
étudiants
 Supprimer absence
 Modifier absence
 Noter les absences

 Imprimer les fiches de délibérations


Administrateur
 Gérer les filières
 Ajouter une nouvelle filière
 Imprimer fiche d’absence d’une filière

 Imprimer PV de surveillance

 Consulter l’historique personnel

Tableau 2: acteur et rôles

3.2 Les messages émis et reçus:

22
Cas d’utilisation Acteurs Messages émis/reçus

S’authentifier Administrateur Emis: Authentification


et accès au compte.
Reçu: connexion.
Ajouter un compte Administrateur Emis: Ajouter les
informations d’un
nouveau utilisateur.
Reçu: Confirmation.
Ajouter filière Administrateur Emis: Ajouter les
informations d’une
nouvelle filière.
Reçu: Confirmation.
Consulter absence Administrateur Emis: Choisir l’étudiant
à consulter de la liste des
étudiants.
Reçu: Affichage des
informations sur les
absences.
Supprimer absence Administrateur Emis: Choisir l’étudiant
à supprimer l’absence.
Reçu: Confirmation.
Ajouter absence Administrateur Emis: Ajouter les
informations de la
nouvelle absence.
Reçu: Confirmation.
Consulter historique Administrateur Emis: Choisir
l’historique à consulter.
Reçu: Affichage des
informations sur
l’historique.
Modifier absence Administrateur Emis: Choisir l’absence
à modifier.
Reçu: Confirmation.
Générer fiche d’absence Administrateur Emis: Choisir filière.
Reçu: Affichage de la
liste de fiche d’absence.
Tableau 3: Les messages émis et reçus

3.3 Modélisation du contexte:


3.3.1 Diagramme de Package:

23
Le diagramme de packages permet de décomposer le système en
catégories ou parties plus facilement observables, appelés « packages ».
Cela permet également d’indiquer les acteurs qui interviennent dans chacun
des packages.

Figure 7: Diagramme de package

3.3.2 Diagrammes des cas d’utilisation:

Le diagramme de cas d’utilisation représente les fonctionnalités (ou


dit cas d’utilisation) nécessaires aux utilisateurs. On peut faire un
diagramme de cas d’utilisation pour le logiciel entier ou pour chaque
package.

24
uc Administrateur

Consulter le cas d'utilisation


Imprimer PV de s'authentifier précéde
l’historique
surv eillance tous les autres cas Imprimer fiche
personnel s'authentifier
d'utilisations d’absence d’une
filière

«extend»

GererFilière
«extend» Aj outerFilière

ImporterListe
Administrateur
ParFilière
ImporterListeEtudiants «extend»

«extend»

ImporterListe
ParGroupe

GererAbsence

«extend» NoterAbsence

GererUtilisateurs «extend»

«extend»
ConsulterAbsence

«extend»
«extend» GererDelibiration
«extend»

«extend»

SupprimerAbsence
Aj outer un
utilisateur
Modifier Compte
«include»

Consulter liste des


ModifierAbsence
utilisateurs

ImprimerFicheDeliberation

Figure 8: Diagramme de cas d’utilisation de l’Administrateur

3.3.3 Diagrammes de Séquence:

Les diagrammes de séquences permettent de représenter des


collaborations entre objets selon un point de vue temporel, on y met

25
l'accent sur la chronologie des envois de messages. En ce qui suit-on
présentera quelques diagrammes de séquences relatifs aux cas d’utilisations
présentées:

 Authentification
L’authentification permet à l’utilisateur d’accéder à
l’application en saisissant le login et le mot de passe, si tous les
champs sont bien remplis et les informations saisies sont correcte
elle se redirige vers la page d’accueil, sinon il est redirigé vers la
page d’authentification.

26
sd DiagSequenceAuthentification

Administrateur
FenetreAuthentification: ControlAuthentification: ModelAuthentification:
AuthentificationView Controleur Modele

SaisirLoginPassword()

Valider()

loop SaisieIncorrecte

VerifierSaisie():
bool

AfficherErreur()

Connexion()
VerifierLoginPassword
(String, String):
Utilisateur

Utilisateur()

alt UtilisateurExistant

[UtilisateurNotNull]:AutoriserAcces()

create()

EspaceAdministrateur:
View

AfficherVueUtilisateur()

alt UtilisateurNonExistant

[Utilisateur==NULL]:AfficherErreur()

AfficherErreur()

Figure 9 : Diagramme de séquences (Authentification)

 Importer Liste Etudiant

27
Après authentification, l’administrateur accède à son espace de
travail pour pouvoir effectuer ses fonctions, l’une de ces fonctions est
l’importation des listes d’étudiants soit par filière où par groupe TP/TD.
Pendant cette operation, l’administrateur saisi l’année universitaire et
choisi la filière puis importe un fichier de format csv, pour que le
système mit à jour la liste des étudiants.

sd DiagSequenceAj outerListeEtudiant

Administrateur
FenetreAj outerListeEtudiant: ControleurAj outerListeEtudiant: ModelAj outerListeEtudiant:
View Controleur Modele

choisirFiliere()

ChoisirNiveau()

[Importation par
groupe]:
ChoisirGroupe()

Choisir Annee
Universitaire()

ImporterLaListeDesEtudiant()

Valider()

EnregistrerNouvelleListe()

EnregistrerNouvelleListe(Liste)

Figure 10 : Diagramme de séquences (Importer liste des étudiants)

 Noter Absence
Une autre fonction de l’administrateur est noter les absences des
étudiants. Pendant cette opération, l’utilisateur insère toutes les
informations sur l’absence et son état, pour que le système vérifie que
tous les champs sont correctement remplis, s’il n y a pas d’erreurs le
28
système enregistre les données et il fournit un message que les données
sont ajoutées avec succès.

sd DiagSequenceNoterAbsence

Servi ceAbsence
FenetreAj outerAbsence ControlAj outerAbsence ModelAj outerAbsence

Sai si rInfosEtudi ant()

Choi si rGroupe()

Choi si rMati ere()

Sai si rDateAbsence
()

Sai si rHeureAbsence()

Aj outerAbsences()

Val i der()

loop SaisieIncorrecte

veri fi erSai si e()

affi cherErreur()

Enregi sterAbsences()

Enregi strerAbsence
(Stri ng, Stri ng): i nt

Confi rmati on()

Affi cherConfi rmati on()

Figure 11 : Diagramme de séquences (Noter absence)

 Ajouter filière
L’administrateur peut ajouter une nouvelle filière en saisissant
les informations sur la filière, le système vérifie que tous les champs
sont correctement remplis, si une filière existe déjà il génère un
message d’alerte, s’il n y’a pas d’erreur le système enregistre les
données et il fournit un message que la filière est ajoutée avec
succès.

29
sd DiagSequenceAj outerFilière

Administrateur
FenetreAj outeFilière: ControleurAj outeFilière: ModeleAj outerFiliere:
View Controleur Modele

SaisirNomFilière()

SaisirAbréviationFilière()

ChoisirNiveau()

ChoisirDépartement()

Valider()

loop SaisieIncorrecte

VerifierSaisie()

AficherErreur()

AjouterFiliere()

AjouterFiliere()

F()

alt FilièreExistante

AfficherErreur()

AfficherErreur()

AfficherConfirmation()

AfficherConfirmation()

Figure 12 : Diagramme de séquences (Ajouter Filière)

3.3.4 Diagrammes de classe:

30
Le diagramme de classes: dans la phase d’analyse, ce diagramme
représente les entités (des informations) manipulées par les utilisateurs.
Dans la phase de conception, il représente la structure objet d’un
développement orienté objet.

class DiagrammeDeClasse

Utilisateur

- Login: String
- nom: String Filière
- Password: String
- Abreviation: String
- prenom: String appartient Département
- id_filière: int
+ s'authentifier(String, String) 1 - niveau: String appartient
- id_dep: int
- Niveau: String 1..* 1 - NomDepartement: String
1..* - NomFilière: String
- Responsable: String
1..*
1..*

Etudiant
contient
appartient
- CNE: String
- nom: String
- prenom: String
- Tel: int 1
- TelParents: int 1..*
Matiere
Module
1 avoir - id_matiere: int
- id_Module: int - libelle: String
1..* 1..* -
Serv ice d'Absence - libelle: String ProfResponsable: String
- TypeMatiere: String
avoir
+ AjouterFilière(): void
+ AjouterUtilisateur(): void 1
+ ConsulterAbsence(): void
+ ConsulterHistorique(): void
+ ConsulterListeUtilisateur(): void
+ ImportetListeEtudiants(): void
+ ImprimerFicheAbsence(): void concerne
+ ImprimerPVExamen(): void 1
+ ModifierAbsence(): void
+ NoterAbsence(): void
Absence
+ SupprimerAbsence(): void
- Date: date
- Etat: boolean
gerer - Heure_Debut: int
- Heure_Fin: int
1
- id_absence: int
- Justification: String

Figure 13 : diagramme de classes

31
4. Conclusion:

L’application utilise un seul acteur principal qui est l’administrateur du


service d’absence, ce dernier possède plusieurs tâches.

 L’utilisateur doit s’authentifier pour accéder a son espace de travail.


 La gestion des comptes d’utilisateurs est gérée par l’administrateur.
 Un étudiant peut n’avoir aucune absence, comme il peut avoir
plusieurs.
 Les absences peuvent être modifiées.
 Les liste d’étudiants sont sauvegardées en archive par année
universitaire.

32
Chapitre III

Présentation de l’application

33
1. Introduction:

Dans ce chapitre on va parler des outils et des langages de développement,


les étapes de la réalisation et nous allons montrer quelques captures d’écran pour
avoir une idée sur l’application et son fonctionnement.

2. Outils de développement :

2.1 HTML 5

L'HTML est un langage informatique utilisé sur l'internet. Ce langage est utilisé
pour créer des pages web. L'acronyme signifie HyperText Markup Language, ce
qui signifie en français "langage de balisage d'hypertexte". Cette signification
porte bien son nom puisqu'effectivement ce langage permet de réaliser de
l'hypertexte à base d'une structure de balisage.

2.2 CSS 3

Le terme CSS est l'acronyme anglais de Cascading Style Sheets qui peut se
traduire par "feuilles de style en cascade". Le CSS est un langage informatique
utilisé sur l'internet pour mettre en forme les fichiers HTML ou XML. Ainsi, les
feuilles de style, aussi appelé les fichiers CSS, comprennent du code qui permet
de gérer le design d'une page en HTML.

34
2.3 PHP

PHP (Hypertext Preprocessor) ce e langage est principalement utilisé pour


produire un site web dynamique. Il est courant que ce langage soit associé à une
base de données, tel que MySQL.
Exécuté du côté serveur (l'endroit où est hébergé le site) il n'y a pas besoin aux
visiteurs d'avoir des logiciels ou plugins particulier. Néanmoins, les webmasters
qui souhaitent développer un site en PHP doivent s'assurer que l'hébergeur prend
en compte ce langage.

2.4 JavaScript

JavaScript (souvent abrégé JS) est un langage de programmation de scripts


principalement utilisé dans les pages web interactives mais aussi côté serveur1.
C'est un langage orienté objet à prototype, c'est-à-dire que les bases du langage
et ses principales interfaces sont fournies par des objets qui ne sont pas des
instances de classes, mais qui sont chacun équipés de constructeurs permettant
de créer leurs propriétés, et notamment une propriété de prototypage qui permet
d'en créer des objets héritiers personnalisés.

2.5 JQuery
35
JQuery est un Framework JavaScript sous licence libre qui permet de faciliter
des fonctionnalités communes de JavaScript.
L'utilisation de cette bibliothèque permet de gagner du temps de développement
lors de l'interaction sur le code HTML d'une page web, l'AJAX ou la gestion des
évènements. JQuery possède par la même occasion l'avantage d'être utilisable
sur plusieurs navigateurs web (cf. Internet Explorer, Firefox, Chrome, Safari ou
Opera).

2.6 Ajax

AJAX est l'acronyme d'Asynchronous JavaScript and XML, ce qui, transcrit en


français, signifie « JavaScript et XML asynchrones ».

Derrière ce nom se cache un ensemble de technologies destinées à réaliser de


rapides mises à jour du contenu d'une page Web, sans qu'elles nécessitent le
moindre rechargement visible par l'utilisateur de la page Web. Les technologies
employées sont diverses et dépendent du type de requêtes que l'on souhaite
utiliser, mais d'une manière générale le JavaScript est constamment présent.

2.7 MySQL

MySQL est une base de données relationnelle libre qui a vu le jour en 1995 et
très employée sur le Web, souvent en association avec PHP (langage) et Apache
36
(serveur web). MySQL fonctionne indifféremment sur tous les systèmes
d'exploitation (Windows, Linux, Mac OS notamment).
Le principe d'une base de données relationnelle est d'enregistrer les informations
dans des tables, qui représentent des regroupements de données par sujets (table
des clients, table des fournisseurs, table des produits, par exemple). Les tables
sont reliées entre elles par des relations.

2.9 WampServer

WampServer (anciennement WAMP5) est une plateforme de développement


Web de type WAMP, permettant de faire fonctionner localement (sans se
connecter à un serveur externe) des scripts PHP. WampServer n'est pas en soi un
logiciel, mais un environnement comprenant deux serveurs (Apache et MySQL),
un interpréteur de script (PHP), ainsi que phpMyAdmin pour l'administration
Web des bases MySQL.

2.10 Bootstrap

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. L'utilisation combinée du HTML, du

37
CSS, et du JavaScript propose Bootstrap dépasse les Framework CSS classiques
et propose carrément des éléments graphiques complets avec une garantie
maximale de compatibilité entre les divers navigateurs.au développeur des
méthodes de développement très efficaces.

3. Présentation de l’application :
3.1 Présentation de la phase authentification :
C’est la page qui permet l’authentification des utilisateurs. Si les coordonnés
saisies sont correctes, alors l’utilisateur est dirigé vers son espace, sinon il est
redirigé une autre fois vers la page d’authentification.

Figure 14 : fenêtre d'authentification

3.2 Interface de l’administrateur


Après l’authentification du responsable, il peut accéder à la page d’accueil.

38
Figure 15 : page d'accueil

Figure 16 : barre de navigation

L’ajout d’une nouvelle filière: Ci-dessous la page d’ajout d’une nouvelle


filière, tous les champs doivent être remplis et la filière ne doit pas être déjà
existante, sinon il est impossible d’ajouter les informations à la base de données.

39
Figure 17 :L’ajout d’une nouvelle filière

Si la filière est existe déja, le système affiche ce message:

40
Figure 18 : Erreur d’ajout d’une nouvelle filière

L’importation d’une liste d’étudiants: l’importation se fait soit par filière où


par groupe TP/TD après l’importation le système redirige automatiquement le
responsable vers la page d’accueil.

Figure 19 : importation liste d’étudiants par filière

41
Figure 20 : importation liste d’étudiants par groupe TP/TD

Génération de PV d’examen

42
Figure 21 : génération de PV d’examen

Noter les absences: L’administrateur saisi les informations, tous les champs
doivent être remplis, après validation un message de succès est affiché.

43
Figure 22 : noter absence

Générer fiche d’absence: L’administrateur choisi la filière, année universitaire,


semestre, niveau et le groupe et génère le fiche d’absence.

44
Figure 23 : générer fiche d’absence

45
Figure 24 : fiche d’absence

Générer fiche de délibération: L’administrateur choisi la filière, année


universitaire, semestre, niveau et fixe un nombre d’absence pour générer une
liste d’étudiant dont leurs absences dépasse le nombre saisi (par heures).

Figure 25: générer fiche de délibération

Gestion des utilisateurs: l’administrateur peut ajouter, modifier un utilisateur,


comme il peut consulter la liste des utilisateurs.

46
Figure 26 : ajouter utilisateur

Figure 27 : consulter liste des utilisateurs

On remarque que, à chaque fois l’administrateur fait une activité d’ajout,


modification, où bien suppression, l’historique personnel est mis à jours.

47
Historique Personnel: l’administrateur peut consulter l’historique des activités
effectuées par date et heure.

Figure 28 : historique personnel

48
Conclusion:

Mon stage de fin d’études de la Licence Sciences et Techniques a été effectué au


sein de l’Ecole Supérieure de Technologie Meknès. Lors de ce stage de 2 mois,
j’ai pu mettre en pratique mes connaissances théoriques acquises durant ma
formation, de plus, je me suis confronté aux difficultés réelles du monde du
travail

Le travail s’est fixé comme objectifs de satisfaire le maximum des besoins du


cahier de charge et faciliter les tâches aux utilisateurs.

cette application peut être améliorée en ajoutant une application mobile, tel que
le professeur peut noter les absences de son teléphone et les données saisies vont
être envoyer directement vers notre interface d’administrateur pour traiter les
information reçus, l’application mobile peut être aussi utiliser par l’étudiant en
lui permettant de consulter ses absences et en lui envoyant des alertes lors de son
absences.

49
Webographie:


 http://www.php.net/

 www.infowebmaster.fr/

 http://fr.wikipedia.org

 https://openclassrooms.com/

 http://www.w3schools.com

 http://stackoverflow.com

Bibliographie:

 Mr. BENNABOU Abderrahim Cours UML (2015-2016)

 Mathieu Nebra, Concevez votre site web avec PHP et MySQL, édition
Simple IT, 2013.

50