DEPT. INFORMATIQUE
Projet de Stage
Application web pour la gestion d’école :
gestion des étudiants
Effectué à :
ByteLance
El Hannati Maryam
1
2
Dédicace
Nous aimerons dédier ce travail à nos
chers parents, qui ont sacrifié tous leurs
biens pour nous combler.
3
Remerciement
Nous remercions Dieu de nous avoir accordés des connaissances
de la science.
Notre premier remerciement est à Monsieur le directeur de
MarocLance notre organisme accueillante AbdelAhad Satour
pour l’organisation de ce stage, sa coopération et pour tous ses
conseils.
Nous tenons a remercié également Mlle Nada bouatou notre
encadrante, qui grâce à sa disponibilité, son effort fourni, son
suivi, son encouragement et ses conseils a contribué à la
réalisation effective de notre projet.
Pour la même occasion nous remercions également notre
formatrice Mme .Asmae Idalen pour sa patience, sa amabilité
et les informations qu’ils nous a octroyé afin que ce projet se
réalise.
Enfin Nous remercions toutes les personnes qui ont contribué de
près ou de loin à la réalisation de ce projet, et dont les noms ne
figurent pas dans ce rapport.
4
Sommaire :
Introduction Générale ............................................................................................................................................... 5
5
e. Notification .............................................................................................................................. 37
f. Attestation ................................................................................................................................. 38
g. Calendrier ................................................................................................................................ 38
Conclusion ............................................................................................................................................ 38
Conclusion générale ............................................................................................................................ 39
Webographie ........................................................................................................................................ 40
6
Introduction Général :
Cette introduction fera l’objet d’une brève présentation de l’application que nous
allons concevoir et réaliser, des outils et des méthodes choisis, suivi du plan général du
processus de développement.
Notre tâche consiste à réaliser la gestion des étudiants. Bien que l’application semble un
peu classique, nous ferons face à plusieurs difficultés surtout que les outils d’implémentation
Le projet a été découpé en deux parties selon les membres d’équipes de travail. La
première s’est chargée de gérer le profil de l’utilisateur, des notifications, la deuxième est
réussite.
7
Chapitre I: Contexte général du projet
Ce chapitre comporte trois sections. Nous allons parler dans un premier temps sur le e-
Learning pour la gestion scolaire. Puis nous allons définir la problématique du projet.
Finalement la description de cahier de besoin.
intranet, extranet…
Le e-Learning désigne les outils, les applications et l’ensemble des contenus mis à disposition
dans le but d’une formation pédagogique. Longtemps réduites à des supports cd-rom, le e-
que l’on pourrait penser, la formation en ligne n’est pas synonyme d’isolement. Cette
souhaite et quand il le désire. Il apprend sans se déplacer. Le suivi de la formation est facilité,
Les coûts de formation sont réduis : pas de frais de déplacement, pas de perte de temps ni de
frais d’hébergement. Le coût de la solution e-Learning est aussi inférieur au coût horaire
8
Toutes les formations en e-Learning doivent s’adapter au niveau, au milieu de l’apprenant et
2- Organisme d’accueil
Afin de mettre en pratique nos connaissance en java/jee , ByteLance nous a donnè
l’opportunitè d’effectuer un stage au sein de leur entreprise .
BYTELANCE accentue ses principales missions sur l’axe informatique à tous niveaux, un
professionnalisme et efficacité ont pu s’étendre pour couvrir une infinité de solutions dont
les clients avaient recours, il s’agit du développement web et conception, référencement
naturel, application web et mobile,……
Actuellement, le développement avec toutes ses composantes forme l’identité de leur équipe,
qui a pu tracer et transmettre la qualité de leur experts au marché, sur lequel ils ont fondu
place parmi les leaders
9
Figure 2 : ByteLance
3-Problématique :
Notre application Web permet aux parents, élèves, enseignants et personnels administratifs
d’éditer, consulter, imprimer et modifier toutes les informations d’un établissement scolaire
en ligne à travers Internet.
L’application est un site web qui permet de présenter l’école, ses activités, ses formations et
de gérer ses actualités et ses événements.
10
4-Cahier de Besoin
Notre application web est en JEE permettant la gestion d’une école
Ce projet contient de différentes parties, La Partie qui nous a été affecté pour la réalisation
de notre application web concerne l’espace étudiant.
La 2éme étape : l'analyse et la conception du projet est la partie la plus importante ou on doit
vraiment coder et bien évidement tester vers la fin.
Analyse du projet :
Conception du Projet :
11
Chapitre II : Analyse du projet
La partie conception permet de mettre en place l’architecture du logiciel et définie les
interfaces entre les différents modules. Le but étant d’exposer une documentation complète
sur les différentes architectures de chaque module qui sera implémentée et testé au niveau
de la partie développement, de ce faite la conception me permettra de relevée les différentes
contraintes auxquels chaque architecture doit respecter et de spécifier les normes de
communication entre eux.
1-Déroulement du projet :
Pour chaque Problème complexe est résolue par son découpage en plusieurs sous
problèmes dont la résolution sera plus facile. De même, un projet est généralement découpé
en Partie.
12
Pour avoir un bon résultat, Nous avons tracé un chemin afin de réussir le projet.
♦ La première étape :
♦ LA deuxième étape :
2-Planification du projet
Cette partie consiste à déterminer et à ordonnancer les tâches du projet, à estimer les
charges et à déterminer les profils nécessaires à leur réalisation.
nous allons voir la manière dont nous avons ordonné les différentes parties du
développement.
La première partie est l’étude des besoins et définir les fonctionnalités du site.
La deuxième partie était de créer la première page d’authentification.
La troisième partie est de créer les fichiers qui teste la validation du login et du mot de
La quatrième partie est d’implémenter la page d’accueil
Finalement, la cinquième partie consiste à créer le menu de la page.
13
3- Analyse des besoins
L’objectifs de ce projet et de créer un site permet la gestion d’une école dont on est
intéressé exactement par informatiser l’espace étudiant .
14
Chapitre 3 : Analyse et Conception
On commence notre conception par le diagramme des cas d’utilisation afin de fournir une
description sur le fonctionnement général du système.
a. Identification des acteurs :
L’acteur principal dans notre application est l’étudiant :
- Chaque étudiant « User » est identifié par son code.
b. Identification des cas d’utilisation :
S’authentifier avec son email et son mot de passe.
Accéder et modifier son profile et.
Consulter son niveau.
Consulter la liste des cours et les noms des enseignants.
Consulter le plan des exams.
Consulter ses notes dans un exam.
Consulter le calendrier.
15
Figure 4 : Diagramme de cas d'utilisation
3- Diagrammes de séquence :
Il permet de décrire les scénarios de chaque cas d'utilisation en mettant l'accent sur la
chronologie des opérations en interaction avec les objets. Un diagramme de séquence
montre une interaction présentée en séquence dans le temps. En particulier, il montre aussi
les objets qui participent à l'interaction par leur "ligne de vie" et les messages qu'ils
échangent présentés en séquence dans le temps. Voici quelques notions de base du
diagramme :
Scénario : une liste d'actions qui décrivent une interaction entre un acteur et le
système.
Interaction : un comportement qui comprend un ensemble de messages échangés par
un ensemble d'objets dans un certain contexte pour accomplir une certaine tâche.
Message : Un message représente une communication unidirectionnelle entre objets
qui transporte de l'information avec l’intention de déclencher une réaction chez le
récepteur.
16
a. L’authentification
17
b. Consulter et modifier le profile :
- L’acteur principal: L’étudiant, le système.
- Objectifs : Ce cas d’utilisation est effectué quand l’étudiant choisie de voir son profile.
Scénario principal :
- Le système affiche le profil de l’étudiant et lui offre l’option de modifier ses informations.
18
C. Consulter son niveau scolaire et sa filière :
L’acteur principal : L’étudiant, le système.
Scénario principal :
19
d. Demander son Attestation de réussite :
L’acteur principal : L’étudiant, le système.
Scénario principal :
20
e. Demander le calendrier :
L’acteur principal : L’étudiant, le système.
Scénario principal :
21
f. Afficher les notifications :
L’acteur principal : L’étudiant, le système.
Scénario principal :
22
Ce modèle nous permet d’avoir une vue statique de l’application .il nous montre les relations
entre les différentes classes et packages composant notre application.il nous même
vers la solution finale ; a partir de ce diagramme on trouve le corps des différentes classes
de notre projet.
23
Conclusion du chapitre:
Dans ce chapitre, qui commence par la conception générale , le langage de modélisation
choisie qui est l’UML, et en dernier lieu la conception détaillée, dont on a exposer les
différents cas d’utilisation, les diagrammes de séquences, le diagramme de classe.
24
Chapitre IV : outils technologique
Dans le cadre de Notre Stage, Notre Encadrant au sein de ByteLAnce nous a proposée de
concevoir et réaliser une application web en utilisant la technologie JEE.
Dans la mesure où J2EE s'appuie entièrement sur le Java, il bénéficie des avantages et
inconvénients de ce langage, en particulier une bonne portabilité et une maintenance du
code.
Qu'un système reposant sur J2EE peut posséder des mécanismes de haute
disponibilité, afin de garantir une bonne qualité de service.
Que la maintenance des applications est facile.
25
2. L’architecture MVC
Le modèle-vue-contrôleur MVC est un modèle 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.
26
3. Le framework JSF :
JSF, alias "Java Server Faces" est un framework de type MVC, destiné aux applications
web respectant l'architecture J2EE.
Le principal atout de JSF est qu’il tient compte des différentes expériences acquises non
seulement avec des technologies de type standard comme les Servlets, les JSP,… mais
aussi avec les technologies de type framework comme Struts. Dès lors, JSF propose un
framework qui puisse être mis en oeuvre par des outils facilitant le développement
d’applications web. Rien n’empêche cependant que JSF puisse être utilisé par codage à la
volée, néanmoins, l’utilisation d’un outil approprié est vivement recommandé afin
d’exploiter rapidement les possibilités de JSF.
JSF permet :
27
Il existe plusieurs frameworks webs Java dédiés au développement d'interfaces
utilisateur mais aucun n'est un standard et va aussi loin que JSF.
4. Les PrimeFaces :
PrimeFaces est une bibliothèque développée de composants graphiques par la
société Prime Teknoloji qui a pour rôle de gagner en productivité et efficacité. Cela
évite de réinventer la roue.
L’intérêt principal de PrimeFaces réside dans la diversité et la qualité des composants
proposés. Ils sont nombreux, plus de 100, et répondent le plus souvent en
standard aux besoins des applications. Ce sont des composants graphiques
avancés qui possèdent des fonctionnalités prêtes à l’emploi, aidant ainsi à créer
aisément des RIA (Rich Internet Application). L’ensemble des composants est présenté
dans une page de démonstration, avec le code (à la fois xhtml et Java).
Il existe 13 catégories de composants :
- Ajax Core : les fonctionnalités ajax de PrimeFaces
- Input : De composant d’entrée utilisateur
- Button : Remplacement des boutons de JSF
- Data : Présentation des données
- Panel : Mise en page
- Overlay : Fenêtre de dialog
- Menu : Menus contextuels
- Charts : Graphiques
- Message : Messages destinés à l’utilisateur
- Multimedia : Intégration avec des images, utilisation d’une webcam,
- File : Upload et download de fichier
- DragDrop : Déplacement d’élément du DOM
- Misc : Catégorie fourre-tout (lecteur de flux rss, Captcha)
28
5. Spring :
Spring est un framework créé et supporté par l'entreprise SpringSource (qui fait
maintenant partie de VMware). Il permet de simplifier le développement
d'applications Java et est devenu un standard dans l'industrie du développement
logiciel basé sur la plateforme Java, surtout dans le développement Java EE.
Les avantages de Spring :
Le découplage des composants
Facilite les tests des applications complexes
Diminue le code par l’intégration de Framework directement dans Spring
Représente un mécanisme de sécurité
Implémente les designs pattern MVC
6.Maven
Le Maven est un outil de gestion de projet Java / Java EE, il permet de :
7. JPA
La persistance :
JPA :
JPA est un framework de persistance qui a comme avantage de manipuler plusieurs bases
de données par manager factory dans un même projet.
29
8. JDBC
L’API JDBC (Java DataBase Connectivity) permet aux applications Java d'accéder par le
biais d'une interface commune à des sources de données pour lesquelles il existe des pilotes
JDBC (ex: BDD Oracle, MySQL, …).
Il est constitué d’un ensemble de classes permettant de développer des applications capables
de se connecter à des serveurs de bases de données (SGBD).
9. Le SGBD MySQL :
MySQL est un serveur de bases de données relationnelles SQL développé afin d’avoir des
performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de
données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est
multi-thread et multi-utilisateurs.
Tomcat ne constitue qu'un conteneur web, et non un serveur Web à part entière2 : il gère
spécifiquement les servlets et lesJSP (un compilateur Jasper compilant les pages JSP pour en
faire des servlets). Il peut être également parfois désigné comme moteur de servlet, ou plus
abusivement comme un serveur Web.
Tomcat est en réalité souvent employé en combinaison avec un serveur Web Apache ou
d'autres serveurs Web (JBoss, IIS, WebSphere, etc).
Tomcat a été écrit en langage Java. Il peut donc s'exécuter via la machine virtuelle Java sur
n'importe quel système d'exploitation la supportant.
30
Conclusion :
Dans ce chapitre on a définit les outils informatiques utilisés ainsi que les technologies de
travail de notre application.
31
Chapitre V : Réalisation
I. Environnement de travail :
Eclipse :
Implémentation :
32
Vue de la Partie Domaine :
33
Vue de la Partie Travail :
34
Vue de la Partie Web:
35
a. Authentification
La première interface est la page d’authenfication qui demande à l’utilisateur d’entrer son
email et son mot de passe.
b. Accueil
Après la vérification des informations entrée par l’étudiant, le système affiche la page
d’accueil .
36
c. Affichage des notifications :
- L’affichage des notifications:
d. Profil
Afin de consulter son Profil :
37
e. Niveau :
Cette Interface permet à l’étudiant de connaitre son groupe et sa filière :
f. Attestation de réussite:
38
g. Calendrier :
39
Conclusion et perspectives :
Notre projet a consisté en la conception, le développement et l’intégration d’une application
de gestion d’école : Gestion espace étudiant, afin d’apporter une valeur ajoutée et un
meilleur service aux étudiants. Nous avons arrivé à développer la majorité des
fonctionnalités du système.
Ce stage a été pour Nous, l’occasion d’une part d’approfondir mes connaissances
théoriques, acquises durant les 3 mois de formation, par la pratique des nouvelles
technologies.
Cette expérience nous a permis de maîtriser des différents langages de programmation et les
Framework de présentations ainsi que les différent API de persistance, de génération des
rapports, d’assurer un environnement sécurisé en prédéfinis auparavant les divers privilèges
et les droits d’accès.
L‘environnement de développement JEE, sous lequel, le développement n’a pas été une tâche
facile, mais nous n’avons pas hésité à y participer, et intégrer dans la recherche et
l’apprentissage des différents outils logiciels nécessaires à la réalisation.
Cette opportunité a aussi été pour nous une occasion unique pour épanouir mes capacités
de communication dans un environnement professionnel. C’est une expérience très
enrichissante sur tous les domaines.
40
Webographie :
41