Académique Documents
Professionnel Documents
Culture Documents
Présenté par :
Asaad Ben Ahmed
Sujet
Etude et Développement d’une application Web
Pour la Gestion de l’Immobilier
Dédicace
1
Asaad Ben Ahmed 2017/2018
Remerciements
2
Asaad Ben Ahmed 2017/2018
Résumé
3
Asaad Ben Ahmed 2017/2018
Summary
4
Asaad Ben Ahmed 2017/2018
5
Asaad Ben Ahmed 2017/2018
6
Asaad Ben Ahmed 2017/2018
Introduction
Deux formations ont été requises pour mener à bien ce projet : une
formation sur les techniques de ventes d’un projet immobilier, et une formation
poussée sur le Framework Laravel.
7
Asaad Ben Ahmed 2017/2018
2) Activité de l’entreprise
• Forts de son expérience sur les produits à forte technicité, elle est devenue actifs dans le
Domaine de la géolocalisation. Constatant que la quasi-totalité des solutions existantes
visaient surtout les grosses flottes de véhicules, elle a cherché à développer des produits
Destinés plus spécifiquement aux particuliers et aux petites entreprises. Ceux-ci n’ont en
Effet pas toujours la volonté de s’engager sur des années avec des abonnements aux
Montants significatifs, et n’ont pas toujours besoin de systèmes hyper complexes.
• Grâce aux partenariats noués avec quelques grands fabricants, et à ses capacités de
Développement de logiciels spécifiques, elle a pu proposer une gamme unique et
Novatrice de systèmes de géolocalisation par GPS et SMS/GPRS.
• Le succès grandissant rencontré par ses solutions semble démontrer qu’elle a fait un
Choix judicieux, et elle place aujourd’hui comme l’un des acteurs majeurs du domaine de
La géolocalisation dans les pays francophones.
8
Asaad Ben Ahmed 2017/2018
CHAPITRE I
Analyse et conception
Ce chapitre présentera le sujet, l’analyse et les conceptions détaillées avec les différents
diagrammes en utilisant la modélisation UML. Il détaillera quelques user stories de l’application.
9
Asaad Ben Ahmed 2017/2018
I. Conception :
Le processus de la réalisation de mon projet s’appuie sur UML tout au long du cycle de
développement qui est considéré comme un outil précieux d’aide à la décision car les différents
diagrammes de ce dernier permettent de faciliter les tâches, d'apporter plus de clarté et de bien
modéliser l’application à chaque étape de la réalisation. UML se définit comme un langage de
modélisation graphique et textuel destiné à comprendre, décrire des besoins, spécifier, concevoir
des solutions et communiquer des vues. UML unifie à la fois les notations et les concepts orientés
objet. Il ne s’agit pas d’une simple notation, mais les concepts transmis par un diagramme ont
une sémantique précise et sont porteurs de sens au même titre que les mots d’un langage, c’est
pour ça qu’UML est présenté parfois comme une méthode alors qu’il ne l’est absolument pas.
UML unifie également les notations nécessaires aux différentes activités d’un processus de
développement et offre, par ce biais, le moyen d’établir le suivi des décisions prises, depuis la
définition des besoins jusqu’au codage.
Voici une présentation rapide des différents diagrammes UML qui vont être utilisés tout au
long du projet :
Le diagramme des cas d’utilisation : Représente la structure des fonctionnalités
nécessaires aux utilisateurs des systèmes.
Le diagramme de classe : L’un des diagrammes les plus importants dans un
développement orienté objet. Sur la branche fonctionnelle, ce diagramme est prévu
pour développer la structure des entités manipulées par les utilisateurs. En conception,
le diagramme de classes représenté la structure d’un code orienté objet.
Le diagramme de package : Il fournit une représentation graphique de haut niveau de
l'organisation de votre application.
Le diagramme d’état : Les diagrammes d’états montrent les différents états d’un objet
ainsi que les transitions entre ces états. Ils peuvent également représenter un protocole.
Le diagramme de séquence : Représente les échanges de messages entre objets, dans le
cadre d’un fonctionnement particulier du système.
Le diagramme d’activité : Il donne une représentation simplifiée d'un processus, en
montrant les flux de contrôle entre les actions effectuées dans le système.
10
Asaad Ben Ahmed 2017/2018
La journée-type d’un promoteur immobilier n’est pas de tout repos. Entre les
déplacements sur le terrain, le suivi des ventes et des dossiers en cours, il doit bien souvent
s’occuper de dizaines de sujets différents dans une même journée.
Un travail titanesque surtout quand on y rajoute le temps nécessaire à la réponse aux
appels téléphoniques et à la saisie des informations des différents contacts. Aussi face à la
concurrence accrue dans le domaine immobilier au Maroc, et à la récession de l’activité, tout
promoteur immobilier se doit de renforcer et élargir sa base de clientèle et de prospects. D’où
l’idée de développer un outil de gestion commercial.
Une application dédiée aux promoteurs immobiliers marocains leur permettant d’avoir
une vision d’ensemble des ventes et opportunités en cours et sur les performances de chaque
projet et de chaque commercial.
2. Objectifs du projet :
Les objectifs à atteindre durant la période de stage sont définis comme suit :
Répondre aux attentes des promoteurs dont le but est d’avoir une vision globale sur les
ventes et négociations en cours et sur les performances de chaque projet et de chaque
commercial.
11
Asaad Ben Ahmed 2017/2018
Suivre l’évolution des dossiers dans le temps et avoir une vision globale sur ceux-ci, par
statut, par commercial, par projet, etc.
3. Solution proposée
Après plusieurs réunions avec différents promoteurs immobiliers, nous avons réussi à
qualifier les besoins actuels en termes de gestion commerciale, mais surtout le mode de
fonctionnement de ces derniers.
12
Asaad Ben Ahmed 2017/2018
Un acteur représente une abstraction d’un ensemble des rôles joués par des entités externes
et qui interagit directement avec le système (utilisateur, autre système, dispositif etc.).
Les acteurs concernés par ce système sont :
Le commercial : son métier consiste à commercialiser des biens d’un ou plusieurs projets
immobiliers.
Le promoteur : désigne le gérant de la société de promotion immobilière dont la mission
consiste à vendre des espaces construits ou prêts à construire à des futurs acquéreurs
13
Asaad Ben Ahmed 2017/2018
Le commercial souhaite :
Répertorier intelligemment toutes les informations relatives à ses dossiers : biens factures
et clients.
Gestion des rendez-vous et des visites pour chacun des dossiers.
Suivi de l’évolution de ses dossiers dans le temps tout au long du parcours commercial.
Gestion des réservations et des ventes pour un bien immobilier.
Gestion des documents associés à un client lors de la réservation d’un bien.
Le promoteur souhaite :
Suivre l’évolution des dossiers par état.
Avoir une vision d’ensemble sur les ventes et négociations en cours et sur les
performances de chaque projet et de chaque commercial à travers des statistiques et
des tableaux de bords intuitifs.
Gérer les programmes et biens immobiliers associés (ajout, modification, suppression)
14
Asaad Ben Ahmed 2017/2018
4. Diagramme de Gantt :
4.1. Prévisionnelle :
4.2. Réel :
15
Asaad Ben Ahmed 2017/2018
5. Règle de gestion :
Les utilisateurs :
- Un utilisateur appartient à une seule société.
- Un utilisateur peut gérer plusieurs dossiers.
- Un utilisateur peut avoir plusieurs rôles.
- Un utilisateur peut être en charge de plusieurs événements.
Les sociétés :
- Une société crée des projets.
- Une société peut avoir plusieurs utilisateurs.
Les projets :
- Un projet peut contenir plusieurs biens.
- Un projet appartient à un seul quartier.
- Un projet appartient à une seule société.
Les biens :
- Un bien appartient soit à un seul projet soit à un autre bien.
- Un bien a une seule catégorie.
- Un bien peut contenir d’autres biens.
- Un bien peut avoir plusieurs publicités.
- Un bien peut avoir plusieurs états d’avancements.
- Un bien peut avoir une seule facture.
- Un bien peut appartenir à plusieurs dossiers
- La facture d’un bien appartient à un seul dossier.
Les catégories :
- Le formulaire d’une catégorie peut avoir plusieurs champs.
- Une catégorie représente plusieurs biens.
Les dossiers :
- Un dossier est géré par un seul utilisateur.
- Un dossier peut avoir un ou plusieurs clients.
- Un dossier peut contenir plusieurs factures.
- Un dossier peut contenir plusieurs biens.
Les factures :
- Une facture peut se ventiler en plusieurs payements.
- Une facture a un seul état.
- Une facture appartient à un seul dossier.
- Une facture concerne un seul bien.
- Une facture peut avoir plusieurs événements.
16
Asaad Ben Ahmed 2017/2018
6. Diagramme de package :
17
Asaad Ben Ahmed 2017/2018
7.1. Construction :
Construction
Package
Créer projet
Promoteur
Authentification
Ajouter progrés
Créer bien
Modifier bien
Supprimer bien
Chef de construction
18
Asaad Ben Ahmed 2017/2018
7.2. Finance :
Finance
package
Lister pub
Promoteur
Authentification
Responsable marketing
Modifier pub
Ajouter pub
19
Asaad Ben Ahmed 2017/2018
7.3. Vente :
vente
Package Ajouter payment
Modifier client
Ajouter client
Lister client
Résilier un achat
Lister dossier
Commercial
Ajouter dossier
Lister event
Supprimmer event
Lister payment
Ajouter Event
Promoteur
20
Asaad Ben Ahmed 2017/2018
7.4. Administration :
L’administrateur a le droit de gérer l’ensemble des utilisateurs systèmes ainsi que les
entreprises.
Administration
Package
Modifier utilisateur
Admin
Supprimer utilisateur
Ajouter utilisateur
Authentification
Supprimer entreprise
Modifier entreprise
Lister entreprises
Ajouter entreprise
21
Asaad Ben Ahmed 2017/2018
Dans cette partie il sera question de donner plus de détails sur les différents cas d’utilisation
présentés ci-dessus. Tous les cas cités ne seront pas présentés, nous nous intéresserons
uniquement aux cas suivants :
S’authentifier
Ajouter un dossier
Lister les biens immobiliers disponibles
Modifier un projet immobilier
Désactiver un ou plusieurs utilisateurs
8.1. S’authentifier :
Authentification Description
Acteurs principaux Tous les utilisateurs
Objectifs L’utilisateur se connecte au système.
L’utilisateur accède aux fonctionnalités
autorisées pour son profil.
Pré-condition(s) L’utilisateur est déjà enregistré dans le système
Post-condition(s) L'utilisateur a accès à l'ensemble des
informations et des fonctionnalités définies par
son profil
Scénario nominal 1-L'utilisateur se connecte sur la page
d’authentification
2-L'utilisateur saisit son login et son mot de
passe dans la page d’authentification
3-L’utilisateur clique sur le bouton « Connexion »
4-Le système vérifie le login et le mot de passe
5-L’utilisateur peut naviguer dans les
fonctionnalités offertes par son profil
Scénarios alternatifs Scénario alternatif A
4. a-L ’utilisateur entre un login erroné
5-Le système affiche le message « Login erroné
et ne correspond à aucun utilisateur »
6-Reprendre le scénario nominal à 2
Scénario alternatif B
4.b-L’utilisateur entre un mot de passe erroné.
5-Le système affiche le message « Mot de passe
incorrect ».
6-Reprendre le scénario nominal à 2.
22
Asaad Ben Ahmed 2017/2018
Authentification Description
Acteurs principaux Commercial
Objectifs Ajouter les informations relatives a un
dossier.
Pré-condition(s) Le commercial doit être authentifié auprès
du système.
Post-condition(s) L’utilisateur reçoit la notification envoyé par
le système.
Scénario nominal 1- L’utilisateur saisit le nom et prénom du
client.
2-Le système vérifie l’inexistence du CIN,
nom et prénom dans la base de données.
3-L’utilisateur remplit le formulaire.
4-Le système valide les informations saisies
et crée le dossier.
5- Le système notifie l’utilisateur que l’ajout
a été validé
Scénarios alternatifs 2. a- Le client n’est pas dans la base de
données. Il est ajouté automatiquement par
le système.
Authentification Description
Acteurs principaux Promoteur
Utilisateur Marketing
Objectifs Affichage de la liste des biens immobiliers
liés à un promoteur.
Pré-condition(s) L’utilisateur est connecté au système
Post-condition(s) L’utilisateur reçoit la notification envoyé par
le système.
Scénario nominal 1-L’utilisateur clique sur « liste des biens
immobiliers »
2-Le système affiche la liste des biens
immobiliers liés au promoteur.
Scénarios alternatifs
23
Asaad Ben Ahmed 2017/2018
Authentification Description
Acteurs principaux Promoteur
Objectifs L'affichage des informations concernant les biens
immobiliers
Pré-condition(s) L’utilisateur est connecté au système
Post-condition(s) L’utilisateur reçoit la notification envoyé par le
système.
Scénario nominal 1-L’utilisateur saisit la ressource à modifier
2-Le système affiche les informations du projet
3-L’utilisateur modifie les informations concernées
4-Le système valide les informations modifiées et
mets à jour les informations
5-Le système notifie l’utilisateur que la
modification s’est bien passée
Scénarios alternatifs 4. a-Le système envoie une notification de la prise
en compte du type de champ. Reprendre le
scénario nominal à 3.
Authentification Description
Acteurs principaux Administrateur
Objectifs Désactivation des comptes utilisateurs d’un
promoteur.
Pré-condition(s) L’utilisateur est connecté au système
Post-condition(s) L’utilisateur reçoit la notification envoyé par le
système.
Scénario nominal 1-L’utilisateur clique sur l’onglet « lister utilisateurs
»
2-Le système affiche la liste des utilisateurs
3-L’utilisateur sélectionne un utilisateur et clique
sur « désactivation des comptes »
4-Le système affiche une fenêtre de confirmation
5-L’utilisateur confirme son choix de désactivation
6-Le système désactive le compte et notifie
l’utilisateur que la désactivation s’est bien déroulée
Scénarios alternatifs 4. a-Le système envoie une notification de la prise
en compte du type de champ. Reprendre le
scénario nominal à 3.
24
Asaad Ben Ahmed 2017/2018
9. Diagramme d’activité :
9.1. Login :
25
Asaad Ben Ahmed 2017/2018
créer bien
:utilisateur
Afficher formulaire
selectionner categorie
générer formulaire
séléctionner champs
champs
formulaire
affichage formulaire
Enregistrer
Enregistrer
Enregistrer
Message succes
données invalides
Message erreur
26
Asaad Ben Ahmed 2017/2018
modifier bien
:utilisateur
champs
formulaire
affichage
Modifier
Message succes
Condition
Message erreur
27
Asaad Ben Ahmed 2017/2018
ajouter charge
:bien :charges
:utilisateur
afficher charges
lister
charges
affichage
ajouter charge
formulaire
enregistrer charge
Enregistrer la BD
succes
Message succes
Condition
Message erreur
28
Asaad Ben Ahmed 2017/2018
crée dossier
:dossiers :clients
:utilisateur
afficher formulaire
affichage
Enregistrer
sinon
Enregistrer
:client
Enregistrer dans la BD
Message succes
données invalides
Message erreur
29
Asaad Ben Ahmed 2017/2018
ajouter evenement
:dossiers :evenements
:utilisateur
afficher evenements
lister
evenements
affichage
ajouter evenemts
formulaire
enregister evenement
enregistrer dans la BD
succes
Message succes
données invalides
Message erreur
30
Asaad Ben Ahmed 2017/2018
Crée projet
:projet :quartier
:utilisateur
Afficher formulaire
affichage
selectionner le quartier
reponse
Enregister
donées invalide
Message erreur
nouveau quartier
afficher formulaire
affichage
Enregistrer
enregister dans la BD
clé du quartier
Enregistrer dans la BD
Message succes
données invalides
Message erreur
31
Asaad Ben Ahmed 2017/2018
modifier projet
:projet
:utilisateur
Modifier
Message succes
données invalides
Message erreur
32
Asaad Ben Ahmed 2017/2018
Ajouter Pub
Publicité
R.Marketing
Afficher formulaire
Affichage
Enregistre
Enregistre dans la BD
Succés
Données invalides
Erreur
33
Asaad Ben Ahmed 2017/2018
34
Asaad Ben Ahmed 2017/2018
Actif
[resiliation]
vendu
entry / paiment terminé
exit / signé l'act de vente
annulé
entry / client demande resiliation
35
Asaad Ben Ahmed 2017/2018
districts
- ID : int advertisements
- name : String - ID : int
- city : String - begining : Date
- mosque : boolean - ending : Date
- kindergarden : boolean - price : double
- school : boolean - platform : String
- middle_school : boolean
- high_school : boolean + afficher formulaire () : html
- Super_market : boolean + Enregistrer () : boolean
- bakery : boolean + lister () : Advertisment
roles - hammam : boolean 0..*
- ID : int + afficher formulaire () : html
- name : String + Enregistrer () : boolean 1..1 0..*
- description : String + lister () : Avenue
Properties
0..1 - ID : String
1..* 0..1
- reg_num : String
0..*
0..* - price : Double
- address : String
users companies projects - number : int
- ID : string - ID : int - ID : int - floors_nbr : int
- email : String - name : String - name : String - floor : int
- pwd : String - address : String - total_cost : double - surface : double
1..* - phone : String 1..1 0..1
- f_name : String - construct_id : int - availibility : boolean
- p_name : String - fax : String 0..* - presentation : String - facades : int
1..1
- email : String - Timestamp : Date - plan_link : String
+ afficher formulaire () : html
+ afficher formulaire () : html + afficher formulaire () : html 0..* - blocs_nbr : int
+ Enregistrer () : boolean
+ Enregistrer () : boolean + Enregistrer () : boolean - blds_nbr : int
+ Modifier () : boolean
+ Modifier () : boolean + Modifier () : boolean - apts_nbr : int
1..1 0..1 - strs_nbr : int
- rooms_nbr : int
payments - bthrooms_nbr : int
- timestamp : Date - blcny_nbr : int
- doors_nbr : int
- amount : double progressions - wnds_nbr : int
+ modifier disponiilité () : void - ID : int - green_space : double
1..*
0..* - timestamp : Date - elevator : boolean
- actual_state : float 1..1 - Parking : boolean
1..1 - comment : String - emrgcy_ext : boolean
bills + lister () : Progression - furnished : boolean
+ Enregistrer () : boolean - timestamp : Date
states - ID : int
- ID : int - bill_num : String + Afficher formulaire () : html
+ Enregistrer () : boolean
- name : int 1..1 - total : double 1..1
0..1 + afficher charges () : html
- description : int - balance : double
0..* - payed : double + ajouter charge () : html
- taxes : double + enregistrer charge () : boolean
+ Modifier () : boolean
+ ajouter paiment () : html
+ enregistrer paiment () : boolean 0..*
1..1
1..*
0..* events 1..1
0..1 1..*
- ID : int
categories
folders - name : String
- description : String - ID : int
- ID : int 1..1 - date : Date - name : String
- number : String - description : String
- timestamp : Date + lister () : Event
1..* + générer formulaire () : html
+ Enregistrer () : boolean
+ afficher formulaire () : html + modifier disponibilité () : void + afficher formulaire () : html
0..* + Enregister () : boolean + enregistrer () : boolean
+ Afficher evenemrnt () : html
+ ajouter evenement () : html 0..*
+ Enregistrer evenement () : boolean
+ ajouter facture () : html 1..*
+ enregistrer facture () : boolean
fields
1..*
- id : int
1..* - label : String
- name : String
accounts - type : String
- ID : int - description : String
- CIN : String - select_table : String
- f_name : String + selectionner champs () : Field
- p_name : String
- address : String
- phone : String
- nationality : String
- birthday : Date
+ afficher formulaire () : html
+ Enregistrer () : boolean
+ Modifier () : boolean
+ trouver ou crée () : Account
36
Asaad Ben Ahmed 2017/2018
La clé de la classe qui a le degré plus fort migre vers la table qui a le degré faible.
Si deux tables ont un degré faible la clé de l’une migre vers l’autre.
Si deux tables ont un degré élevé une table associative prend les clés des deux tables.
11.2 MLD:
Accounts (id, CIN, f_name, p_name, address, phone, nationality, birthday, link, deleted_at)
Advertisements (id, beginning, ending, price, platform, #property_id, deleted_at)
Bills (id, bil_num, total, declared, balance, payed, taxes, #property_id, #folder_id, #state_id,
deleted_at)
Headings (id, title, cost, company, link, #property_id, created_at, updated_at, deleted_at)
Payment (id, amount, word, created_at, updated_at, #bill_id, deleted_at)
Progressions (id, actual_state, comment, #property_id, created_at, updated_at, deleted_at)
Projects (id, name, total_cost, presentation, created_at, updated_at, #company_id, #avenue_id,
deleted_at)
Properties (id, reg_num, price, address, number, floor_nbr, floor, surface, aviability, facades,
plan_link, blocs_nbr, res_nbr, blds_nbr, villa_nbr, apts_nbr, strs_nbr, rooms_nbr, bthrooms_nbr,
blcny_nbr, doors_nbr, wnds_nbr, green_space, elevator, parking, emrgcy_ext, furnished,
#parent_id, #project_id, #category_id, created_at, updated_at, deleted_at)
Roles (id, name, description, deleted_at)
37
Asaad Ben Ahmed 2017/2018
38
Asaad Ben Ahmed 2017/2018
CHAPITRE II
Ce chapitre détaillera les listes des modules de test, l’architecture technique et applicative de
l’application web
39
Asaad Ben Ahmed 2017/2018
I. Choix technologique :
Réalisation et mise en œuvre :
Dans cette patie on présentera les différents outils utilisés du langages , framework , logiciel
et la plate forme de devloppement web qui permettront d’atteindre les objectifs et donc
réaliser ce projet et d’assurer le bon développement de l’application Web.
1. Langages utilisés :
HTML5 :
HTML5 est la dernière évolution des standards qui définissent HTML. Il s'agit de la
nouvelle version du langage HTML, avec de nouveaux éléments, attributs et comportements,
mais aussi un ensemble plus large de technologies qui permettent des sites web plus variés et
puissants, et des applications web.
Conçu pour être utilisable par tous les développeurs de l'Open Web, cette page de
référence fait des liens vers de nombreuses ressources sur les technologies HTML5, classés dans
différents groupes d'après leur fonction.
CSS3 :
CSS (feuilles de styles) est un langage qui permet de gérer la présentation d’une page
Web. Les styles permettent de définir des règles appliquées à un ou plusieurs documents HTML.
Ces règles portent sur le positionnement des éléments, l’alignement, les polices de caractères,
les couleurs, les marges et espacements, les bordures, les images de fonds, etc.
PHP
PHP est un langage de programmation libre5, principalement utilisé pour produire des
pages Web dynamiques via un serveur HTTP4, mais pouvant également fonctionner comme
n'importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet.
PHP a permis de créer un grand nombre de sites web célèbres. Il est considéré comme
une des bases de la création de sites web dits dynamiques mais également des applications web.
40
Asaad Ben Ahmed 2017/2018
JavaScript
JavaScript est un langage de scripts qui incorporé aux balises Html, permet d'améliorer la
présentation et l'interactivité des pages Web.
JavaScript est donc une extension du code Html des pages Web. Les scripts, qui s'ajoutent
ici aux balises Html, peuvent en quelque sorte être comparés aux macros d'un traitement de
texte.
UML
UML est un langage de modélisation graphique à base de pictogrammes conçu pour
fournir une méthode normalisée pour visualiser la conception d'un système. Il est couramment
utilisé en développement logiciel et en conception orientée objet.
2. Logiciel utilisés :
PowerAMC :
PowerAMC est un logiciel de modélisation. Il permet de modéliser les traitements
informatiques et leurs bases de données associées, de réaliser tous les types de modèles
informatiques et d’améliorer la modélisation, les processus, le coût et la production d’application.
GIT :
Git est un logiciel de gestion de versions décentralisé pour suivre les changements dans
les fichiers informatiques et coordonner le travail sur ces fichiers entre plusieurs personnes. Il est
principalement utilisé pour la gestion de code source dans le développement de logiciels.
WampServer :
WampServer (anciennement WAMP5) est une plateforme de développement Web de
type WAMP, permettant de faire fonctionner localement (sans avoir à se connecter à un serveur
41
Asaad Ben Ahmed 2017/2018
externe) des scripts PHP. WampServer n'est pas en soi un logiciel, mais un environnement
comprenant deux serveurs (Apache et MySQL), un interpréteur de script (PHP), ainsi que
phpMyAdmin pour l'administration Web des bases MySQL.
4. Le patron de la conception :
« MVC » c’est un « design pattern » (patron de la conception), c’est-à-dire un concept
d’architecture logicielle pour son application, il permet d’avoir un code plus structuré, plus
évolutif, plus maintenable, permettant de profiter de plusieurs mécanismes, d’avoir la
persistance des données.
Le ‘’Modèle ‘’ est la représentation interne des données, il permet comme son nom
l’indique de modéliser les données que l’on va manipuler dans l’application. Le modèle
représente les véritables données avec toutes les informations qu’elles véhiculent.
La ‘’ Vue ‘’ quant à elle est la représentation visuelle de ces données à l’écran.
Le ‘’Contrôleur ‘’enfin sert à faire l’interface entre le modèle et la vue.
En effet, puisque le modèle et la vue sont censés être au maximum indépendants, le
contrôleur sert à faire le lien pour faire pour faire communiquer l'un (M) avec l’autre (V).
42
Asaad Ben Ahmed 2017/2018
5. Framework utilisé :
Laravel:
Laravel est un Framework de développement de type MVC et un web open-source écrit
en PHP2 respectant le principe modèle-vue-contrôleur et entièrement développé en
programmation orientée objet. Laravel est distribué sous licence MIT, avec ses sources
hébergées sur Git Hub.
Laravel fournit des fonctionnalités en termes de routage de requête, de mapping objet-
relationnel (un système baptisé Eloquent implémentant Active Record), d'authentification, de
vue (avec Blade), de migration de base de données, de gestion des exceptions et de test unitaire2.
Bootstrap :
Bootstrap est un Framework (une librairie) développé par Twitter et mis en open-source
en février 2012. Ce langage utilise les principaux langages de développement web (HTML, CSS &
JavaScript). Il s’agit d’un code qui raccourcit différentes fonctionnalités (plugins utilisant la
bibliothèque JQuery), permettant au développeur de gagner du temps et de réaliser simplement
des codes complexes (animation, carrousel, tableau, histogramme, …) et tout en réduisant la
quantité de caractères requis, et donc le poids du site web.
Le fichier artisan que l’on a déjà exécuté avec ‘’php artisan serve’’ nous permettra de faire un
bon nombre de choses en ligne de commande.
43
Asaad Ben Ahmed 2017/2018
III. Réalisation :
1. Phases de tests et validation :
En informatique un test désigne une procédure de vérification partielle d’un système
informatique. Le but est de trouver un nombre maximum de comportements problématiques de
l’application, car il est impossible de prouver qu’une application fonctionne bien dans tous les cas.
Plus on trouve d’erreurs plus il y’a de chances d’avantage d’erreurs dans l’application visé. Les
tests de vérification ou de validation visent à s’assurer que ce système réagit de la façon prévue
par ses concepteurs (spécifications) ou est conforme aux attentes du client (Besoins).
Dans cette partie nous allons présenter une liste des modules de test, scénario de test et le
résultat obtenu à partir du tableau suivant :
44
Asaad Ben Ahmed 2017/2018
45
Asaad Ben Ahmed 2017/2018
Barre de navigation :
La barre de navigation ce trouve en gauche de la page, elle procure une vue
globale de l’application, montre l'ensemble des interfaces. Elle diffère selon le rôle
de l’utilisateur.
46
Asaad Ben Ahmed 2017/2018
47
Asaad Ben Ahmed 2017/2018
48
Asaad Ben Ahmed 2017/2018
49
Asaad Ben Ahmed 2017/2018
50
Asaad Ben Ahmed 2017/2018
51
Asaad Ben Ahmed 2017/2018
52
Asaad Ben Ahmed 2017/2018
53
Asaad Ben Ahmed 2017/2018
54
Asaad Ben Ahmed 2017/2018
55
Asaad Ben Ahmed 2017/2018
56
Asaad Ben Ahmed 2017/2018
57
Asaad Ben Ahmed 2017/2018
58
Asaad Ben Ahmed 2017/2018
BIBLIOGRAPHIE
https://laravel.com/docs/5.4/
https://laravel.com/api/5.4/
https://api.jquery.com/
https://www.w3schools.com/
http://php.net/
https://developer.mozilla.org/bm/docs/Web/JavaScript
https://stackoverflow.com/
https://getbootstrap.com/docs/3.3/
59
Asaad Ben Ahmed 2017/2018
CONCLUSION GENERALE
60