Modéle de Rapport
Modéle de Rapport
Ce présent travail s’inscrit dans le cadre de projet de fin d’étude pour l’obtention du diplôme
de la licence fondamentale en science informatique de l’Institut Supérieur d’Informatique du
Kef, ce travail est réalisé au sein de Sprint code. Le projet consiste à développer une appli-
cation Web pour la Cabinet de formation Média World Academy . Pour réaliser ce travail,
nous avons utilisé le langage de modélisation unifié UML .
Le développement de cette application est effectué à l’aide du Framework Laravel ,et comme
un langage de programmation PHP et Bootstrap, Laragon comme un serveur , et MySQL pour
la gestion de la base de données.
Mots clés : Bootstrap ,PHP, Laravel, UML
Abstract
This present work is part of the end of study project for the graduation of the fundamental
license in computer science from the Higher Institute of Computer Science of Kef, this work is
done within Sprint code. The project consists of developing a Web application for the training
firm Media World Academy. To carry out this work, we used the unified modeling language
UML.
The development of this application is carried out using the Laravel Framework, and as a
language PHP and Bootstrap programming, Laragon as a server, and MySQL for database
management.
Keywords : Bootstrap, PHP, Laravel, UML
Glossaire
JS : JavaScript
MVC : Modèle-Vue-Contrôleur
Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1 Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Présentation de l’organisme d’accueil : . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Présentation de la société : . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Equipe : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Services : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.4 Objectifs : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.5 marketing : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Cadre du projet : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Etude de l’existant : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Problématique : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.3 Solutions proposées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Démarche de développement adoptée . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1 Présentation du langage UML . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Démarche de développement adopté . . . . . . . . . . . . . . . . . . . . 6
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5
2.7.2 Diagramme de cas d’utilisation raffiné Gérer articles : . . . . . . . . . . . 27
2.7.3 Diagramme de cas d’utilisation raffiné Gérer contact : . . . . . . . . . . . 30
2.7.4 Diagramme de cas d’utilisation raffiné Consulter statistiques . . . . . . . 32
2.7.5 Diagramme de cas d’utilisation raffiné Consulter avis : . . . . . . . . . . 33
2.7.6 Diagramme de cas d’utilisation raffiné Gérer formateur . . . . . . . . . . 34
2.7.7 Diagramme de cas d’utilisation raffiné Gérer étudiants : . . . . . . . . . . 36
2.7.8 Diagramme de cas d’utilisation raffiné Gérer formation . . . . . . . . . . 38
2.7.9 Diagramme de cas d’utilisation raffiné Gérer tests . . . . . . . . . . . . . 39
2.7.10 Diagramme de cas d’utilisation raffiné Discuter . . . . . . . . . . . . . . 41
2.8 Diagramme détaillé de cas d’utilisation d’etudiant . . . . . . . . . . . . . . . . 42
2.8.1 Diagramme de cas d’utilisation raffiné Consulter formations : . . . . . . . 44
2.8.2 Diagramme de cas d’utilisation raffiné Consulter cours : . . . . . . . . . . 44
2.8.3 Diagramme de cas d’utilisation raffiné passer test : . . . . . . . . . . . . 46
2.8.4 Diagramme de cas d’utilisation raffiné Consulter liste formateur : . . . . 47
2.8.5 Diagramme de cas d’utilisation raffiné évaluer formations : . . . . . . . . 48
2.8.6 Diagramme de cas d’utilisation raffiné Consulter articles : . . . . . . . . . 48
2.8.7 Diagramme de cas d’utilisation raffiné Discuter : . . . . . . . . . . . . . . 50
2.8.8 Diagramme de cas d’utilisation Modifier profil . . . . . . . . . . . . . . . 52
2.9 Diagramme de cas d’utilisation Contacter admin . . . . . . . . . . . . . . . . . 52
2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2 Les diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1 Définition et composition . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.2 Diagramme de séquence d’authentification . . . . . . . . . . . . . . . . . 56
3.2.3 Diagramme de classe de conception S’authentifier . . . . . . . . . . . . . 57
3.2.4 Diagramme de séquence inscription étudiants . . . . . . . . . . . . . . . 57
3.2.5 Diagramme de classe de conception Inscription étudiants . . . . . . . . . 58
3.3 Diagramme de séquence Gérer formateurs : . . . . . . . . . . . . . . . . . . . . 59
3.3.1 Diagramme de séquence ajouter formateur . . . . . . . . . . . . . . . . . 59
3.3.2 Diagramme de séquence modifier formateur . . . . . . . . . . . . . . . . 61
3.3.3 Diagramme de séquence supprimer formateur . . . . . . . . . . . . . . . 62
3.3.4 Diagramme de classe de conception Gérer formateur . . . . . . . . . . . . 63
3.4 Diagramme de séquence Gérer formations : . . . . . . . . . . . . . . . . . . . . 63
3.4.1 Diagramme de séquence ajouter formation . . . . . . . . . . . . . . . . . 63
3.4.2 Diagramme de séquence modifier formation . . . . . . . . . . . . . . . . 65
3.4.3 Diagramme de séquence supprimer formation . . . . . . . . . . . . . . . 66
3.4.4 Diagramme de classe de conception Gérer formation . . . . . . . . . . . . 67
3.5 Diagramme de séquence Gérer Articles : . . . . . . . . . . . . . . . . . . . . . . 67
3.5.1 Diagramme de séquence ajouter Article . . . . . . . . . . . . . . . . . . 67
3.5.2 Diagramme de séquence modifier article . . . . . . . . . . . . . . . . . . 69
3.5.3 Diagramme de séquence supprimer article . . . . . . . . . . . . . . . . . 70
3.5.4 Diagramme de classe de conception Gérer article . . . . . . . . . . . . . . 71
3.6 Diagramme de séquence Gérer Statistiques : . . . . . . . . . . . . . . . . . . . . 71
3.6.1 Diagramme de séquence afficher statistique . . . . . . . . . . . . . . . . 71
3.7 Diagramme de séquence Gérer Cours : . . . . . . . . . . . . . . . . . . . . . . . 72
3.7.1 Diagramme de séquence ajouter cours . . . . . . . . . . . . . . . . . . . 72
3.7.2 Diagramme de séquence afficher cours . . . . . . . . . . . . . . . . . . . 74
3.7.3 Diagramme de séquence modifier cours . . . . . . . . . . . . . . . . . . . 74
6
3.7.4 Diagramme de séquence supprimer cours . . . . . . . . . . . . . . . . . . 75
3.7.5 Diagramme de classe de conception Gérer cours . . . . . . . . . . . . . . 77
3.8 Diagramme de séquence Gérer tests : . . . . . . . . . . . . . . . . . . . . . . . . 77
3.8.1 Diagramme de séquence creer test . . . . . . . . . . . . . . . . . . . . . 77
3.8.2 Diagramme de séquence creer question . . . . . . . . . . . . . . . . . . . 79
3.8.3 Diagramme de séquence supprimer test . . . . . . . . . . . . . . . . . . . 81
3.8.4 Diagramme de classe de conception Gérer tests . . . . . . . . . . . . . . 82
3.9 Diagramme de séquence Contacter admin : . . . . . . . . . . . . . . . . . . . . 83
3.9.1 Diagramme de séquence Envoyer message . . . . . . . . . . . . . . . . . 83
3.9.2 Diagramme de classe de conception Gérer contact admin . . . . . . . . . 85
3.10 Diagramme de séquence Consulter cours . . . . . . . . . . . . . . . . . . . . . . 85
3.11 Diagramme de séquence passer tests . . . . . . . . . . . . . . . . . . . . . . . . 86
3.12 Diagramme de classe métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.12.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.12.2 La composition d’un diagramme de classe . . . . . . . . . . . . . . . . . 88
3.12.3 Modéle d’entité persistant . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.13 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4 Réalisation et tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2 Architecture de développement : . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2.1 Architecture de 3 tiers : . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2.2 Architecture du modéle MVC . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3 Environnement de développement . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.1 Environnement matériel : . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.4 Implémentation de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.4.1 Présentation des exemples des interfaces . . . . . . . . . . . . . . . . . . 95
4.4.2 Les interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7
Table des figures
8
2.40 Diagramme de cas d’utilisation consulter liste formateur . . . . . . . . . . . . . 47
2.41 Interface consulter formateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.42 Diagramme de cas d’utilisation évaluer formation . . . . . . . . . . . . . . . . . 48
2.43 Diagramme de cas d’utilisation Consulter articles . . . . . . . . . . . . . . . . . 49
2.44 Interface Consulter article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.45 Diagramme de cas d’utilisation Discuter. . . . . . . . . . . . . . . . . . . . . . . 50
2.46 Diagramme de cas d’utilisation Modifier profil. . . . . . . . . . . . . . . . . . . . 52
2.47 Diagramme de cas d’utilisation Contacter admin. . . . . . . . . . . . . . . . . . 52
2.48 Interface Contacter admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9
4.10 Interface acceuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.11 Interface contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.12 Interface inscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.13 Interface authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.14 Interface paneau admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.15 Interface liste formateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.16 Interface ajouter formateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.17 Interface liste article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.18 Interface ajouter article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.19 Interface liste contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.20 Interface repondre contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.21 Interface statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.22 Interface liste formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.23 Interface ajouter formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.24 Interface liste cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.25 Interface ajouter cours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.26 Interface ajouter test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.27 Interface ajouter Question . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.28 Interface panneau utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.29 Interface acceuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.30 Interface liste formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.31 Interface formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.32 Interface Panier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.33 Interface Payement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.34 Interface liste des formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.35 Interface Discuter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.36 Interface évaluer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.37 Interface formateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.38 Interface passer test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.39 Interface Réponse test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10
Liste des tableaux
11
Chapitre 1
Présentation générale
1.1 Introduction
Dans ce présent chapitre, on va identifier le contexte général de notre projet. D’une part,
on va faire une présentation générale de l’organisme d’accueil qui consiste en une description
de l’entreprise. D’une autre part, on va présenter notre projet et spécifier les problèmes, les
objectifs et les solutions proposées.
2
Figure 1.1 – Logo Sprint Code
1.2.2 Equipe :
Nous mettons à votre disposition une équipe jeune, dynamique et créative afin de mieux
répondre à vos ambitions.
Notre équipe est composée des spécialistes du web : graphistes, analyste, développeurs, web-
marqueteurs,commerciaux, responsable projet, rédacteurs référenceur.
Toute l’équipe Sprint Code vous accueille dans le monde des nouvelles technologies.
1.2.3 Services :
Développement Web :
3
Développement des applications mobiles :
— Applications natives.
— Applications hybrides.
Sécurité Informatique
1.2.4 Objectifs :
— Objectifs à court terme :
Notre entreprise veut avoir une part de 30% du marché tunisien et 90% du marché au nord
ouest dans les 3 premières années (2019-2022) .
1.2.5 marketing :
Notre technique de marketing actuelle et le marketing direct (prospection) et le télémarketing.
Nous somme entrain de chercher de financement pour élargir notre technique actuelle et faire
une campagne de marketing digital pour atteindre nos objectifs et par conséquence élargir notre
équipe de travail.
4
1.3.2 Problématique :
C’est une phase primordiale qui se fait aprés l’étude de l’existant.Elle a pour objectif la
découverte des erreurs produites par l’utilisation manuelle à fin d’apporter les solutions conve-
nables.
— L’absance d’un site web qui peut définir le cabinet de formation.
— L’étudiant se déplace au cabinet pour s’inscrire au formation.
— L’etudiant ne peut pas être à jour avec les nouveautés de cabinet de formation.
— Absence d’un moyen pratique qui peut Faciliter le Communication entre l’administrateur
et ses étudiants.
— Étudier c’est forcément en présentiel ,il n’a pas l’option de l’éducation à distance.
Espace étudiant :
— S’inscrire.
— Contacter l’administrateur et les formateurs.
— Consulter les actualités.
— Consulter les cours.
— Passer des tests .
— Consulter les formations.
— Consulter les articles.
Espace administration :
Espace formateur :
5
— Discuter avec l’administrateur et les étudiants.
— Consulter les articles .
— Gérer les cours.
— Gérer les tests.
Vue statique :
— Diagramme de cas d’utilisation : cas d’utilisation permet de structurer les besoins des
utilisateurs et les objectifs correspondant à un systéme, il identifie les utilisateurs du
systéme (Acteurs) et leurs interactions avec le systéme, et il permet de classer les ac-
teurs et structurer les objectifs du systéme.
Vue dynamique :
6
des classes. En fini par le dressage des diagrammes de séquences pour mettre en évidence in-
teractions entre les différents objects du systéme adoptés.
Comme nous l’avons indiqué ci-dessus ,nous nous basons sur une approche de modélisation
par activités qui s’inspire du processus unifié.Ces différentes activités sont décrites ci-aprés :
Expression des besoins : L’expression des besoins comme son nom l’indique , permet de définir
les différents besoins :
Analyse :
Dans cette phase nous cherchons à bien comprendre et à décrire d’une façon précise,les be-
soins des utilisateurs ou des étudiants (l’analyse des besoins).
Conception :
Dans cette phase nous apportons plus de détails à la solution et nous cherchons à clarifier
des aspects techniques tels que l’installation des différentes parties logicielles à installer .
Implémentation :
Vise au triple objectif de raffiner le modéle de conception générer le code source et les tests
unitaires associés intégrer le travail d’implémentation des différentes équipes travaillants en
paralléle.
Test :
Ils sont continuellement mis en oeuvre pendant le processus de développement.Il doivent également
comprendre des tests de non régressions essentiels dans tout processus incrémental.
1.5 Conclusion
Dans ce premier chapitre nous avons défini le champ de notre étude suivi d’une étude de
l’existant afin de préciser nos objectifs à atteindre ainsi la démarche de modélisation et de
développement à adopter.
7
Chapitre 2
2.1 Introduction
Dans ce chapitre , nous allons focaliser sur les fonctionnalités offertes par notre application,
en recensant les différents besoins fonctionnels qu’elle doit satisfaire et en les présentant à l’aide
de langage de modélisation UML .
C’est l’acteur qui gére les fonctionnalités de l’application. Du fait l’application doit permettre
à l’administrateur :
— La Gestion des formateurs : l’admin peut consulter, modifier, supprimer, ajouter des
formateurs.
— La Gestion des étudiants : l’admin peut consulter,ajouter ,modifier, supprimer des étudiants.
— La Gestion des cours : l’admin peut consulter, modifier, supprimer, ajouter des cours.
— La Gestion des articles : l’admin peut consulter, modifier, supprimer, ajouter des articles.
— La Gestion des contacts : l’admin peut consulter, répondre, supprimer, un message.
— La Gestion des tests : l’admin peut ajouter,suprimer un test.
8
— La Gestion des formations : l’admin peut consulter, modifier, supprimer, ajouter des
formations.
— La Gestion du statistique.
— La Gestion des avis :l’admin peut supprimer un avis.
— La Gestion des avis : le formateur peut peut consulter les avis des étudiants au formation.
— La Gestion des articles : le formateur peut consulter les articles .
— La gestion du profil : le formateur peut modifier son profil.
Utilisateur
Etudiant
9
des applications une technique est apparue intéressant : il s’agit du prototypage.Cette tech-
nique consiste à préparer quelques interfaces graphiques de l’application en utilisant un outil
de conception de prototypes afin de valider le choix du client cela nous permettra d’améliorer
et optimiser avant la réalisation pour éviter de se bloque dans des choix erronés qu’il lui serait
difficile de modifier une fois l’application crée.
10
Figure 2.1 – Diagramme de cas d’utilisation global.
11
2.5 Diagramme de cas d’utilisation raffiné
Le raffinement est une opération nécessaire est fortement significative car elle va permettre
de mieux comprendre avec plus de détails les fonctionnalitésdu systéme .
Dans le tableau suivant nous présentons une description textuelle de la figure 2.2 :
Titre : Authentification
Objectif : Accéder aux espaces privés
Acteurs : Administrateur, Formateur , étudiant
Pré condition :
-l’utilisateur n’est pas encore authentifié .
-l’utilisateur lance la page d’authentification.
Post condition : Authentification validé et succès d’accès.
Scenario nominal :
1. L’utilisateur ouvre l’application.
2. L’utilisateur saisit ses droits d’accés et authentifié.
12
3. Le systéme vérifie si les champs ne sont pas vides et que le format est valide .
4. Le systéme vérifie l’existance et la validité du compte dans la base de données.
5. Le systéme dirige l’acteur vers son espace de travail.
Scenario alternatif :
A. Les données ne sont pas compatibles avec le format demandé.
3. Le systéme affiche un message d’erreur .
B. Les données ne sont pas compatibles avec un compte dans la base de données ou il n’existe
pas .
4. Le systéme affiche un message d’erreur .
13
Figure 2.4 – Diagramme détaillé de cas d’utilisation de formateur
14
Cette partie est dédiée a toute fonctionalité qu’il peut le faire un formateur.
Dans le tableau suivant nous présentons une description textuelle ajouter cours de la figure
2.5 :
15
Scenario alternatif : :
1. Si un champ est vide le système affiche un message d’erreur au formateur.
Dans le tableau suivant nous présentons une description textuelle modifier cours de la figure
2.8 :
16
Figure 2.6 – Interface Gérer cours
Dans le tableau suivant nous présentons une description textuelle ajouter formations de la
figure 2.7 :
17
Acteurs : Formateur
Pré condition :
Formateur authentifié
Post condition : Contenu ajouté
Scenario nominal :
1. Formateur demande d’ajouter une formation.
2. Le système affiche le formulaire .
3. Formateur remplit les champs et valide.
4. Le système vérifie les informations.
5. Le système enregistre la nouvelle formation.
Scenario alternatif :
1. Si un champ est vide le système affiche un message d’erreur au formateur.
Dans le tableau suivant nous présentons une description textuelle supprimer formations de
la figure 2.7 :
18
Figure 2.8 – Interface Gérer formations
Dans le tableau suivant nous présentons une description textuelle Envoyer message de la fi-
gure 2.9 :
19
3. Le formateur choisit la formation qui peut le discuter .
4. L’interface message est affiché.
5. Formateur envoie un message vers l’admin et étudiant.
6. Le message a été envoye avec succès.
20
* Description textuelle de cas d’utilisation Gérer test
Dans le tableau suivant nous présentons une description textuelle ajouter test de la figure
2.10 :
Scenario alternatif :
21
Figure 2.12 – Diagramme de cas d’utilisation Consulter étudiant.
Dans le tableau suivant nous présentons une description textuelle consulter étudiants de la
figure 2.12 :
Dans le tableau suivant nous présentons une description textuelle consulter avis de la figure
2.13 :
22
Titre : Consulter les avis
Objectif : Consulter les avis
Acteurs : formateur
Pré condition :
Post condition : Voir tous les avis
Scenario nominal :
1. Le formateur consulte la page d’acceuil .
2. Le formateur recherche la formation.
3. Le formateur choisit la formation puis consulte les avis.
Dans le tableau suivant nous présentons une description textuelle consulter articles de la fi-
gure 2.14 :
24
Figure 2.16 – diagramme détaillé de cas d’utilisation d’administrateur
25
2.7.1 Diagramme de cas d’utilisation raffiné Gérer cours :
Dans le tableau suivant nous présentons une description textuelle de la figure 2.17 :
26
Scenario alternatif : :
1. Si un champ est vide le système affiche un message d’erreur a l’admin.
27
Figure 2.19 – Diagramme de cas d’utilisation Gérer articles
Dans le tableau suivant nous présentons une description textuelle de la figure 2.19 :
28
* tableau descriptif du cas d’utilisation Modifier Article
Dans le tableau suivant nous présentons une description textuelle modifier article de la figure
2.19 :
Dans le tableau suivant nous présentons une description textuelle supprimer article de la figure
2.19 :
Dans le tableau suivant nous présentons une description textuelle répondre message de la figure
2.21 :
30
Post condition : Le message a été envoyer
Scenario nominal : :
1. L’admin consulte la liste des messages envoyés par l’utilisateur.
2. Admin choisie un message.
3. Admin envoie un message au créateur.
4.le message a été envoyé avec succès.
Dans le tableau suivant nous présentons une description textuelle supprimer message de la
figure 2.21 :
31
•Prototype de l’interface Gérer contact
Dans le tableau suivant nous présentons une description textuelle de la figure 2.23 :
32
•Prototype de l’interface Consulter statistique
Dans le tableau suivant nous présentons une description textuelle de la figure 2.25 :
33
Acteurs : Administrateur
Pré condition : Admin connecté
Post condition : Voir tous les avis puis supprime .
Scenario nominal :
1. L’administrateur consulte la liste des avis.
2. L’administrateur choisit un avis afin de le supprimer.
3. Avis supprime est un message de succés est affiché .
Dans le tableau suivant nous présentons une description textuelle de la figure 2.26 :
34
3. L’admin remplit les champs et valide.
4. Le système vérifie les informations.
5. Le système enregistre le nouveau formateur.
Scenario alternatif : :
1. Si un champ est vide le système affiche un message d’erreur a l’admin.
35
Figure 2.27 – Interface Gérer formateur
Dans le tableau suivant nous présentons une description textuelle de la figure 2.28 :
36
Acteurs : Administrateur
Pré condition :
Admin authentifié
Post condition : étudiant ajouter
Scenario nominal :
1. L’admin demande d’ajouter un étudiant.
2. Le système affiche le formulaire .
3. L’admin remplit les champs et valide .
4. Le système vérifie les informations.
5. Le système enregistre le nouveau étudiant.
Scenario alternatif :
1. Si un champ est vide le système affiche un message d’erreur a l’admin.
37
2.7.8 Diagramme de cas d’utilisation raffiné Gérer formation
Dans le tableau suivant nous présentons une description textuelle de la figure 2.30 :
38
Scenario alternatif : :
1. Si un champ est vide le système affiche un message d’erreur a l’admin.
39
Figure 2.32 – Diagramme de cas d’utilisation Gérer tests.
Dans le tableau suivant nous présentons une description textuelle de la figure 2.32 :
40
Figure 2.33 – Interface Gérer test
Dans le tableau suivant nous présentons une description textuelle Envoyer message de la fi-
gure 2.34 :
41
2. Le systéme affiche la liste.
3. L’admin choisit la formation qui peut le discuter .
4. L’interface message affiche.
5. L’admin envoie un message vers le formateur et étudiant.
6. Le message a été envoyé avec succès.
42
Figure 2.35 – Diagramme détaillé de cas d’utilisation d’étudiant
43
2.8.1 Diagramme de cas d’utilisation raffiné Consulter formations :
Dans le tableau suivant nous présentons une description textuelle de la figure 2.36 :
44
Figure 2.37 – Diagramme de cas d’utilisation Consulter cours
Dans le tableau suivant nous présentons une description textuelle de la figure 2.37 :
45
•Prototype de l’interface Pyer formation
Dans le tableau suivant nous présentons une description textuelle de la figure 2.39 :
46
2.8.4 Diagramme de cas d’utilisation raffiné Consulter liste forma-
teur :
Dans le tableau suivant nous présentons une description textuelle de la figure 2.40 :
47
2.8.5 Diagramme de cas d’utilisation raffiné évaluer formations :
Dans le tableau suivant nous présentons une description textuelle de la figure 2.42 :
48
Figure 2.43 – Diagramme de cas d’utilisation Consulter articles
Dans le tableau suivant nous présentons une description textuelle de la figure 2.43 :
Scenario alternatif : :
49
Figure 2.44 – Interface Consulter article
Dans le tableau suivant nous présentons une description textuelle Envoyer message de la
figure 2.45 :
50
Pré condition :
étudiant connecté
Post condition : Le message a été envoyé
Scenario nominal : :
1. L’étudiant demande la liste des formations.
2. Le systéme affiche la liste.
3. L’étudiant choisit la formation qui peut le discuter .
4. L’interface message affiche.
5. L’étudiant envoie un message vers l’admin et formateur.
6. Le message a été envoyé avec succès.
Dans le tableau suivant nous présentons une description textuelle de la figure 2.45 :
Scenario alternatif :
51
2.8.8 Diagramme de cas d’utilisation Modifier profil
Dans le tableau suivant nous présentons une description textuelle de la figure 2.46 :
52
* tableau descriptif du cas d’utilisation contacter admin
Dans le tableau suivant nous présentons une description textuelle Envoyer message de la
figure 2.47 :
53
2.10 Conclusion
Dans ce chapitre, on a énuméré les besoins fonctionnels et les besoins Non fonctionnels
de ce projet. De plus, on a élaboré les différents diagrammes de cas d’utilisation ainsi que leurs
descriptions textuelles et leurs maquettes IHM. Dans le chapitre suivant, nous allons procéder
la modélisation de ces fonctionnalités par une étude conceptuelle afin de mieux comprendre le
développement de cette application.
54
Chapitre 3
Conception
3.1 Introduction
La conception est la phase la plus importante de cycle de développement permettant aux
concepteurs de décrire un systéme d’information avec des diagrammes illustrés avant de le
développer, ainsi que aprés avoir spécifie les besoins fonctionnels et non fonctionnels de l’appli-
cation, nous faisons la conception de différentes parties du projet moyennant des diagrammes
crées avec le langage UML .
— Acteurs : Un acteur représente un rôle joué par une entité ”personne ou une chose
extérieur au systéme étudié ” qui interagit avec le systéme étudié. Le même être humain
peut avoir alternativement plusieurs rôles (Administrateur, étudiants, etc.).
— Objets : Les objets sont des entités appartenant au systéme les objets interviennent
dans l’interaction(envoi de message entre objets).
55
3.2.2 Diagramme de séquence d’authentification
•Acteurs : administrateur,étudiants,formateurs.
Lorsque l’acteur demande l’accés à l’application , il doit tout d’abord saisir son adresse e-
mail et son mot de passe.
56
3.2.3 Diagramme de classe de conception S’authentifier
Pour fait l’inscription, le systéme vérifie d’abord si les données saisies par l’étudiant ne sont
pas déjà existés, si la vérification se termine avec succés l’étudiant peut acccéder à votre espace
par son adresse e-mail et son mot de passe.
57
Figure 3.3 – Diagramme de séquence inscription
58
Figure 3.4 – Diagramme de classe de conception S’inscrire
Pour ajouter un formateur l’administrateur doit remplir les informations des formateurs et
par la suite cliqué sur ajouter, un message de validation s’affiche .
Le diagramme suivant 3.5 présente l’enchainement de la phase Ajouter formateur
59
Figure 3.5 – Diagramme de séquence ajouter formateur
60
3.3.2 Diagramme de séquence modifier formateur
•Acteurs : Administrateur
Pour la modification d’un formateur l’administrateur doit consulter la liste des formateurs
puis rechercher et sélectionne le formateur a modifier et par la suite changer les informations
puis une message de validation s’affiche puis l’administrateur confirme la modification.Une fois
le formateur a modifié le message de succés il va être affiché.
Le diagramme suivant 3.6 présente l’enchainement de la phase de modification formateur
61
— Sinon modification effectué est un message de succéé est affiché.
Pour la suppression d’un formateur l’administrateur doit consulter la liste des formateurs puis
rechercher et sélectionne le formateur approprié et par la suite une message de validation s’af-
fiche puis l’administrateur confirme la suppression.Une fois le formateur a supprimé le message
de succés il va être affiché.
Le diagramme suivant 3.7 présente l’enchainement de la phase de supprimer formateur
62
— L’administrateur demande d’afficher la liste des formateurs.
— L’interface affiche la liste des formateurs.
— L’administrateur recherche puis choisit le formateur a supprimé.
— L’interface formateur affiche la page de confirmation.
— L’administrateur confirme la supression.
— Le contrôleur formateur envoie la requete à le modéle formateur.
— Le modéle formateur supprime le formateur et un message de succée est affiché.
Pour ajouter une formation l’administrateur doit remplir les champs du formation et par la
suite cliqué sur ajouter, un message de validation s’affiche .
Le diagramme suivant 3.9 présente l’enchainement de la phase Ajouter formation
63
Figure 3.9 – Diagramme de séquence ajouter formation
64
3.4.2 Diagramme de séquence modifier formation
•Acteurs : Administrateur
Pour la modification d’une formation l’administrateur doit consulter la liste des formations
puis rechercher et sélectionne la formation a modifier et par la suite changer les informations
puis une message de validation s’affiche puis l’administrateur confirme la modification.Une fois
la formation a modifié le message de succés il va être affiché.
Le diagramme suivant 3.10 présente l’enchainement de la phase de modifier formation
65
— Sinon la modification est effectué est un message de sucée est affiché.
Pour la suppression d’une formation l’administrateur doit consulter la liste des formations
puis rechercher et sélectionne la formation approprié et par la suite une message de validation
s’affiche puis l’administrateur confirme la suppression.Une fois la formation a supprimé le mes-
sage de succés il va être affiché.
Le diagramme suivant 3.11 présente l’enchainement de la phase de supprimer formation
66
— L’administrateur demande d’afficher la liste des formations.
— L’interface affiche la liste des formations.
— L’administrateur recherche puis choisit la formation a supprimé.
— L’interface formation affiche la page de confirmation.
— L’administrateur confirme la supression.
— Le contrôleur formation envoie la requete à le modéle formation.
— Le modéle formation supprime le formateur et un message de succée est affiché.
Pour ajouter un article l’administrateur doit remplir les champs d’aricle et par la suite cliqué
sur ajouter, un message de validation s’affiche .
Le diagramme suivant 3.13 présente l’enchainement de la phase Ajouter article
67
Figure 3.13 – Diagramme de séquence ajouter article
68
3.5.2 Diagramme de séquence modifier article
•Acteurs : Administrateur
Pour la modification d’un article l’administrateur doit consulter la liste des articles puis re-
chercher et sélectionne l’article a modifier et par la suite changer les informations puis une
message de validation s’affiche puis l’administrateur confirme la modification.Une fois l’article
a modifié le message de succés il va être affiché.
Le diagramme suivant 3.14 présente l’enchainement de la phase de modifier article
69
3.5.3 Diagramme de séquence supprimer article
•Acteurs : Administrateur
Pour la suppression d’un article l’administrateur doit consulter la liste des articles puis re-
cherche et sélectionne l’article approprié et par la suite une message de validation s’affiche puis
l’administrateur confirme la suppression.Une fois l’article a supprimé le message de succés il va
être affiché.
Le diagramme suivant 3.15 présente l’enchainement de la phase de supprimer article
70
— L’administrateur demande d’afficher la liste des articles.
— L’interface affiche la liste des articles.
— L’administrateur recherche puis choisit l’article a supprimé.
— L’interface article affiche la page de confirmation.
— L’administrateur confirme la supression.
— Le contrôleur article envoie la requete à le modéle article.
— Le modéle article supprime l’article et un message de succés est affiché.
71
Figure 3.17 – Diagramme de séquence Gérer statistique
Pour ajouter un cours l’administrateur et le formateur doivent remplir les champs du cours
et par la suite cliqur sur ajouter, un message de validation s’affiche.
Le diagramme suivant 3.18 présente l’enchainement de la phase Ajouter cours
72
Figure 3.18 – Diagramme de séquence ajouter cours
73
3.7.2 Diagramme de séquence afficher cours
•Acteurs : Administrateur , formateur
Pour modifier un cours l’administrateur et le formateur doivent consulter la liste des cours
rechercher et sélectionner le cours a modifier et par la suite changer les informations puis
74
une message de validation s’affiche puis l’administrateur et formateur confirment la modifica-
tion.Une fois le cours est modifié .un message de succés va être affiché.
Le diagramme suivant 3.20 présente l’enchainement de la phase de modifier cours
75
Pour supprimer un cours l’administrateur et le formateur doivent consulter la liste des cours
puis rechercher et sélectionner le cours approprié et par la suite un message de validation
s’affiche puis l’administrateur et le formateur confirment la suppression.Une fois le cours est
supprimé. Un message de succés il va être affiché.
Le diagramme suivant 3.21 présente l’enchainement de la phase de supprimer cours
76
— Le formateur demande d’afficher la liste des cours.
— L’interface affiche la liste des cours.
— Le formateur chercher puis choisit le cours a supprimé.
— L’interface cours affiche la page de confirmation.
— Le formateur confirme la supression.
Pour ajouter un test il faut d’abord creer le titre et la description du test puis les questions et
les réponses pour chaque question . Une fois le test crée un message de validation s’affiche.
Le diagramme suivant 3.23 présente l’enchainement de la phase de création d’un test
77
Figure 3.23 – Diagramme de séquence creer test
78
3.8.2 Diagramme de séquence creer question
•Acteurs : Administrateur , Formateur
Aprés d’ajouter les descriptions des tests le formateur et l’administrateur vont écrire les ques-
tions et les réponses du test
Le diagramme suivant 3.24 présente l’enchainement de la phase de création des questions
79
Figure 3.24 – Diagramme de séquence creer question
80
— Le formateur demande le formulaire de remplir les questions et les réponses.
— L’interface question affiche la formulaire demandé.
— Le formateur remplit la formulaire de saisir les questions et cocher les réponses puis
ajouter.
— Le modéle questions vérifie d’abord les champs du question.
— Si un champ vide alors, le systéme affiche un message d’erreur. .
— Sinon question effectuée. .
— Le modéle question vérifie si les réponses cocher.
— si les données sont corrects le modéle question fait l’enregistrement et un message de
succée est affiché .
— sinon échec d’ajout.
Pour supprimer un test l’administrateur et le formateur doivent consulter la liste des test
puis chercher et sélectionner le test approprié et par la suite un message de validation s’affiche
puis l’administrateur et le formateur confirment la suppression.Une fois le test est supprimé.
Un message de succés il va être affiché.
Le diagramme suivant 3.25 présente l’enchainement de la phase de supprimer test
81
Figure 3.25 – Diagramme de séquence supprimer test
82
Figure 3.26 – Diagramme de classe de conception Gérer test
83
Figure 3.27 – Diagramme de séquence envoyer message
84
3.9.2 Diagramme de classe de conception Gérer contact admin
Pour consulter le cour il faut d’abord faire le payement Le diagramme suivant 3.29 présente
l’enchainement de la phase de la phase payement cours
85
Figure 3.29 – Diagramme de séquence consulter cour
86
Figure 3.30 – Diagramme de séquence passer tests
87
3.12 Diagramme de classe métier
3.12.1 Définition
Le diagramme de classe est un schéma utilisé en génie logiciel pour présenter les classes
et les interfaces des systéme ainsi que les différentes relations entre celles-ci. Une classe décrit
les responsabilités,le comportement et le type d’un ensemble d’objets. Les classes sont utilisées
dans la programation orientée objet. Une classe est une description d’un groupe d’objets par-
tageant un ensemble commun de propriétés(les attributs), de comportements(les opérations
ou méthodes) et de relations avec d’autres objects (les associations et les agrégations).Elles
permettent de modéliser un programme et ainsi de découper une tache complexe en plusieurs
petits travaux simples.
— Les classes :
— Les associations :
Une association est une relation logique entre deux classes nommé association binaire
ou plus nommé association n-air qui définit un ensemble de liens entre les objects de ces
classes.Une association définit le nombre minimum et maximum d’instances autorisée
dans la relation (cardinalité).
— Les attributs :
Un attribut est une information qui caractérise une classe et dont la valeur dépend
de l’objet instancié . Chacune de ces informations est définie par un nom,un type de
données, une visibilité et peut etre initialisé .
88
Figure 3.31 – Diagramme de classe
89
3.13 Conclusion
La phase conceptuelle est une étape fondamentale pour la réalisation de n’importe quel
projet. Elle permet de faciliter le système d’information et réaliser l’implémentation de la base
de données et le traitement.Dans ce chapitre nous avons présenté les diagrammes de séquences
et les diagrammes de classes de notre application.Le chapitre suivantest consacré à la phase de
réalisation de notre application.
90
Chapitre 4
Réalisation et tests
4.1 Introduction
Une manipulation souple et aisée reste toujours parmi les critères les plus décisifs pour
le succès de tout projet. C’est pourquoi le choix des outils de programmation doit être bien
étudié.Dans ce chapitre nous présentons en premier temps l’architecture et l’environnement de
développement utilisés.Dans un second temps nous illustrons la réalisation de notre travail par
des imprimes écran des interfaces les plus importantes de notre application.
91
Niveau 2 (L’accés aux données persistantes) : Elle consiste au stockage des données
du systéme.Ces données peuvent être propres au systéme, ou gérées par un autre systéme.Le
client ne peut pas accéder à données que par l’intermédiaire de deuxiéme tiers (Le traitement
métier des données).
Le modèle MVC (Model, View, Controller ) est une méthode mise en point pour mieux
structurer une application par une interface graphique. Ce modèle permet la séparation entre
les données, les traitements et la présentation. Chaque entité joue un rôle bien précis dans la
conception logicielle du système :
— Le modéle : représente les données à manipuler par le programme. . . Il offre des
méthodes qui permettent de récupérer et de mettre à jour ces données (suppression,
insertions. . .).
92
4.3.2 Environnement logiciel
Dans ce qui suit nous présentons l’environnement logiciel utilisé pour mener à terme ce sujet
— Visual Studio Code : est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et macOS.
Les fonctionnalités incluent la prise en charge du débogage, la mise en évidence de la
syntaxe, la complétion intelligente du code, les snippets, la refactorisation du code et Git
intégré. Les utilisateurs peuvent modifier le thème, les raccourcis clavier, les préférences
et installer des extensions qui ajoutent des fonctionnalités supplémentaires.[3]
— Draw.io : est une application gratuite en ligne, accessible via son navigateur (protocole
https) qui permet de dessiner des diagrammes ou des organigrammes. Cet outil vous
propose de concevoir toutes sortes de diagrammes, de dessins vectoriels, de les enregistrer
au format XML puis de les exporter. Draw.io est un veritable couteau suisse de la frise
chronologique, de la carte mentale et des diagrammes de tout genre.[5]
93
— Lravel : est un Framwork web open source écrit en PHP respectant le principe modéle-
vue-contrôleur Apprenez à prononcer et entiérement développé en programmation orientée
objet.[6]
— CSS 3 : le CSS quant à lui est utilisé pour décrire la présentation d’un document
structuré et décrit en HTML et permet de proposer une stylisation indépendante de la
structure du document.[7]
94
— Bootstrap : est une collection d’outils qui facilite la création d’un site web. C’est un
ensemble qui contient des codes HTML et CSS et permet donc de crée des formulaires
désignés trés facilement ainsi que l’implémentation des éléments dynamiques comme un
carrousel ou une modal.[8]
95
— Interface Contact :
— Interface Inscription :
Pour accéder à l’application , L’utilisateur doit tout d’abord s’inscrire pour découvrir les nou-
veautés et faire l’inscription .
96
Figure 4.12 – Interface inscription
— Interface Authentification :
Pour accéder a leur espace privé , il faut d’abord faire l’authentification.
97
Figure 4.13 – Interface authentification
Interfaces Administrateur :
— Interface Paneau administrateur :
98
— Interface Liste formateurs :
Cette interface permet à l’administrateur d’ajouter un formateur . C’est tout de même pour
l’interface ajouter un étudiant et pour la modification . La figure 4.16 représente l’interface
ajouter formateur.
99
Cette interface permet à l’administrateur de consulter la liste des articles pour ajouter ,modifier
ou supprimer un article.
La figure 4.17 représente l’interface liste articles.
Cette interface permet à l’administrateur d’ajouter un marticle.C’est tout de même pour inter-
face de modification.
La figure 4.18 représente l’interface ajouter article.
Cette interface permet à l’administrateur de consulter la liste des contacts pour répondre a un
message.
La figure 4.19 représente l’interface liste contact.
100
Figure 4.19 – Interface liste contact
— Interface Statistiques :
101
Figure 4.21 – Interface statistiques
Cette interface permet à l’administrateur et le formateur d’ajouter une formation ..C’est tout
de même pour interface de modification.
La figure 4.23 représente l’interface ajouter formations .
102
Figure 4.23 – Interface ajouter formations
Cette interface permet à l’administrateur et le formateur consuler la liste des cours pour afficher
, ajouter,modifier ou supprimer un cours.
La figure 4.24 représente l’interface liste cours.
Cette interface permet à l’administrateur et le formateur d’ajouter cours sous forme PDF,Vidéo,WORD..C’e
tout de même pour interface de modification.
La figure 4.25 représente l’interface ajouter cours.
103
Figure 4.25 – Interface ajouter cours
Aprés avoir écrire le titre et la déscription et dés qu’ il clique sur le bouton ajouter l’interface
de questions est affichée.
La figure 4.27 représente l’interface ajouter question.
104
Figure 4.27 – Interface ajouter Question
Interfaces utilisateur
— Interface paneau utilisateur :
Aprés avoir faire l’inscription ,l’utilisateur peut accéder a son espace privée.
La figure 4.28 représente l’interface paneau utilisateur.
Aprés avoir découvrir le panneau l’utilisateur accéde a la page d’accueil afin de voir les articles
et les formations.
105
Figure 4.29 – Interface acceuil
106
Figure 4.30 – Interface liste formations
Maintenant l’utilisateur choisit une formation . L’utilisateur clique sur la bouton ”Ajouter au
Panier” pour mettre cette formation a son panier puis faire le payement .
La figure 4.31 représente l’interface choisit formations.
107
— Interface Panier
Aprés le payement l’utilisateur peut consulter la liste des formations , des cours et il peut aussi
discuter avec l’administrateur et le formateur , ainsi il peut évaluer les formations qu’il a acheté
.
La figure 4.34 représente l’interface liste des formations.
108
Figure 4.34 – Interface liste des formations
— Interface Discuter
109
Figure 4.36 – Interface évaluer
110
La figure 4.38 représente l’interface passer test.
4.5 Conclusion
Tout au long de notre chapitre , nous avons atteint la fin d’étude du projet.Dans ce dernier
chapitre , nous avons à la fois décrit les environnements matriels , logiciels, et les langages
utilisées sur lesquels nous avons construit notre application.Ensuite ,nous avons illustré les
fonctionnalités importantantes de l’application en fournissant quelques interfaces graphiques.Au
présent , nous passons à la conclusion générale et les perspective de notre projet.
111
Conclusion et Perspectives
112
Bibliographie
113
République Tunisienne Ministére de l’Enseignement Supérieur et de
Recherche Scientifique Université de Jendouba
Université de Jendouba
Promotion : 2021/2022