Vous êtes sur la page 1sur 13

INSTITUT UNIVERSITAIRE DE

RÉPUBLIQUE DU CAMEROUN
TECHNOLOGIE
REPUBLIC OF CAMEROON
FOTSO VICTOR DE BANDJOUN
Peace – Work - Fatherland FOTSO VICTOR UNIVERSITY
UNIVERSITÉ DE DSCHANG INSTITUTE OF TECHNOLOGY
UNIVERSITY OF DSCHANG Département de Génie Informatique
Scholae Thesaurus Dschangensis Ibi Cordum Department of Computer Engineering
BP96, Dschang (cameroun) BP 134 , Bandjoun
Website: http://www.univ-dschang.org. Website: http://www.univ-dschang.org/iutfv/
E-mail : udsrectorat@univ-dschang.org /. E-mail : iut.fotsovictor@univ-dschang.org

PROJET DE FIN D’ETUDES

REALISATION D’UNE APPLICATION WEB


ET MOBILE D’ECHANGE DE MONNAIE ENTRE
VAYAGEURS DE PAYS EN PAYS
Rédigé par :
DZOYEM TSOMENE MEGANE CM-UDS-22IUT0857 LCDRI
NGNIGUEPA FAHA THERENCE ARMEL CM-UDS-20IUT0169 LQSIR
KAMGNE FOKA GEORGINE CM-UDS-22IUT0857 LQSIR

Du 1er janvier au 30 juin


En vue de l'obtention de :
La licence Technologique
Parcours : Informatique et Réseaux
Option : Concepteur, développeur réseau et internet (CDRI)
&
Qualité sécurité réseau et internet (QSIR)
Sous l’encadrement académique de :
Pr. Marcelin NKENLIFACK, Maitre de conférences,
M. Victor KUATE

ANNEE ACADEMIQUE 2022 2023


RESUME

En vue de rendre les échanges de monnaie facile et fournir un service convivial et sécurisé entre
particuliers en générale et aux voyageurs en particulier à moindre coût, le présent projet consiste
en la conception et la mise en œuvre d'une application mobile et web pour permettre aux
utilisateurs d'échanger facilement des devises de main en main. Cette application comporte en
plus un espace de CHAT permettant aux particuliers de s’échanger. En outre cette qpplicqtion
est constitué de quatre modules : le module de connexion, le module de service, le module de
configuration et enfin le module du chat. Nous avons développé l’application en utilisant les
technologies telles que UML pour la modélisation et REACT JS, NODE JS, CSS pour le
développement web ; FLUTTER et NODE JS pour celui du mobile. La sécurité de ces
applications a été une préoccupation majeure tout au long du projet. Des mesures de sécurité
robustes ont été mises en place pour garantir la confidentialité des données des utilisateurs et la
protection contre les cyberattaques. Le résultat final est une application fonctionnelle, facile à
utiliser et sécurisée. Le projet a permis de mettre en pratique les compétences techniques et de
gestion de projet acquises au cours de notre formation, et il est envisagé que ces applications
mobile et web apporte une solution pratique aux utilisateurs pour leurs besoins de change de
devises ou de monnaie.

2
ABSTRACT

In order to make currency exchanges easy and provide a user-friendly and secure service
between individuals and at a lower cost, this project consists of the design and implementation
of a mobile and web application to allow users to easily exchange currencies in real time. This
application also includes a CHAT space allowing individuals to exchange. We developed the
application using technologies such as UML for modeling and REACT JS, NODE JS, CSS for
web development; FLUTTER and NODE JS for mobile. The security of these applications was
a major concern throughout the project. Robust security measures have been put in place to
ensure the confidentiality of user data and protection against cyberattacks. The end result is a
functional, easy to use and secure application for real-time currency trading between
individuals. The project put into practice the technical and project management skills acquired
during our training, and it is envisaged that these mobile and web applications will provide a
practical solution to users for their currency or currency exchange needs.

