Académique Documents
Professionnel Documents
Culture Documents
DEPARTEMENT HIGH-TECH
MEMOIRE DE LICENCE
Option : Technologie du Génie Informatique
T hème :
Mise en place d’une plateforme web pour la gestion de prise de
rendez-vous dans les entreprises.
Maitre de stage :
M. TRAORE Souleymane
Ingénieur Analyste-Programmeur
en informatique
SOMMAIRE
RESUME .................................................................................................................................. V
ABSTRACT .............................................................................................................................. VI
INTRODUCTON GENERALE ..................................................................................................... 1
PROBLEMATIQUE.................................................................................................................... 2
CHAPITRE 1 : CONTEXE ET DEMARCHE METHODOLOGIQUE ................................... 3
1.1. INTRODUCTION PARTIELLE .............................................................................................. 3
1.2. PRESENTATION DU CONTEXTE DU STAGE ....................................................................... 3
1.2.1. Présentation de l’université Aube Nouvelle ................................................................. 3
1.2.2. Présentation de la structure de Nos3S ......................................................................... 6
1.2.3. Présentation du thème ................................................................................................. 7
1.3. DEMARCHE ET MOYEN DE RESOLUTION ......................................................................... 9
1.3.1. Les exigences fonctionnelles et techniques ............................................................... 10
1.3.2. Méthodes de résolution du problème ....................................................................... 11
1.4. DOMAINE D’ETUDE........................................................................................................ 16
1.4.1. Etude de l’existant ...................................................................................................... 16
1.4.2. Présentation des ressources disponibles ................................................................... 17
1.5. CONCLUSION PARTIELLE ................................................................................................ 17
CHAPITRE 2 : ANALYSE FONCTIONNELLE ET TECHNIQUE DU FUTUR SYSTEME
.................................................................................................................................................. 18
2.1. INTRODUCTION PARTIELLE ............................................................................................ 18
2.2. SPECIFICATION DU FUTUR SYSTEME ............................................................................. 18
2.2.1. Identification des acteurs et des cas d’utilisation ...................................................... 18
2.2.2. Diagramme de cas de d’utilisation ............................................................................. 24
2.2.3. Diagramme de séquence ............................................................................................ 25
2.3. ARCHITECTURE DU FUTUR SYSTEME ............................................................................. 30
2.3.1. Identification des outils .............................................................................................. 30
2.3.2. Architecture logicielle ................................................................................................. 33
2.3.3. Estimation du coût...................................................................................................... 35
2.4. CONCLUSION PARTIELLE ................................................................................................ 36
CHAPITRE 3 : CONCEPTION ET REALISATION DE LA SOLUTION ............................ 37
3.1. INTRODUCTION PARTIELLE ............................................................................................ 37
DEDICACE
Je dédie ce travail
A ma maman qui m’a soutenu et encouragé durant toutes ces années d’études.
A mes frères, mes sœurs et tous ceux qui ont partagé avec moi tous les moments
A tous mes amis qui m’ont toujours encouragé, et à qui je souhaite plus de succès.
REMERCIEMENTS
Comme disait Henry Ward Beecher « La reconnaissance est la plus belle fleur qui jaillit
de l’âme ». Ainsi, je tiens à adresser ma reconnaissance et mes remerciements à toutes les
personnes qui ont contribué de près ou de loin à l’aboutissement de ce travail. Il s’agit notamment
de :
L’Université Aube Nouvelle de Bobo-Dioulasso et son personnel pour la formation
pédagogique et l’encadrement reçu ;
L’entreprise Nos3S pour l’accueil, l’accompagnement et les conseils reçus tout au
long du stage ;
L’entreprise NafaVision pour leur aide et leurs conseils qu’ils nous ont offerts.
Un remerciement particulier et distingué à :
RESUME
La prise de rendez-vous est une étape indispensable pour rapprocher les entreprises de
services et leurs clients. Au XXIe siècle, la prise de rendez-vous est devenue une tendance aussi
bien pour de nombreux clients, que pour les entreprises. Cette tendance augmente
considérablement les demandes de rendez-vous dans les entreprises. Face à ce flux massif de
prise de rendez-vous, les entreprises se retrouvent confrontées à d’énormes difficultés et
n’arrivent pas à gérer astucieusement leurs rendez-vous, laissant ainsi échapper beaucoup de
partenaires clés qui pourraient leur permettre de booster leurs business.
L’objectif de notre étude consiste donc à mettre en place un système informatique qui
facilitera la gestion des prises de rendez-vous dans les entreprises.
Pour la réussite de cette étude, nous nous sommes servis de 2TUP (Two Track Unified Process),
une méthode de résolution de problème basée sur le langage de modélisation UML (Unified
Modeling Language). Pour la mise en place de la solution, nous avons fait usage de technologies
web telles que PHP, HTML, CSS, JavaScript, le Framework Bootstrap et le système de gestion
de base de données MySQL.
A l’issue de l’étude du projet, nous avons développé une application web responsive
(adaptable aux ordinateurs, tablettes et smartphones) dénommée RDVonline. Les principales
fonctionnalités de l’application ont été implémentées et des perspectives d’amélioration sont
prévues.
ABSTRACT
Sigles Définitions
2TUP 2 Tracks Unified Process
AJAX Asynchronous JavaScript And XML
AP Analyse et Programmation
COCOMO COnstructive COst MOdel
CSS3 Cascading Style Sheets
CU Cas d’Utilisation
U-AUBEN Université Aube Nouvelle
UFR Unité de Formation et de Recherche
HTML HyperText Makup Language
http HyperText Transfert Protocol
ISIG Institut Supérieur d’Informatique et de
Gestion
NAFAVISION NAko et FAbrice VISION
Nos3S Nos Solutions Systèmes et Services
OMT Object Modeling Technique
PHP HyperText Preprocessor
RS Réseaux et Systèmes
SGBD Système de Gestion de Base de Données
SI Système d’Information
SMS Short Message System
SQL Structured Query Language
TCP/IP Transmission Control Protocol /Internet
Protocol
TIC Techniques de l’Information et de la
Communication
UML Unified Modeling Language
XHTML eXtensible HyperText Makup Language
XML eXtensible Makup Language
RDV Rendez-Vous
INTRODUCTON GENERALE
La gestion de prise de rendez-vous en ligne peut être définie comme étant une solution
digitale qui permet aux professionnels de partager en temps réel leur agenda avec leurs clients
ou leurs partenaires afin d’organiser une potentielle visite.
Après une enquête menée par sondage sur certaines entreprises locales, nous avons
constaté que beaucoup d’entreprises perdaient du temps à enregistrer fréquemment sur papier
des rendez-vous qui n’avaient jamais lieu. Cela est dû soit à un oubli volontaire ou involontaire
des clients ou des partenaires, soit à l’indisponibilité des employés dont les plages horaires déjà
bien définies ne correspondent pas avec celles des clients ou des partenaires. C’est dans cette
optique qu’est née l’idée de mettre en place une plateforme web pour la gestion de prise de
rendez-vous baptisée RDVonline, afin de permettre aux entreprises et à leurs collaborateurs de
gagner en temps et en efficacité, mais aussi de proposer une excellente relation clientèle.
Pour une bonne appréhension de notre présent document, nous allons l’organiser en trois
(03) chapitres. Le premier chapitre présente notre université de formation, la structure d’accueil,
la démarche et les moyens de résolution utilisés, l’étude de l’existant ainsi que l’analyse du
domaine. Le deuxième chapitre traite de la spécification des besoins recueillis et présente
l’architecture de notre système. Et, le troisième chapitre définit la manière dont le système sera
implémenté puis présente l’implémentation de la solution proposée et le bilan du travail
effectué.
PROBLEMATIQUE
La formation à l’Université Aube Nouvelle se fait suivant le système LMD (Licence Master
Doctorat). La licence dure trois (03) ans. Le diplôme s’obtient après validation de six (06)
semestres dont le sixième semestre est constitué d’un stage pratique d’au moins trois (03) mois
en entreprise qui fait l’objet d’une soutenance publique. Le master s’étend sur une durée de
deux (02) ans.
Les offres de formation sont reparties en des Unités de Formation et de Recherche (UFR), des
instituts et d’une école doctorale comme suit :
Sciences de Gestion ;
Sciences et Technologies.
Nos Solutions, Systèmes et Services (Nos3S) est une entreprise d’ingénierie créée en
décembre 2013. C’est une Société à Responsabilité Limitée (SARL) fondée par un groupe de
techniciens et d’ingénieurs en informatique. C’est une entreprise burkinabè située au secteur 09
de la ville de Bobo-Dioulasso principalement basée dans le même immeuble que la Badf (Banque
Agricole du Faso).
1.2.2.2. Objectifs et missions
Nos3S est une entreprise spécialisée dans plusieurs domaines d’activités informatiques.
Comme l’indique son nom elle apporte des solutions, des systèmes et des services aux problèmes
informatiques. Les principales prestations de Nos3S sont les suivantes :
Analyse diagnostique et conception de système d’information ;
Développement de logiciels ;
Maintenances, réseaux et systèmes informatiques ;
Assistance technique ;
Audits, conseils et formations.
Depuis sa création, Nos3S n’a cessé d’affirmer sa présence sur la place nationale et travers
ses produits et ses services et de contribuer ainsi au renforcement de la compétitivité des
entreprises burkinabè.
Nos Solution, Système et Services (Nos3S) a mis en place plusieurs produits et réalisations
qui améliorent le quotidien des différents utilisateurs. Parmi ces différentes réalisations nous
pouvons citer :
LigdiCash qui est un portefeuille électronique ;
LafiDoc qui est une plateforme d’assistance en santé humaine ;
Sysgesco qui est un logiciel de gestion des établissements scolaires ;
Logoba qui est une plateforme de e-commerce développée avec le concours d’une autre
entreprise qui est NafaVision ;
SIH LAFIBORD.
CA
DG
Source : « Nos3S »
L’objectif principal de notre étude consiste à mettre en place une plateforme web qui
facilitera la prise et la gestion des rendez-vous en ligne dans les entreprises. Pour atteindre cet
objectif nous avons défini plusieurs objectifs spécifiques que sont :
Permettre aux clients de prendre rendez-vous par internet 24h/24 et 7 jours sur 7 ;
Simplifier le travail des agents en leur permettant de passer moins de temps à l’appel
téléphonique ;
Consulter le calendrier des entreprises en ligne pour connaitre les disponibilités d’un
agent ;
Répondre aux nouvelles exigences de disponibilités en permettant à nos clients de
demander le créneau horaire en ligne souhaité pour prendre rendez-vous ;
Permettre à nos clients de gagner en temps et en efficacité ;
Envoyer des rappels à nos clients par e-mail ou SMS, ceci afin de réduire le taux de
rendez-vous manqués ou annulés.
Au regard des objectifs définis ci-dessus, il est attendu comme résultat une plateforme
permettant, de créer des espaces virtuels de prise et de gestion de rendez-vous. Pour cela la
plateforme devra disposer des fonctionnalités suivantes :
Un acteur du projet est toute personne qui intervient dans la réalisation du projet. Ces
derniers sont primordiaux pour la mise en place du projet. Nous pouvons les repartir en trois
(03) groupes : le groupe de pilotage, le groupe du projet et le groupe des utilisateurs.
déroulement du projet. Ils ont pour rôle d’arbitrer, de contrôler, de valider les choix et
les moyens à mettre en place pour la réalisation du projet. Ce groupe est constitué de :
Le groupe des utilisateurs : le groupe des utilisateurs est l’ensemble des utilisateurs
clients.
L’exécution d’un projet suit un planning bien établi avant son lancement. Ce planning tient
compte des difficultés liées aux problèmes, des contraintes de travail de la structure d’accueil
mais aussi de l’urgence du projet et du délai octroyé au groupe de projet. Il permet également
aux différents acteurs du projet de suivre l’évolution du projet à chaque instant afin de se
conformer au cahier des charges.
Un projet est une étude de conception d’un but que l’on souhaite réaliser dans l’optique
de résoudre un problème. Ainsi, le choix de la démarche et des moyens de résolution est d’une
importance capitale. En effet, l’ampleur d’un projet dépend des contraintes techniques,
fonctionnelles et aussi du problème dont il traite. Dans cette partie, notre travail sera divisé en
deux (02) volets. En premier lieu, nous allons mettre en exergue les exigences techniques et
fonctionnelles. En second lieu, nous allons définir la méthode de résolution pour laquelle nous
avons optée.
1.3.1. Les exigences fonctionnelles et techniques
Les exigences décrivent le comportement et les fonctions du futur système ainsi que les
critères spécifiques qui peuvent être utilisés pour juger son exploitation, par exemple la
performance, la sécurité et la disponibilité.
1.3.1.1. Les exigences fonctionnelles
L’adaptabilité sur tous les types d’écrans : l’affichage de l’application doit être adapté
en fonction des terminaux.
UML nous est familier et possède de nombreux atouts. Plusieurs raisons peuvent justifier
notre choix d’utiliser UML comme langage de modélisation. Nous pouvons évoquer par
exemple :
Son cadre d’analyse objet en offrant différentes vues ou perspectives complémentaires
d’un système ;
Son contrôle de la complexité dans l’expression des besoins ;
Son support de communication car il est universel et sa notation graphique exprime
visuellement les solutions objets ;
Un diagramme est une représentation graphique d’un modèle. Il fournit une perspective du
modèle considéré. UML propose plusieurs diagrammes qui représentent une solution pour un
problème donné selon différents points de vue. Ces diagrammes sont regroupés en trois (03)
groupes appelés modèles. Un modèle est une représentation schématique d’un processus ou
d’une démarche raisonnée. Comme modèles, nous avons :
Le modèle statique indique comment le système « EST ». Il est constitué de six (06)
diagrammes que sont :
Le diagramme de classe : c’est le diagramme pivot de l’ensemble de la
modélisation d’un système. Il représente la description statique du système
en intégrant dans chaque classe la partie dédiée aux données et celle consacrée
au traitement ;
Le diagramme d’objets : ce diagramme fait état des instances (objets)
identifiés dans le système ;
Le diagramme de composants : ce diagramme décrit les instances de
composants (les objets) recensés dans le système ;
Le diagramme de déploiement : ce diagramme décrit l’architecture
technique d’un système avec une vue centrée sur la répartition des composants
Le diagramme de classe ;
Le diagramme de déploiement ;
Le diagramme de cas d’utilisation ;
De nos jours, il existe plusieurs outils de modélisation qui semblent tous offrir les mêmes
services, rendant ainsi difficile le choix de l’un d’entre eux. Nous pouvons citer :
ArgoUML ;
PowerDesigner ;
BoUML.
Dans le cadre de notre projet, nous avons utilisé PowerDesigner la version 16.5.0.3982 qui
est une puissante solution de modélisation des systèmes d’informations, proposée par la société
Sybase. Cet ensemble d’outils supporte plusieurs techniques de modélisations standard :
modélisation Merise et modélisation UML. PowerDesigner offre un environnement graphique
très intuitif et très facile à aborder. Il permet aussi la génération de modèles et de codes. Il est
utilisé dans notre projet pour la représentation des diagrammes de cas d’utilisation, de
séquences, d’états transition, de classes, et de déploiement.
UML permet de faire la représentation des modèles mais il ne définit pas de processus
d’élaboration des modèles. Cependant dans l’optique de mettre en place une application qui
répond parfaitement aux besoins des utilisateurs, nous devons suivre une démarche qui est :
Guidée par les besoins des futurs utilisateurs du système ;
Centrée sur l’architecture logicielle ;
Evolutive et facile de maintenance.
Il existe plusieurs processus de développement qui répondent à ces critères. Dans notre cas,
nous allons travailler avec le processus 2TUP.
2TUP (Two Tracks Unified Process) est un processus de développement logiciel et qui
implémente le Processus Unifié (UP) dans le but d’apporter une réponse aux contraintes de
changement fonctionnelles et techniques qui s’imposent aux systèmes d’information. Ce
processus est :
Interactif et incrémental : le projet est découpé en des itérations de courtes durées. Ces
itérations aident à mieux suivre l’avancement du système global. A chaque itération, il
est produit un exécutable de façon incrémentale ;
Piloté par les risques : tout risque pouvant conduire à un échec du projet est identifié et
écarté au plus tôt ;
Centré sur l’architecture : le système est décomposé en modules pour des besoins de
maintenabilité et d’évolutivité ;
Conduit par les cas d’utilisation : le processus met en avant les besoins et exigences
des futurs utilisateurs du système.
Il propose un cycle de développement en Y dissociant les aspects techniques des aspects
fonctionnels en commençant par une étude préliminaire. Cette étude consiste à identifier les
acteurs qui interagissent avec le système, construire les messages échangés entre les acteurs et
le système, produire le cahier de charges et modéliser le contexte. Le processus s'articule ensuite
autour de trois phases essentielles :
Une branche technique qui capitalise un savoir-faire technique et/ou des contraintes
techniques. Les techniques développées pour le système sont indépendantes des
fonctions à réaliser ;
Une branche fonctionnelle qui capitalise la connaissance du métier de l’entreprise. Cette
branche capture des besoins fonctionnels, ce qui produit un modèle focalisé sur le métier
des utilisateurs finaux ;
Une branche de conception et de réalisation qui consiste à réunir les deux branches,
permettant de mener une conception applicative et enfin la livraison d'une solution
adaptée aux besoins.
La réalisation d’un projet suit une suite logique d’étapes qui doivent être en adéquation.
C’est dans cette optique que nous allons effectuer dans cette partie une étude sur l’existant.
Nous présenterons également les ressources qui sont mises à notre disposition pour la
réalisation du projet.
1.4.1.1. Présentation de l’existant
1.4.1.1.1. Définition
Madate et Reservio sont des systèmes de réservation en ligne gratuit mais force est de
constater qu’ils présentent des insuffisances. Après une analyse minutieuse, nous avons
identifié quelques-unes de leurs forces et faiblesses résumées dans le tableau ci-dessous :
Pour la mise en place de notre solution, plusieurs ressources ont été mises à notre
disposition.
Comme ressources, nous pouvons citer :
Une salle de travail équipée de mobiliers de bureau ;
Un réseau wifi pour accéder à internet ;
Une salle de réunion afin de recevoir d’éventuelles remarques et suggestions.
Dans ce chapitre, nous abordons d’une part la spécification du futur système qui permet
d’expliciter les besoins recueillis auprès des utilisateurs. Pour ce faire, nous identifions les
différents acteurs du futur système ainsi que leurs cas d’utilisation avant de modéliser les
diagrammes de cas d’utilisation et de séquences systèmes. D’autre part nous effectuons une
analyse architecturale, nous permettant ainsi de traiter les besoins non fonctionnels exprimés
par les utilisateurs en se servant des besoins fonctionnels. L’objectif est d’harmoniser le produit
avec les objectifs métiers en définissant l’architecture que nous suivrons lors de
l’implémentation et la phase de déploiement du futur système. Pour effectuer cette analyse nous
identifions dans un premier lieu les composantes logicielles nécessaires à la réalisation. Nous
présentons ensuite dans une deuxième partie l’architecture logicielle du système.
Un acteur définit un ensemble cohérent de rôle qu’un utilisateur ou une entité externe peut
jouer en interagissant avec le système. Un acteur peut consulter et/ou modifier directement l’état
du système en émettant et/ou en recevant des messages susceptibles d’être porteurs de données.
Dans le cas de notre projet, nous avons recensé six (6) acteurs qui vont intervenir sur le système.
Acteurs Rôles
Visiteur Principal
Client Principal
Propriétaire d’entreprise Principal
Administrateur Secondaire
API paiement (LigdiCash) Système connexe
API SMS (Lesmsbus) Système connexe
Le tableau suivant est une représentation des acteurs associés à leurs cas d’utilisations.
Administrateur S’authentifier
Activer/désactiver une entreprise
API paiement Participe à un abonnement
ligdicash Participe à une réservation
API SMS (lesmsbus) Participe à la récupération d’un compte
Participe à la prise, à la modification et à
l’annulation d’un RDV
CU « Créer un compte »
Résumé : Ce cas d’utilisation permet aux Acteur : Client
différents utilisateurs d’ouvrir leur compte Auteur : BARRY Inoussa
sur la plateforme Précondition : Ne pas avoir
de compte
Postcondition : Compte créé
Scénario nominal
1. L’utilisateur demande à s’inscrire ;
2. Le système envoie le formulaire d’inscription ;
3. L’utilisateur renseigne ses informations puis valide ;
4. Le système vérifie les informations saisies ;
5. Le système notifie le succès de l’inscription ;
6. Fin du cas d’utilisation.
Scénario alternatif : La saisie est incomplète ou incorrecte
7. Le système affiche un message d’erreur et renvoie le formulaire à corriger ;
8. L’enchainement reprend à partir de l’étape 3 du scénario nominal.
Scénario erreur : Annulation de la création de compte
9. Le système arrête la création du compte ;
CU « S’authentifier »
Résumé : Ce cas d’utilisation permet à Acteurs :Client,propriétaire
l’utilisateur de saisir ses paramètres de d’entreprise, administrateur
connexion pour pouvoir se connecter au Auteur : BARRY Inoussa
système Précondition :
Avoir un compte
Être non connecté
Postcondition :Utilisateur
connecté
Scénario nominal
1. L’utilisateur demande à se connecter ;
2. Le système envoie le formulaire de connexion ;
3. L’utilisateur renseigne ses informations puis valide ;
4. Le système vérifie les informations saisies ;
5. Le système affiche la page d’accueil de l’utilisateur ;
6. Fin du cas d’utilisation.
CU « Demander un rendez-vous »
CU « Ajouter un personnel »
Résumé : Ce cas d’utilisation permet d’ajouter Acteurs : Propriétaire d’entreprise
un personnel dans une entreprise Auteur : BARRY Inoussa
Précondition :
• Être connecté
• Avoir une entreprise active
Postcondition : Personnel ajouté
Scénario nominal
1. L’utilisateur demande à ajouter un personnel ;
2. Le système envoie le formulaire de renseignement du personnel à ajouter dans
l’entreprise ;
3. L’utilisateur renseigne les informations puis valide ;
4. Le système vérifie les informations saisies ;
5. Le système notifie le succès d’ajout du personnel dans l’entreprise ;
6. Fin du cas d’utilisation.
Scénario alternatif : La saisie est incomplète ou incorrecte.
7. Le système affiche un message d’erreur et renvoie le formulaire à corriger ;
8. L’enchainement reprend à partir de l’étape 5 du scénario nominal.
Scénario erreur : Annulation d’ajout du personnel dans l’entreprise
9. Le système arrête le processus d’ajout du personnel ;
10. Fin du cas d’utilisation.
Le diagramme des cas d’utilisation montre l’ensemble des processus du domaine d’étude.
Il représente les acteurs en relation avec le système constitué de l’ensemble des cas d’utilisation.
Il relève de l’aspect fonctionnel ou comportemental du système. Son objectif est de permettre la
visualisation des cas d’utilisation et le recensement des besoins des utilisateurs. Ces éléments
de base sont : les acteurs, les cas d’utilisation et les associations. La figure suivante représente
le diagramme des cas d’utilisation de notre projet.
Consulter
une
Visiteur entreprise
Activer ou
Créer un désactiver une
compte entreprise
Administrateur
Récupérer
son compte <<include>>
Modifier
son RDV <<include>>
Demander
<<include>>
un RDV
Annuler
son RDV
Client
<<include>>
Créer une
<<include>>
entreprise
API SMS LESMSBUS
Accepter
un RDV <<include>>
Ajouter un
emploi de
<<include>>
temps
S'authentifier
<<include>>
Propriétaire d'entreprise Modifier un
emploi de <<include>>
temps
API Ligdicash
Ajouter un
personnel
<<include>>
Modifier un
personnel
<<include>>
Faire un
abonnement/ <<include>>
Reabonnement
Le diagramme de séquence montre les interactions entre les objets en mettant l’accent sur
l’aspect temporel (la chronologie des envois de messages). Il permet de mieux visualiser la
séquence des messages pour une lecture du haut vers le bas. Ci- dessous se trouve la
représentation de quelques diagrammes de séquences.
S'authentifier
Affichage du formulaire
Remplir et valider
Demande des données du compte
Renvoie de formulaire
Saisir et valider
Demande des données du compte
Envoie de la reponse
Inforrmation compte bloqué
Connexion acceptée
Demande du profil
Envoie de profil
Affichage de la page d'accueil
Charger paramètres
Demander RDV
Utilisateur
ref S'authentifier()
Demande de RDV
Choix du personnel
Affichage de la disponibilité
ChoixDatePuisLancementReservation Vérification
alt Erreur
opt [Erreur de saisie]
Renvoie du formulaire
ChoixDatePuisLancementReservation Vérification
Enregistrement dans la BD
Succès d'enregistrement
Envoie du message de succès
Créer compte
Utilisateur
demande de création de compte
Envoie de formulaire
Remplire et valider
Vérification
Enregistrement dans la BD
Succès d'enregistrement
Notification de succès
Saisie correcte
Enregistrement dans la BD
Succès d'enregistrement
Notification de succès
Ajouter Entreprise
Utilisateur
ref
S'authentifier()
Ajouter Entreprise
Envoie de formulaire
Enregistrement dans la BD
Succès d'enregistrement
Affichage du formulaire d'abonnement
Validation et paiement
Enregistrement et appel à l'API paiement
Notification de succès
Vérification du paiement
Saisie correcte
Enregistrement dans la BD
Succès d'enregistrement
Validation et paiement
Enregistrement et appel à l'API paiement
Notification de succès
Vérification du paiement
Ajouter Personnel
Utilisateur
ref
S'authentifier()
Envoie de formulaire
Renvoie du formulaire
Vérification
Remplir et valider
Enregistrement dans la BD
Succès d'enregistrement
Notification de succès
Saisie correcte
Enregistrement dans la BD
Succès d'enregistrement
Notification de succès
Bootstrap est un Framework ou une infrastructure qui permet de styliser les pages web et
de les rendre responsives. Il est constitué de HTML5, CSS3 et javascript afin d’apporter du style
aux boutons, aux formulaires, à la navigation. Bootstrap utilise un concept basé sur un système
de grille qui consiste à diviser l’écran en douze colonnes (12) distincts pour mettre en ordre
l’aspect visuel d’une page web. Il a pour devise de développer rapidement un site web en
écrivant moins de code.
HTML est un langage de balisage qui a vu le jour avec le lancement du web dans les
années 1990. Son rôle est de générer et organiser du contenu des pages web. Il nous permet
d’écrire le rendu visuel sur les pages à savoir : du texte, des liens (hyperliens), des images. Ce
langage a connu plusieurs améliorations depuis sa première version. Les différentes versions
sont les suivantes :
CSS est un langage stylisation utilisé pour rendre attirant la présentation des contenus des
pages HTML. C’est un concept présent depuis l’origine du web et nous aide à décrire
l’apparence de la plateforme à travers : la couleur et la taille des polices du texte, la taille des
titres, les positions, etc... Ce langage a connu des améliorations depuis sa création et comme
version, nous avons :
CSS 1 qui est la première version apparue en 1996 et pose les bases de ce langage ;
CSS 2 apparue en 1996 puis complété par CSS 2.1 avec de nouvelles possibilités
notamment dans le positionnement avec précision ;
CSS 3 qui est la dernière version actuelle. Elle apporte de nombreuses options comme
les bordures arrondies, les dégradés, les ombres.
PHP est un langage de programmation web côté serveur c’est-à-dire que c’est le serveur qui
va interpréter le code PHP et générer du code qui pourra être interprété par un logiciel client (le
navigateur). Il a été créé par Rasmus Lerdorf en 1994. Son but est de permettre la création
d’applications dynamiques le plus souvent dédiées au web. Il peut s’installer sur les principaux
serveurs web du marché dont les plus répandus étant IIS et Apache. Ce couplage permet de
récupérer des informations issues d’une base de données, d’un système de fichiers (contenu de
fichiers et d’arborescence) ou des données envoyées par le navigateur afin d’être interprétées
ou stockées pour une utilisation ultérieure. Il est utilisé dans le traitement des données envoyées
par les formulaires et l’accès devient facile une fois les modules installés.
JAVASCRIPT
JavaScript est un langage de script côté client (navigateur) développé par Brendan Eich de
la société Netscape Communication Corporation en 1995 avec pour nom LiveScript. Associé à
d’autres langages de programmation, il permet de développer des pages web dynamiques et
interactives. Il est à noter qu’il y a une différence entre JavaScript et Java qui est un langage de
programmation orienté objet développé par la société Sun Microsystems. Les deux (02)
langages n’ont pas le même principe de fonctionnement et le JavaScript est au cœur de la
technologie AJAX prôné par le web 2.0.
JQUERY
JQuery, très peu connu par les utilisateurs du web, est l’une des bibliothèques du
JavaScript. Son objectif est de rendre les pages web interactives tout en réduisant le travail des
programmeurs.
SQL
Apache 2.4.37
Apache http server est un serveur HTTP créé et maintenu par la fondation Apache. C’est
un logiciel open source et fonctionne aussi bien sur Linux que sur Windows.
MySQL 5.7.24
MySQL, le plus populaire des serveurs de bases de données SQL Open Source, est
développé, distribué et supporté par MySQL AB. MySQL AB a été racheté par Microsystems
en 2008 et ce dernier sera racheté à son tour en 2009 par Oracle Corporation. Faisant partie des
SGBD les plus populaires au monde, ce serveur de bases de données relationnelles fonctionne
sur de nombreux systèmes d’exploitation (dont Linux, Mac OS X, Windows, Solaris, FreeBSD,
…) et permet de répartir la charge sur plusieurs machines, d’optimiser les performances ou
d’effectuer facilement des sauvegardes des données.
Le Modèle : Il définit les données utilisées par l’application en faisant le lien entre
l’application et la base de données. Le modèle est chargé de récupérer les informations
dans la base de données, de les organiser afin qu’elles puissent être traitées par le
contrôleur.
La Vue : Il s’agit de l’interface utilisateur, définit la manière dont les données
récupérées du modèle sont présentées à l’utilisateur. Il reçoit également les actions de
l’utilisateur permettant ainsi son interaction avec le système.
Le Contrôleur : Cette partie gère la logique du code qui prend des décisions. C’est la
couche intermédiaire, qui met en relation le modèle et la vue. En effet, le contrôleur est
chargé de récupérer les informations au niveau du modèle, de les traiter en fonction des
paramètres demandés par la vue, puis de renvoyer à la vue.
Source : « webcky.fr »
L’estimation du coût est une étude sur le coût de réalisation d’une application. Elle est
très importante car elle permet d’avoir le budget total de réalisation d’un projet afin d’éviter les
retards de livraison des livrables et les dérives budgétaires. Elle prend en compte le coût de
développement, de formation des utilisateurs, d’achat de matériel et des logiciels. Dans notre
cas, nous avons choisi de travailler avec la méthode COCOMO (COnstructive COst MOdel).
Cette méthode permet d’estimer le coût de développement d’un logiciel à partir du type de
projet, la taille de l’application (nombre de lignes de code à écrire) et du salaire moyen d’un
informaticien. Selon cette méthode, il existe trois (03) types de projet :
Les projets organiques : leurs réalisations sont assurées par une équipe de petite
taille ;
Les projets médians : ce sont des projets dont la complexité est moindre et qui
sont pilotés par une équipe dont les membres se connaissent. Les technologies
utilisées peuvent être nouvelles mais pas difficiles à appréhender ;
Les projets imbriqués : le niveau d’innovation est important, l’organisation est
complexe, couplage fort avec beaucoup d’interactions. Le tableau suivant donne
les formules de calcul des coûts avec COCOMO.
Ce chapitre nous a permis dans un premier temps de mieux spécifier les besoins recueillis
auprès du groupe utilisateur. Cette spécification s’est faite en identifiant dans un premier lieu
les acteurs et les cas d’utilisations du système RDVonline. Ensuite, nous avons effectué une
description textuelle de quelques cas d’utilisation avant de dresser le diagramme de cas
d’utilisation ainsi que les diagrammes de séquence système. Nous avons dans un deuxième
temps effectué l’analyse architecturale de notre système. Nous avons d’abord déterminé les
composantes logicielles qui vont intervenir dans la phase d’implémentation, ce sont entre autres
les librairies, les langages de programmation etc. Nous avons par la suite présenté l’architecture
MVC que nous utilisons comme architecture de base de notre système. Dans le prochain
chapitre, nous allons indiquer comment le système sera implémenté et réalisé.
Les règles de gestion sont les règles qui permettent d’exprimer la manière dont les classes
seront associées mais aussi ce qui est interdit dans le fonctionnement du système. Elles sont
traduites par les associations et les cardinalités et sont représentées dans le tableau suivant :
N° Règles de Gestion
Les concepts clés désignent les classes pertinentes pour les objets du domaine de notre
application. Comme classes pertinentes nous avons identifié :
Utilisateur
Entreprise
Rendez-vous
Emploi de temps
Personnel
Utilisateur
Attribut Description Type Taille
IdUtilisateur Code attribué à chaque Int 11
utilisateur de façon à
identifier chaque utilisateur
de manière unique.
idtypeUtilisateur Code attribué à chaque Int 11
utilisateur afin de connaitre
leurs rôles (Client,
Propriétaire d’entreprise ou
secrétaire).
NomUtilisateur Désigne le nom String 70
d’utilisateur.
PrenomUtilisateur Désigne le prénom de String 70
l’utilisateur
Téléphone Désigne le numéro de Int 20
téléphone de l’utilisateur
Email Désigne l’adresse mail de String 70
l’utilisateur.
Mot de passe Désigne le mot de passe de String 20
l’utilisateur.
Entreprise
Personnel
Attribut Description Type Taille
idPersonnel Code attribué à chaque personnel de façon Int 11
à l’identifier de manière unique
Poste Désigne le poste du personnel String 70
Etat Désigne l’état du personnel dans Boolean
l’entreprise
Nom Désigne le nom du personnel String 70
Prénom Désigne le prénom du personnel String 70
Emploi de temps
Attribut Description Type Taille
IdEmploitemps Identifiant de l’emploi de temps Int 70
Libelle Désigne le libellé de l’emploi de temps String 70
Horaire Désigne l’horaire de l’emploi de temps Date 20
Rendez-vous
idRdv Désigne l’identifiant du rendez-vous Int 11
Objet Désigne l’objet du Rendez-vous String 20
Date Désigne la date du rendez-vous Date 20
Etat Désigne l’état du rendez-vous Boolean 20
Pays
- idPays : int
- nomPays : String
- codePays : int
1..1
1..*
utilisateur
Ville - idUtilisateur : int typeUtilisateur
- nom : String
- idVille : int - idTypeUtilisateur : int
- prenom : String 0..*
- nomVille : String - tel : int 1..1 - libelle : String
- email : String
- password : String
+ Créer_compte () : void
1..1
0..* + Modifier () : void 0..1
+ Bloquer () : void
entreprise
- idEntreprise : int 1..1
- nom : String
- contact : int
- email : String 0..1
- logo : String
- etat : Boolean
+ Ajouter () : void 0..*
+ Modifier () : void
+ Désactiver () : void rendezVous
Personnel - idRdv : int
- objet : String
1..1 1..1 - idPersonnel : int - date : Date
0..* - poste : String - etat : Boolean
- etat : boolean
1..1 + Demander () : void
- nom : String
0..* + Accepter () : void
- prenom : String
+ Refuser () : void
+ Ajouter () : void
0..* + Modifier () : void
+ Desactiver () : void
Abonnement
1..1
- id_abonnement : int
- libelle : String
- duree : int
0..1
emploiTemps
- idEmploiTemps : int
- libelle : String
- horaire : Date
+ Ajouter () : void
+ Modifier () : void
+ Supprimer () : void
Figure 11 : Diagramme de classe
[Enregistrement de la demande]
Rendez-vous annulé
Rendez-vous validé
Rendez-vous terminé
[Durée] Rendez-vous en traitement
Entreprise activée
Entreprise désactivée
[Validation du formulaire de création]
[Fin d'abonnement]
Entreprise visible
Source : « lucidchart.com »
utilisateur
Pays
idUtilisateur Integer
idPays Integer idEntreprise Integer
nomPays Variable characters (254) idTypeUtilisateur Integer
codePays Integer nom Variable characters (254)
Identifier_1 <pi> prenom Variable characters (254)
tel Integer
email Variable characters (254)
password Variable characters (254)
Identifier_1 <pi>
Ville
idPays Integer
idVille Integer
nomVille Variable characters (254)
Identifier_1 <pi>
typeUtilisateur
idTypeUtilisateur Integer
libelle Variable characters (254)
Identifier_1 <pi>
entreprise
idEntreprise Integer
idPays Integer
idVille Integer
nom Variable characters (254) (D)
contact Integer
email Variable characters (254)
logo Variable characters (254)
etat Short integer
rendezVous
Identifier_1 <pi>
idRdv Integer
idUtilisateur Integer
idPersonnel Integer
objet Variable characters (254)
date Timestamp
etat Short integer
Personnel Identifier_1 <pi>
idPersonnel Integer
idEmploiTemps Integer
idEntreprise Integer
poste Variable characters (254)
etat Short integer
nom Variable characters (254)
prenom Variable characters (254)
Identifier_1 <pi>
Abonnement (D)
id_abonnement Integer
idEntreprise Integer emploiTemps
libelle Variable characters (254) idEmploiTemps Integer
duree Integer libelle Variable characters (254)
Identifier_1 <pi> horaire Timestamp
Identifier_1 <pi>
Pays
utilisateur
idPays integer <pk>
idUtilisateur integer <pk>
nomPays varchar(254)
idEntreprise integer <fk2>
codePays integer
idTypeUtilisateur integer <fk1>
nom varchar(254)
prenom varchar(254)
tel integer
email varchar(254)
password varchar(254)
Ville
idPays integer <pk,fk>
idVille integer <pk>
nomVille varchar(254)
typeUtilisateur
idTypeUtilisateur integer <pk>
libelle varchar(254)
entreprise
idEntreprise integer <pk>
idPays integer <fk>
idVille integer <fk>
nom varchar(254) rendezVous
contact integer idRdv integer <pk>
email varchar(254) idUtilisateur integer <fk1>
logo varchar(254) idPersonnel integer <fk2>
etat smallint objet varchar(254)
date timestamp
etat smallint
emploiTemps
idEmploiTemps integer <pk>
libelle varchar(254)
horaire timestamp
Abonnement Personnel
Pour s’assurer du bon fonctionnement de notre système, nous avons développé quelques
modules qui sont récapitulés dans la liste suivante :
La gestion de compte : ce module permet la création et la modification des comptes
sur la plateforme. Le compte comprend les identifiants de l’utilisateur (son nom, prénom,
adresse, etc.) ;
La gestion des entreprises : ce module permet de créer une entreprise et d’avoir un
aperçu sur les différents personnels, les rendez-vous et sur l’état de son abonnement ;
La gestion des emplois de temps : ce module permet l’ajout d’un emploi un temps dans
la plateforme, la modification et la suppression d’un emploi de temps ;
La gestion des rendez-vous : ce module permet aux secrétaires de gérer les différents
rendez-vous sur la plateforme ;
La gestion des personnels : ce module permet d’ajouter, de modifier et supprimer des
personnels dans la plateforme.
Ecran d’accueil
La page d’accueil est le tout premier écran qui apparait lorsqu’une personne se rend sur la
plateforme. Il permet un premier contact avec un utilisateur ou un visiteur.
Ecran d’inscription
La page d’inscription permet à tous les utilisateurs de s’inscrire sur la plateforme en
renseignant ses différentes informations.
Ecran de connexion
Sur cet écran l’utilisateur pourra voir des différentes entreprises disponibles sur la
plateforme.
Sur cet écran, l’utilisateur pourra voir les différents personnels de l’entreprise choisi.
Sur cette page, les administrateurs d’entreprises pourront voir les différents rendez-vous qu’ils
ont reçus.
Nous constatons que le planning prévisionnel défini plus haut n’a pas été respecté et tous
les modules n’ont pas étés implémentés. Ces différences sont dues à plusieurs facteurs. Parmi
ces facteurs nous pouvons citer :
La politique de sécurité d’un système d’information est un plan d’actions définies pour
maintenir un certain niveau de sécurité. Ce plan d’action consiste par exemple à :
fonctionnement du système.
En informatique, une sauvegarde ou backup en anglais, est une opération qui consiste à
dupliquer et à mettre en sécurité les données contenues dans un système d’information. Comme
méthode de sauvegarde, nous avons les techniques suivantes :
Nous avons d’une part, identifiés dans ce chapitre les éléments de conception
nécessaires à la réalisation du système RDVonline. Nous avons procédé à la délimitation du
domaine d’étude, puis établi les diagrammes de classes. Nous avons également présenté le
schéma logique et le schéma physique des données. Nous avons d’autre part, présenté
l’implémentation de la solution et le bilan. Nous avons d’abord présenté les modules qui ont
été développés. Nous avons par suite présenté l’enchainement de quelques écrans de la solution
proposée. Une analyse des écarts a été faite avant de présenter la politique de sécurité du
système.
CONCLUSION GENERALE
Nous avons effectué notre stage de fin de cycle de licence informatique option analyse
et programmation au sein de l’entreprise Nos3S. Après notre intégration à l’équipe, chose qui
fut rapide, nous avons eu à effectuer plusieurs tâches qui ont constituées notre mission globale
de stage. Le présent rapport fait le bilan de notre stage. Il est composé de trois (03) chapitres
qui détaillent respectivement le contexte de stage, les démarches et les moyens de résolution, le
domaine d’étude, la spécification du système, l’architecture du système, la conception de la
solution ainsi que la réalisation et le bilan du système. Nous tenons à exprimer notre satisfaction
d’avoir travaillé dans de bonnes conditions matérielles et un environnement agréable.
Au terme de ce stage, les bénéfices qui s’en dégagent sont manifestes. D’abord sur le plan
professionnel, nous avons engrangé des acquis considérables. Ensuite nos connaissances ont
été approfondi en conduite de projet, en programmation notamment la programmation web, en
base de données ainsi qu’en conception et modélisation. Enfin nous avons été initiés à l’art d’un
savoir-faire professionnel inégalable.
BIBLIOGRAPHIE
WEBOGRAPHIE
https//www.laafi-express.com
https//www.madate.fr
https//www.app.reservio.com.
https//www.openclassrooms.com/fr/courses
https/www.getbootstrap.com
https/www.bootstrapmade.com
https/www.jquery.net
https/www.jqueryscript.net
https/www.3schools.com
https/www.phpgang.com
ANNEXE
Annexe 1 : mysql
Annexe 2 : Bootstrap
Bootstrap est une collection d’outils utile à la création du design (graphisme, animation
et interactions avec la page dans le navigateur, etc ...) de sites et d'applications web. C'est un
ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils de navigation
et autres éléments interactifs, ainsi que des extensions JavaScript en option.