RAPPORT
RAPPORT
RAPPORT
A celui qui m’a indiqué la bonne voie en me rappelant que la volonté fait toujours les
grands hommes...
A tous les membres de mes familles, mes amis ceux qui me sont cher et a tous ceux
qui ont participé à l’élaboration de ce travail.
Bembli Mohamed
REMERCIEMENTS
Nos remerciements les plus vifs à voyage 130 au sein de laquelle nous avons bénéficié
ce stage pour l’attention et l’encadrement don’t nous avons eu de la part de son
personnel afin de faire ce travail.
Nous aimerons exprimer nos remerciements aussi à monsieur Rouatbi Adnen pour son
encadrement tout au long du stage, pour tous les conseils théoriques, techniques et sa
participation pour la préparation de ce rapport.
Nous voudrons aussi remercier les membres de jury pour leurs efforts et leurs
partialités pour l’évaluation de notre travail.
Nous profitons de cette occasion pour exprimer notre reconnaissance et notre gratitude
envers tous nos professeurs et enseignants à ISET SOUSSE, nous ayant enseigné
durant mes trois ans d’études.
Enfin, nous exprimons notre reconnaissance à toute personne qui a contribué au bon
déroulement de notre projet.
Table des matières
Introduction............................................
1. Présentation de la société:….................................
3. La solution proposée…...........................
4. Spécification des besoins …...................
CHAPITRE 2 : CONCEPTION
Introduction...........................
1. La langage UML.
2. Les diagrammes d’UML.
3. Modèles d’UML utilisés.
4. Conception détaillée
CHAPITRE 3 : Réalisation
1. Environnement de développement
1.2.1.1 Hebergement
1.2.1.2 Cpanel
1.2.1.7 STRIPE
1.2.1.8 BLOCK.IO
2.2 Interfaces
Introduction Générale
Pour avoir compléter notre mission, nous avons détaillé les différentes étapes
d’analyse, de conception et de réalisation de ce système.
Une fois nos objets ont été fixés nous avons enchainé dans le deuxième chapitre
une conception afin de mener à bien notre projet. Nous avons utilisé UML comme un
langage de modélisation.
Introduction
1- Présentation de la société
Agence 130 est une agence immobilière créée en 2018 spécialisé dans la
vente, achat et location des immobiliers sise à l’Avenue Habib Bourguiba, Kalâa
Seghira,
2. Etude préalable
Pour assurer les buts à atteindre, il est nécessaire que nous commencions par
une vue claire et simple des différents besoins escomptés. C’est pour cela
qu’une étude du système existant nous nous permettra de justifier et de dégager
une solution.
L'objectif de notre projet est de concevoir une solution qui doit répondre
principalement à un certain besoin précis et bien élaboré et résoudre un
problème existant et persistant, dans ce cas nous avons bien étudié la situation
actuelle de la planification des besoins.
Airbnb est une plateforme référence de réservation en ligne, crée en 2007 par
deux américains, le site contient plus 1,5 millions d’annonces.
Devenu l’un des sites les plus connus au monde, la plateforme recense
aujourd’hui 3 millions de logements dans plus de 190 pays et est valorisée à 31
milliards de dollars.
BNB Tunisie est une plateforme de référence de réservation en ligne, crée en 2016,
le site contient plus 4000 annonces.
C1: Attractivité : Le visiteur doit se sentir ciblé, il faut qu'il soit attiré par le site et que da
navigation soit orientée et balisée.
C2: Espace client : Un espace client permet de faciliter les actions des utilisateurs
telque gérer profil,compte,réservation, etc.
C3 : Gestion des logements : Un site web est connu par des fonctionnalités. Dans notre
cas on a besoin d'une partie de gestion de logements, on a comparé les sites par la
disponibilité de cette fonctionnalité.
C4 : Paiement en ligne : Le paiement en ligne est aujourd'hui la méthode la plus simple
et le plus rapide, en plus il est plus sécurisé que les méthodes classiques, donc pour
cela on a choisi le paiement en ligne comme un critère dans l'évaluation des sites.
C6 : Rang global de site : Un bon classement signifie que le site a une meilleure
optimisation pour les moteurs de recherche, un nombre important des visites et
plusieurs d'autres propriétés positive de sorte que si le rang est plus élevé l'application
est plus fiable. On a utilisé Alexa.com pour savoir le rang global des sites. Alexa.com
est un site web principalement connu pour fournir des statistiques sur le trac du Web
C7 : Rang de site en Tunisie : Dans le meme cadre on a utilisé Alexa.com pour savoir le
rang des sites en Tunisie.
Airbnb.com Bnb.tn
Attractivité Bien Faible
Rang TN - 7,388
3. La solution proposée
Aprés avoir étudier l’existant et définir les anomalies des systèmes en cours
d’utilisation nous proposons de concevoir et développer une plateforme communautaire
payante de location et de réservation de logements de particuliers plus efficace, facile
et sécurisé.
Chercher un logement
Réserver un logement
S’inscrire / Connexion
Gérer logement
Payer en ligne
Evaluer réservation
Gérer réservation
Gérer profil
Gérer compte
Dans la partie suivante, nous allons décrire les besoins fonctionnels et non fonctionnels
de notre futur plateforme.
A part les besoins fondamentaux, notre systéme doit répondre à d’autres critères citant
:
Fiabilité : Les informations apportées par l’application doivent être fiables et sûres
Disponibilité : L’application doit être disponible à tout instant pour être utilisée par
n’importe quel utilisateur.
CHAPITRE 2 : CONCEPTION
Introduction :
Dans cette partie nous traitons l’aspect conceptuel de notre application. Pour la
conception et la réalisation de cette dernière, nous nous adoptons le formalisme UML
basé sur les diagrammes et offrant une flexibilité marquante.
1. La language UML
Pour faciliter notre tâche nous avons recours au langage de modélisation unifié ( UML :
Unified Modelling Language ) c’est une notation qui permet de modéliser un problème
de facon standard. Ce langage qui est né de la fusion de plusieurs méthodes existantes
auparavant est devenu une référence en termes de modélisation objet, UML est
caractérisé par :
C’est un langage formel et normalisé.
Il permet le gain de précision, encourage l’utilisation d’outils et constitue à cet
effet un gage de stabilité.
Les diagrammes qu’on a montré dans la partie précedente sont des moyens de
description des objets ainsi que des liens qui les relient. Nous n’utilisons pas les treize
types de diagrammes proposés par UML 2, mais seulement 3 diagrammes parmi eux
en insistant particulièrement sur les diagrammes suivants :
Diagramme de cas d’utilisation
Diagramme de sé15quences
Diagramme de classes
Cette limitation est largement suffisante pour la plupart des projets et particulièrement
pour notre travail.
4. Conception détaillée
4.1 Identification des acteurs.
Les acteurs que nous avons réussi à identifier sont :
o Visiteur : c’est l’acteur qui permet de inscrire sur le site , rechercher des
logements et inscrire au Newsletter.
o Client : c’est l’acteur qui a pour rôle principal de réserver les logements.
o Propriétaire : : c’est l’acteur chargé d’ajouter les logements en sa
possession.
o Administrateur : Responsable de platforme.
4.2 Identification des cas d’utilisations.
Un cas d’utilisation représente une unité discrète d’interaction entre un utilisateur
(humain ou machine ) ou un système. Il est une unité significative de travail. Dans un
diagramme de cas d’utilisation, les utilisateurs sont appelés acteurs (actors), ils
interragissent avec les cas d’utilisation ( use cases). Ce diagramme permet d’identifier
les possibilités d’interaction entre le système et les acteurs. Il représente toutes les
fonctionnalités que le système doit fournir.
Types de relations :
L’association ( trait plein avec ou sans flèche ) entre acteurs et cas
d’utilisation.
La d”pendance ( flèche pointillée ) entre cas d’utilisation, avec les mots-
clées “extend” ou “include”
La relation de généralisation ( flèche fermée vide ) entre cas d’utilisation.
Sommaire d’identifiant
Sommaire d’identifiant
Description d’enchainements
Sommaire d’identifiant
Acteur(s) Le client,propriétaire
Objectif L’acteur peut à tout moment réserver un
logement.
Description d’enchainements
Sommaire d’identifiant
Acteur(s) Le client
Objectif Le client peut à tout moment contactez le
service client de MedHomePro.
Description d’enchainements
Sommaire d’identifiant
Description d’enchainements
Sommaire d’identifiant
Acteur(s) Le propriétaire
Objectif L’acteur peut gérer ses réservations (
accepter , réfuser ,…)
Description d’enchainements
Sommaire d’identifiant
Acteur(s) Le propriétaire
Objectif L’acteur peut gérer ses logements et
changer leur status (hors ligne , en ligne)
Description d’enchainements
Sommaire d’identifiant
Acteur(s) Le propriétaire/client
Objectif L’acteur peut gérer son compte et
modifier certains information (Email,mot
de passe,...)
Description d’enchainements
Sommaire d’identifiant
Description d’enchainements
Acteur(s) Propriétaire
Objectif L’acteur doit ajouter un logement
Description d’enchainements
Sommaire d’identifiant
Acteur(s) Administrateur
Objectif L’administrateur peut gérer les utilisateurs
de l’application ( bloquer , débloquer )
Description d’enchainements
Ce diagramme est utilisé pour représenter certains aspects dynamiques d’un système :
dans le contexte d’une opération, d’un système, d’un sous-système, d’un cas
d’utilisation ( un scénario d’un cas d’utilisation ) selon un poit de vue temporel.
Dans cette phase, et après identification des cas d’utilisation, nous représentons le
scenario de réservation de logement à l’aide de diagramme de séquences système.
4.4 Diagramme de classes
Le diagramme de classe est un schéma utilisé en génie logiciel pour présneter les
classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci.
Ce diagramme fait partie de la partie statique d’UML car il faut abstraction des aspects
temporels et dynamiques.
Une classe décrit les reponsabilités, le comportement et le type d’un ensemble d’objets.
Les éléments de cet ensemble sont les instances de la classe.
Une classe est un ensemble de fonctions et de données (attributs) qui sont liées
ensemble par un champ sémantique. Les classes sont utilisées dans la programmation
orientée objet. Elles permettent de modéliser un programme et ainsi de découper une
tâche complexe en plusieurs petits travaux simples.
Génération du modèle logique des données :
A B Relations
1 1 A chaque entité de la table A correspond
exactement une entité de la table B.
1 0..1 A chaque entité de la table A correspond
aucune ou une entité de la table B.
Introduction
La phase qui suit une conception est éventuellement l’implémentation. Aprés les
trois chapitres précédents, nous arrivons à rassembler nos informations et réaliser notre
système, nous commençons ce chapitre par décrire l’environnement de développement
matériel et logiciel que nous avons adoptés. Nous présentons ensuite quelques
captures d’éctans du site web.
1. Environnement de développement
Dans cette partie, nous présentons les différents outils matériels et logiciels
nécessaires pour le dévloppement de notre application.
Un ordinateur :
FileZilla Client est un client FTP, FTPS et SFTP, développé sous la licence
publique générale GNU. Il est intégré à la liste des logiciels libres préconisés par
l’État français dans le cadre de la modernisation globale de ses systèmes
d’informations.
medhomepro.com
1.2.1.2 Cpanel
cPanel est un panneau de configuration basé sur Linux conçu pour les hébergeurs
web. Constitué d'une interface graphique permettant l'automatisation des
paramètres, l'hébergement de site web est ainsi simplifié. cPanel est doté de 3
principales fonctions qui permettent d’accéder à différents niveaux d'utilisation tels
que l'administration et la revente d'un hébergement, ou la simple configuration de
site web. Ainsi, tous ces aspects sont contrôlés à partir d'un simple navigateur web.
Figure 4.9 : interface de cPanel
Taches Cron
- Nous avons implémenté une tâche Cron pour les inciter les clients à remplir
le formulaire d’évaluation de réservation.
Figure 4.10 : tâches Cron
Le service de messagerie SMS, plus connu sous le sigle de SMS (pour “ Short
Message Service “) ou les noms de “texto” ou de “minimessage”, permet de transmettre
de courts messages textuels. C’est l’un des services de la téléphone mobile(il a éét
introduit par la norme GSM).
- Choix de plateforme
Figure 4.11 : Plateforme SMS
Textlocal est la plateforme de SMS la plus avancée au Royaume-Uni. Elle offre aux
entreprises, aux groupes communautaires et aux organisations une solution SMS en
masse pour contacter les gens instantanément.
- Historique
Depuis 2005, plus de 165 000 utilisateurs ont envoyé plus d’un milliard de SMS sur
Textlocal plateforme en ligne. D’un simple message texte à billet ou un bon
personnalisé, ils ont développé une abondance de fonctionnalités adaptés à toutes les
industries, grandes ou petites.
Avec votre compte Textlocal vous avez un accès instantané à notre API, cela vous
permet d’intégrer facilement les services SMS et MMS avec votre site web, logiciel ou
application CRM en PHP, ASP, .NET, Java ou tout autre langage.
1.2.1.4 Sécurité
- Confidentialité de domaine
Avec la confidentialité de domaine, vos informations seront cachées de contact
personnelles de la vue publique, vous protégeant des spammeurs, des mineurs de
données, des pirates informatiques et du grand public qui effectuent des recherches sur
la base de données internet des déclarants WHOIS. Whois.net est un service de
recherche fourni par les registres Internet, par exemple les Registres Internet régionaux
(RIR) ou bien les registres de noms de domaine permettant d'obtenir des informations
sur une adresse IP ou un nom de domaine. Ces informations ont des usages très
variés, que ce soit la coordination entre ingénieurs réseaux pour résoudre un problème
technique, ou bien la recherche du titulaire d'un nom de domaine par une société qui
souhaiterait l'obtenir.
Figure 4.13 : Whois.net
1.2.1.5 STRIPE
Stripe est une société américaine d'origine irlandaise, destinée au paiement par
internet pour particuliers et professionnels.
Stripe développe les outils les plus puissants et les plus flexibles pour le commerce en
ligne. Que vous lanciez un service d'abonnement, une place de marché à la demande,
une boutique en ligne ou une plateforme de financement participatif, les API et les
fonctionnalités de Stripe vous permettent de créer le meilleur produit possible pour vos
utilisateurs. Des millions d'entreprises parmi les plus innovantes du monde accélèrent
leur croissance grâce à Stripe.
- Logistique de paiement
Les développeurs web intègrent des processus de paiement sans être obligé d'avoir un
compte marchand. La société demande 7 jours d'attente pour lutter contre la fraude,
après quoi les fonds vont directement dans le compte de destination.
1.2.1.6 BLOCK.IO
Block.io est un service où vous pouvez ouvrir les portefeuilles des principales crypto-
devises. Après l'enregistrement, vous avez accès à trois portefeuilles: Bitcoin ,
Dogecoin ,Litecoin.
- Cryptage
Le salage
Le présent rapport est réalisé dans le cadre de notre stage de fin d’études en
vue de l’obtention du diplôme de la Licence Appliquée technologie de l’informatiques
parcours DSI.
Ce travail a pour objectif de concevoir et développer une plateforme
communautaire payante de location et de réservation de logements de particuliers.
Ce projet était bénéfique pour nous dans plusieurs sens. Il nous a donnée
l’opportunité de voir de plus proche sur le monde professionnel qui implique de la
responsabilité et de la discripline ainsi que du travail collaboratif d’équipe, il a été une
occasion pour améliorer nos connaissances dans les environnements de travail et de
maitriser les langages de programmation pour qui seront certes utiles au niveau
professionnel.
Enfin, nous espérons que nous avons réussi à réaliser une plateforme
fonctionnels qui satisfait les besoins des futurs utilisateurs et qui répond à leurs
attentes.