CHAPITRE I :
PRÉSENTATION DU CAHIER DES CHARGES
ET DES OUTILS DE DÉVELOPPEMENT
1-chaier de charge
A- contexte général
Le projet consiste à développer une application web dédiée à la réservation
d'enseignants en ligne. Cette plateforme permettra aux enseignants d'afficher leurs
annonces détaillées,
présentant les matières qu'ils enseignent ainsi que leurs compétences. De l'autre
côté, les étudiants auront
la possibilité de parcourir un catalogue d'enseignants et de choisir celui qui
correspond le mieux à leurs besoins
éducatifs.
L'objectif du projet est de développer une plateforme en ligne dédiée à la
réservation d'enseignants,
offrant aux enseignants la possibilité de présenter leurs compétences et aux
étudiants de trouver des cours
correspondant à leurs besoins. Les enseignants auront la liberté de mettre en
avant les matières qu'ils enseignent
ainsi que leur expertise, tandis que les étudiants pourront parcourir les profils
des enseignants afin de choisir
celui qui répond le mieux à leurs attentes.
B -Problématique
Notre projet vise à développer une plateforme de réservation d'enseignants en
ligne
donc plusieurs questions se posent :
--Comment concevoir une interface utilisateur conviviale et intuitive qui permette
aux élèves de naviguer facilement
dans la plateforme, d'accéder aux cours et aux ressources, et d'interagir avec le
contenu pédagogique de
manière efficace ?
--Comment développer une plateforme en ligne conviviale et performante pour la
réservation d'enseignants,
offrant aux utilisateurs la possibilité de sélectionner aisément des enseignants
répondant à leurs critères
spécifiques, tout en assurant une expérience d'apprentissage gratifiante et
sécurisée pour les étudiants ?
--Comment les utilisateurs peuvent consulter l'application d’une façon
multicritère, rapide et
efficace ?
--Quelles sont les technologies utilisées pour réaliser notre objectif ?
C-Objectifs
L'objectif de ce projet est de concevoir une plateforme d'enseignement en ligne
dédiée à la réservation
et à la gestion des cours.
Cette application aura pour fonctionnalités principales :
--Concevoir une interface utilisateur conviviale et intuitive pour faciliter la
navigation des utilisateurs
sur la plateforme.,
--Développer une plateforme robuste et sécurisée permettant la réservation des
cours en ligne.
--Mettre en place des fonctionnalités avancées pour la gestion des enseignants, des
cours et des étudiants.
--Mettre en place des offres spéciales ou des promotions,
--Gérer les réservations de cours,
--Gérer les annonces (ajouter, supprimer et modifier).
D- Acteurs
Visiteur : Un visiteur est un utilisateur qui accède au site web ou à l'application
sans s'être encore engagé dans
un processus d'achat ou de réservation. Dans le cas de cette application, un
visiteur pourrait être quelqu'un qui
navigue sur le site pour découvrir les enseignants disponibles, consulterleurs
profils et leurs disponibilités,
mais qui n'a pas encore effectué de réservation ou créé de compte.
Client : Un utilisateur inscrit sur notre plateforme de réservation d'enseignants
en ligne. Il peut réserver des cours
avec les enseignants disponibles en toute sécurité, ayant déjà créé un compte sur
notre site.
Enseignant:Cet acteur est un professionnel de l'enseignement inscrit sur la
plateforme. Il crée son profil en spécifiant
ses compétences, ses disponibilités et ses tarifs. Les enseignants peuvent gérer
leur emploi du temps, accepter
ou rejeter des demandes de cours, et interagir avec les etudiants
D. Etude des besoins :
a. Besoins fonctionnels :
--Présentation des enseignants disponibles avec leurs compétences et
disponibilités : Le site doit fournir
une interface permettant aux visiteurs de consulter les profils des enseignants,
incluant les matières enseignées,
les niveaux d'enseignement, les tarifs horaires et les disponibilités.
--Authentification des utilisateurs : Les utilisateurs doivent s'inscrire et créer
un compte pour
accéder à des fonctionnalités avancées telles que la réservation de cours. Une
fois inscrits, ils peuvent
se connecter avec leur e-mail et mot de passe pour accéder à leur compte.
--Réservation des cours : Les clients doivent avoir la possibilité de sélectionner
un enseignant,
de choisir les créneaux horaires disponibles et de réserver des cours selon leurs
besoins.
--Proposition de cours par les enseignants : Les enseignants peuvent proposer de
nouveaux
cours à ajouter à la plateforme.
--Confirmation de réservation : Une fois la réservation effectuée, le système doit
envoyer une confirmation
au client et à l'enseignant concerné.
--Évaluation des enseignants : Les clients doivent pouvoir laisser des avis et des
évaluations
sur les enseignants après avoir suivi leurs cours.
-- Gestion des comptes utilisateurs : Les utilisateurs doivent pouvoir modifier
leurs informations
personnelles, gérer leurs réservations passées et futures,
b. Besoins non fonctionnels :
--Fiabilité: L’application doit fonctionner de façon cohérente sans erreurs et doit
être satisfaisante.
--Gestion des erreurs : Des messages d'erreur clairs doivent être fournis pour
guider les utilisateurs
en cas de problème.
--Ergonomie et bonne Interface : L’application doit être adaptée à l’utilisateur
sans qu’il ne fournisse
aucun effort (utilisation claire et facile) de point de vue navigation entre les
différentes pages, couleurs et
mise en textes utilisés.
--Aptitude à la maintenance et la réutilisation : Le système doit être conforme à
une architecture standard et
claire permettant sa maintenance et sa réutilisation.
--Compatibilité et portabilité : Un site web quel que soit son domaine, son éditeur
et son langage de
programmation ne peut être fiable qu’avec une compatibilité avec tous les
navigateurs web et tous les
moyens que ce soit PC, IPAD ou Mobiles.
Méthodologie suivie
1. Logiciel :
--Visual Studio Code: (ou VSCODE) est un éditeur de code gratuit et
multiplateforme qui intègre de nombreuses
fonctionnalités et permet d'en intégrer de nouvelles grâce à un large catalogue de
plugins.
Disponible sous Windows, Linux et macOS, et sur le web.
--Entreprise architect : logiciel de modélisation et de conception UML le plus
reconnu.
Couvrant, par ses fonctionnalités, l'ensemble des étapes du cycle de conception
d'application.
--Photoshop est un logiciel de retouche photo et de conception graphique raster qui
permet aux utilisateurs
de créer, éditer et manipuler divers graphiques ainsi que de l'art numérique.
2. Langages de programmations :
--HTML : HyperText Markup Langage est un langage permettant la création des pages
Web.
HTML utilise une structure formée avec des balises permettant la mise en forme du
texte.
IL permet également de structurer sémantiquement et de mettre en forme le contenu
des
pages, d’inclure des ressources multimédias. Il est souvent utilisé conjointement
avec des langages de
programmation (JavaScript, VbScript) et des formats de présentation (feuilles de
style en cascade).
--Feuille de style (CSS) : Cascading Style Sheet est un langage permettant la mise
en forme
des documents écrits en langage de balisages tel que HTML.
--React.js est une bibliothèque JavaScript utilisée pour créer des interfaces
utilisateur interactives
et dynamiques pour les applications web. Avec son approche basée sur les
composants réutilisables,
React simplifie le développement et la maintenance du code
--Laravel est un framework de développement web open-source écrit en PHP. Il offre
une architecture
élégante et expressive pour la création d'applications web modernes et évolutives.
Laravel propose
une large gamme de fonctionnalités, y compris la gestion de l'authentification, le
routage flexible,
l'accès à la base de données et la génération de vues
--MySQL : Est un système de gestion de base de données qui permet d’entreposer des
données de manière structurée. Il existe un outil libre et gratuit développé par la
communauté des programmeurs libres : PHPMyAdmin qui permet l’administration aisée
des bases de données MySQL avec PHP.
--UML : UML est un langage de modélisation graphique à base de pictogrammes.
Conclusion
Dans ce chapitre nous avons présenté le projet en général, ainsi que les
fonctionnalités, les tâches que nous
allons réaliser, la présentation des outils et langage que nous avons utilisé dans
la réalisation de notre site,
dont ces langages sont les plus utilisés pour la conception, l’analyse et
l’exécution.
CHAPITRE II : ANALYSE ET CONCEPTION
Introduction
Dans le cycle de vie de notre projet, la conception représente une phase
primordiale et déterminante pour
produire une application de haute qualité. C’est dans ce stade que nous devons
clarifier en premier lieu la vue
globale, en décrivant l’architecture générale que nous allons suivre dans la partie
réalisation de notre projet.
Puis, dans un deuxième lieu nous allons détailler notre choix conceptuel à travers
plusieurs types de
diagrammes.
I. Conception générale
1. Cycle de vie :
Le cycle de vie d’une application comprend toutes les étapes depuis sa conception
et sa réalisation jusqu’à sa
mise en œuvre.
Afin de concevoir et développer notre application, nous avons opté pour le modèle
de cycle de vie en V. Ce
choix reviens au fait que ce cycle est le plus efficace avec son principe de
travail qui nécessite la vérification
de chaque étape et la possibilité de corriger les fautes avant de se lancer vers
l’étape suivante.
2. Méthodologie de conception :
Pour faciliter notre tâche nous avons recours du langage de modélisation unifié
(UML : Unified Modelling
Language) c’est une notation qui permet de modéliser un problème de façon standard.
Ce langage est né de
la fusion de plusieurs méthodes existantes auparavant, et il est devenu une
référence en terme de
modélisation objet, à un tel point que sa connaissance devienne indispensable pour
un développeur.
II. Conception détaillée
1. Diagramme de cas d’utilisation :
Les rôles des diagrammes de cas d’utilisation sont de recueillir, d’analyser et
d’organiser les besoins, ainsi
que de recenser les grandes fonctionnalités d’un système. Il s’agit donc de la
première étape UML pour la
conception d’un système.
Le diagramme de cas se compose de trois éléments principaux :
Un Acteur : c’est l’idéalisation d’un rôle joué par une personne externe, un
processus ou une chose qui
interagit avec un système.
Un cas d’utilisation : c’est une unité cohérente représentant une fonctionnalité
visible de s d’utilisation
l’extérieur.
Les relations : Trois types de relations sont pris en charge par la norme UML et
sont graphiquement
représentées par des types particuliers de ces relations.
Dans ce chapitre, nous avons donné une vue générale sur le projet,en présentant le
cahier
des charges, l'ensemble des problèmes et les objectifs,et
enfin les outils et langages que nous avons utilisé dans la réalisation de notre
site,
dont ces langages sont les plus utilisés pour la conception, l’analyse et
l’exécution.