3
LANGAGE ET TECHNOLOGIES UTILISES

I. APPLICATION WEB D’ECHANGE DE DEVISE

Ici nous vous présenterons les langes et technologies utilisés pour la conception
de notre application.

1- JAVASCRIPT

JavaScript (JS) est un langage de programmation principalement utilisé côté client


pour générer des pages web dynamiquement, mais également côté serveur, depuis
l'arrivée de Node JS. Ne pas confondre JavaScript avec Java. "Java" et
"JavaScript" sont des marques commerciales ou des marques déposées d'Oracle
aux États-Unis et dans d'autres pays. Cependant, les deux langages de
programmation ont une syntaxe, une sémantique et des utilisations très
différentes. JavaScript arrive sur le navigateur Netscape Navigator 2.0 en
Septembre 1995. Le succès est immédiat, et Internet Explorer 3.0 introduit
JavaScript sous le nom de JScript en août 1996.

JavaScript est principalement utilisé dans le navigateur, permettant aux


développeurs de manipuler le contenu des pages internet à travers le DOM,
manipuler les données avec AJAX et IndexedDB, dessiner avec canvas, interagir
avec le périphérique qui pilote le navigateur via de nombreuses APIs, etc..

Dans le cadre de notre projet nous utiliserons ce langage pour réaliser notre
application web a travers les différentes bibliothèques (react js,node js, express)
pour créer des interfaces utilisateur plus dynamique

NODE JS

4
Node.js est un environnement de serveur multiplateforme et open source qui peut
fonctionner sous Windows, Linux, Unix, macOS, etc. Node.js est un
environnement d’exécution JavaScript principal, s’exécute sur le moteur
JavaScriptV8 et exécute du code JavaScript en dehors d’un navigateur Web.

Node.js permet aux développeurs d’utiliser JavaScript pour écrire des outils de
ligne de commande et pour les scripts côté serveur. La possibilité d’exécuter du
code JavaScript sur le serveur est souvent utilisée pour générer du contenu de page
Web dynamique avant que la page ne soit envoyée au navigateur Web de
l’utilisateur. Par conséquent, Node.js représente un paradigme « JavaScript
partout », unifiant le développement un seul langage de programmation, par
opposition à l’utilisation de différents langages pour la programmation côté
serveur par rapport à la programmation côté client.

Son installation est simple et elle permet d’intégrer la bibliothèque react js en vue
de la création des interfaces utilisateurs.

REACT JS

React (aussi appelé React.js ou ReactJS) est une bibliothèque JavaScript libre
développée par Facebook (maintenant Meta) depuis 2013. Le but principal de
cette bibliothèque est de faciliter la création d'application web monopage, via la
création de composants dépendant d'un état et générant une page (ou portion)
HTML à chaque changement d'état.

React a été conçu comme étant une bibliothèque et non un Framework MVC,
comme peuvent l'être ses concurrents. Ainsi, React encourage la création de
composants réutilisables, avec en entrée des données, pouvant changer au cours
du temps.

Par ailleurs, React n'utilise pas de système de Template et ne fonctionne qu'avec


du JavaScript, permettant une insertion complète du composant au sein d'une
5
unique classe. Pour faciliter l'écriture de la vue, l'équipe initiale chez Facebook a
développé un langage, JSX, qui permet de générer des objets Javascript avec une
notation similaire à HTML

II. APPLICATION MOBILE D’ECHANGE DE DEVISES

L’application développée permet à l’utilisateur d’avoir accès a cela directement


via son téléphone et l’utilisateur pourra télécharger l’application via les
plateformes disponibles. Les différentes technologies utilisées pour cela sont :
Flutter, Express JS, Dialog flow

FLUTTER

Flutter est un kit de développement logiciel (SDK) d'interface utilisateur open-


source créé par Google. Il est utilisé pour développer des applications pour
Android, iOS, Linux, Mac, Windows, Google Fuchsia et le web à partir d'une
seule base de code.

