République du Niger
Fraternité-Travail-Progrès
Ministre de la Communication des Postes et de l’Economies Numérique
Ecole Supérieure des Communications Electronique et de la
Poste
Etablissement publique à caractère scientifique culturel et technique
Créer par décret N°2023-226/PRN/MP/NTI du 02 mars 2023
Rapport du Projet Informatique – L3GL2025
Conception et développement d’une application
Encadré par:
web
Présenter par : de gestion des cours à l’ESCEP
Issaka KAILOU DJIBO
Kabirou Dan Madougou
Djibril
Introduction
Présentation du projet
Objectifs généraux
Méthodologie utilisée (2TUP avec UML uniquement)
Technologies : PHP, MySQL, WAMP
Partie I : Analyse et spécification des besoins
1.1. Présentation de l’ESCEP et du contexte
Pourquoi ce système ?
Qui l’utilisera ? (acteurs)
1.2. Identification des besoins fonctionnels
Gestion des enseignants, étudiants, matières, notes
Authentification
Calcul de moyennes, recherche, etc.
1.3. Diagramme de cas d’utilisation UML
Description des acteurs
Description des cas d’utilisation
Représentation graphique du diagramme
Partie II : Conception UML du système
2.1. Modélisation statique – Diagramme de classes
Présentation des classes principales : Utilisateur, Étudiant, Enseignant,
Matière, Note, etc.
Relations entre classes : association, héritage, cardinalité
Détails des attributs et méthodes
Représentation graphique du diagramme
Description textuelle de chaque scénario
💻 Partie III : Réalisation de l'application
3.1. Architecture technique
Organisation du projet en PHP
Structure des dossiers (ex : admin/, etudiant/, enseignant/, includes/, etc.)
Système d’authentification (sessions PHP)
3.2. Base de données SQL
Tables : utilisateurs, matieres, notes, etc.
Schéma relationnel issu du diagramme de classes
Extraits de code SQL
3.3. Interfaces de l’application
Pages principales
Captures d’écran des pages
Conclusion et perspectives
Bilan du projet
Perspectives d’amélioration
Apports personnels
Introduction
Présentation du projet
Ce projet consiste en la conception et le développement d’une application
web destinée à la gestion des cours au sein de l’École Supérieure de
Commerce et d’Économie du Niger (ESCEP). Cette application vise à
automatiser la gestion des étudiants, des enseignants, des matières
enseignées et des notes, répondant ainsi aux besoins croissants d’une
administration scolaire efficace dans un contexte éducatif nigérien.
Objectifs généraux
L’objectif principal est de créer un outil numérique permettant :
Une gestion centralisée des informations des étudiants et enseignants.
La saisie et la consultation des notes par les enseignants et les
étudiants respectivement.
Le calcul automatique des moyennes pour évaluer les performances
académiques.
Une interface sécurisée avec authentification pour protéger les
données sensibles.
Méthodologie utilisée (2TUP avec UML uniquement)
La méthodologie adoptée est le cycle en V (2TUP : Travail Universitaire
Pratique), en s’appuyant exclusivement sur la modélisation UML (Unified
Modeling Language) pour analyser et concevoir le système. Cette approche a
permis de structurer les phases d’analyse, de conception et de réalisation,
avec des diagrammes comme les cas d’utilisation et les classes pour guider
le développement.
Technologies
Le projet a été réalisé avec les technologies suivantes :
PHP : Langage de programmation côté serveur pour la logique de
l’application.
MySQL : Système de gestion de base de données pour stocker les
informations.
WAMP : Environnement de développement local (Windows, Apache,
MySQL, PHP)
CSS (Cascading Style Sheets) : Pour la mise en forme et le style visuel
de l'application.
VS Code : Un éditeur de code source moderne et polyvalent utilisé
pour le développement
Partie I : Analyse et spécification des besoins1.1. Présentation de
l’ESCEP et du contexte
L’ESCEP, située au Niger, est une institution académique formant des
étudiants dans des domaines comme l’informatique, telecom, marketing
digital etc. Avec une augmentation du nombre d’étudiants et d’enseignants,
la gestion manuelle des cours, des notes et des inscriptions devient
chronophage et sujette à des erreurs. Ce système a été conçu pour répondre
à ce besoin en offrant une solution numérique adaptée aux ressources
locales, notamment dans un environnement où l’accès à Internet peut être
limité.
Qui l’utilisera ? (acteurs)
Les principaux acteurs identifiés sont :
Administrateur : Gère les utilisateurs (étudiants, enseignants), les
matières et attribue les enseignants aux cours.
Enseignant : Saisit les notes des étudiants pour les matières qu’il
enseigne.
Étudiant : Consulte ses notes et recherche des informations sur ses
matières.
1.2. Identification des besoins fonctionnels
Les besoins fonctionnels incluent :
Gestion des utilisateurs : Ajout, suppression et modification des
profils d’étudiants et d’enseignants.
Gestion des matières : Création, suppression et attribution
d’enseignants aux matières.
Gestion des notes : Saisie par les enseignants et consultation par les
étudiants.
Authentification : Connexion sécurisée via un système de sessions
PHP.
Calcul de moyennes : Automatisation du calcul de la moyenne
générale et par matière.
Recherche : Filtrage des notes par matière pour les étudiants.
1.3. Diagramme de cas d’utilisation UML
Acteurs :
o Administrateur, Enseignant, Étudiant.
Cas d’utilisation :
o Authentification : Tous les acteurs se connectent avec leurs
identifiants.
o Gestion des étudiant: L'administrateur ajoute/supprime des
étudiants.
o Gestion des enseignants : L'administrateur ajoute/supprime des
enseignants.
o Gestion des matières : L'administrateur crée/supprime des matières
et les attribue.
o Saisie des notes : L'enseignant entre les notes des étudiants.
o Consultation des notes : L'étudiant visualise ses notes et effectue
des recherches.
o Calcul des moyennes : Le système calcule automatiquement les
moyennes.
Représentation graphique :
Partie II : Conception UML du système
2.1. Diagramme de classes
Classes principales :
o Utilisateur : Attributs : id, nom, prenom, email, tel, mot_de_passe,
role. Méthodes : authentifier(), modifierProfil().
o Étudiant (héritage de Utilisateur) : Attributs : annee_entree. Méthodes
: consulterNotes().
o Enseignant (héritage de Utilisateur) : Attributs : date_prise_fonction,
departement, indice. Méthodes : saisirNote().
o Matiere : Attributs : id, nom, description, enseignant_id. Méthodes :
ajouterMatiere(), supprimerMatiere().
o Note : Attributs : id, etudiant_id, matiere_id, valeur. Méthodes :
enregistrerNote(), recupererNotes().
Relations :
o Héritage : Étudiant et Enseignant héritent de Utilisateur.
o Association : Note est associée à Étudiant (1 pour plusieurs) et
Matiere (1 pour plusieurs).
o Cardinalité : Un Enseignant peut enseigner plusieurs Matiere (1 pour
plusieurs), une Matiere est liée à un seul Enseignant.
Représentation graphique :
Partie III : Réalisation de l'application
3.1. Architecture technique
Organisation du projet en PHP :
o Utilisation du paradigme de conception MVC (Modèle-Vue-Contrôleur)
avec un contrôleur central (DashboardController.php) pour gérer les
requêtes.
Structure des dossiers :
o src/models/ : Contient les classes de l'application comme Matiere.php,
Utilisateur.php, et Note.php.
o views/dashboard/ : Contient les fichiers de vue pour chaque type
d'utilisateur : etudiant.php, enseignant.php, admin.php.
o views/layouts/ : Comprend le layout global de l'application, tel que
main.php.
o includes/ : Regroupe les fichiers d'en-tête et de pied de page
(header.php, footer.php).
o api/ : Contient les scripts pour les requêtes asynchrones, comme
suggest_matieres.php.
Système d’authentification :
o Utilisation des sessions PHP (session_start()) pour maintenir l'état de
connexion de l'utilisateur et vérifier les permissions basées sur les
rôles.
3.2. Base de données SQL
Tables :
o Utilisateur : id, nom, prenom, email, tel, mot_de_passe, role.
o Etudiant : id, annee_entree.
o Enseignant : id, date_prise_fonction, departement, indice.
o Matiere : id, nom, description, enseignant_id.
o Note : id, etudiant_id, matiere_id, valeur.
Schéma relationnel :
o Utilisateur → Etudiant (relation 1:1), Utilisateur → Enseignant (relation
1:1).
o Matiere → Enseignant (relation N:1), Note → Étudiant (relation N:1),
Note → Matiere (relation N:1).
Extraits de code SQL :
SQL
CREATE TABLE Utilisateur (
id INT PRIMARY KEY AUTO_INCREMENT,
nom VARCHAR(50),
prenom VARCHAR(50),
email VARCHAR(100),
tel VARCHAR(15),
mot_de_passe VARCHAR(255),
);
CREATE TABLE Etudiant (
id INT PRIMARY KEY,
annee_entree DATE,
FOREIGN KEY (id) REFERENCES Utilisateur(id)
);
INSERT INTO Utilisateur (nom, prenom, email, tel, mot_de_passe, role)
VALUES
('Yusuf', 'Abdullahi', '
[email protected]', '+22790901234',
'yusuf2023', 'etudiant');
3.3. Interfaces de l’application
Pages principales :
o Page de connexion : Formulaire simple pour entrer l'email et le mot
de passe.
o Tableau de bord : Interface dynamique affichant un contenu différent
selon le rôle de l'utilisateur connecté (consultation de notes pour les
étudiants, saisie de notes pour les enseignants, gestion globale pour
l'administrateur).
o Gestion des matières : Interface réservée à l'administrateur pour
ajouter ou supprimer des matières.
o Consultation des notes : Page pour les étudiants, affichant une liste
de leurs notes avec une fonctionnalité de recherche, et aussi
l’affichage des moyennes.
o Saisie des notes : Page pour les enseignants pour la saisie des notes
des étudiants
Captures d’écran :
Conclusion et perspectives
Bilan du projet
Le projet a permis de développer une application fonctionnelle pour la
gestion des cours à l’ESCEP, qui répond aux besoins identifiés en matière de
gestion des utilisateurs, des notes et des moyennes. Les difficultés
rencontrées, notamment la gestion des erreurs liées à la base de données et
l’affichage initial des notes, ont été surmontées grâce à un débogage
méthodique et approfondi.
Perspectives d’amélioration
Notifications : Ajout d'un système de notifications par email pour
alerter les étudiants de la publication de nouvelles notes.
Export de données : Intégration d'une fonctionnalité permettant aux
étudiants d'exporter leurs relevés de notes au format PDF.
Communication : Mise en place d’une messagerie interne pour
faciliter la communication entre les étudiants et les enseignants.
Apports personnels
La réalisation de ce projet m'a permis de consolider mes compétences
techniques en PHP, MySQL et en modélisation UML. J'ai également développé
ma capacité à analyser des problèmes concrets et à y apporter des solutions
techniques dans un cadre professionnel.