Académique Documents
Professionnel Documents
Culture Documents
1. MODULE/FONCTIONNALITE : ....................................................................................................................................... 8
L’authentification : ........................................................................................................................................... 8
Gestion des étudiants : ..................................................................................................................................... 9
Gestion des reçus : ............................................................................................................................................ 9
2. LES ACTEURS : .......................................................................................................................................................... 9
3. MATRICE ACTEURS /FONCTIONNALITES : ....................................................................................................................... 10
4. LES CAS D’UTILISATION : ............................................................................................................................................ 11
IV. DESCRIPTION TECHNIQUE : ................................................................................................................................ 12
Dans le cadre du projet informatique, nous sommes amenés à conduire un travail complet en
autonomie à travers un projet à finalité professionnelle, en effet on devra satisfaire le besoin de
notre client et répondre à ses attentes. Nous avons opté pour la réalisation d’une plateforme dédiée
à l’EMINES, qui sera l’entreprise avec laquelle nous serons mis en contact. Ce travail est
particulièrement basé sur la mise en œuvre d’une application qui véhicule les paiements au sein de
l’entreprise, donc par le biais de ce projet, nous comptons lever le défi d’améliorer le processus de la
gestion des encaissements à l’EMINES.
A l’encontre des autres projets, nous avons deux clients, qui agissent sur deux domaines tout
à fait différents, ainsi économique et informatique, c’est pour cela que nous serons sous la
contrainte de bâtir une plateforme solide de tous les niveaux pour qu’elle soit à la fin digne de leur
confiance.
Dans les lignes suivantes, nous allons détailler la partie analytique tout en étant le plus précis
possible pour que le lecteur soit éclairé sur les différentes fonctionnalités de notre application et
pour qu’il comprenne ses enjeux.
La figure ci-dessous représente le diagramme de Gantt de notre projet, ce qui nous a permis
de bien planifier le travail.
1. Introduction :
Dans le cadre de l’enseignement de l’informatique, nous serions amenés à réaliser un projet vers la fin de
chaque semestre. Cette année nous avons l’opportunité de travailler sur un projet réel pour répondre aux
attentes de notre client.
Il s’agit du dépôt d’une application pour aider à la gestion des flux informationnels liés à la gestion des
encaissements à l’EMINES
Face à une difficulté de gestion des paiements des étudiants ,au sein de l’EMINES – School of Industrial
Management, l’assistante de la direction, qui assure les encaissements des frais de scolarité,
d’hébergement et de restauration, est dans le besoin d'une plateforme de gestion pour faciliter la saisie
des informations relatives aux paiements.
Notre projet : « Gestion des paiements des étudiants Emines », est alors une plateforme sous forme
d’une application Web qui facilitera la tâche au responsable qui aura la possibilité de consulter toutes les
données des étudiants tout en ayant une possibilité d'imprimer un reçu d'une manière automatique tout
en ajustant les informations du paiement.
Description de l’entreprise :
L’EMINES - School of Industrial Management - a pour vocation de former des ingénieurs, des diplômes
maîtrisant les savoirs et savoir-faire scientifiques et techniques de base, et préparés à devenir les
managers des entreprises nationales et internationales.
L'EMINES comprend plusieurs départements, entre autres le département financier; qui a pour rôle la
gestion des paiement, donc nous seront principalement en contact direct avec ce dernier pour répondre à
ses attentes.
Etant donné que le nombre des étudiants et des dossiers traités ne cesse pas d'augmenter, la gestion
des paiements devient un "casse-tête" pour les responsables. En effet, un traitement manuel de tous les
dossiers ainsi que la gestion du temps du travail passé sur les dossiers, ne sont réalisés que par une
personne.
D'autre part, la saisie d'un reçu pose également un problème vu que le processus n’est en quelque
sorte pas intégré au niveau du système. D’où la complexité d’avoir un suivi complet des différentes
factures ainsi que l’archivage des paiements
4. Fonctionnalités demandées :
Besoins fonctionnels :
Avant de détailler les différentes fonctionnalités ,notre principale ambition s'incarne dans le fait qu'on
prévoit concevoir une application automatisée , c'est à dire que le responsable va occuper juste la fonction
de la rectification des données; A titre d'exemple, quant aux frais de scolarités , on essaiera de lier
l'application de la simulation de bourse, si c'est possible, à notre plateforme pour éviter la saisie manuelle ,
donc il reste juste la modification des information des personnes qui n'ont pas les même résultats.
- Saisir les données (nom, prénom du parent et de l’élève ; le montant) concernant le paiement de frais de
scolarité, restauration et de logement automatiquement.
-Calculer des frais de scolarité, restauration et de logement (Montant et reste au fur et à mesure).
Les utilisateurs :
Madame Khadija AIT HADOUCH et les caissières : la saisie des données, l’impression des reçus de
paiement et l’accès aux frais de scolarité, restauration et de logement.
La nécessité de deux interfaces WEB une pour administrateur et l’autre pour les utilisateurs.
La complexité au niveau de la variété de type de paiement : scolarité, logement, restauration avec
des pourcentages de bourses différents, ainsi le grand nombre des étudiants au sein de l’EMINES.
La complexité de lier la base des données à l’application Web.
Autoformation au niveau de plusieurs langages : PHP, Ldap, HTML/CSS.
Le manque du temps.
Etude de l’existant :
Jusqu’à présent Madame Khadija saisie et génère les données d’une façon manuelle à l’aide d’un Excel, et
elle ne dispose d’aucun outils informatique qui lui facilite la tâche et lui permet de gérer facilement les
paiements, ainsi qu’imprimer les reçues automatiquement.
La solution proposée :
Dans l’intention de gérer les paiements de scolarité, logement et de restauration des étudiants de
l’EMINES, on propose une plateforme qui facilite à l’administrateur de saisir les données de paiements de
chaque étudiant, afin de générer et imprimer les reçus d’une manière automatique. Qui sera une
alternative de la méthode actuelle qui consiste à saisir et générer les données manuellement sur des
feuilles d’EXCEL. Dès lors la solution proposée va minimiser le temps d’entrée les données ainsi de les
sauvegarder dans une base de données.
L’authentification :
Mettre en place une authentification pour renforcer la sécurité des comptes. Cette authentification
consiste à exiger deux méthodes d'identification pour se connecter à votre compte : vos identifiants de
connexion (le mail) ainsi qu'un mot de passe unique. Ensuite, l’interface vérifiera les données saisies par
l’utilisateur afin de déterminer ses accessibilités (un administrateur ou un consultant). Dans la suite,
chaque utilisateur va consulter sa propre interface en fonction de ses accessibilités.
Sur l’interface administrateur, celui-ci saisira toutes les données des paiements de chaque étudiant (les
frais de scolarité, le montant payé, méthode de paiement, numéro de compte …) au niveau de l’interface.
Ensuite, les informations vont être stockées dans la base de données qui est liée directement à notre
plateforme. L’administrateur aura le droit de modifier et de supprimer les données après leurs
enregistrements.
Sur l’interface consultant, l’étudiant a le seul droit de consulter ses propres informations de paiement,
et ne peut ni effectuer des modifications ni consulter les données des autres étudiants.
2. Les acteurs :
Notre plateforme est utilisée par deux types d’acteurs et chacun d’entre eux a accès à des
fonctionnalités différentes :
L’administrateur (Madame Khadija AIT HADOUCH) : ses accessibilités sont bien détaillées dans la
partie des fonctionnalités.
Le consultant (L’étudiant) : a seulement le droit de consulter ses propres données en utilisant
l’interface du consultant, et pourra aussi imprimer ses reçus.
Acteurs
Administrateur Etudiant
Fonctionnalités
Authentification
Accès a la plateforme X X
Authentification X X
Gestion des étudiants
Consultation de ses propres données X
Récupération /Consultation des données X
personnelles de chaque étudiant
Gestion des paiements
Consultation de ses propres paiements X
Consultation des paiements personnels de X
chaque étudiant
Modification des X
paiements/Suppression/Insertion
consultation de ses propres montants X
restants
10
Cas d’utilisation 1 : s’authentifier, c’est la première fonctionnalité que l’utilisateur doit effectuer pour
avoir accès au site WEB.
Package 1 : gestion des étudiants :
o Cas d’utilisation 2 : Récupération des données de LDAP, cette fonctionnalité permet à
l’administrateur de récupérer les données personnelles de chaque étudiant à partir du serveur
LDAP, ainsi qu’effectuer des recherches afin de filtrer ces derniers.
o Cas d’utilisation 3 : Consultation des données, cette fonctionnalité donne à l’utilisateur l’accès
à ses propres données (le cas du consultant) ou bien à toutes les données (le cas de
l’administrateur).
Package 2 : gestion des paiements :
o Cas d’utilisation 4 : saisir les données des paiements, cette fonctionnalité permet à
l’administrateur d’insérer les données des paiements de chaque étudiant dans une
11
5. Architecture globale :
12
Comme vous pouvez le constatez, on aura une base de données principale pour notre application web qui sera
l’hôte de toutes les données qui circulent. En plus d’un serveur LDAP, duquel on va extraire les détails relatifs
aux étudiants de l’EMINES. Quant à la saisie des informations, elle sera faite par Madame Khadija.
L’impression des reçus sera la dernière étape après la saisie des informations, ils seront archivés et mis à la
disposition de l’administrateur à tout moment.
13
Afin de modéliser les traitements effectués par l’application web, on a établi le diagramme de séquence qui
représente les différentes interactions entre les acteurs et le système selon un ordre chronologique.
Pour bien comprendre sa structure, on a divisé le diagramme en deux sous-diagrammes ; le premier dont
l’acteur principal est l’administrateur et le deuxième est lié à l’utilisateur.
a. Administrateur
L’administrateur commence tout d’abord par s’authentifier. Après la vérification des données saisies par ce
dernier, l’application affiche l’interface administrateur. Cette interface permet le remplissage de la base de
données ainsi que la modification et l’affichage des différentes informations stockées dans cette base.
14
Le consultant peut avoir accès à l’application web via « l’interface consultant » en s’authentifiant en premier
lieu. La différence entre « l’interface administrateur » et « l’interface consultant » est le fait que la deuxième
ne permet à son utilisateur que la consultation de ses propres données sans pouvoir les modifier.
Après avoir consulté et visualisé les différentes informations, le consultant se déconnecte de l’application web.
15
Le lien suivant permet l’accès à notre conception de l’application « Gestion des paiements des étudiants
EMINES » :
https://xd.adobe.com/spec/ed8763e5-de7d-44ed-4cbc-f0a3fb879fe0-9bb6/
16
Langages :
a. PHP :
Définition :
Hypertext Preprocessor, plus connu sous son sigle PHP, est un langage de programmation libre, principalement
utilisé pour produire des pages Web dynamiques via un serveur HTTP. PHP est un langage impératif orienté
objet. Il s'agit d'un langage de script interprété côté serveur.
Il est considéré comme une des bases de la création de sites web dits dynamiques mais également des
applications web. PHP a permis de créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia,
etc.
Justification du choix :
On a été amené, dans notre projet informatique, à créer une application Web dynamique. Pour ceci, on a
décidé d’utiliser le langage PhP, c’est un langage de programmation rapide, libre et gratuit .il est aussi simple
d’apprentissage et ne nécessite pas de compilation ni d’utilisation de balises. En outre, Le PHP gère très bien,
depuis les origines, les requêtes SQL. On peut donc facilement écrire des programmes qui affichent des
données extraites de bases SQL, ou qui stockent des données postées par un formulaire dans une table SQL.
17
Définition :
JavaScript (« JS » en abrégé) est un langage de programmation dynamique complet qui, appliqué à un
document HTML, peut fournir une interactivité dynamique sur les sites Web.
Avec les technologies HTML et CSS, JavaScript est parfois considéré comme l'une des technologies cœur
du World Wide Web5. Le langage JavaScript permet des pages web interactives, et à ce titre est une partie
essentielle des applications web. Une grande majorité des sites web l'utilisent6, et la majorité des navigateurs
web disposent d'un moteur JavaScript dédié pour l'interpréter, indépendamment des considérations de
sécurité qui peuvent se poser le cas échéant.
Justification du choix :
On a eu recours au langage Javascript au sein de notre code pour réaliser quelques fonctionnalités qui nous
ont posés des problèmes en PHP. JavaScript est, en fait, un langage de programmation de scripts
principalement employé dans les pages web interactives. Le JavaScript peut à la fois être utilisé côté client,
c’est-à-dire interprété par le navigateur web de l’internaute, et côté serveur avec l’utilisation de Node.js. Le
JavaScript est le langage de prédilection pour interagir avec le HTML permettant ainsi d’apporter du
dynamisme à l’intérieur des pages web.
c. HTML /CSS :
Définition :
Le HTML est un langage qui a été créé en 1991. Les sigles « HTML » sont l’abréviation de « HyperText Markup
Language » ou « langage de balisage hypertexte » en français.
Le HTML est donc un langage de balisage, c’est-à-dire un langage qui va nous permettre de définir les
différents contenus d’une page.
Le CSS a été créé en 1996, soit 5 ans après le HTML. Les sigles « CSS » sont l’abréviation de « Cascading
StyleSheets » ou « feuilles de styles en cascade » en français.
Le CSS vient résoudre un problème bien différent du HTML : en effet, le HTML sert à définir les différents
éléments d’une page, à leur donner du sens. Le CSS, lui, va servir à mettre en forme les différents contenus
définis par le HTML en leur appliquant des styles.
Le HTML va donc créer la structure des pages tandis que le CSS va nous permettre de modifier l’apparence des
contenus de la page.
18
En ce qui concerne le design du site, on a eu recours au langage HTML et CSS, qui sont deux véritables
standards. HTML est le langage de description de documents. Le balisage HTML est incorporé dans le texte du
document et est interprété par un navigateur Web. Tandis que le CSS est un système destiné à mettre en
forme les contenus Rapport | projet informatique 16 Records Management de pages Web. La partie CSS d'un
document Web se contente de définir les différents styles de textes ou de blocs qui seront utilisés pour la mise
en forme. Les codes HTML et CSS sont, en fait, séparés. L'avantage principal de cette séparation est de faciliter
la maintenance du site, c'est-à-dire ses capacités d'évolution dans le temps.
Librairies :
a. Serveur : Apache :
Nous avons choisi le logiciel Apache (Apache HTTP Server). En fait, c’est un serveur HTTP Open Source et
gratuit largement utilisé pour héberger les applications Web. C’est un logiciel fiable et stable avec
différentes fonctionnalités implantées comme la possibilité d'utiliser un unique serveur Internet pour
héberger plusieurs sites, l'utilisation de différents langages et la flexibilité grâce à sa structure basée sur
des modules.
b. Librairie TCPDF :
TCPDF est une classe PHP, d'utilisation répandue, permettant de créer des documents PDF. Elle est libre
et open source.
TCPDF est actuellement la seule bibliothèque PHP de génération PDF offrant un support complet de
l'encodage UTF-8 et des langues s'écrivant de droite à gauche, incluant le texte bidirectionnel.
19
Nous avons créé notre base de données dans MYSQL en utilisant l’interface développée par PHP
« phpMyAdmin », avec les différentes tables et les relations étrangères entre eux. La figure ci-dessous
illustre la structure de notre base de données.
20
La connexion en PHP :
L'extension « MySQLi » est l’abréviation de MySQL Improved, c'est-à dire MySQL Amélioré. C’est un pilote
qui permet d'interfacer des programmes écrits dans le langage de programmation PHP avec les bases de
données MySQL, depuis la version 4.1.
Avant d’exécuter des requêtes sur la base de données, il faut tout d’abord se connecter avec notre serveur
SQL et si la connexion est interrompue alors le serveur nous enverra l’erreur. Pour se faire, il faut inclure les
instructions suivantes dans le code :
Afin de manipuler les données de notre base SQL, nous devrons utiliser les requêtes de MYSQL, on les exécute
avec des instructions en PHP. Ces dernières nous facilitent la liaison entre notre application et la base de
données utilisée. Celle-là fonctionne avec l’utilisation des formulaires dans notre interface pour stocker et
modifier les données, et des tableaux pour l’affichage. Ces outils de front-end sont codés avec HTML et CSS.
Dans les scripts PHP, il faut stocker les requêtes dans des variables pour les exécuter avec la fonction de
l’extension MYSQLi « mysqli_query () ; » et s’il y a une erreur dans les requêtes, le code va nous informer en
envoyant un message d’erreur avec la fonction « mysqli_error() ; ».
22
VI. Expérimentation :
1. Authentification :
L’administrateur doit s’authentifier pour pouvoir accéder à l’application. Nous avons lié l’application à LDAP du
coup l’administrateur peut se connecter en utilisant Nom.Prénom et son mot de passe usuel de sa session.
Ainsi, Chaque utilisateur est dirigé vers sa propre session avec les fonctionnalités correspondantes.
:page de connexion
23
o Administrateur :
Une fois que l’administrateur s’authentifie, une interface contenant les options suivantes est affichée, en haut
à gauche.
a. Consultation :
Cette page permet à l’administrateur de s’imprégner de l’évolution des frais de scolarité des étudiants, elle
comporte l’histogramme de répartition des étudiants selon les frais de scolarité, un diagramme des bourses et
un tableau des informations relatif à chaque étudiant :
24
Pour la gestion des frais, l’administrateur, dispose d’une barre de recherche et d’un tableau d’indicateur
coloré :
25
i. Modifier :
ii. Supprimer :
Cette fonctionnalité est de loin la plus importante de notre application, elle permet à la fois d’ajouter un reçu,
afficher, modifier et supprimer les reçus déjà existants.
L’administrateur clique sur Gestion des reçus à droite en haut de la page ,pour accéder à une page qui affiche
la liste des étudiants avec le bouton Find qui permet de parcourir la liste des reçus de l’étudiant choisi.
i. Ajouter un reçu :
Utilisateur :
Nous avons réalisé une application web utilisateur dédiée aux étudiants de l’EMINES pour qu’ils puissent
vérifier à tout moment leur situation financière.
a. Authentification:
Idem pour l’utilisateur, il peut s’authentifier via LDAP dans la même page de connexion citée
précédemment (Figure 28).
28
Cette fois-ci l’utilisateur n’a pas accès à visualiser les données des autres ou les modifier. En fait, il est dirigé
vers sa page de consultation des données où il peut voir ses propres frais de scolarité, restauration, logement.
Ainsi que le total à payer, comme le présente la figure ci-dessous
La deuxième partie est dédiée l’affichage des reçus, chaque étudiant à le droit d’accéder à ses propres reçus.
29
30
L’objectif de notre travail était de créer une application Web qui permet la gestion des paiements des
traitement efficace des paiements des frais de scolarité, restauration, logement et surtout la génération
paiements des étudiants, d’enregistrer les nouveaux paiements et générer automatiquement les reçus. Nous
avons également relié notre application web à la base de données MySQL qui contient des tables avec toutes
les informations nécessaires sur les étudiants et qu’elle peut consulter et modifier à tout moment.
La réalisation de ce projet nous a permis de sentir à quoi ressemble le travail sur un projet réel et
avec un client réel, la présence d’un cahier de charge à respecter et des livrables à réaliser (analyse
fonctionnelle, analyse technique). Le travail en groupe, et la présence d’un encadrant et un client, nous ont
poussé à améliorer notre esprit d’écoute et de partage et le refus de l’échec. On a rencontré plusieurs
problèmes tout au long du projet qu’on a dû surmonter grâce à nos recherches et aux indications de notre
encadrant.
31
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
2. HTML / CSS:
https://fr.khanacademy.org/computing/computer-programming/html-css
https://www.w3schools.com/html/html_css.asp
3. LDAP :
http://igm.univ-mlv.fr/~dr/XPOSE2009/ldap/content/ldap_directory_service.html
IX. Annexe :
1. Création du diagramme de Gantt :
Afin de planifier notre projet, nous avons utilisé l’application GanttProject : https://www.ganttproject.biz/ b.
2. Création des diagrammes :
Afin de créer les diagrammes use case, diagramme de classe et diagramme de séquence nous avons utilisé
UML.
Concernant tous les programmes que nous avons développés, nous avons travaillé avec l’IDE Netbeans (PHP,
HTML, CSS…).
5. Code source :