Gestion Scolaire Simplifiée
Gestion Scolaire Simplifiée
Majda Hazim
Zakaria et-tajir
Encadré par :
Mr. Essadek Mohammed Zeriab
3
Résumé
Pour mener à bien ce projet, nous avons suivi une démarche structurée en trois
étapes clés
4
ABSTRACT
Pour le développement, nous avons opté pour le framework Laravel ainsi que [Link],
HTML, PHP et JavaScript.
5
Remerciement ..................................................................................................... 3
Résumé ................................................................................................................ 4
Abstract ............................................................................................................... 5
Table des matières ............................................................................................. 6
Table de figures ................................................................................................... 8
Introduction Générale ......................................................................................... 9
Chapitre 1 : Cahier de charge ............................................................................ 11
1. Introduction ...................................................................................... 12
2. Les objectifs du projet ....................................................................... 12
3. Exigences fonctionnelles................................................................... 12
3.1. Fonctionnalités pour les professeurs ............................................ 12
3.2. Fonctionnalités pour l'administration ........................................... 13
4. Livrables du projet ............................................................................ 13
5. Conclusion ........................................................................................ 13
Chapitre 2 : Analyse et conception 14
1. Introduction ....................................................................................... 15
2. Langage utilisée ................................................................................ 15
3. Outil utilisée...................................................................................... 15
4. Diagramme de cas d’utilisation ........................................................ 16
4.1. Diagramme de cas d’utilisation d’acteur « professeur » .............. 18
4.2. Diagramme de cas d’utilisation d’acteur « Administration » ........ 19
5. Diagramme de séquence .................................................................. 19
5.1. Diagramme de séquence de « Authentification »......................... 19
5.2. Diagramme de séquence de «Consulter l’emploi» ....................... 20
5.3. Diagramme de séquence «Générer l’emploi» .............................. 21
5.4. Diagramme de séquence «Gérer les filière» ................................. 23
6
6. Diagramme de classe ........................................................................ 24
7. Conclusion ........................................................................................ 26
4. Conclusion .................................................................................................. 36
7
Table des figures
Figure 1 Diagrammes des rôles ............................................................................................................. 17
Figure 2 Diagramme de cas d'utilisation d'acteur - professeur ............................................................. 18
Figure 3 Diagramme de cas d'utilisation d'acteur - administration....................................................... 19
Figure 4 Diagramme de séquence authentification .............................................................................. 19
Figure 5 Diagramme de séquence de Consulter l’emploi ...................................................................... 19
Figure 6 Diagramme de séquence de Générer l’emploi ........................................................................ 19
Figure 7 Diagramme de classe ............................................................................................................... 19
Figure 8 : Page d'authentification.......................................................................................................... 19
Figure 9 Page de Filière de professeur .................................................................................................. 19
Figure 10 Page d'emploi de temps ........................................................................................................ 19
Figure 11 Page d'accueil ........................................................................................................................ 19
Figure 12 Page filière ............................................................................................................................. 19
Figure 13 Page filière ............................................................................................................................. 19
Figure 14 Page de liste des professeurs ................................................................................................ 19
Figure 15 Page de gestion d'emploi- admin ........................................................................................ 19
8
Introduction Générale
Après avoir exposé les outils et les méthodes adoptés, nous allons maintenant présenter
le plan de ce rapport, qui est structuré en 3 chapitres principaux :
10
Chapitre 1 : Cahier de charge
11
1. Introduction
Ce chapitre a pour dessein de présenter les buts du projet ainsi que les exigences
fonctionnelles et non fonctionnelles de l'application de gestion des professeurs. De
plus, nous fournirons une analyse détaillée des livrables escomptés, représentant les
résultats tangibles attendus à la fin du développement de l'application
2. Objectifs du projet
3. Fonctionnalités Requises
Les exigences fonctionnelles décrivent les actions que le système doit
entreprendre en réponse à des requêtes particulières. Le projet de gestion de la
scolarité des professeurs implique la conception d'une application intégrant des
caractéristiques spécifiques destinées aux enseignants et à l'administration.
12
• Consultation des jours fériés
• Consultation des descriptifs des filières
4. Livrables du projet
5. Conclusion
En résumé de ce chapitre, une analyse minutieuse des exigences du client a été effectuée.
13
Toutes les fonctionnalités du futur portail ont été soigneusement définies, qu'elles soient
opérationnelles ou non, à travers les différentes phases de développement de
l'application. De plus, une attention particulière a été accordée à l'examen approfondi des
livrables associés à ce projet.
14
Chapitre 2 : Analyse et
conception
15
1. Introduction
Dans cette phase cruciale du projet, nous nous engageons à approfondir l'analyse
et la modélisation des besoins du client en utilisant le langage UML.
3. Outil utilisée
16
Avec StarUML, vous pouvez créer des diagrammes de classes, des diagrammes de séquence,
des diagrammes de cas d'utilisation, des diagrammes d'activités, des diagrammes de
composants et bien d'autres encore. Il offre une interface conviviale qui permet de dessiner
facilement ces diagrammes en utilisant une variété d'outils et de fonctionnalités.
Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour :
• Identifier les besoins fonctionnels d'un système en se concentrant sur les actions réalisées
par les utilisateurs.
• Définir les fonctionnalités du système en spécifiant les interactions entre les acteurs et les
cas d'utilisation.
17
• Documenter les exigences du système et servir de base à la conception et au développement
ultérieurs.
• Communiquer efficacement avec les parties prenantes pour s'assurer que les
fonctionnalités et les interactions attendues sont correctement comprises.
18
4.1. Diagramme de cas d’utilisation d’acteur « professeur »
19
4.2. Diagramme de cas d’utilisation d’acteur « Administration »
5. Diagramme de séquence
Les diagrammes de séquence sont utiles pour montrer comment les objets d'un système
interagissent entre eux, en mettant l'accent sur l'ordre chronologique des messages échangés.
Ils complètent les diagrammes de cas d'utilisation en montrant clairement la séquence des
interactions, ce qui facilite la compréhension et la communication lors de la conception et de
la modélisation des systèmes logiciels.
20
Récapitulatif d'Identification :
Étapes Scénario :
22
Fiche de description «Générer l’emploi» :
• Scenario :
1. L'administrateur accède à la fonctionnalité de génération d'emploi du
temps.
2. Uploader du fichier Excel contenant les détails des cours, des
professeurs attribués, et des salles affectées.
3. Traitement automatique des informations incluses dans le fichier Excel.
4. Génération automatisée de l'emploi du temps pour l'ensemble du
corps enseignant.
5. Possibilité pour l'administrateur de visualiser et vérifier l'emploi du
temps généré.
6. Confirmation de la finalisation du processus de génération.
23
5.4. Diagramme de séquence de « Gérer les filière»
24
6. Diagramme de classe
Le diagramme de classes est essentiel dans la modélisation orientée objet et constitue le seul
diagramme obligatoire. Il permet de représenter la structure interne du système en
fournissant une abstraction des objets et de leurs interactions pour réaliser les cas
d'utilisation. Ce diagramme offre une vue statique, sans tenir compte du temps dans le
comportement du système. Les éléments clés de cette vue statique sont les classes et leurs
relations, telles que les associations, les généralisations et divers types de dépendances
comme la réalisation et l'utilisation.
Une classe d'association combine les caractéristiques des classes et des associations. Elle se
connecte à deux ou plusieurs classes, possède des attributs et des opérations. Une classe
d'association est représentée par un trait discontinu entre la classe et l'association.
Une classe représente un groupe d'objets partageant des propriétés communes (attributs),
des comportements (opérations ou méthodes) et des relations avec d'autres objets
(associations et agrégations).
25
Une classe de conception est composée d'attributs dont la valeur est identique pour chaque
instance de la classe, ainsi que de méthodes qui
définissent le comportement de la classe elle- même,
indépendamment du comportement de ses instances,
qui peut varier.
26
7. Conclusion
Au cours de ce chapitre, nous avons accompli la conception de notre projet. Toutes les
interrogations relatives à la mise en œuvre du système à développer ont été résolues. Nous
disposons maintenant d'un modèle graphique complet, composé de plusieurs diagrammes,
prêt à être traduit en code. Dans le prochain chapitre, nous approfondirons notre
compréhension des outils et des langages utilisés pendant la phase de construction, afin de
concrétiser notre modèle en un produit fonctionnel.
27
Chapitre 3 : Réalisation du
projet
28
1. Introduction
Une fois que le développement du système est achevé, nous entamons la phase
cruciale de déploiement et de mise en production. Cette étape implique la
configuration de l'infrastructure nécessaire pour héberger notre application, ainsi
que la mise en place des protocoles de sécurité adéquats pour garantir la
confidentialité et l'intégrité des données de nos utilisateurs.
Enfin, nous resterons à l'écoute des retours de nos utilisateurs afin d'identifier
d'éventuelles améliorations à apporter. Notre processus de développement itératif
nous permettra de continuer à faire évoluer notre application pour répondre aux
besoins changeants du marché et des utilisateurs, garantissant ainsi sa pertinence à
long terme
2. Environnement de développement
• Visual Studio
Visual Studio est largement utilisé dans l'industrie du développement logiciel en raison de
sa polyvalence et de sa puissance. En plus de ses fonctionnalités de base telles que l'édition
de code, le débogage et la gestion de projet, Visual Studio offre une gamme étendue
d'extensions et de plugins qui permettent aux développeurs d'étendre et de personnaliser
leur environnement de développement selon leurs besoins spécifiques.
En résumé, Visual Studio reste un pilier essentiel dans l'écosystème des outils de
29
développement logiciel, offrant aux développeurs les moyens nécessaires pour créer des
applications de qualité professionnelle dans un large éventail de domaines.
• XAMPP
XAMPP, en simplifiant la mise en place d'un serveur Web et FTP, réduit considérablement
les barrières à l'entrée pour ceux qui souhaitent héberger leurs propres sites Web ou
développer des applications en ligne. En combinant les puissants composants X Apache
MySQL Perl PHP, XAMPP offre une solution complète pour la création et la gestion de
serveurs Web dynamiques.
Ce logiciel libre est apprécié non seulement pour sa simplicité et sa rapidité d'installation,
mais aussi pour sa flexibilité. Il permet aux utilisateurs de personnaliser leur environnement
de serveur en fonction de leurs besoins spécifiques, que ce soit pour des projets de
développement web, la création de bases de données, ou le déploiement d'applications en
ligne.
Grâce à sa compatibilité avec les systèmes d'exploitation les plus populaires, XAMPP est
accessible à un large éventail d'utilisateurs, qu'ils soient novices ou expérimentés. Sa nature
conviviale et intuitive signifie que même ceux qui n'ont pas de connaissances approfondies
en administration système peuvent rapidement mettre en place un environnement de
développement ou de production.
En résumé, XAMPP représente une solution tout-en-un pour la création et la gestion de serveurs
Web, offrant une expérience utilisateur fluide et accessible à tous, quelle que soit leur expérience
préalable en matière de développement web
• GitHub
30
En exploitant la puissance de Git, GitHub permet de suivre facilement les versions du
code source, offrant ainsi une traçabilité précise des modifications apportées au fil du
temps. Cette fonctionnalité s'avère particulièrement utile pour maintenir la cohérence
du projet et assurer la qualité du code tout au long du cycle de développement.
Outre la gestion des versions, GitHub fournit également des outils avancés pour la
gestion des problèmes (issues) et des demandes de fusion (pull requests), ce qui facilite
la communication et la collaboration au sein de l'équipe de développement. Les
problèmes peuvent être signalés, discutés et résolus de manière transparente, tandis que
les demandes de fusion permettent aux développeurs de proposer et de réviser les
modifications de code de manière structurée.
Dans le cadre de notre projet, l'utilisation de GitHub a été un choix stratégique pour
favoriser une collaboration transparente et efficace. Grâce à cette plateforme, nous
avons pu coordonner nos efforts de développement, suivre l'évolution du code source et
faciliter la communication au sein de l'équipe. En fin de compte, GitHub a contribué à
renforcer notre processus de développement et à garantir la réussite de notre projet
• [Link].
[Link], en tant que Framework JavaScript progressif, offre une approche moderne et
flexible pour la construction d'interfaces utilisateur interactives. Son principal avantage
réside dans sa capacité à simplifier le développement d'applications web à une seule
page en mettant l'accent sur la création de composants réutilisables.
En adoptant [Link] dans notre projet, nous avons bénéficié de sa syntaxe claire et
déclarative, qui rend la création d'interfaces utilisateur intuitive et efficace. La
modularité offerte par [Link] nous a permis de diviser notre application en composants
distincts, facilitant ainsi la maintenance et l'évolution du code.
Dans notre projet, [Link] a joué un rôle crucial dans le domaine de la visualisation des
données. Grâce à ses capacités de liaison de données réactives et à ses outils de
manipulation du DOM efficaces, nous avons pu créer des interfaces utilisateur
31
dynamiques et interactives pour présenter nos données de manière claire et
convaincante.
En résumé, l'adoption de [Link] dans notre projet a été un choix stratégique qui a
contribué de manière significative à la réussite de notre application. Sa flexibilité, sa
simplicité d'intégration et ses performances dans la visualisation des données ont
permis de créer une expérience utilisateur exceptionnelle pour nos utilisateurs finaux..
• Laravel
1
Laravel, en tant que Framework PHP open-source, s'est imposé comme un choix de
prédilection pour le développement d'applications web modernes et évolutives. Sa
popularité repose sur une combinaison de facteurs, notamment sa structure élégante et
expressive qui permet de créer des projets web robustes et maintenables.
Dans notre projet, l'adoption de Laravel a été motivée par plusieurs avantages clés. Tout
d'abord, sa structure bien définie et son architecture modulaire offrent une base solide
pour le développement, ce qui nous a permis de concevoir notre application de manière
organisée et extensible.
L'un des atouts majeurs de Laravel est son ORM Eloquent, qui simplifie la gestion des
bases de données en offrant une syntaxe fluide et intuitive pour interagir avec la base de
données. Cette abstraction puissante nous a permis de travailler efficacement avec nos
données, en minimisant le temps et les efforts nécessaires pour créer des requêtes
complexes.
De plus, le système de routage clair de Laravel nous a facilité la tâche pour définir les
différentes routes de notre application, offrant ainsi une navigation fluide aux
utilisateurs.
En résumé, l'adoption de Laravel dans notre projet a été un choix judicieux qui a
contribué à simplifier le processus de développement et de maintenance de notre
application. Sa simplicité, sa robustesse et ses fonctionnalités intégrées ont permis de
créer une application web performante et fiable, répondant aux besoins de nos
utilisateurs avec excellence.
• MySQL
SQL (Structured Query Language) occupe une place prépondérante dans le monde
de la gestion des données, offrant aux développeurs et aux administrateurs de bases
de données un ensemble robuste d'outils pour interagir avec les systèmes de gestion
de bases de données relationnelles (SGBDR).
Au-delà de sa fonctionnalité de base, SQL offre une grande flexibilité pour manipuler
et interroger les données. Les requêtes SQL permettent d'effectuer une variété
d'opérations complexes, telles que l'agrégation, le filtrage, la jointure et la
modification des données, offrant ainsi un contrôle précis sur la manière dont les
données sont récupérées et manipulées.
De plus, SQL offre des fonctionnalités avancées telles que les transactions, les
contraintes d'intégrité, les procédures stockées et les déclencheurs, qui permettent
de garantir la cohérence et la sécurité des données au sein d'une base de données.
L'importance de SQL dans le domaine de la gestion des données est indéniable, car il
est largement utilisé dans une multitude d'applications et de systèmes, des petites
applications web aux grandes entreprises. Sa syntaxe claire et standardisée en fait un
langage universellement compris et utilisé par les professionnels de la gestion des
données à travers le monde.
Dans notre projet, l'utilisation de SQL a été essentielle pour interagir avec la base de
données et manipuler les données stockées. En exploitant les fonctionnalités
puissantes de SQL, nous avons pu concevoir et mettre en œuvre des fonctionnalités
robustes pour notre application, offrant ainsi une expérience utilisateur riche et
personnalisée.
33
En résumé, SQL est bien plus qu'un simple langage de requête ; c'est un pilier
fondamental de la gestion des données, offrant aux développeurs un ensemble
complet d'outils pour gérer et manipuler efficacement les données stockées dans les
bases de données relationnelles. Son rôle central dans notre projet a été
déterminant pour le succès de notre application, en fournissant les fondations
solides sur lesquelles construire et développer nos fonctionnalités de gestion des
données.
3. Interfaces graphiques
3.1. Interfaces de professeurs
3.1.1. Authentification
Pour simplifier le processus d'authentification, nous avons pris la décision de
développer une unique page d'identification qui servira aussi bien pour les
administrateurs que pour les professeurs. Cela permettra à tous les utilisateurs
autorisés d'accéder à leurs comptes en utilisant la même interface, simplifiant ainsi
la gestion des identifications et offrant une expérience utilisateur homogène.
34
Le tableau de bord a été conçu pour fournir aux enseignants une vue d'ensemble claire et
concise de la structure de l'établissement. En un coup d'œil, les enseignants peuvent
visualiser le nombre de départements disponibles ainsi que les filières proposées dans
chaque département. Cette présentation détaillée des spécialisations offertes permet aux
enseignants de mieux comprendre la diversité des programmes d'études proposés par
l'établissement, ce qui les aide à orienter et conseiller efficacement les étudiants.
35
Cette fonctionnalité permet aux professeurs d'avoir une vision d'ensemble
complète de leur planning, ce qui facilite grandement la gestion de leur emploi du
temps. Ils peuvent ainsi anticiper leurs cours, préparer leurs activités
pédagogiques et organiser leurs déplacements en fonction des lieux de leurs
enseignements. De plus, la disponibilité de cette information en ligne garantit aux
professeurs un accès rapide et facile à leur emploi du temps, que ce soit depuis
leur ordinateur, leur tablette ou leur téléphone portable.
36
3.2.1. Authentification
Pour accéder à ses privilèges en tant qu'administrateur, l'utilisateur doit fournir son adresse
e-mail ainsi que son mot de passe dans l'interface de connexion dédiée. Cette étape est
essentielle pour authentifier l'identité de l'administrateur et garantir un accès sécurisé aux
fonctionnalités et aux données sensibles qui lui sont réservées.
Une fois que l'adresse e-mail et le mot de passe ont été soumis, ils sont vérifiés par le
système pour s'assurer de leur validité. Cette vérification permet de confirmer que
l'utilisateur est bien autorisé à accéder aux privilèges et aux droits associés à son compte
d'administration.
Une fois l'authentification réussie, l'administrateur est autorisé à utiliser les fonctionnalités
avancées et à accéder aux données confidentielles nécessaires à l'exercice de ses
responsabilités. Ces privilèges peuvent inclure la gestion des utilisateurs, la modification des
paramètres système, la consultation de rapports spécifiques, et bien plus encore.
38
3.2.4. Lister professeurs
Pour que l'administrateur puisse consulter la liste des professeurs, il doit d'abord sélectionner
le département. Ensuite, il peut accéder aux informations détaillées des professeurs, telles
que leurs noms, prénoms, numéros d'identification, etc. De plus, l'administrateur a la
possibilité de télécharger la liste des professeurs au format Excel, ce qui facilite la gestion et
l'utilisation des données. Cette fonctionnalité offre à l'administrateur une vue complète et
organisée des professeurs appartenant à un département spécifique et lui permet de
manipuler les données selon ses besoins. Il a aussi la possibilité de rechercher un professeur
en utilisant la CIN, le nom ou le prénom comme critères de recherche. Cette fonctionnalité de
recherche permet à l'administrateur de trouver rapidement un professeur spécifique dans la
liste, en filtrant les résultats en fonction des critères saisis.
39
3.2.5. Générer l’emploi du temps
Dans cette fonctionnalité, l'administrateur bénéficie d'une approche simplifiée pour élaborer
l'emploi du temps, il suffit d’uploader un fichier Excel. Ce fichier contient toutes les
informations cruciales, telles que les cours programmés, les professeurs assignés à chaque
cours, ainsi que les salles dédiées à ces enseignements. Une fois le fichier Excel chargé, le
système se charge automatiquement de générer l'emploi du temps pour l'ensemble du corps
enseignant. Cette automatisation non seulement accroît l'efficacité en éliminant le besoin
fastidieux de création manuelle des emplois du temps, mais garantit également une
distribution équilibrée des cours et des ressources, optimisant ainsi l'utilisation des salles de
cours disponibles.
40
4. Conclusion
41
Conclusion générale
En conclusion, notre projet de gestion de scolarité pour l'École Nationale des Arts et Métiers
de Rabat (ENSAM) a été mené à bien avec succès. Nous avons conçu et développé une
application complète répondant aux besoins spécifiques de cette institution renommée.
Notre démarche a débuté par une analyse minutieuse de l'existant, permettant ainsi d'avoir
une vue d'ensemble sur les processus de gestion en vigueur à l'ENSAM. Cette étape a été
essentielle pour définir la problématique à résoudre et choisir l'architecture appropriée pour
notre système.
Grâce à une analyse approfondie des besoins des différents utilisateurs, notamment les
professeurs et les administrateurs, nous avons conçu une interface conviviale et intuitive qui
leur permet d'accéder facilement aux fonctionnalités nécessaires à leur travail. La gestion des
notes, des cours, des convocations, de l'emploi du temps, des jours fériés, de la liste des
étudiants et des descriptifs des filières sont autant de fonctionnalités disponibles pour les
professeurs. Les administrateurs, quant à eux, disposent de fonctionnalités supplémentaires
telles que la gestion des listes d'étudiants, l'ajout ou la suppression de départements et de
filières, la gestion des convocations des examens finaux, l'ajout des jours fériés,
l'établissement de l'emploi du temps et la possibilité de verrouiller ou déverrouiller l'accès des
professeurs à la modification des notes des étudiants.
Ce projet a été une opportunité précieuse pour mettre en pratique nos connaissances en
matière de développement d'applications. Nous avons utilisé des outils et des technologies
modernes pour réaliser cette application, en veillant à respecter les normes de qualité et de
sécurité requises.
En conclusion, notre projet de gestion de scolarité pour l'ENSAM est une réalisation
significative qui simplifie et améliore les processus de gestion au sein de cette institution. Il
permet aux professeurs et aux administrateurs de gagner du temps, d'optimiser leurs tâches
administratives et d'améliorer l'efficacité globale de la gestion de la scolarité. Ce projet
constitue une étape importante dans notre parcours académique et professionnel, nous
permettant d'acquérir des compétences essentielles et de contribuer à l'amélioration
continue de l'ENSAM.
42