Académique Documents
Professionnel Documents
Culture Documents
Union-Discipline-Travail
2016 - 2017
C'nit• de FonN1ttion •t de
l'="IVl:11.,.ITE
NANGUIABROGOUA llttherThe "·· s.1.-,
Fo1tdnm•ntnl•• •I Appli9"é••
Thème:
•
Dédicaces
Je dédie ce travail
A mon père Beda Assi.
A ma mère Atsè N'din Leontine épouse Beda.
A mon grand-frère Tah David Paul.
A ma petite sœur Beda Laurel.
A mon chéri Tian Bi Yannick pour son soutient inconditionnel.
A tous les membres de ma famille et à mes amis.
Pour tous vos sacrifices, nul mot ne saura exprimer mon amour envers vous. Que Dieu vous
protège et vous accorde une longue vie.
Remerciement
Je remercie avant tout le bon Dieu de m'avoir donné la volonté de finir ce mémoire.
Ce travail a pu voir le jour avec énormément d'aide et encouragement des personnes autour
de moi. Ce court remerciement ne sera pas suffisant pour récompenser leurs efforts mais tout
de même ...
Mes remerciements vont à l'endroit de tous ceux qui m'ont aidée et soutenue dans montra-
vail, en particulier au responsable de la filière MIAGE de l'UFR SFA, le docteur EDI Hilaire,
à mon directeur de mémoire le docteur ZEZE Djédjé Sylvain pour sa gentillesse, ses précieux
conseils et pour sa patience, à Gninatin Coulibaly et Beugré Loulou pour leur disponibilité et
leur soutien.
Je tiens aussi à remercier les membres du jury qui ont accepté d'examiner ce mémoire.
Je remercie également le professeur BOA David pour son encouragement continu et pour
ses conseils avisés.
Toute ma reconnaissance est adressée à mes parents, mes frères et mes sœurs pour leurs
sacrifices et leurs soutiens durant ces années d'études. Ce n'est que grâce à eux que tout cela a
été rendu possible.
Mes remerciements vont enfin à l'endroit de toute personne qui a contribué de près ou de
loin à l'élaboration de ce travail.
Résumé
As part of our master's degree in Computer Methods applied to Management and Economies
(MIAGE) at the University Nangui Abrogoua, we were called to carry out a final project in order
to close our second cycle training. This is how I had the opportunity to deepen my theoretical
knowledge through the design and implementation of a student management application and
graduation. This application has been designed with the purpose of managing students' notes
and ballots to facilitate tasks at secondary schools. Thus, its main objective is to establish
averages and automatically generate the bulletin of each student.
To achieve this goal, we created a web application, modeled from UML ( unified modeling
language). The programming language chosen is the PHP (Hypertext Preprocessor) language
and the database management system (DBMS) is MySQL. It should be noted that the Umlet
tool was useful for us to draw and manage the different UML diagrams. This work was clone
under the turorat of Dr. ZEZE Djedje Sylvain.
Table des matières
Résumé 2
Abstract 3
Introduction 1
3 ANALYSE ET CONCEPTION 17
3.1 Modélisation en langage UML . . . . . . 18
3.1.1 Identification des acteurs ..... 18
3.1.2 Le diagramme de cas d'utilisation 18
3.2 Mise en place de la base de donnée ... 27
3.2.1 Modèle Physique de Données .. 27
3.2.2 Description des classes métiers du système 29
3.3 Conclusion Partielle . . . . . . . . . . . . . . . . . 30
5
4 IMPLEMENTATION ET RESULTATS 31
4.1 Plate forme de développement . . . . . . 32
4.1.1 SGBD MariaDB ......... 32
4.1.2 Le langage de développement PHP 32
4.1.3 Serveur apache ....... 33
4.1.4 Le modèle MVC de Laravel 33
4.2 Les interfaces de l'application 34
4.2.1 Authentification . 34
4.2.2 Menu Principal . 34
4.2.3 Administration 35
4.2.4 Gestion des notes 36
4.2.5 Relevés de notes . 38
4.3 Conclusion Partielle . 40
Conclusion général 40
Bibliographie 42
Table des figures
ii
Liste des abréviations
CSS : langage informatique qui décrit la présentation des documents HTML et XML.
HTML : HyperText Markup Language, est le format de données conçu pour représenter
les pages web. C'est un langage de balisage permettant d'écrire de l'hypertexte
SQL : Structured Query Language, en français langage de requête structurée est un langage
informatique normalisé servant à exploiter des bases de données relationnelles.
1
Introduction
ous évoluons dans une société de savoir où la compétence numenque est devenue une
valeur de base. Les technologies de l'information et de la communication (TIC) constituent
désormais des ressources importantes, voire incontournables dans le domaine éducatif.
Le défi de l'intégration des TIC consiste à exploiter efficacement ces techniques afin qu'elles
servent les intérêts du système éducatif.
L'essor des espaces numériques et des outils ne traduit pas simplement une modernisa-
tion technologique des établissements pédagogiques, il conduit également à des transformations
profondes de son organisation, de son environnement.
Le principal objectif de ce projet est de mettre en place un nouveau système de gestion des
élèves facilitant la saisie et le partage des informations.
Notre application consiste à établir un travail complet dédié aux établissements scolaires à
savoir : enregistrer les notes, calculer les moyennes, établir des bulletins et états à imprimer.
Le présent rapport comporte quatre chapitres.
Le premier chapitre présente le contexte général du projet.
Le second, intitulé « Étude technique et fonctionnelle » définit le projet ainsi que le travail
demandé.
Ensuite, le troisième chapitre « Analyse et conception » détaille les besoins fonctionnels et
les besoins non fonctionnels nécessaire au développement du système.
Et enfin un dernier chapitre, intitulé « Implémentation et résultat » est consacré à la concep-
tion des données et des traitements, à l'environnement de développement, à l'architecture de
déploiement ainsi que les interfaces réalisées.
Ce rapport sera clôturé par une conclusion dans laquelle je présenterai les acquis retenus au
cours de ce projet ainsi que les perspectives à envisager en vue d'améliorer ses fonctionnalités.
2
Chapitre 1
3
1.1 Présentation de la structure d'accueil
1.1.1 Cadre du stage
Mon stage s'est déroulé au sein de l'entreprise Xerya. Xerya était une entreprise de formation
technologique qui met à la disposition de ses clients des applications ITEC conçues selon leurs
attentes. Fondée en 2007 à Paris, cette institution a ouvert une filiale à Abidjan en 2013.
Pour son expansion en Côte d'Ivoire, Xerya est en train de développer une plate-forme de
formation en informatique et de gestion des établissements du secondaire appeler Xerya IT
school (XITS). Elle comprend plusieurs modules qui sont :
• L'intranet.
• Les emails.
• La bibliothèque virtuelle.
erya
-
,/ ---
&wto;•~..com ,.GETI C(l0..l7MS 09U9ms V,7,lll f2/ll6lOJS)
4
1.1.2 Objectif du Xerya IT School
Les principaux objectifs Du Xerya IT School sont les suivants :
• Concevoir des innovations et des savoir-faire pour la société à savoir des plates-formes de
gestions.
xrrs
5
est vulnérable (perte de document, dégradation du papier, difficulté de classement, recherche
difficile .... ) .
Le contexte général nous permet d'affirmer que nos établissements manquent de système
optimisé pour organiser et gérer leurs données.
La répartition des classes, des élèves, des matières, des départements, des filières, des spé-
cialités, le calcul des moyennes et l'établissement des résultats se faisant de manière semi-
automatique.
Nos établissements ne disposent d'aucune base de données permettant l'enregistrement et
la consultation des résultats, statistiques de réussites, historiques des promotions de l'établis-
sement. Les notes sont traitées manuellement, le traitement des relevés de notes prend assez de
temps. Ces méthodes constituent un risque car un simple mélange de documents pourrait être
fatal.
Une application étant définie comme un programme (ou un ensemble logiciel) directement
utilisé par l'utilisateur pour réaliser une tâche, ou un ensemble de tâches élémentaires d'un
même domaine ou formant un tout, sa conception dans notre cas consisterait à mettre en place
une application web pour la gestion des écoles.
6
1.3 Conclusion partielle
En somme, nous avons présenté succinctement la structure Xerya, ensuite le contexte gé-
néral du projet ainsi que ses objectifs ce qui nous a permi de recenser toutes les informations
nécessaires et indispensables dans la réalisation de notre projet.Ces informations nous permet-
tront de cerner les principaux objectifs et de choisir la technique à adopter, le contexte dans
lequel nous réalisons ce projet et la solution retenue pour atteindre notre objectif. Nous pouvons
dès lors passer à la deuxième partie qui est l'étude technique et fonctionnelle de notre projet.
7
Chapitre 2
ETUDE FONCTIONNELLE ET
TECHNIQUE
Dans ce chapitre, nous allons décrire la méthodologie de conception et les besoins spécifiques,
par la suite nous allons les analyser en utilisant le formalisme UML.
8
2.1 Spécification des besoins
La spécification de besoins constitue la phase de départ de toute application à développer
dans laquelle nous allons identifier les différents besoins. Elle doit décrire sans ambiguïté le
logiciel à développer. Elle est constituée d'un ensemble de documents et de modèles.
Toutes les personnes impliquées dans le projet doivent avoir accès à la spécification des
besoins. Nous distinguons les besoins fonctionnels qui présentent les fonctionnalités attendues
de notre application des besoins non fonctionnels qui quant à eux permettent d'éviter le déve-
loppement d'une application non satisfaisante.
• Besoins de sécurité
Ils définissent les niveaux d'accès possibles au système pour les utilisateurs. Dans notre
cas, cette application doit avoir un niveau de sécurité assez élevé, les comptes des utilisa-
teurs devront être sécurisés par des mots de passe. Ces mots de passe seront individuels
et devront respecter certaines conditions (la longueur du code; le code système, l'expi-
ration de session, etc.). Les besoins de sécurités sont satisfaits par Laravel qui utilise un
algorithme de cryptage évolué.
9
• Besoins de disponibilité
Ils concernent le niveau de disponibilité qui doit être explicitement défini pour les appli-
cations critiques (Exemple : exigence de disponibilité 24h/24, 7j/7 sauf période de main-
tenance, à spécifier). Cette application devra fonctionner de manière efficace et ceux, sans
défaillance. Les utilisateurs pourront compter sur sa fiabilité. Ce besoin de disponibilité
est satisfait grâce à l'hebergeur.
• Besoins de performance
Ils décrivent les performances d'exécution du système, généralement en matière de temps
de réponse (l'exemple d'une application Web), temps de chargement d'une page: le char-
gement d'une page Web dans le navigateur ne devrait pas prendre plus de 15 secondes
en condition normale. Cette application devra répondre aux exigences des utilisateurs de
façon optimale c'est-à-dire effectuer des opérations dans un laps de temps très court. Ce
besoin est garanti par le framework.
• Besoins de portabilité
Cette application sera multiplate-forme. Elle fonctionnera sur tous les systèmes d'exploi-
tation et tout type de terminal puisqu'il s'agit d'une application web, elle sera disponible
sur tout support où il existe un naviguateur. Aussi, cette application sera responsive c'est-
à-dire qu'elle s'adaptera à la taille de l'écran. Cette responsivité est assuré par bootstrap.
On peut affirmer que ce besoin est déjà satisfait par la définition d'une applacation web.
2. 2 Choix méthodologique
Pour mener à bien notre projet, nos choix se sont portés sur les méthodologies et technologies
suivantes :
• Le langage UML.
• Le modèle MVC.
• Framework Laravel
10
des utilisations du système, du comportement des objets, du flot de contrôles internes aux
opérations, des composants d'implémentation et leurs relations, de la structure matérielle et de
la distribution des objets et des composants indépendamment des techniques d'implémentation
et peut-être mise à jour selon les besoins.
• La vue des cas d'utilisation : c'est la description du modèle vu par les acteurs du
système. Elle correspond aux besoins attendus par chaque acteur (c'est le QUOI et le
QUI).
• La vue d'implémentation : cette vue définit les dépendances entre les modules.
• La vue des processus : c'est la vue temporelle et technique, qui met en œuvre les
notions de tâches concurrentes, stimuli, contrôle, synchronisation, etc.
Vue
Vue logique
.-J..---.J....d ' imp 1 ément ati on
Analystes/Testeurs
Comportement
11
2.2.1.2 Les principaux diagrammes UML
On distingue 9 principaux diagrammes UML qui sont dépendants hiérarchiquement et qui
se complètent, de façon à permettre la modélisation d'un projet tout au long de son cycle de
vie. On distingue :
• Le diagramme de collaboration qui est une représentation spatiale des objets, des
liens et des interactions ;
• Le diagramme d'activités montre les enchaînements des activités d'un cas d'utilisation
ou d'une opération.
12
Diagramme,s
• les langages de programmation (Java, YB.NET, Vala, Objective C, Eiffel, Python, Ruby,
Ada, PHP, Smalltalk, LOGO, AS3, Haxe ... );
• les outils de modélisation qui permettent de concevoir sous forme de schémas semi-formels
la structure d'un programme (Objecteering, UMLDraw, Rhapsody, DBDesigner. .. );
• les bus distribués (DCOM, CORBA, RMI, Pyro ... ) ;
• les ateliers de génie logiciel ou AGL (Visual Studio pour des langages Dotnet, NetBeans
ou Eclipse pour le langage Java).
• La technologie objet est la voie la plus prometteuse pour déployer des systèmes basés sur
des composants qui peuvent être adaptés et changés sans avoir à examiner la totalité du
code.
13
2.2.3.1 Rôle du modèle
Le modèle contient les données manipulées par le programme. Il assure la gestion de ces
données et garantit leur intégrité. Dans le cas typique d'une base de données, c'est le modèle
qui la contient.
Le modèle offre des méthodes pour mettre à jour ces données (insertion suppression, change-
ment de valeur). Il offre aussi des méthodes pour récupérer ses données. Dans le cas de données
importantes, le modèle peut autoriser plusieurs vues partielles des données. Si par exemple le
programme manipule une base de données pour la gestion des effectifs, le modèle peut avoir des
méthodes pour avoir l'effectif total, toutes les notes des élèves ainsi que leur différent bulletin.
14
données
M cx :lè lo v •.•••
sy ne hoh;s.a..1.i on
J.ocx:lif;c.nti on
.n:,iac, .à.jouL·
é"'léne.1.nc,n\s
deus d.o nnéea
Contrôleur
15
2.3 Conclusion partielle
L'étude technique et fonctionnelle nous a permis de passer en revue les besoins fonctionnels
et non fonctionnels de notre projet ainsi que les méthodes et technique choisies pour l'élabora-
tion de notre application. Maintenant, nous allons passer à l'analyse et la conception de notre
projet avec le langage UML.
16
Chapitre 3
ANALYSE ET CONCEPTION
Dans ce chapitre, nous allons exprimer les besoins sous forme de diagrammes de cas
d'utilisations.
17
3.1 Modélisation en langage UML
UML (Unified modeling Langage) se définit comme des langages de modélisation graphique
et textuelle destinés à comprendre et décrire des besoins, spécifier, concevoir des solutions et
communiquer des points de vue. Il unifie à la fois les notations et les concepts orientés objet.
UML propose un ensemble de diagrammes, en voici quelques-uns :
• Elève
Rôle : consulter son relevé de note
• Enseignant
Rôle : gérer les moyennes des élèves, consulter sa fiche de matières
• Administrateur
Rôle : valider les moyennes, générer les bulletins des élèves, gérer les enseignants et les
élèves, gérer les données de base ( école, filières, niveau, classe, élèves, enseignants, ma-
tières ... )
• Administrateur principal
Rôle : gérer les utilisateurs
18
3.1.2.1 Relations dans les diagrammes de cas d'utilisation
• Relations entre acteurs et cas d'utilisation
* «stconaarv»
Internaute
,
, 1 <<include>>
19
Une dépendance se représente par une flèche avec un trait pointillé (voir figure ci-dessus).
Si le cas A inclut ou étend le cas B, la flèche est dirigée de A vers B.
Le symbole utilisé pour la généralisation est un flèche avec un trait plein dont la pointe est
un triangle fermé désignant le cas le plus général.
Relation d'inclusion
Relation d'extension
La relation d'extension est probablement la plus utile, car elle a une sémantique qui a un sens
du point de vue métier au contraire des deux autres qui sont plus des artifices d'informaticiens.
On dit qu'un cas d'utilisation A étend un cas d'utilisation B lorsque le cas d'utilisation A
peut être appelé au cours de l'exécution du cas d'utilisation B. Exécuter B peut éventuelle-
ment entraîner l'exécution de A : contrairement à l'inclusion, l'extension est optionnelle. Cette
dépendance est symbolisée par le stéréotype « extend ».
L'extension peut intervenir à un point précis du cas étendu. Ce point s'appelle le point
d'extension. Il porte un nom, qui figure dans un compartiment du cas étendu sous la rubrique
point d'extension, et est éventuellement associé à une contrainte indiquant le moment où l'ex-
tension intervient. Une extension est souvent soumise à condition. Graphiquement, la condition
est exprimée sous la forme d'une note. La figure 3.2 présente l'exemple d'une banque où la
vérification du solde du compte n'intervient que si la demande de retrait dépasse 20 euros.
Relation de généralisation
Un cas A est une généralisation d'un cas B si B est un cas particulier de A. Dans la figure
3.2, la consultation d'un compte via Internet est un cas particulier de la consultation. Cette
relation de généralisation/spécialisation est présente dans la plupart des diagrammes UML et
se traduit par le concept d'héritage dans les langages orientés objet.
20
• Relations entre acteurs
La seule relation possible entre deux acteurs est la généralisation : un acteur A est une
généralisation d'un acteur B si l'acteur A peut être substitué par l'acteur B. Dans ce cas, tous
les cas d'utilisation accessibles à A le sont aussi à B, mais l'inverse n'est pas vrai.
Le symbole utilisé pour la généralisation entre acteurs est une flèche avec un trait plein dont
la pointe est un triangle fermé désignant l'acteur le plus général (comme nous l'avons déjà vu
pour la relation de généralisation entre cas d'utilisation).
Par exemple, la figure ci-dessous montre que le directeur des ventes est un préposé aux
commandes avec un pouvoir supplémentaire : en plus de pouvoir passer et suivre une commande,
il peut gérer le stock. Par contre, le préposé aux commandes ne peut pas gérer le stock.
A,,
1
Préposé aux
commandes
A
Directeur
des ventes
21
System
c o n s u lte r tes m o y e n n e s
~~x!_eil<!S!,
''
''
élève
''
' ',
''
entrer les moyennes
' 'i!includes•
'
''
''
''
' ',
~ consulter fiche de m atières
'
enseignant
~
«inc!l!,d e's• /,·, ;1 ,
, I / 1
1
,,,." / I I 1
/ I I 1
valider les moyennes
./«incl)fdes-,' :
I I I I
I I I 1
1
1 /«includes• ,
I / I 1
/ 1 1
génération des buUetlns I / 1
/ ,'«incl~des•
I 1 1
/ ,' 1
:
,'
1
«lnclude$•
1 1 1
I 1 1
, , 1 «lncludes»
1 1 1
1 1 1
1 I 1
1 1
gestion des él~es
1' 11
1 1
1 1
1 1
t 1
1
1
1
paramétrages
administrateur
principal
• S'authentifier
Objectif : Permet l'identification de chaque utilisateur lui donnant accès aux fonctionna-
lités propices.
Description : L'utilisateur saisi son identifiant et son mot de passe. Il est reconnu par le
système. Il peut accéder en fonction de son profil utilisateur.
22
system
s'authentifier
utilisateur
• Paramétrage
Objectif : Ajouter, modifier et supprimer certaines informations concernant les classes, les
matières, les niveaux et les filières. Permettre la réconduite de toutes les données à la création
d'une nouvelle année universitaire. Permettre également la gestion des utilisateurs de l'appli-
cation.
Description : A la création d'une nouvelle année académique, les matières, les classes et
les niveaux de l'année clôturée sont recopier automatiquement pour la nouvelle année. Une
vérification manuelle est faite par le l'administrateur pour reconduire ou supprimer certaines
données qui ne sont pas autorisées pour la nouvelle année. L'administrateur peut créer un
nouveau compte utilisateur, consulter, modifier et supprimer un utilisateur. En plus d'une liste
de tous les classes autorisés pendant une année académique, il a également la possibilité de les
modifier et les supprimer.
System
Administrateur
23
• Gestion des enseignants
System
1
1
\ « includes»
\
/ \ «e):~nds»
/
/
/ \ ',~
Administrateur I
/«extends»
'1,«extends» ~
I \
I \
/ 1
~ ~
Objectif :Attribuer des notes aux élèves, calculer leurs moyennes et générer leur relevé de
note. Avoir la possibillité de modifier les notes après reclamation, et ceux avant l'établissement
du bulletin définitif. l'utilisateur peut consulter les notes également.
Description : L'utilisateur clique sur gestion des notes, il dispose de la liste des inscris
pour une année académique rangé par classe et il renseigne les notes respectives de chacun. La
moyenne de chaque matière est calculée de façon automatique par le système. Après le calcul
des moyennes, ils peuvent être consulter par matière ou par classe.
24
System
s'authentifier
~
\
\ /
,«includes,. /
\ ,,"«extends»
\ /
~/
1 ~ondes~-
1 ---~ ..-ex~nds»
Administrateur
/ \ ',, ---~
I \ ' ~
/«extends» 1 «e~~nds»
~ \"extends» ',,,
~ ~ ~
~
Description : L'utilisateur organise les effectifs par classes. Il dispose d'un formulaire d'ins-
cription groupée des élèves par classe pour valider les inscriptions. Il peut également valider les
résultats définitifs.
25
System
S'authentifier
~
1
1 ,<includes» ,.~
1
1 «extejld~»
,. ,.
,."
Gestion des élèves
- *&X!_ends,.
Administrateur ,'
1
\
1
1
----~
\
•«extends» 1
,'' '"extends»
1
\
Ajouter élèves ~
Inscrits
~
Description : L'utilisateur organise les utilisateurs par école. Il dispose d'un formulaire
d'inscription des utilisateurs comprenant leurs informations personnelles ainsi que le delai de
validité de chaque compte d'utilisateur.
,,
1
''
26
3.2 Mise en place de la base de donnée
3.2.1 Modèle Physique de Données
Dans la méthode Merise, le modèle physique des données (MPD) consiste à implanter une
base de données dans un SGBDR (Système de Gestion de Base de Données Relationnelles).
Le langage utilisé pour ce type d'opération est le SQL. On peut également faire usage
d'un AGL (PowerAMC, \i\TinDesign, etc.) qui permet de générer automatiquement la base de
données.
Un modèle Physique de Données est une étape de définition des données à l'intérieur de
la structure physique de l'ordinateur c'est-à-dire le résultat de la décision technique qui a été
prise en fonction des objets et des contraintes techniques. C'est un formalisme qui permet de
préciser le système de stockage employé pour un système de gestion de base de données.
Dans un MPD, on crée les tables dont on met le nom dans l'en-tête, ensuite à l'intérieur
de ces tables on répertorie l'ensemble des champs qu'elles contiennent. Dans un second temps,
il faut souligner les champs qui sont des clés primaires et mettre un "" devant les champs qui
sont des clés étrangères.
Pour les clés étrangères ce n'est pas tout, il faut montrer, à l'aide d'une flèche vers quel
champ fait référence la clé étrangère. La flèche commençant de la clé étrangère et l'extrémité
de la flèche quant à elle pointe vers le champ référence.
Ce qui donne pour la base de données décrite ci-dessus, le MPD suivant :
27
, • .,..111
"-~<Ili .
, .,. ..,
·--
••11t11n)
O.,._ Tl'ffllf fll)
•••• Nfllll
--~Q-TN'l"lfftll
Ï- __ .J..,_ T-CII lo..,..•• ra.n.,.,
••• lffllll
. ....._..,...u.w
·~TMSJ~
1 ,,_nt«:11'_,
11---~
•-fHl'Wll11
1 • .,,.__ WT{II)
J,.....ncsr_ :
1
::--~ ~4 1
1
1
•....ua- Nf{III
'' 1
1
•-NTllll
': 1
1
'•Ml") 1
' 1
·-"""
·- _--.-""' Ill I'------------- : i J
r------1:=.-::;-~111 1
1
1
1
p<---------- 1 1
1 ~------------~t"-~
fiill""IIII 1 1 1
1 1
1 1 1
1 1
.1.. . . .. .,_~ L .:
1 1
1 1 1 1
••••.._0,.1'1
1 1
1 : 1
:
.>-.w~lfllasit I
1
: :
1
1
1
1
!
:
1
1
"-'""""rll 1
...-
1
.;i-TM'NT!II
·---n,et- :: 1••.nt111 '
··--
1
.,. ·-~4')
•.•..•. ... ,
·--
1
·- fllUlrf'".V')
'
1
1
_'
·----""1111 r--- ----- ---- -·-------- --- --i·- .••.., ,
-----Ml·-""''' ·.__.--~-
_.,....~
'
·-~-. ,
._,
"-OUI!:~
1,..----,
1
·- Nfflll
~--------- :
1
1
r----------4•......_,.TMS_
••..-....-..,IIHT'IUI ._ .....,
·~·,...lAW
1
1
1
1
1
1
1
1
1
1
1
1
·-~,
•••••••••.• nc t'TAl9' 1
1
1
1
1
1
1 1
1
:
1
1
1
1
1
·•.•.-..-..,
.,•• ,,.111 1
!
• ••••..••••• N fllll
•..•.. .....•...•.... ,,,
_
~------1----·
1
1
1 1
,....,,,. r-------
•-NT(UI ••""1111
·-- .- o_,_..,,,
\)- 1,1 .w:tW 114 1
1
·--
••••• ,11
"·-·---
•--TUT
1 --------
·--"'"''
••••••• •..• ff,ID_
o....._.T1C1,,...
~-------- ---- -- - •l•-oaTWUr.,,,w,
• ....._.T"a,l(S,_ --.--~..
•..........-. ..10ri11
1
1
1
1
1
:
1
:
•• .... .,.M '(,11
.
1-----, 1
:
i 1
1
l 1
:
1
••11n1111 : ·-----Ml,111
..,_ '#lf'C tWII_
0 ••• '111nWîrtl
1--------- 1 .-----------~·----~9f1
' l•-....r-..:sr.. w
1111
·-..-nr.s- ~-------------- --- ---
1
·---
',)- 11JtlW'III)
1
··"""'
.• ..
;)·--•...-~
1 0-lllMCH""I•
., ~
• __..._N'q111
~-----:: J·••--
!
-
....,_.ni-.11
1
·- IHl'(111
._.,,,rn :
'
1 ••••• lff{,1) ~------------: 1
: _, •·---. ...:Oi\ff 1
l1 __•• o,.n.
:
1
1
1 ~--------------------, 1 •-..-..-Wll••t
1
:
1
: : •-...--..-1wr1111 1
__
1 1
1 1 1
1
1
1
1
1
1
. ...,.-"'f••1 .,..,,,
1:____________________ J•...
·----'!PT li,... .---------------:
1
1
-'
----..•- -
• .......__ NTJIII
... . •..
:=.=: .. ,•------------------------------------ J''"""' .
tl•l
••___,,_,.....__.Nflll)
• __ .,..,...,.1,1
::::;::l
•••••••..• TM:aT •••••
•--c..•n.in JAW
••••••••• #11111
28
3.2.2 Description des classes métiers du système
ous avons les classes métiers de notre application. Voici la desciption de quelques une :
ets _ annee _ academiques: Nous pouvons observer la relation de cette entité avec presque
les autres du diagramme de classe. Cela se justifie par le faite que le fonctionnement de l'appli-
cation est fondamentalement lié à une année académique.
ets eleves : Cette entité concerne les élèves inscrits dans une année académique, elle
représente l'effectif que l'application va gérer. Elle récolte tous les attributs (informations per-
sonnelles) concernant l'élève.
ets _ eleves _inscrits_ classes : L'inscription des étudiants dans les classes est réalisée par
cette classe. Elle est fondamentale pour le système car elle permet de determiner les élèves ap-
partenant à une classe.
ets contact eleves : cette entité contient les contacts des différents élèves.
ets type .. contact : cette classe se charge de classer les contact par type
ets _ matieres _ enseignees : Cette classe réalise la gestion des matières de l'etablissement.
Elle insère, modifie et supprime des matières.
ets _ moyennes : Une classe pour prendre en compte les moyennes et la gestion de celles-ci.
Les moyennes des différentes matières sont stockées et l'etablissement des bulletins est réalisé
par cette classe.
ets _ classes : Cette classe insère, et modifie les classes en fonction des l'etablissement.
ets _ users _ ecoles : Cette entité est chargée de la gestion des utilisateurs du système. Elle
est chargée de la création d'un utilisateur et de l'attribution des droits à celui-ci.
ets _ evaluations: Cette entité va permettre d'etablir le calendrier des évaluations de l'ecole
durant une année académique.
ets _ enseignants : cette classe recense tous les enseignants de l'etablissement, elle insère,
modifie et supprime les enseignants.
29
3.3 Conclusion Partielle
Dans ce chapitre , nous avons présenté les différents diagrammes de cas d'utilisations définis
qui ont permis de bien comprendre les besoins du système à développer ainsi que les différentes
interactions entre les objets participant à son fonctionnement, chose qui facilitera la phase
d'implémentation.
30
Chapitre 4
IMPLEMENTATION ET RESULTATS
31
4.1 Plate forme de développement
4.1.1 SGBD MariaDB
MariaDB est un système de gestion de base de données édité sous licence GPL. Il s'agit
d'un fork communautaire de MySQL : la gouvernance du projet est assurée par la fondation
MariaDB, et sa maintenance par la société Monty Program AB, créateur du projet. Cette
gouvernance confère au logiciel l'assurance de rester libre. Les différentes versions de MariaDB
s'articulent sur le code source de MySQL de la version 5.1 aux versions plus récentes (comme
la 5.6 fin 2012). Un serveur de base de données stocke les données dans des tables séparées
plutôt que de tout rassembler dans une seule table. Cela améliore la rapidité et la souplesse de
l'ensemble. Les tables sont reliées par des relations définies, qui rendent possible la combinaison
de données entre plusieurs tables durant une requête.
32
4.1.3 Serveur apache
Apache HTTP Server, souvent appelé Apache, est un logiciel de serveur HTTP produit
par l' Apache Software Fondations. C'est le serveur HTTP le plus populaire du Web. C'est un
logiciel libre avec un type spécifique de licence, nommée licence Apache.
View
6 5
Dispatcher 2 Controller
• Contrôleur
Il permet de récupérer les informations du modèle et de lenvoyer vers la vue pour la mise
en forme.
33
• Vue La vue receptionne la reponse et qui est envoyée par le contrôleur
4.2.1 Authentification
34
FIGURE 4.4 - Menu Principal
4.2.3 Administration
Reglster
Nom et Pranom Email
d Posswool
a Activer comple
O~ATE) AU(OATE)
2017-12-21 2017-12-21
r- r-
Soumettre
Cette section consiste à gérer les utilisateurs de notre application, dans notre cas il s'agit
des enseignants. Chaque enseignant devra disposer d'un login et un mot de passe ce qui lui
permettra d'acceder à sa partition. cette étape est éffectuer par l'administrateur.
35
4.2.4 Gestion des notes
Lorsqu'on clique sur l'onglet "gestion des notes", on nous demande de selectionner une école
vue que on s'est connecter en tant que administrateur principal et que cette application est dédié
à plusieurs établissement. Pour l'administrateur de l'etablissement, dès son authentification il
accède directement à son école (l'école correspondante). Voir figure ci dessous :
~ a.'
Trimesteou Semestre
2eme TRIMESTRE
Jerne TRIMESTRE
1er SEMESTRE
2eme SEMESTRE
36
Après avoir choisi le trimestre, nous devons selectionner la classe concerner. Ici, nous avons
selectionner la classe 6ème 1.
1• TRIMESTRE
'.:J
. ~,
OTitA2
0Mml2
on.Al
05tml1
er1eo
05tmt2 O..,,. &3-ne 02ndtA 02ncfilC OUn .\ OUreO 0TIIA1
Une liste des élèves de le 6ème 1 ainsi que les moyennes obtenus dans les différentes matières.
Les notes inférieures à dix (10) sont dans les cases oranges tandis que celles supérieures ou
égales à dix (10) sont dans les cases vertes.
Ofeebfa:36
~~00GJ~~GQ
G!JGJ0GJ~~~GQ
~~00~Ci.Q~GQ
G!JB000~~~
(1711Mn&.l
:~ŒJ1,u,j0 GJB0GJGJ~BGQ
-
•...•...••
(11St2'N'lt'I
(lffl--0
~~0~~~8
a • a • • a
37
4.2.5 Relevés de notes
Lorsqu'on clique sur l'onglet "Relevés de notes", on nous demande de selectionner une classe.
Voir figure ci dessous :
"""""
1• TIUMESTRE
06inw1 0Nml2 05Wnt1 OSWntl o..-r. O:Mme OlndeA 02ndlC OUnA OIW O Olld.1
0TltA2 OTitA3 OTltD
Après la selection de la classe 6ème 1, nous pouvons accéder à la liste des élèves inscrits ainsi
que leurs différentes moyennes par matière (figure 4.)
11.ryalT'tPbl•--·~Jtr•ln
_,.m.,..,_,.. 1 J:l;ut- 1ac•:•. +
..,,_
...,.,._, 12.00 15,00 12.33 1'50 1 ••• 11.00 .... 12.00 15,00
Il
.,,_,...,..,__ 17,55 , ... 15,00 10.00 15,00 1 ••• 12.00
••• 12.00 a'llwlll,.,..
...,_, .•..... , ... ,,. . •... a
-- 10.00 11.00 1 ••• 15,00
...
1 •••• 12.00
·-
, •...
--·~-~~-.,·-
_..... ...,........... 12.00
5,00
15,00
••• ....
&wiMl--'-~C-
16.DO
•...
,
10.00
•••
1 •••
,.c;sf..-.,0,.C.,...___.
14.00
11.00
13.00
12.00
li.DO
11.00
38
Voir la fiche d'un élève
•.,.,.m.~.•--- .•••• ,~
.•.••..
RWICAIS
•..•......
-
12
,.
~
Coof
1
Moy.co,f
12
,.
-,.....
,. ....
HISTOIRE-GEOGRAPHIE 1~33 1 n ll 22-
_,
c,-,-..1
e-..:F
a«a: x.
_1,
•.•••• Wlll(..,:NDn
..__ -
AJf9dqe):Hon
---
~)-:OlolOl,:ZCO,a
..
t2
,·.·.._
-
22-
'...l.
1
EW.taNOL.
••••• lD'111911
,,_,
u.- :=.i
1,-.,
,.·.-_ ·
-- •
f'HYSCUE!~
~
---- ~--
•
a
. ...,.--,.T-0..a::
+-
1&1>.2'9Mltcl: ,~_., •
----..---·~·•• -iccr---.---.
-------:rt ·-- 0----
0--
c--·. --- . --
OISTINCTIOH
- ---
SANCTION
_ .,.... _ _ ,,;s~
Ull
1
llllll
1
lllllllllllllllllll
1 1 1
39
4.3 Conclusion Partielle
A travers ce chapitre, nous avons présenté la réalisation de l'application en justifiant nos
choix technologiques, en représentant quelques interfaces graphiques que nous avons jugé les
plus importantes.
40
Conclusion général
L'objectif de notre projet de fin d'études était de concevoir et implémenter une applica-
tion web de gestion des élèves et de la diplomation. Cette phase pratique de notre formation
consacrée à l'analyse, à la conception et à la programmation nous a conduits à partir des pro-
blèmes constatés, à satisfaire les besoins réels en adéquation avec les objectifs prescrits et les
contraintes rencontrées.
Lors de mon stage j'ai rencontré quelques difficultés. Je n'avais aucune connaissance de
la technologie orienté objet avec le framework laravel. Laravel étant un framework novateur,
complet, qui utilise les possibilités les plus récentes de PHP et qui adopte le patron MVC mais
ne l'impose pas. Ainsi, Je me suis familiarisé avec ces outils et langages informatiques.
J'ai appliqué au maximum les règles de base permettant d'avoir une application performante.
J'ai utilisé le langage UML pour modéliser le système en suivant les différentes étapes, MySQL
comme SGBD et le langage PHP pour implémenter notre application. Du fait que PHP est
un langage flexible, l'application sera portable et opérationnelle indépendamment de toute
plateforme.
La réalisation d'un tel projet, m'a permis d'apprendre et de toucher du doigt divers aspects
du métier de développeur et de celui de concepteur.
Le bilan de ce stage est dans l'ensemble positif, les principaux buts du projet étant accomplis.
La plus grande partie du travail qui m'a été demandée a été réalisée. Les quelques modifications
ou améliorations qui restent à apporter aux différents programmes développés seront effectuées.
ous n'avons pas la prétention d'avoir réalisé un travail parfait. C'est pourquoi, nous vou-
drions au-delà des imperfections et insuffisances que vous constaterez et rencontrerez, tenir
compte de vos remarques, critiques, et suggestions afin de rendre possible la perfection de ce
projet.
41
Bibliographie
Mémoire de fin d'étude « conception et développement d'une application web de gestion des
remboursement à TUNISAIR » : Souhayla CHAOUI, à IHEC
Mémoire de fin d'étude « Gestion des effectifs et des notes » de l'etudiant Coulibaly Gni-
natin, Université Nangui Abrogoua, 2016
42