Académique Documents
Professionnel Documents
Culture Documents
Que Dieu vous préserve en bonne santé et vous accorde une longue vie.
À ma sœur
Nourhene Rezgui
Vous étiez toujours présents pour m’aider et m’encourager. Je vous souhaite une
vie pleine de bonheur et de succès et que Dieu vous protège et vous garde.
Rezgui Islem
J’aimerai dédier ce rapport,
À mes Parents,
Qui m’ont comblé de leur soutien et m’ont voué un amour inconditionnel. Vous
êtes pour moi un exemple de courage et de sacrifice continu. Que cet humble
travail témoigne mon affection, mon éternel attachement et qu’il appelle sur moi
vos continuelles bénédictions.
Pour leurs compréhensions, leurs soutiens, leurs tendresses... Qu’ils trouvent ici
l’expression de ma reconnaissance et le témoignage de ma gratitude ressentie. À
ceux qui m’aiment, Que ce modeste travail vous honore et vous témoigne mes
reconnaissances.
Arjouni Ryhem
REMERCIEMENTS
3 CONCEPTION 23
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 L’architecture 2-tiers . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.3 Description d’un service web . . . . . . . . . . . . . . . . . . . 26
3.1.4 Choix de l’architecture . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.2 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4 RÉALISATION DE L’APPLICATION 35
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1 Envirennement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . 36
4.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.3 Langages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.4 Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2.1 Interface Homme-Machine . . . . . . . . . . . . . . . . . . . . . 44
4.2.2 Espace d’administrateur . . . . . . . . . . . . . . . . . . . . . . 47
4.2.2.1 Gestion des annonce . . . . . . . . . . . . . . . . . . 47
4.2.2.2 Gestion des Catégories . . . . . . . . . . . . . . . . . 48
4.2.2.3 Gestion Utilisateur . . . . . . . . . . . . . . . . . . . . 49
4.2.3 Espace Utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . 50
TABLE DES FIGURES
Les sites de petites annonces facilitent l’achat. En outre, ils permettent d’avoir
une large proposition de produits et de prix différents. L’utilisateur choisit l’offre
qui la convient au mieux puis contacte l’annonceur. En général, ce service est
entièrement libre, sans frais ni de commissions.
C’est dans ce cadre que s’inscrit notre projet de fin d’études intitulé « Création
d’un site web et application mobile des annoces gratuit sur tout le Niger ». C’est
un projet qui s’intéresse à la création d’un site d’annonce pour vendre ou acheter
des services et des produits provenant de divers domaines d’activités.
1
CHAPITRE
2
CHAPITRE 1. CADRE GENERAL DU PROJET
Introduction
L ’objectif de ce chapitre est de mettre notre travail dans son contexte général.
Pour cela, nous présenterons le cadre du projet, par la suite nous présenterons
l’organisme d’accueil. Nous passerons ensuite à l’étude de l’existant puis nous pré-
senterons la nouvelle solution. Enfin, nous allons mettre l’accent sur la méthodo-
logie qui a été suivie pour réaliser le travail demandé.
3
CHAPITRE 1. CADRE GENERAL DU PROJET
tous les objets dont il en a besoin. En effet, chaque annonce est classée dans une
catégorie, sous-catégorie et rubrique qui lui est attachée. Il faut donc seulement
accéder seulement à la catégorie immobilière pour trouver des annonces sur la
vente d’une maison. Il en est de même pour une recherche d’annonces d’autres
secteurs.
• Rapide : Les utilisateurs de nos jours désirent naviguer sur un site qui se charge
rapidement et qui délivre les contenus demandés en quelques secondes.
4
CHAPITRE 1. CADRE GENERAL DU PROJET
est toujours dans l’impossibilité de déterminer ses exigences au tout premier ins-
tant. Une fois que nous décidons d’adopter une gestion de développement agile, il
nous reste encore à comparer les nombreuses méthodes disponibles et à choisir la
méthodologie la plus adaptée à notre projet.
5
CHAPITRE 1. CADRE GENERAL DU PROJET
La vie d’un projet Scrum est rythmée par un ensemble de réunions définies avec
précision et limitées dans le temps.
- Planification d’un sprint : est une réuinion durant laquelle l’équipe SCRUM
déterminet les tâches à accomplir pendant le Sprint.
- Revue de Sprint : une fois le Sprint terminé, l’équipe Scrum et les parties pre-
nantes se réunissent pour valider ce qui a été accompli pendant le Sprint.
- Rétrospective : une réunion interne à l’équipe Scrum qui a pour rôle de s’adapter
aux changements qui peuvent survenir et d’améliorer le processus de réalisation.
6
CHAPITRE 1. CADRE GENERAL DU PROJET
• Relativement léger et restreint, comme les méthodes agiles, mais sans négliger
les activités de modélisation en analyse et conception.
Conclusion
Dans ce chapitre, nous avons présenté l’organisme d’accueil. Nous avons aussi
fait une étude de l’existant pour pouvoir dégager les problématiques et les dé-
faillances. Nous avons ensuite évoqué la solution qui permet d’écarter les difficultés
dégagées précédemment. Nous avons aussi étudié la méthodologie de travail que
nous avons adopté pour réaliser notre projet. Le prochain chapitre sera consacré à
7
CHAPITRE 1. CADRE GENERAL DU PROJET
8
CHAPITRE
9
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
Introduction
Dans le chapitre précédent, nous nous sommes focalisés sur l’étude approfondie
de la problématique afin de la mettre dans son cadre théorique. Dans ce chapitre,
nous nous intéresserons de L’étape d’analyse et spécification des besoins consiste
à définir l’ensemble des fonctionnalités que l’application doit fournir.Ces besoins
seront répartis en deux groupes fonctionnels et non fonctionnels de notre projet.
• Un visiteur : est un utilisateur du site qui vient pour chercher des annonces.
Son interaction avec le site consiste en une consultation des annonces du site.
Il peut aussi éditer son profil. Un visiteur peut aussi être un utilisateur .
10
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
Tous les systèmes d’information à un certain point dans leur cycle de vie doivent
considérer des besoins non-fonctionnels et leurs tests. Pour certains projets ces
besoins demanderont un travail très important et pour d’autres un contrôle rapide
sera suffisant. Au minimum, la liste suivante peut être un rappel utile pour s’assurer
que vous avez couvert l’essentiel .
XRapidité du service : Les applications doivent optimiser les traitements pour avoir
un temps de consultation raisonnable.
XLa Sécurité : une authentification est exigée vu que cette application contient
des données confidentielles. Tous les accès aux différents espaces (Administrateur,
Utilisateur) doivent être protégés par un mot de passe .
11
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
le diagramme suivant :
12
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
13
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
Dans ce cas, l’administrateur peut gérer les catégories. Soit il ajoute d’autres,
soit il les supprimes.
Tableau 2.3 – Description du cas d’utilisation " Ajouter une catégorie "
14
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
Tableau 2.4 – Description du cas d’utilisation " Supprimer une catégorie "
15
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
Tableau 2.6 – Description du cas d’utilisation "Chercher l’annonce par son titre"
16
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
17
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
18
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
Tableau 2.10 – Description du cas d’utilisation "Chercher l’utilisateur par son nom"
19
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
20
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
21
CHAPITRE 2. ANALYSE ET SPECIFICATION DES BESOINS
2.4 Conclusion
Tout au long de ce chapitre, nous avons présenté notre sujet afin de mieux cerner
son champ d’actions. Ainsi, nous avons pu dégager les différentes fonctionnalités
auxquelles le système doit répondre
22
CHAPITRE
CONCEPTION
23
CHAPITRE 3. CONCEPTION
Introduction
La conception constitue une phase très importante dans la réalisation de notre
application, elle permet de concevoir la base de données de notre futur système
d’information, de réduire la complexité et d’enlever l’ambiguïté. En outre elle per-
met une meilleure compréhension du système ce qui engendre un gain du temps.
Dans ce chapitre, nous allons aborder la tâche la plus importante dans l’élaboration
de ce travail, à savoir la tâche de conception. En effet, nous présentons, en premier
lieu, l’architecture générale de notre application afin d’en extraire les différents
modules qui la composent .
3.1 Architecture
Nous allons présenter les différents types d’architectures au début de cette partie
puis nous préciserons l’architecture choisie pour notre application.
24
CHAPITRE 3. CONCEPTION
L’architecture MVC est un patron de conception très répandu pour réaliser des
applications web. Ce patron de conception est une solution éprouvée et reconnue
permettant de séparer l’affichage des informations (vue), les actions de l’utilisateur
(contrôleur) et l’accès aux données (modèle). Durant le développement de notre
application, nous utilisons l’architecture MVC illustrée dans la figure suivante :
• Le modèle définit les données utilisées par l’application. En effet, c’est ici que le
lien se fera entre notre application et la base de données .
• La vue définit la façon dont les informations seront affichées à l’écran (via des
composants par exemple). Il s’agit de l’interface utilisateur. C’est ici qu’on utilisera
les données récupérées par le modèle afin de les présenter à l’utilisateur
25
CHAPITRE 3. CONCEPTION
Par définition, un Web service (ou service Web) est une application appelable
via Internet par une autre application d’un autre site Internet permettant l’échange
de données (de manière textuelle) afin que l’application appelante puisse intégrer
le résultat de l’échange à ses propres analyses. Les requêtes et les réponses sont
soumises à des standards et normalisées à chacun de leurs échanges. Les services
web sont caractérisés par :
• Les services web de type REpresentational State Transfer (REST) qui exposent
entièrement ces fonctionnalités comme un ensemble de ressources identifiables et
accessibles via le protocole HTTP. Les Services Web de type REST sont donc basés
sur l’architecture du web et ses standards de base : HTTP et URI.
• Les Services Web SOAP exposent des fonctionnalités via d’autres protocoles du
web sous la forme de services exécutables à distance. Leurs spécifications reposent
sur le standard WSDL pour transformer les problématiques d’intégration héritées
du monde Middleware en objectif d’interopérabilité.
Nous avons choisi le modèle MVC parce qu’il apporte de nombreux avantages.
• Responsabilité unique.
• Couplage faible.
• Cohésion forte.
• Gain de temps.
26
CHAPITRE 3. CONCEPTION
Le diagramme de classes est une représentation statique des éléments qui com-
posent le système et des relations qui s’établissent entre eux.Les ensembles des
classes vont permettre la réalisation des cas d’utilisation.
27
CHAPITRE 3. CONCEPTION
28
CHAPITRE 3. CONCEPTION
29
CHAPITRE 3. CONCEPTION
tions »
30
CHAPITRE 3. CONCEPTION
Ce diagramme nous indique les étapes établies par le system pour la suppression
de toute une catégorie.
31
CHAPITRE 3. CONCEPTION
Ce diagramme nous présente les étapes établies pour supprimer une annonce
du systeme .
32
CHAPITRE 3. CONCEPTION
*********
33
CHAPITRE 3. CONCEPTION
3.3 Conclusion
Au cours de ce chapitre nous avons pu dégager une vue conceptuelle qui englobe
toutes les fonctionnalités majeures à réaliser. La nécessité d’une telle étude se révèle
très utiles lors de la phase d’implémentation.
34
CHAPITRE
RÉALISATION DE L’APPLICATION
35
CHAPITRE 4. RÉALISATION DE L’APPLICATION
Introduction
L a réalisation est une étape très importante dans le cycle de vie de toute appli-
cation informatique. Nous commençons ce chapitre par présenter l’environnement
matériel et logiciel. Nous entamerons ensuite la présentation et la réalisation de
l’application.
Cette partie est réservée pour la présentation des logiciels utilisés dans la réa-
lisation de l’application, des langages, des Frameworks, des technologies et des
architectures.
36
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• XAMPP :
XAMPP est un ensemble de logiciels servant à mettre en place aisément un
serveur Web, un serveur FTP et un serveur de messagerie électronique. C’est
une distribution de logiciels libres (X Apache MySQL Perl PHP) offrant une
bonne souplesse d’utilisation, reconnue pour son installation simple et rapide.
37
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• Postman :
Postman est une solution pour interroger ou tester les services Web. Il propose
de nombreuses fonctionnalités.
• NPM :
« Node Package Manager » est les gestionnaire de paquets officiel de Node.js.
Il fonctionne avec un terminal et gère les dépendances pour une application. Il
permet également d’installer des applications Node.js disponible sur le dépôt
npm.
38
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• Node.js :
Node.js est un environnement d’exécution JavaScript construit sur le moteur
JavaScript V8 de chrome. C’est une plateforme logicielle libre et évènemen-
tielle en JavaScript orientée vers les applications réseau qui doivent pouvoir
monter en charge.
4.1.3 Langages
• HTML 5 :
L’HyperText Markup Language, généralement abrégé HTML est le langage
de balisage conçu pour représenter les pages web. Il permet également de
structurer sémantiquement et logiquement et de mettre en forme le contenu
des pages.
39
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• TypeScript :
TypeScript est un langage de programmation qui a pour but d’améliorer et de
sécuriser la production de code JavaScript. Le code TypeScript est transcom-
pilé en JavaScript, pouvant ainsi être interprété par n’importe quel navigateur
web ou moteur JavaScript.
• CSS 3 :
Cascading Style Sheets (feuilles de styles en cascade), servent à mettre en
forme des documents web, type page HTML ou XML.
Par l’intermédiaire de propriétés d’apparence (couleurs , bordures , polices ,
etc ..) et de placement (largeur , hauteur, côte à côte, etc ..).
40
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• JSON :
• PHP :
PHP est un langage informatique utilisé sur l’internet. Le terme PHP est
un acronyme récursif de "PHP : Hypertext Preprocessor". Ce langage est
principalement utilisé pour produire un site web dynamique. Il est courant
que ce langage soit associé à une base de données, tel que MySQL.
41
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• Bootstrap :
Bootstrap est une infrastructure de développement frontale, gratuite et open
source pour la création de sites et d’applications Web. L’infrastructure Boots-
trap repose sur HTML, CSS et JavaScript (JS) pour faciliter le développement
de sites et d’applications réactives et tout-mobile.
4.1.4 Frameworks
• Angular :
Angular est un framework javascript côté client qui permet de réaliser des
applications de type « Single Page Application ». Il est basé sur le concept de
l’architecture MVC (Model View Controller) qui permet de séparer les don-
nées, les vues et les différentes actions que l’on peut effectuer. Ses composants,
indépendants les uns des autres, facilitent le développement d’applications à
grande échelle tout en conservant la maintenabilité. Angular est un outil très
performant pour la création d’applications web.
42
CHAPITRE 4. RÉALISATION DE L’APPLICATION
• Capacitor :
Capacitor transforme n’importe quelle application Web en application native
afin que vous puissiez exécuter une application sur iOS, Android et le Web
avec le même code.
capacitor.png
draw.io :
Draw.io est un logiciel qui est utilisé pour modéliser, représenter et visualiser les
informations. Entre autres utilisations, ces schémas sont souvent utilisés dans les
logiciels et le développement technique et commercial pour représenter les flux de
données, les flux de travail, l’architecture logicielle et les organigrammes.
43
CHAPITRE 4. RÉALISATION DE L’APPLICATION
4.2 Réalisation
44
CHAPITRE 4. RÉALISATION DE L’APPLICATION
les services qu’elle offert. La figure ci-dessous représente la page d’accueil de notre
application : Le click sur la button se connecter présente une interface de login :
Lorsque on click sur la button créer un compte présente la page registre pour
le visiteur peuvent de créer des comptes utilisateurs ... il faut de remplir tous les
champs .le système vérifie ces données et ajoute un utilisateur s’ils sont valides.
45
CHAPITRE 4. RÉALISATION DE L’APPLICATION
Cette capture d’écran nous montre l’interface de contact. Le visiteur peut rempli
le formulaire et l’envoyer à l’administrateur. Ce message va apparaitre à la page
de gestion des réclamation .
46
CHAPITRE 4. RÉALISATION DE L’APPLICATION
47
CHAPITRE 4. RÉALISATION DE L’APPLICATION
48
CHAPITRE 4. RÉALISATION DE L’APPLICATION
49
CHAPITRE 4. RÉALISATION DE L’APPLICATION
Cette capture d’écran nous présente l’interface d’ajout des annonces. Après le
remplissage des informations nécessaires (Titre, Prix,Ctégorie , Description ,nu-
méro de télephone , Images , localisation ...) par l’utilisateur, le système vérifie ces
données et ajoute l’annonce s’ils sont valides.
50
CHAPITRE 4. RÉALISATION DE L’APPLICATION
51
CHAPITRE 4. RÉALISATION DE L’APPLICATION
52
CONCLUSION GÉNÉRALE
1
CHAPITRE 4. RÉALISATION DE L’APPLICATION
2
CHAPITRE 4. RÉALISATION DE L’APPLICATION
tenons à exprimer notre satisfaction d’avoir pu travaillé dans des bonnes conditions
matérielles et environnement agréable.
3
CHAPITRE 4. RÉALISATION DE L’APPLICATION