Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Introduction générale.............................................................................................................................4
CHAPITRE 1 :...........................................................................................................................................6
CONTEXE GENERAL.................................................................................................................................6
1.1. Introduction............................................................................................................................6
1.2. Présentation de l’entreprise...................................................................................................6
1.3. Etude préalable de projet.......................................................................................................7
1.3.1. Description de l’existant.................................................................................................7
1.3.2. Solutions proposées........................................................................................................7
CHAPITRE 2 :...........................................................................................................................................8
ANALYSE ET SPECIFICATION DE BESOIN.................................................................................................8
2.1. Introduction............................................................................................................................8
2.2. Identification des acteurs.......................................................................................................8
2.3. Spécification des besoins........................................................................................................9
2.3.1. Les besoins fonctionnels.................................................................................................9
2.3.2. Les besoins non fonctionnels........................................................................................10
2.4. Méthodologie de conception :..............................................................................................10
2.5. Diagramme de Cas d’utilisation............................................................................................12
2.5.1. Définition......................................................................................................................12
2.6. Conclusion :..........................................................................................................................18
CHAPITRE 3 :.........................................................................................................................................18
CONCEPTION........................................................................................................................................18
3.1. Introduction..........................................................................................................................19
3.2. Conception de système........................................................................................................19
3.2.1. Vue statique : diagramme de classes............................................................................19
3.2.2. Vue dynamique : diagramme de séquence...................................................................20
3.3. Conclusion :..........................................................................................................................26
CHAPITRE 4 :.........................................................................................................................................27
IMPLEMENTATION...............................................................................................................................27
4.1. Introduction :........................................................................................................................27
4.2. Environnement de travail et architecture utilisé :................................................................27
4.2.1. Le logiciel de base :.......................................................................................................27
4.2.2. Choix technologique...................................................................................................29
4.2.3. Choix du langage TypeScript.....................................................................................30
1
4.2.4. Architecture utilisée.....................................................................................................30
4.2.5. Notion de service web..................................................................................................31
4.3. Quelques interfaces..............................................................................................................33
4.3.1. Partie Public..................................................................................................................33
4.4. Conclusion............................................................................................................................36
2
Liste des figures
3
Introduction générale
Face à l’évolution d’internet et ses services, l’université tunisienne fait face à de nouveaux
défis auxquels il lui appartient de répondre. Le site web universitaire devient le principal canal
de communication à travers lequel on pourra la juger et ceci via le contenu des sites. De nos
jours, la qualité des études et les diplômes ne sont pas les seuls moyens pour bien placer
l’université mais aussi le coté communication (site web, réseaux sociaux …) et surtout offrir
une formation pour les étudiants qui soit bien étudiée afin de répondre aux exigences du
marché de l’emploi. Vu que le coté communication est manquante, la tâche qui m’a été
confiée pour le projet de mastère est la création d’un nouveau site web pour la faculté des
sciences de Monastir (FSM) destinés pour ceux qui sont inscrit au Master et Les Doctorants
de ce département. Outre son rôle de présentation du département, ce site offrira un ensemble
de services à la communauté universitaire dont :
+ L'accès au forum.
4
Dans le premier chapitre : Cadre Général on présente le cadre du stage de PFA à savoir
l’organisme de la faculté des sciences de Monastir ainsi que le sujet sur lequel portera le PFA
et la méthodologie de travail adoptée.
Le seconde chapitre : Analyse et spécification des besoins sert à identifier et définir les
acteurs, les besoins fonctionnels et non fonctionnels ainsi que les différents cas d'utilisations
développés.
Le troisième chapitre : Conception est consacré à la conception du projet du point de vue
statique et dynamique permet de faire d’une maniéré détaillée des cas d’utilisation, les
diagrammes de séquence, ainsi que le diagramme de classe complet.
Le dernier chapitre : Réalisation décrit la mise en œuvre du site en décrivant les différents
services.
Ce rapport est clôturé avec une conclusion générale qui résume tout le travail effectué durant
ce stage et présente les perspectives envisagées.
5
CHAPITRE 1 :
CONTEXE GENERAL
1.1. Introduction
Introduction Aujourd'hui, l'informatique a atteint une prodigieuse évolution technologique
dans différents domaines (réseaux informatiques, bases de données, Web, etc.). Cette
évolution est nécessaire pour remédier aux problèmes rencontrés dans la vie actuelle. Le but
de notre projet est d’avoir passé stage de fin d’année, nous étions accueillis par la faculté des
sciences des Monastir « FSM » qui nous a proposé de créer une plateforme web pour le
partage des données entre les enseignants et étudiants.
6
1.3. Etude préalable de projet
1.3.1. Description de l’existant
Cette partie est le socle pour bien comprendre le système actuel utilisé au sein de la faculté
des sciences de Monastir et préciser ses objectifs. Cette faculté utilise actuellement un site
web de gestion des étudiants inscrit au sein de cette faculté affichage de leurs notes,
affichage des actualités, espace intranet dédié aux étudiants, ainsi l’affichage des
manifestations, aussi des détails à propos la faculté et la formations en s’appuyant sur les
différents départements. Le problème ici c’est le manque de communication entre les
différents membres de site web et le manque de partage des informations entre eux.
7
CHAPITRE 2 :
ANALYSE ET SPECIFICATION DE BESOIN
2.1. Introduction
Dans ce chapitre, nous nous intéressons aux fonctionnalités des utilisateurs du site web dans
le but de spécifier clairement les besoins à satisfaire. Nous identifions, dans un premier
temps, les acteurs de notre projet, ensuite nous présentons les besoins fonctionnels ainsi que
les besoins non fonctionnels auxquels doit répondre notre projet.
Nous présentons par la suite les diagrammes de cas d'utilisation nécessaires pour représenter
les besoins d'une manière formelle.
L’admin : C'est une personne qui a un accès à toutes les fonctions de ce site web. Il a le
droit d’accepter un s-utilisateur de partager une publication, accepter une publication avant
qu’elle soit afficher sur le site, aussi d’ajouter des manifestations, des actualités, des mises à
jour et des albums photo. Il a aussi un profil personnel, des informations, aussi il peut
contacter les différents membres de site web.
S-utilisateur : c'est une personne qui peut être soit un étudiant soit un enseignant. Il
possède un profil d’utilisateur avec des informations personnelles, il peut gérer son profil
aussi il peut consulter les manifestations les actualités, comme il peut contacter les membres
et les admins et il peut partager des publications.
Super Admin : c'est la personne qui a tous les privilèges il a l’autorité d’ajouter,
supprimer les admins aussi les S-utilisateurs inscrits, supprimer les publications. Cette
8
gestion est assurée à l'aide d'une interface en back office, qui n'est accessible que pour le
super admin.
S-utilisateur est la première catégorie d'acteurs pour notre système, cet acteur peut :
S’inscrire au site.
9
Ajouter des manifestations.
Ajouter des actualités.
Ajouter des mises à jour.
Ajouter un album photo.
Le super administrateur du plateforme web est la troisième catégorie des acteurs. Cet
utilisateur peut :
10
2.4. Méthodologie de conception :
Pour notre projet nous avons choisi UML comme outil de conception (Unified Modeling
Langage). Ce langage de modélisation des systèmes, qui utilise des diagrammes pour
représenter chaque aspect d'un système : statique, dynamique en s'appuyant sur la notion
d'orienté objet qui est un véritable atout pour ce langage [1].
Notion d’UML :
Figure 2: UML
Gain de précision
11
Encourage l’utilisation d’outils
Gage de stabilité
UML n’est pas à l'origine des concepts objets, mais en constitue une étape majeure,
car il unifie les différentes approches et en donne une définition plus formelle.
Le processus (non couvert par UML) est une autre clé de la réussite d'un projet. Or,
l'intégration d'UML dans un processus n'est pas triviale et améliorer un processus est une
tâche complexe et longue.
12
directement avec le système étudié.
Le modèle de cas d’utilisation générale est représenté dans la figure qui va suivre :
13
Consulter site
Accepter
<<include>>
publication.
<<include>>
Gérer s
utlisateur <<include>> S'authentifier
Admin
<<include>>
Gérer site
Utilisateur
Admin
Contacter
S admin S'authentifier
<<include>>
Partager
publication.
<<include>>
Gérer <<include>> S'authetifier S-
admins utilisateur
<<include>>
Supprimer
S-utilisateur
Contacter
<<include>> membre
S'inscrire
notre site web afin de pouvoir gérer et contrôler les différents cas
14
Modifier Mise
Modifier Ajouter Mise à jour
Supprimer <<extend>> actualité à jour
actualité
Supprimer Mise
<<extend>> à jour
Ajouter <<extend>>
actualité <<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
S'authenfier
admin
<<extend>> <<include>>
Gérer site Consulter
manifistation
Admin
<<extend>> <<extend>>
<<extend>>
<<extend>>
Consulter album
<<extend>> <<include>>
<<extend>>
<<extend>>
Supprimer
Ajouter photo Modifier
photo
photo
Le diagramme de cas d'utilisation gérer site est représenté par la figure 2.2. Ce diagramme
représente un raffinement du cas d'utilisation gérer site.
15
Raffinement de cas d’utilisation « S’authentifier admin » :
Saisir mot de
<<include>> passe
S'authentifier
Admin
Admin
Saisir email
<<include>>
Ce dernier commence par saisir son nom d’utilisateur et mot de passe, le système
16
Raffinement de cas d’utilisation « Gérer les admin » :
Ajouter <<include>>
<<extend>> admin
Modifier
admin
<<extend>>
<<extend>>
Mettre à jours
<<include>>
Contacter
admin
<<include>>
Le diagramme de cas d'utilisation gérer admin est représenté par la figure 2.4. Ce diagramme
représente un raffinement du cas d'utilisation gérer admin.
Ajouter admin.
Supprimer admin.
Modifier admin.
Contacter admin.
Raffinement de cas d’utilisation « Gérer profil » :
17
<<include>>
Ajouter
<<extend>> informations
Supprimer
informations <<include>>
S'authentifier S
<<extend>> utlisateur
S utlisateur
<<extend>>
Consulter profil
<<include>>
Le diagramme de cas d'utilisation gérer profil est représenté par la figure 2.5. Ce diagramme
représente un raffinement du cas d'utilisation gérer admin.
Ajouter information.
Supprimer information.
Modifier information.
18
Raffinement de cas d’utilisation « Gestion S-utilisateur» :
Contacter S <<include>>
<<extend>>
utlisateur
<<extend>> Ajouter S -
utlisateur <<include>>
<<extend>> S'authentifier
Gérer S <<extend>>
Consulter liste <<include>> admin
utlisateur
Modifier S-
Admin utilisateur
<<extend>>
<<extend>>
Consulter <<include>>
profil
Mettre à jours
<<include>>
2.6. Conclusion :
Dans ce chapitre nous avons modélisé notre système en Diagramme de classe général
illustre toutes les fonctionnalités possibles faites par les différents acteurs de notre site afin
de raffiner les cas d’utilisation pour clarifier les fonctions et spécifier de façon détaillée
les aspects fonctionnels de notre système et prendre une réflexion sur les mécanismes
internes de notre système.
CHAPITRE 3 :
CONCEPTION
19
3.1. Introduction
La conception est une phase primordiale pour développer tout système d'informations.
Cette phase nécessite des méthodes permettant de mettre en place un modèle sur lequel
s'appuie la phase de réalisation.
20
Un S-utilisateur peut aussi déposer une ou plusieurs publications.
Un S-utilisateur peut contacter les autres membres et l’admin par un message
contact.
Un admin peut contacter les autres membres et admin par un message contact.
Album Publication
- id : int - id : int Commentaire
- titre : String - titre : String 1..1 - id : int
1..1 - path : String - image : String
0..* - date : Date
- fichier : String
- description : String
- date : Date
1..* - nbJaime : int
0..*
Photo 0..*
- id : int 0..*
- path : int
1..1
- id : int
- titre : String
- date : Date 1..1
- description : String
- image : String 0..*
Message_contact
0..*
- id : int
0..* 0..* - date_création : Date
- sujet : String
Actualité Mise à jour - contenu_msg : String
- id : int - id : int
- titre : String - titre : String
- date : Date - date : Date
- description : String - description : String
- image : String - image : String
21
des messages. Le diagramme de séquence énumère des objets horizontalement, et le temps
verticalement. Il modélise l'exécution des différents messages en fonction du temps [3].
Inscription
S utlisateur
1:Remplir formulaire
2:Vérifier saisie
3:Valider
4:Verifier email
Erreur
Pour s’inscrire, l’utilisateur (étudiant, enseignant) doit saisir son E-mail et son mot de passe, le
système vérifie l’email si l’utilisateur est déjà inscrit, s’il n’est pas inscrit il lui affiche son interface
de travail, si non un message d’erreur est affiché.
Pré condition :
Scénario normale :
22
6.Sinon un message d’erreur s’affichera.
Pour s’authentifier, l’acteur (admin, étudiant, enseignant) doit être déjà inscrit sur notre plateforme, le
système vérifie le saisie puis il doit vérifier l’exitance de son email, si oui il lui affiche son interface
de travail, si non un message d’erreur est affiché.
Post condition :
Pré condition :
23
L’opération d’authentification doit être affichée.
Scénario normale :
9 :Verfier l’email.
Sinon :
13 :verfier l’email.
24
15 : Retourner email ou mot de passe érroné vers l
’interface.
Ajouter S-utilisateur
Admin
1:Remplir formulaire
2:Vérifier saisie
3:Validation
4:Vérification de l'existance
5:Réessayer remplir
6:Ajouter S-utilisateur
25
Figure 13: Diagramme de séquence « Ajouter S-utilisateur ».
Une fois le l’admin est authentifié et il choisit d’ajouter ou bien d’accepter les utilisateur inscrit dans
la plateforme. L’admin remplit le formulaire, le système vérifie si les informations sont validées, si
oui l'enregistrer pour l’ajouter dans la liste des S-utilisateur.
Post condition :
Pré condition :
Scénario normale :
26
3.2.1.3. Diagramme de séquence du cas
d’utilisation « Supprimer un S-utilisateur »
Supprimer S utlisateur
S admin
3:Requête de suppression
4:S utlisateur supprimé
5:Mise à jour
Cette tâche est accessible seulement par le S-admin et non pas par tous les admins. Le S-admin choisit
le S-utilisateur à supprimer, le système de bd gère une requête de suppression afin de supprimer le S-
utilisateur, une mise à jour sera déclenchée au niveau d’interface liste S-utilisateur.
Post condition :
Pré condition :
.Scénario normale :
27
3 : Une rêquete de suppression est gèré par la bd.
3.3. Conclusion :
Dans ce chapitre nous avons présenté la phase de conception de notre
plateforme. Nous avons modélisé notre projet en utilisant la méthode UML en
élaborant le diagramme de classes statique et les diagrammes de séquences.
Toutes ces taches vont être traduites sur des
CHAPITRE 4 :
IMPLEMENTATION
4.1. Introduction :
Après avoir spécifié les traitements ainsi que les données, nous présentons au niveau de ce chapitre
des aspects relatifs à l’implémentation de la solution proposée. Dans ce cadre, nous justifions notre
choix du langage de programmation et les outils de développement. Ensuite, nous proposons quelques
interfaces graphiques de notre projet.
28
4.2. Environnement de travail et architecture utilisé :
1.1.1. Le logiciel de base :
4.2.1.1. Environnement de conception
Nous avons utilisé comme outil de conception et de modélisation UML le logiciel Sybase Power qui
nous permet de modéliser tous les diagrammes de notre projet.
Power AMC
Power AMC est un logiciel de conception créé par la société SDP, qui permet de modéliser les
traitements informatiques et leurs bases de données associées. Créé par SDP sous le nom
AMC*Designer, racheté par Power soft, ce logiciel est produit par Sybase depuis le rachat par cet
éditeur en 1995. Hors de France, la version internationale est commercialisée par Sybase sous la
marque Power Designer. [4].
WebStorm :
29
4.2.1.2. Système de gestion de base de données
WampServer :
Nous avons utilisé le langage de balise HTML pour la création des interfaces graphiques.
Langage CSS
CSS est un langage déclaratif simple pour mettre en forme des pages HTML, Il permet de préciser les
caractéristiques visuelles et sonores de présentation d'une page Web : les polices de caractères, les
marges et bordures, les couleurs, le positionnement des différents éléments, etc.
Langage JavaScript
JavaScript est un langage informatique utilisé sur les pages web. Ce langage à la particularité de
s'activer sur le poste client, en d'autres mots c'est votre ordinateur qui va recevoir le code et qui devra
l'exécuter. C'est en opposition à d'autres langages qui sont activé côté serveur.
Bootstrap4
30
4.2.2. Choix technologique
4.2.2.1. Frontend :
Angular
4.2.2.2. Backend :
Nodejs :
31
Elle utilise la machine virtuelle V8, la librairie libuv pour sa boucle d'évènements, et
implémente sous licence MIT les spécifications CommonJS.
Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de serveur
HTTP. Il est donc possible de se passer de serveurs web tels que Nginx ou Apache lors du
déploiement de sites et d'applications web développés avec Node.js.
32
Un contrôleur : Le contrôleur prend en charge la gestion des événements de synchronisation
pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de la vue
et enclenche les actions à effectuer. Si une action nécessite un changement des données, le
contrôleur demande la modification des données au modèle afin que les données affichées se
mettent à jour.
33
4.3. Quelques interfaces
1.1.1. Partie Public
Interface « accueil »
34
Figure 22: Interface « accueil ».
Lors de lancement de notre plateforme web, une interface s’affiche qui contient l’espace personnel
,les derniers mise à jour , les actualités et les manifestations.
Tous acteur peut faire une inscription dans notre plateforme web afin d’être accepté par le super
admin ou l’admin , une interface s’affiche qui contient quelques renseignements a remplir.
35
Interface « S’authentifier Admin »
La figure suivante présente l’interface « S’authentifier Admin » :
Une interface s’authentifier admin s’affiche dés qu’un admin déjà ajouté par le S-admin veut
s’authentifier, en saisie son email et son password.
36
Interface «Ajouter actualité »
Une parmi les tâches d’un admin est d’ajouter une actualité. Cette interface a pour objectif de définir
une actualité à ajouter.
37
4.4. Conclusion
Dans ce chapitre nous avons exposé les différents outils de développement de notre application ainsi
que quelques interfaces qui permettent de visualiser les fonctionnalités de notre plateforme web et
nous avons également réalisé la phase de test de notre projet en utilisant des données réelles.
Conclusion
Le but principal pour ce projet de fin d'année est de concevoir et de réaliser une plateforme pour
partager des données entre les enseignants et leurs étudiants, qui met en contact toutes intervenants de
la plateforme, ce projet inclut une plateforme web pour les étudiants et les enseignants de la faculté
des sciences de Monastir., des manifestations et des actualités et des mise à jour et la consultation des
différents évènements. Pour la réalisation de ce projet nous avons utilisé comme Framework de
développement frontend Angular 9 et pour le backend nodejs. Notre base de données est réalisée avec
le SGBD MySQL. Ce rapport est composé de quatre chapitres : le premier chapitre est une
présentation du cadre du projet : l'entreprise au sein de laquelle ont été réalisé ce stage, la
problématique et la présentation du projet. Le second chapitre est consacré à l'analyse et la
spécification des besoins des utilisateurs, et l'étude des cas d'utilisation. Dans le troisième chapitre
nous avons présenté la conception dynamique et statique du projet. La phase de réalisation est décrite
dans le dernier chapitre qui renferme l'environnement de travail, et enfin la mise en place du projet et
les interfaces finales. Au cours de l’évolution du domaine informatique qui rajoute toujours les
solutions rapide pour tous les problèmes au cours du temps ce qui va nous pousser à améliorer cette
plateforme de point de vue contenue (augmenter le nombre des départements connecter actuelle) pour
38
inclure tous les domaines et les départements et pour quoi pas ajouter d’autre fonctionnalités aident à
faciliter la communication et le partage des données entre toutes les facultés au niveau de même
région ou même pays .
39
40