EXPRESS

Express est une infrastructure d’application Web minimale et flexible Node.js qui
fournit un ensemble robuste de fonctionnalités pour les applications Web et
mobiles.

Express fournit une fine couche de fonctionnalités d’application Web


fondamentales, sans masquer les fonctionnalités de Node js.

6
DIALOG FLOW

Dialogflow est une plate-forme de compréhension du langage naturel utilisée pour


concevoir et intégrer une interface dans des applications mobiles, des applications
Web, des appareils, des robots, des systèmes de réponse vocale interactive et des
utilisations connexes.

DialogFlow c'est avant tout une interface qui va nous permettre d'utiliser
l'intelligence de Google. Ce que DialogFlow contient est assez simple, il s'agit de
l'API Cloud Natural Language qui permet de reconnaître des phrases envoyées
par l'utilisateur. Avec les phrases récupérées et un peu de machine learning,
Google reconnaît la phrase, et lance en adéquation une action proposée par notre
configuration.

Les applications informatiques sont devenues, depuis quelques années, des outils
capitaux de communication. Aujourd’hui, les importantes évolutions de
nombreux logiciels visent à faciliter la mobilité afin de répondre aux nouveaux
besoins des individus et des entreprises utilisant des terminaux de plus en plus
dynamiques tels que des smartphones, les ordinateurs portables, les tablettes,
etc….De nos jours, avec l’existence des banques, le transfert, l’envoi d’argent et
la nécessité de garantir la confidentialité, la sécurité des échanges est devenue une
préoccupation majeure pour les entreprises et pour les individus. Cependant, la
7
diversité des politiques de transaction monétaires, pour la plupart, assez complexe
et parfois rébarbatives pour l’utilisateur, nécessite la mise en place des
technologies additionnelles qui, tout en renforçant la sécurité des données, créent
une convivialité avec les utilisateurs. Les systèmes d’échange de monnaie
constituent une alternative assez pratique puisqu’ils sont compatibles avec la
plupart des terminaux mobiles disponibles sur le marché et assurent la sécurité
des échanges entre les utilisateurs. Une d’application mise en place est la
réalisation d’une plateforme d’échange de devise en temps réel entre les
utilisateurs. Il a l’avantage d’être utilise pour permettre d’effectuer les Operations
d’argent rapidement et de façon securisées.les utilisateurs se plaignent au
quotidien des couts important des transactions bancaires et du temps mis pour
effectuer une opération d’où la nécessité de mettre en place une application
permettant d’échanger des devises. Pour atteindre notre objectif, ce thème sera
divisé en quatre chapitres. Le premier chapitre de ce document porte sur la
description du projet. Le deuxième chapitre est consacré à l'étude du système
existant. Le troisième chapitre détaille les outils d’implémentation et les résultats
obtenus. Le quatrième chapitre présente les proposition et suggestions.

PRESENTATION DU PROJET

Notre projet consiste à mettre en place une application de conversion et


d’échange de devises permettant aux utilisateurs d’effectuer leurs transactions
monétaires.

CONTEXTE

8
Le logiciel développé sera à la portée des utilisateurs et des banques pour faciliter
leurs échanges.

PROBLEMATIQUE

Les transactions bancaires deviennent de plus en plus chères car les frais ne
font qu’augmenter, en cas d’urgence (de besoin urgent d’argent), l’affluence et le
réseau indisponible peut empêcher un utilisateur d’obtenir de l’argent rapidement
cet ainsi que la mise en place de notre application permettra aux utilisateurs de
faciliter les échanges d’argent de façon sécurisé et d’offrir une plateforme de
communication.

OBJECTIFS ET RESULTATS OPERATIONNELS

• Mettre en place une application permettant de convertir une monnaie en une


autre

• En plus de convertir les devises cette application permettra d’échanger de


monnaie entre différents utilisateurs

• L’application sera en même temps web et mobile pour plus de mobilité et


pour faciliter les transactions

