Académique Documents
Professionnel Documents
Culture Documents
¤¤¤¤¤¤¤¤¤¤
REMERCIEMENTS............................................................................... iv
RESUME.............................................................................................. xiv
ABSTRACT .......................................................................................... xv
INTRODUCTION GENERALE............................................................... 1
RÉFÉRENCES BIBLIOGRAPHIQUES................................................. 79
ANNEXES ............................................................................................. 82
ANNEXE A | Laravel5.0 : Architecture MVC et Programmation Orientée Objet (POO) .............. 83
ENGLISH VERSION............................................................................. 99
A toi Seigneur pour tout ce que tu as fait pour moi tout au long de ma vie. Merci
de m’avoir mené jusqu’ici car sans toi je n’y serais pas arrivé. Gloire à Dieu pour
l’éternité.
A mon père Abioyé ADJE et ma mère Bernadette CHABI pour leurs nombreuses
marques d’affection, leurs sacrifices, et leurs précieux conseils qui m’ont permis
de réussir tout au long de mes études ; à mon frère Thierry ; à mes sœurs Edwige,
Urielle et Loéticia ; à mes amis pour leurs soutiens et à Samson ASSOGBA.
Que le Saint Père leur procure la réussite, une bonne santé, une longue et
heureuse vie.
PC Personal Computer
PGI Progiciel de Gestion Intégré
PHP Hypertext Preprocessor
POO Programmation Orienté Objet
INTRODUCTION GENERALE
Face aux nombreux défis auxquels sont confrontées les universités (gestion
administrative et financière, suivi des cursus des étudiants, promotion des
meilleurs étudiants, etc.), il est important de souligner le rôle qu’occupe les
technologies de l’information et de la communication (TIC) dans la recherche de
solutions informatiques adéquates. En effet, l’utilisation de dossier académique –
ensemble d’informations relatives à un étudiant ainsi que l’historique du cursus
universitaire de ce dernier – dans les universités est un élément primordial dans le
suivi d’un étudiant et la gestion administrative et financière de son dossier. Ce
dossier qui, dans la majorité des pays en Afrique, se présente communément sous
le format « papier » pose un certain nombre des problèmes dont la non-
distribution, l’absence de mise à jour effective, la perte de certains dossiers, etc.
Afin de palier un tant soit peu à certains de ces problèmes, nous utiliserons les
services de l’Internet (le World Wide Web, le transfert de fichiers, …) pour mettre
sur pied une plateforme web de gestion des données académiques des étudiants
d’une université dans le but de disposer d’un dossier d’étudiant consultable en
ligne.
Par cette étude, nous commencerons d’abord par présenter les différents
éléments qui interviendront dans la conception et la réalisation de la plateforme.
Ensuite nous mettrons en place l’architecture générale de la plateforme puis nous
passerons à l’implémentation du système.
certains cas regroupées dans un dossier appelé dossier d’étudiant. Ces dossiers
d’étudiants qui sont pour la majorité en format papier ne sont qu’accessible à un
nombre restreint de personnes. Il faut aussi noter qu’hormis le problème
d’archivage de ces dossiers, ces dernières manquent de mise à jour régulière dans
le temps ce qui diminuent leur valeur et leur authenticité.
OBJECTIFS
Plus précisément, il s’agira dans un premier temps de faire une brève étude
de l’existant, suivi d’une analyse des données recueillies lors de l’étude, ensuite
concevoir l’architecture complète du système informatif à mettre en place et enfin
procéder à l’implémentation de la plateforme web.
STRUCTURE DU DOCUMENT
nous sommes fixés. Le présent document comporte (05) cinq chapitres et est
subdivisé en trois parties.
Cette étude des systèmes existant nous permet de cibler les fonctionnalités
indispensables à mettre en place pour le système de gestion de dossiers
académique de l’étudiant dans le cadre de notre projet.
2.1.1. Généralités
2.1.2. Fonctionnalités
2.2.1. Généralités
2.2.2. Fonctionnalités
Ce logiciel, grâce à son interface web et son portail sécurisé, peut être ouvert
à l’ensemble des catégories de personnes directement ou indirectement
concernées par la gestion académique de l’Ecole ; il s’agit :
Il est représenté par un V dont la branche descendante contient toutes les étapes
de la conception du projet, et la branche montante toutes les étapes de tests du
projet. La pointe du V, quant à elle, représente la réalisation concrète du projet :
le codage. Aussi les étapes de la branche montante doivent renvoyer de
l’information sur les phases vis-à-vis lorsque des défauts sont détectés, afin
d’améliorer le logiciel.
Chacune des étapes de cette méthode a été caractérisée par des activités
précises menées en vue d’aboutir à notre plateforme finale :
L’analyse des besoins : au cours de cette étape, nous avons conduit des
entretiens avec le registraire et le Directeur Adjoint de l’EPAC qui nous a
permis d’avoir une idée des besoins réels des futurs utilisateurs de la
plateforme ;
La spécification : à travers cette étape, nous avons procédé à une analyse
fonctionnelle des besoins retenus pour le système à mettre en œuvre afin
d’identifier et de valider les fonctionnalités essentielles pour la plateforme ;
La conception préliminaire et détaillée : cette étape a consisté à la
modélisation1 des différentes fonctionnalités et interactions du notre
plateforme ;
Le codage : au cours de cette étape, nous avons conçu, grâce aux outils de
développement d’applications, la plateforme web pour la gestion de dossier
d’étudiant ;
Les tests : ont permis de nous assurer que chaque module fonctionnel de la
plate-forme répond aux spécifications fonctionnelles prédéfinies.
1
La modélisation de plate-forme est détaillée en profondeur dans le chapitre 4.
Les besoins fonctionnels expriment une action que doit effectuer le système en
réponse à une demande [5]. Ils sont donc liés aux différentes tâches à réaliser et
doivent être le plus transparent possible pour les utilisateurs.
Les besoins non fonctionnels sont des exigences qui ne concernent pas
spécifiquement le comportement du système mais plutôt identifient des
contraintes internes et externes du système. Ce sont des contraintes à prendre en
compte lors de la mise en œuvre de la solution proposée à la problématique de
base. Il en existe de différentes sortes [5] :
Pour une meilleure gestion des dossiers académiques des étudiants, nous
proposons de mettre en place un système de gestion centralisé des informations
des étudiants. Ainsi, toutes les données des étudiants seront stockées sur un
serveur principal. Ce dernier aura pour objectif d’échanger ses données pour être
La gestion des comptes nous permet d’avoir des statistiques sur l’ensemble des
utilisateurs du système. Nous pourrons ainsi gérer la création, l’activation d’un
compte ainsi que le traitement des informations basiques du compte. Ainsi, nous
pouvons énumérer les actions suivantes :
A tous ces modules vient s’ajouter d’autres fonctionnalités qui apportent un plus
à notre plateforme et permettent d’accroître le niveau de convivialité et de
performance du système. Il s’agit donc :
● L’architecture “client-serveur”
● L’architecture “n-tiers”
L’architecture “client-serveur”, illustrée par la figure 3.2, fait appel à un mode de
communication à travers un réseau entre plusieurs clients et serveurs. Les
applications accèdent aux données à travers les réseaux sur des machines serveurs
de données disposant d’un Système de Gestion des Bases de Données (SGBD).
Le dialogue entre le client et le serveur se résume à l’envoi de requêtes et aux
données en réponses. On distingue donc deux parties :
1. Le client
2. Le serveur qui se contente de répondre aux requêtes du client.
L’échange entre les deux entités (client et application) se fait grâce à des
requêtes HTTP que le client envoie. Ces requêtes sont reçues et traitées par notre
serveur d’application qui à son tour envoie une réponse au client, auteur des
requêtes. Par ailleurs, lors du traitement des requêtes du client, le serveur
d’application transforme au besoin ces requêtes en requêtes SQL qui parviennent
au serveur de données. Ce dernier les exécute et envoie les résultats au serveur
d’application afin que celui-ci puisse transmettre une réponse au format adéquat
(HTML, CSS, JavaScript, JSON, XML, etc.) pour le client. Il est aussi à noter
qu’à chaque connexion à l’application, l’utilisateur doit toujours passer par un
service d’authentification afin de déterminer si ce dernier dispose des droits requis
pour accéder à la plateforme.
Le langage choisi pour cette méthode est le langage UML. UML est devenu
le langage standard de modélisation des systèmes d’informations. C’est un moyen
d'exprimer des modèles objet en faisant abstraction de leur implémentation, c'est-
à-dire que le modèle fourni par UML est valable pour n'importe quel langage de
programmation. UML est un langage qui s'appuie sur un méta modèle, un modèle
de plus haut niveau qui définit les éléments d'UML (les concepts utilisables) et
leur sémantique (leur signification et leur mode d'utilisation).
Une vue est constituée d'un ou plusieurs diagrammes. On distingue deux types
de vues :
avec le système étudié. Un acteur peut consulter et/ou modifier directement l’état
du système, en émettant et/ou en recevant des messages susceptibles d’être
porteurs de données [7].
Ainsi, pour le compte de notre application, nous pouvons distinguer les acteurs
humains suivants :
L’étudiant
L’enseignant
Le chef de département : C’est le responsable du fonctionnement
pédagogique et administratif du département.
L’administrateur (membre du personnel de l’université) : il s’agit d’un
utilisateur possédant des droits ou permissions lui permettant de faire un
certain nombre d’actions sur le système qu’un simple utilisateur ne pourrait
faire.
Le super-utilisateur : c’est celui qui est à la charge de tout le système. Il
dispose de tous les droits.
Outre ces acteurs humains, il faudra également prendre en compte les systèmes
tiers qui sont connectés à notre plateforme. Il faut noter le système de gestion de
la bibliothèque qui interagit avec la plateforme afin d’échanger des données en
rapport avec l’identité des étudiants du système, le site internet de l’EPAC par
lequel on peut se connecter directement à notre système lorsque certaines
conditions sont remplies. Le tableau 1 présente les rôles des différents acteurs
(utilisateurs) du système.
L'objectif poursuivi par les cas d'utilisation est de permettre de décrire, dans
des documents lisibles par tous, la finalité des interactions du système et de ses
utilisateurs. La figure 4.1 ci-dessous présente une vue d’ensemble des cas
d’utilisations du système.
● Les auteurs
● L’objectif
● S’authentifier
● Gestion des droits d’accès
Ces deux cas d’utilisations interviennent dans la réglementation de l’accès à la
plateforme. Comme l’illustre la figure 4.2, seul le super-utilisateur intervient dans
le cas d’utilisation “Gestion des droits d’accès” contrairement au cas
d’utilisation “S’authentifier” où interviennent tous les utilisateurs du système.
Afin de mieux comprendre ces cas d’utilisations, nous allons les étudier à travers
les tableaux ci-dessous.
❖ Gestion de forums
La figure 4.4 illustre le diagramme de cas d’utilisations de ce même paquetage.
Comme pour les précédents, les tableaux ci-dessous présentent les détails
fonctionnels du module de gestion de forums.
La figure 4.12 présente les relations qui existent entre l’ensemble des
classes de notre système.
2
Framework : Ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les
grandes lignes de tout ou d’une partie d’un logiciel.
5.1.1. Laravel
5.1.2. Bootstrap
Bootstrap5 est l’un des plus populaire framework HTML, CSS at JavaScript
pour le développement de site web responsive, mobile. C’est une collection
d’outils utile à la création de design6 de sites et d’applications web. Ce framework
d’interface est un ensemble d’outils permettant de réaliser aisément des interfaces
3
https://laravel.com
4
MVC : Modèle-Vue-Contrôleur
5
http://getbootstrap.com
6
graphisme, animation et interactions avec la page dans le navigateur...
graphiques grâce à des codes HTML et CSS, des formulaires, boutons, outils de
navigation et autres éléments interactifs qu’il contient, ainsi que des extensions
JavaScript en option.
5.1.3. JQuery
7
https://jquery.com
8
AJAX : C’est ...
9
EDI : Environnement de Développement Intégré
10
https://www.jetbrains.com/phpstorm Consulté le 25-11-2016
11
CMS : Content Management Systems qui veut dire en français Système de Gestion de Contenu
(le langage SQL12), les outils en ligne de commande, Vagrant, Composer et bien
d’autres encore.
5.2.4. Git
12
SQL : Structured Query Language
13
http://www.wampserver.com
14
Site officiel Projets Apache : http://apache.org
15
https://doc.ubuntu-fr.org/apache2 Consulté le 26-11-2016
16
https://git-scm.com
Il ait dit plus haut que notre plateforme devrait tenir compte de certains
besoins non fonctionnels afin de rendre notre application simple et facile
d’utilisation. Ainsi, grâce au design de notre plateforme, nous pouvons y accéder
avec n’importe quel support car il s’adapte à tous les médias. De plus nous avons
essayé d’utiliser une palette de couleur qui n’est pas trop agressif afin d’éviter des
problèmes aux utilisateurs qui sont photosensibles. L'organisation des menus
permet de vite accéder aux fonctionnalités de la plateforme. Il faut aussi noter que
la plateforme est compatible avec les navigateurs les plus courants : Internet
Explorer, Mozilla, Firefox, Safari…
un second lien en bas de la page permettant aux étudiants de valider, dans le cas
où cela n’a pas été fait, leur compte.
enregistré avec le dit matricule. Hormis ces deux informations, l’étudiant doit
ajouter un mot de passe ainsi que son identifiant (pseudonyme) et son email.
Outre ce mini menu, nous avons une partie centrale sur les interfaces qui nous
permet de présenter les informations relatives à chacune de ces rubriques.
L’accès indirect à notre base de données est la méthode utilisée par notre
plateforme afin de manipuler les données de notre système. Avec cet accès, nous
sommes capables à travers notre plateforme d’ajouter, de lire, de modifier ou de
supprimer des informations dans la base de données. Cette méthode de connexion
utilise les informations de connexion (nom de l’hôte, celui de la base données,
l’identifiant de l’utilisateur, son mot de passe, le port de connexion, etc.) qui sont
inscrites dans notre fichier de configuration .env présenté à l’annexe C. La sécurité
et l’intégrité des informations contenues dans la base de données pourraient être
menacées si un intrus entrait en possession des informations sensibles contenues
ce fichier. Ainsi l’accès au contenu de notre projet sur le serveur d’application est
protégé par une interface de connexion afin que seules les personnes autorisées
puissent y accéder.
17
Pour plus d’information sur les versions du RAID : http://www.prepressure.com/library/technology/raid
● les données entrées par les utilisateurs à travers la saisie des informations
envoyées par les formulaires de l’application ;
● les données qui ne sont pas issues des formulaires telles que les cookies, les
paramètres présentes dans les URL, etc.
Ces types de risques ont été prises en compte dans l’implémentation de notre
plateforme à travers le système de validation du framework utilisé.
18
Les rôles des utilisateurs de notre plateforme ont été présentés dans la section 4.2.1.1.
(c) mettre en place une version numérique des dossiers des étudiants en
utilisant les données des deux précédents modules ;
(d) concevoir un système de gestion des requêtes administratives qui
permet de faciliter les procédures administratives ;
(e) implémenter un système de régulation des droits d’accès à la
plateforme ;
(f) intégrer à la plateforme un espace de discussion privé permettant aux
étudiants de pouvoir obtenir de l’aide que cela soit du point de vue
académique qu’administratif.
Les objectifs (a) et (b) ont quasiment été atteints en ce sens que seules quelques
fonctionnalités de ces modules n’ont pas pu être implémentées. Néanmoins, celles
qui ont été implémentées nous permettent de disposer d’assez de données pour
alimenter les dossiers des étudiants, ce qui nous a permis d’atteindre l’objectif (c).
L’objectif (f) a aussi été atteint ce qui nous permet d’intégrer à la plateforme un
espace de discussion privé. Par contre, les objectifs (d) et (e) ont partiellement été
atteints parce que pour l’un nous n’avons pas pu tenir compte de tous les types de
requêtes ou demandes administratifs et pour l’autre il faudra encore mettre un
accent particulier sur les droits d’accès pour les différents types d’administrateurs
du système.
Notre plateforme actuelle peut être donc améliorée afin d’automatiser plus
de tâches et de rendre plus dynamique le fonctionnement interne d’une université
et plus particulièrement la gestion des dossiers académiques des étudiants.
[8] Pascal Roques, UML 2 Modéliser une application web, Eyrolles, 2008.
[9] PHP Documentation Group, «PHP : Que peut faire PHP ? - Manual,» PHP
Documentation Group, [En ligne]. Available:
https://php.net/manual/fr/intro-whatcando.php. [Accès le 25 Novembre
20016].
MVC est un modèle d’organisation du code destiné à répondre aux besoins des
applications interactives en séparant les problématiques liées aux différents
composants au sein de leur architecture respective. Ce paradigme regroupe les
fonctions nécessaires en trois catégories :
1. un modèle (Modèle de données), chargé de gérer les données ;
2. une vue (Présentation, interface utilisateur), chargée de la mise en forme
pour l’utilisateur ;
3. un contrôleur (logique de contrôle, gestion des évènements,
synchronisation), chargé de gérer l’ensemble.
Dans Laravel [10]:
● le modèle est une classe qui étend la classe Model qui permet de gérer de
manière simple et efficace des manipulations des données et
l’établissement automatisé de relations entre tables. Cette classe correspond
à une table d’une base de données.
● le contrôleur peut être un contrôleur classique, un contrôleur RESTFul ou
un contrôleur de ressource.
● la vue est soit un simple fichier avec du code HTML, soit un fichier utilisant
le système de template Blade de Laravel.
La POO est un design pattern qui totalement différent de la programmation
procédurale. Ce type de programmation est basé sur le concept de classe, c’est-à-
dire sur la manipulation des objets. En effet, tout le code est placé dans des classes
qui découlent d’interfaces qui établissent des contrats de fonctionnement.
Dans cette section, nous allons présenter les protocoles qui interviennent dans la
communication entre les éléments de notre système. Comme tous les réseaux
informatiques, le réseau Internet qui est le support du web, repose sur des couches
de protocoles de communication. Ainsi d’après leur conception des couches de
protocoles pour Internet dont le couple TCP/IP est le fondement, L. Shklar et R.
Rosen [11] pensent que le transfert de données sur Internet, illustré par la figure
B-1, se fait à travers (04) quatre couches de protocoles : Réseau, Internet,
Transport, Application.
Pour chacune des couches, il existe plusieurs protocoles que l’on pourrait utiliser.
La figure B-2 montre les protocoles des différentes couches et nous permet de
comprendre comment ces dernières s’intègrent à l’architecture adoptée à la
section 3.2 de notre document.
Le protocole HTTP
HTTP (HyperText Transfer Protocol) est un protocole de communication entre un
client et un serveur web. Conçu pour le World Wide Web (WWW), il est à
l’origine constitué de pages statiques liées entre-elles par des liens hypertextes.
Une variante de ce protocole existe et est sécurisée par l’usage des protocoles SSL
ou TLS : c’est le HTTPS. Afin d‘alimenter les pages web, le client envoie des
requêtes HTTP au serveur web qui lui répond en lui retournant la ressource
demandée. Cet échange d’informations se fait grâce aux différentes méthodes
HTTP19 suivantes :
19
http://igm.univ-mlv.fr/~chilowi/teaching/subjects/java/net/web/http.html Consulté le 06/12/2016
-------------------------------------------------------
HTTP/1.1 200 OK \r\n
Server: monBeauServeur v3 \r\n
Date: Thu, 09 Oct 2013 09:30:24 GMT \r\n
...autres en-têtes...
Content-Type: text/html \r\n
Content-Length: 2037 \r\n
\r\n
<html>
...
</html>
-------------------------------------------------------
Le protocole SMTP
Le Simple Mail Transfer Protocol, généralement abrégé SMTP, est un protocole
de communication utilisé pour gérer le processus d'échange des emails et leur
livraison vers les serveurs de messagerie électronique. Au cours de ce processus,
les machines "parlent" SMTP : le protocole fournit un ensemble standard et fiable
de lignes directrices pour que les serveurs s'identifient et communiquent, en
comprenant qui est l'expéditeur, qui le destinataire, où le contenu doit aller etc.
Nous avons utilisé pour la gestion des mails au sein de notre système le protocole
SMTP. Il s’agit comme pour le protocole SMTP, d’un composant du framework
Laravel. Ce composant est implémenté afin d’utiliser comme protocole de gestion
des mails le protocole SMTP. Néanmoins, Laravel permet aussi l’utilisation
Le protocole TCP
Transmission Control Protocol (littéralement, « protocole de contrôle de
transmissions »), abrégé TCP, est un protocole de transport fiable, en mode
connecté, documenté dans la RFC 793 de l'IETF. Dans le modèle Internet, aussi
appelé modèle TCP/IP, TCP est situé au-dessus de IP. Il permet, au niveau des
applications, de gérer les données en provenance (ou à destination) de la couche
inférieure du modèle (c'est-à-dire le protocole IP). Lorsque les données sont
fournies au protocole IP, celui-ci les encapsule dans des datagrammes IP, en fixant
le champ protocole à 6 (Pour savoir que le protocole en amont est TCP...). TCP
est un protocole orienté connexion, c'est-à-dire qu'il permet à deux machines qui
communiquent de contrôler l'état de la transmission. Les caractéristiques
principales du protocole TCP sont les suivantes 20 :
20
http://www.commentcamarche.net/contents/538-le-protocole-tcp#les-caracteristiques-du-protocole-tcp
Consulté le 06/12/2016
Le protocole IP
Internet Protocol (protocole internet, abrégé en IP) est une famille de protocoles
de communication de réseaux informatiques conçus pour être utilisés sur Internet.
Le protocole IP fait partie de la couche Internet de la suite de protocoles TCP/IP.
C'est un des protocoles les plus importants d'Internet car il permet l'élaboration et
le transport des datagrammes IP (les paquets de données), sans toutefois en assurer
la « livraison ». En réalité, le protocole IP traite les datagrammes IP
indépendamment les uns des autres en définissant leur représentation, leur
routage21 et leur expédition.
Le protocole Ethernet
Le protocole Ethernet est le protocole des couches « Réseau » le plus répandu
dans les réseaux locaux (LAN). Ethernet définit principalement :
21
Le routage consiste à assurer l'acheminement d'un datagramme IP à travers un réseau en empruntant le chemin
le plus court. http://www.commentcamarche.net/contents/530-le-protocole-ip#le-routage-ip Consulté le
06/12/2016
22
http://www.commentcamarche.net/contents/530-le-protocole-ip#le-role-du-protocole-ip Consulté le
06/12/2016
Dossier app
Le dossier app, illustré par la figure C-2, constitue la base même de notre
application.
Dossier config
Illustré par la figure C-3, il s’agit ici du dossier contenant les fichiers de
configuration de notre système. On peut distinguer les configurations de
l’application, l’authentification, le cache, la base de données, les espaces de noms,
les emails, le système de fichiers, les sessions, ...
Dossier database
Dossier public
Le dossier public comporte tout ce qui doit être apparaître dans le dossier public
de tout application web à savoir les images, les scripts, les styles, etc. La figure
C-5 montre le contenu du dossier public de notre plateforme.
Dossier ressources
Fichier .env
Le fichier .env dont le contenu est présenté à travers la figure C-7, est le fichier
qui permet de spécifier les informations de l’environnement d’exécution de notre
application. Nous pouvons distinguer quatre principaux blocs :
Introduction
At university, each student has data that is documented in a record. This is the
student's record. This record is one of the essential elements in the academic
management of a university. In some countries, this academic record is only
available in hard copy. This state of affairs makes tedious the processing of the
data, which does not allow the monitoring and the control of the courses of the
student. This situation also makes it difficult to update the record and does not
guarantee the authenticity of the data and their accessibility.
Our work of memory will consist in proposing, modeling and implementing a
solution to solve the problems related to the system in place.
1. Academic record
Student academic record is a concept whose definition varies according to the
education system or university. So according to the official website of University
of Technology Sydney (UTS) [13], an academic record, also known as an
academic transcript, is an official statement which displays all of your final
subject results achieved through study at UTS as at the date of printing. With
Monash university [1], an academic record is a formal transcript of your academic
history at the University. This definition allows us to understand that in an
academic record we can have all informations which can retrace the student’s
academic background. In this order of idea, we can say that the academic record
represents an academic tool among many others which allows the follow-up and
the management of the university course of a student. Thus, our academic record
confirms our progress or, when your'e complete, our final qualification. You can
use it to :
2. Adopted Solution
2.1. Business architecture of our solution
To implement our platform, we have decided to choose as business architecture,
the « 4-layers » architecture. This is one instance of « n-layers » architecture. This
architecture has been the best choice for us because it is flexible and is more
maintainable than other existing architectures. The figure 1 shows how that
architecture is structured.
(HTML, CSS, JavaScript, JSON, XML, etc.). It should also be noted that at each
connection to the application, the user must always go through an authentication
service to determine if the user has the rights required to access the platform.
3. Modeling
3.1. Actors identification
By definition, an actor represents an abstraction of a role assumed by an external
entity which can interacts with the studied system. The table below presents the
roles of identified actors of our system.
Actors Roles
4. Platform implementation
4.1. Technologies and tools for implementation
For the implementation of our platform, we chose among a set of Web
technologies and tools those that will allow us to design and implement our
solution. Thus, we have mainly use the following features :
● PhpStorm 8.0.1 : an Integrated Development Environment (IDE) ;
● Laravel 5.0 : one most popular PHP framework based on MVC Model ;
● MySQL 5.6.17 : a database manager ;
● Apache Server (version 2.4.9) : a web application server.
Others tools had been also used to make some tasks in the process of developing
our solution. Among them, we have used Visual Paradigm 13.1 to design UML
2.0 diagrams and Git which is a distributed version control system. To design the
Conclusion
The work of our memory project has mainly as objective the design of a solution
able to overcome problems of accessibility, distribution and management of
EPAC students' academic records. On the basis of the problems and needs
identified during our interviews with a few academic staff at both the EPAC and
the UAC rectorate, we were able to move on to the modeling and design of the
different functionalities of our solution, following a well-defined architecture.
Following the choice of technologies and tools to realize our solution, we were
able to implement it and thus obtained a web platform integrating the following
modules :
● A module for managing students' academic data, enabling students to
obtain a digital version of the student's record ;
● A module for managing the users of the platform as well as their rights of
access ;
● A private discussion space mainly for students.
Considering the results of our work and the limitations of our system, we are
convinced that our platform must be improved so that it can perform its role better
and better. To do this, others works will aim to improve the current platform and
integrate other functional modules such as an E-learning module, a module for
complete registration management. Apart from these improvements to the current
system, it will also be for future work to extend this system of managing student
records to other entities and universities in Benin.
SOMMAIRE ............................................................................................ i
REMERCIEMENTS............................................................................... iv
RESUME.............................................................................................. xiv
ABSTRACT .......................................................................................... xv
INTRODUCTION GENERALE............................................................... 1
RÉFÉRENCES BIBLIOGRAPHIQUES................................................. 79
ANNEXES ............................................................................................. 82
ANNEXE A | Laravel5.0 : Architecture MVC et Programmation Orientée Objet (POO) .............. 83
ENGLISH VERSION............................................................................. 99