• Une plateforme de communication sera mise en place pour permettre aux


différents utilisateurs de s’échanger des informations de façon sécurisé

• Tout utilisateur voulant utiliser l’application devra s’inscrire et recevoir une


confirmation par mail

• En cas de monnaie disponible l’utilisateur devra poster une annonce dans


la partie réserve de l’application afin d’avertir les autres utilisateurs

• D’offrir une sécurité pour les opérations monétaires en appliquant les


différentes mesures

• De procurer aux utilisateur une plateforme facile, rapide et surtout gratuit

9
• L’application sera à la pointe de nouvelles technologies et des différentes
mises à jour

La méthode que nous avons choisie pour travailler sur notre projet de fin d’étude
est la méthode agile car cela va nous permettre de mieux progresser ensemble.

1) METHODE AGILE

- DEFINITION

La méthode Agile est une méthode de gestion de projet qui consiste à décomposer
vos projets en une suite de petits objectifs atteignables. Le travail en méthode agile
s’effectue en de petits cycles courts que l’on appelle sprints ou itérations qui
durent généralement entre 1 semaine et 1 mois. On est donc bien loin des
méthodes traditionnelles du type diagramme de Gantt ou des méthodes en cascade
qui consistent à définir des plans de projet sur 12 ou 24 mois.

- AVANTAGES

Nous avons choisi la methode agile car il presente de nombreuses avantages tels
que :

10
• Flexibilité : Avec l’approche Agile, nous travaillons en flux tendu. Nous
nous occupons des tâches qui sont importantes à un instant T. nous sommes donc
capable de nous adapter rapidement.

• Feedback : La notion de feedback est au cœur de la méthodologie Agile. À


la fin de chaque sprint, nous livrons notre travail et les feedbacks de nos clients
ou des utilisateurs puis nous les incorporons dans le sprint suivant ce qui permet
de coller au plus près à leurs besoins.

• Compétitivité : Quand nous travaillons en mode Agile, nous livrons


régulièrement de nouvelles fonctionnalités, de nouveaux produits et de nouvelles
améliorations ce qui nous rend compétitif et attractif auprès de nos clients et
utilisateurs.

• Qualité : La livraison fréquente de projets, les tests et l’intégration


permanente de feedbacks permettent de développer un produit final de qualité.
Pendant tout le cycle de production, le produit est testé et confronté à la réalité

- INCONVENIENTS

L’approche Agile a aussi quelques inconvénients :

• Manque de documentation : Étant donné que le scope des projets change au


gré des besoins et des feedbacks, il est difficile de tenir une documentation à jour.
La documentation d’un produit Agile est donc généralement moins travaillée et
détaillée.

• Gestion des demandes : Intégrer continuellement les demandes des clients


et utilisateurs nous rend plus réactif, mais cela implique aussi de devoir gérer un
plus grand volume de demandes entrantes ce qui peut compliquer la gestion de
projet.

11
• Manque de prévisibilité : Quand nous travaillons en mode Agile, nous ne
savons pas toujours à quoi ressemblera le résultat final. Difficile donc de prévoir
le coût, le temps et les ressources nécessaires.

Dans la partie suivante, nous allons découvrir comment appliquer l’approche


Agile avec la méthode Scrum.

• (2023, Janvier 12). Récupéré sur https://fr.wikipedia.org/wiki/JavaScript :


Documentation complete sur le Javascript

• (2023, Fevrier 2). Récupéré sur https://nodejs.org/fr/download :


Telechargement de Node JS

• (2023, Janvier 25). Récupéré sur https://en.wikipedia.org/wiki/Node.js :


Documentation complete sur Node js

• (2023, Fevrier 12). Récupéré sur https://inlearn.io/formation-flutter-


installation-de-flutter-sur-windows/ : installation et configuration de Flutter

• (2023, Fevrier 26). Récupéré sur http://expressjs.com/ : documentation sur


Express JS

12
13

Vous aimerez peut-être aussi