Rapport Maryem

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 103

République Tunisienne

Ministére de l'Enseignement Supérieur

et de la Recherche

Scientifique

Université de Tuni El

Manar

Institut Supérieur

d'Informatique d'El Manar

Introduction générale

1
2
Chapitre I : Contexte
général et Eude Préalable

3
Introduction

Dans ce premier chapitre, nous commencerons par présenter la


société au sein de laquelle ce projet a été entrepris.

Ensuite, nous situerons le projet dans ce contexte global. Enfin, nous


conclurons ce chapitre en exposant la problématique, en présentant le
cahier des charges du projet et en expliquant notre choix de méthodologie
de conception.

1. Présentation AFT

Au cours de notre programme académique visant à décrocher notre


Diplôme en développement logiciel et nouvelles technologies, nous avons
accompli un stage d'une période de 4 mois effectué au sein de l'entreprise
AFT.

1.1. Organisme d’accueil

Fondée en 2019, AFT se distingue en qualité de société de conseil et


d'ingénierie de l’informatique, créé par des gestionnaires passionnés par
les technologies de l'information, forts Avec une expérience de plus de
quinze ans dans l'industrie. Depuis sa création, AFT s'est consacrée à
fournir des services d'accompagnement et de gestion de projet pour la
mise en place de solutions informatiques au sein d'entreprises, couvrant
des domaines tels que les ERP, les solutions satellites de gestion et la
gestion d'entreprise. L'expertise métier d'AFT vise à optimiser et améliorer
les systèmes d'information de gestion au sein des entreprises, tout en
offrant des conseils en organisation, en gestion et en pilotage d'entreprise.

De même, la société Ashbot Futur Technologies se spécialise dans


L'intégration de technologies innovantes, en étroite collaboration avec des
entreprises de conseil et des fabricants de robots, elle excelle dans
l'intégration de technologies innovantes, avec une expertise avancée dans
le domaine du développement d'applications mobiles, de l'ingénierie
logicielle et de la création d'applications web (en particulier en PHP, J2EE

4
et Angular). Ashbot Futur Technologies propose également des formations
variées, allant des systèmes embarqués au développement web, en
passant par l'utilisation de Git Hub, pour répondre aux besoins en
formation et en cours.

Figure 1:logo AFT

1.2. Organigramme de l’organisme

Les activités d’AFT s’articulent autour de 3 axes :

 Prestations de développement web et mobile


 Prestations système embarquent et IOT
 Robotique et électronique

Les organigrammes sont des représentations graphiques qui décrivent


la configuration interne d'une organisation ou d'une entreprise. Ils sont
utilisés pour simplifier des structures complexes.

Cette figure présente l’Organigramme de l’entreprise.

5
Figure 2:organigramme AFT

1.3. Les activités d’AFT :

 Robotique :

ASHBOT Il s'agit du tout premier club de robotique établi à la Cité de


jardin d'El Menzah. Ce club est spécialement conçu pour Les étudiants,
dont l'âge varie de 8 à 17 ans, sont rassemblés en groupes de dix. Les
inscrit sauront l'opportunité d'explorer une technologie académique
innovante qui vise à intégrer divers domaines académiques, notamment
l'informatique, à travers des projets de robotique pédagogiques.

 Fabrication des robots :


- AFT es en train de fabriquer un robot sous-marin
- Fabrication des smart robots
- Fabrication des petits robots industriels
- Fabrication des mélangeurs des produits cosmétiques
 Accompagnement des développements de startup

6
AFT est un fournisseur de services des nouvelles technologiques, AFT
soutenir les startups dans les domaines des robotique, développement, et
des nouvelles technologies en fournissant des formations, des espaces de
coworking, formation, aider à la réalisation des startups

1.4. Services :

 Rédaction des brevets.


 Formation dans les secteurs de la création web et mobile, Dans le
domaine de l'Internet des Objets (IoT) et de ses applications mécaniques.
 Mise en place des systèmes de sécurité.
 Maintenance des cartes électroniques.
 Conception mécanique.
 Conception des cartes électroniques.
 Réalisation des projets IOT.
 Développement des applications web et mobiles.
 Domotique.

2. Présentation du projet

Dans cette section, nous décrirons Dans le cadre de notre projet, nous
définirons le contexte, formulons la problématique, et nous proposons une
solution, puis nous passerons aux méthodes de conception.

2.1. Cadre du projet

Ce stage fait partie intégrante de notre projet de fin d'études, réalisé


en vue de l'obtention d'une Licence Appliquée en Technologies de
l'Information et de la Communication, avec une spécialisation en Réseaux
IoT, délivrée par ISIE ARIANA. Nous avons réalisé ce stage au sein de la
société AFT, et le sujet de notre travail est intitulé "Conception et
Réalisation de l'application de transport public de Tunis".

2.2. Etude de l'existant

L'analyse de la situation actuelle revêt une importance capitale


afind’une compréhension approfondie du système en place. Son objectif

7
est d'examiner les points faibles du système actuel et de proposer la
solution appropriée, tout en fixant les objectifs à accomplir dans le cadre
du projet de fin d'études.

Lorsqu'il est nécessaire d'entreprendre une analyse de l'état actuel,


deux scénarios se présentent :

- Soit le produit est déjà en existence, auquel cas il convient de


perfectionner.
- Ou bien si le produit n'est pas déjà en existence encore, ce qui
implique sa création à partir de zéro.

Dans notre approche, nous adopterons Une approche hybride,


fusionnant ces deux approches. Dans la première section de notre
enquête, nous mettrons l'accent sur l'examen de la situation actuelle, en
identifiant les points critiques et en proposant des solutions.

 Dans cette partie nous allons décrire quelques produits existent sur
le marché les suivants :

Tableau 1:comparaison entre les applications sumilairesexistent


sur le marché

Nom et Les Avantages Les Inconvénients


photo

- Interface conviviale : - Couverture géographique


L'application Transit propose une limitée :
interface utilisateur intuitive et Bien que Transit couvre des
conviviale, ce qui la rend nombreuses villes à travers le
L'applicatio Convivial pour les utilisateurs de monde, sa couverture
n Transit : tous niveaux d'expérience. géographique peut être limitée
- Elle offre une expérience fluide dans certaines régions moins
et agréable lors de la recherche desservies. Par conséquent,
d'itinéraires ou de la consultation tous les utilisateurs ne pourront
des horaires des transports en peut-être pas bénéficier

8
[1] commun. destoutes les fonctionnalités de
- Itinéraires en temps réel : l'application dans leur région.
Transit utilise des données en
- Fiabilité des données en
temps réel pour fournir des temps réel :
itinéraires précis et actualisés
Bien que Transit s'appuie sur
aux utilisateurs. Cela permet aux
des données en temps réel, la
utilisateurs de connaître les
fiabilité de ces données dépend
retards, les annulations ou les
de la disponibilité et de la
perturbations éventuelles dans
précision Les données fournies
les horaires des transports en
par les prestataires de services
commun, ce qui facilite la
de transport.
planification des déplacements.
- Multi-modalité : L'application Dans certains cas, les données
prend en charge différents en temps réel peuvent être
modes de transport en commun, incorrectes ou manquantes, ce
tels que les bus, les métros, les qui peut entraîner des erreurs
tramways, les trains, les vélos dans les itinéraires proposés.
en libre-service et les services de
- Dépendance à la
covoiturage. Elle intègre connectivité Internet :
également les horaires des bus
Pour utiliser pleinement toutes
régionaux et des trains
les fonctionnalités de Transit,
interurbains, offrant ainsi une
une connexion Internet est
solution complète pour les
nécessaire. Cela peut poser un
déplacements urbains.
problème dans les endroits où
la qualité du réseau est limitée
ou inexistante, ainsi l'utilisation
de l'application.

- Manque de fonctionnalités
avancées :

Bien que Transit propose des


nombreuses fonctionnalités
9
utiles, certaines fonctionnalités
plus avancées, telles que la
réservation de billets ou la
planification de trajets
complexes avec plusieurs
correspondances, peuvent être
absentes. Dans des tels cas, les
utilisateurs peuvent devoir
recourir à d'autres applications
ou sources d'informations
complémentaires.

- Facilité d'utilisation : - Adoption limitée :

Wassalni offre une interface Étant une application


conviviale et simple d'utilisation. spécifique à la Tunisie,

Les utilisateurs peuvent créer l'adoption de Wassalni peut être


des profils, publier des trajets limitée en dehors des zones
Application
disponibles et rechercher des urbaines ou des grandes villes.
wassalni Cela peut restreindre le nombre
trajets correspondants.
d'utilisateurs et la disponibilité
- Optimisation des trajets :
des trajets dans certaines
Wassalni propose des régions.
algorithmes des correspondances
[2] - Fiabilité des trajets :
intelligentes pour optimiser les
trajets et maximiser le taux de Comme pour toute application
remplissage des véhicules. Cela de transport public, la fiabilité
peut aider à réduire les distances des trajets dépend des
utilisateurs inscrits. Il peut y
parcourues, le temps de trajet.
avoir des annulations de
dernière minute ou des retards,
ce qui peut perturber les plans
de voyage des utilisateurs.

10
- Confidentialité et sécurité :

Wassalni doit prendre des


dispositions de sécurité et de
confidentialité adéquates pour
assurer la protection des
informations personnelles, des
utilisateurs, particulièrement en
ce qui concerne les
informations personnelles.
Coordonnées. Il est important
que l'application mettre en
œuvre des mesures de sécurité
solides pour... garantir la
confiance des utilisateurs.

- Support client :

Une bonne assistance client est


essentielle pour résoudre les
problèmes, répondre aux
questions et gérer les éventuels
différends entre les utilisateurs.
L'efficacité et la réactivité du
support client de Wassalni
peuvent influencer l'expérience
globale des utilisateurs.

2.3. Critique de l’existant

L'évaluation de la situation actuelle revêt une importance capitale et


intervient lors de l'étude de l'état actuel. Cette étape a pour but de
détecter et d'analyser les erreurs générées par l'utilisation manuelle du
système, en vue de proposer des solutions appropriées pour les corriger.

11
Les problèmes des transports en Tunisie peuvent varier en fonction
des différents facteurs, tels que la région spécifique et le mode de
transport considéré. Voici quelques problèmes couramment rencontrés
dans Le réseau de transport en Tunisie :

- Les principales agglomérations de Tunisie en particulier Tunis, souffrent


souvent des problèmes de congestion routière. Les routes surchargées et
le nombre élevé des véhicules contribuent à des retards, à des temps de
trajet plus longs et à une inefficacité générale du réseau routier.
- Bien que des services des moyens de transport collectif tels que les
autobus et les trains et les métros existent en Tunisie, leur couverture
peut être insuffisante dans certaines régions. Certains secteurs peuvent
être mal desservis où avoir des fréquences des services limités, ce qui
rend difficile pour les résidents d'accéder aux transports en commun de
manière pratique et fiable.
- Manque de coordination intermodale : L'intégration entre les divers
moyens de transport (bus, métro, train) peut parfois poser des problèmes,
ce qui rend difficile pour les passagers peuvent facilement changer d'un
mode de transport à un autre en toute fluidité. Des correspondances mal
synchronisées et des informations peu claires peuvent rendre les
déplacements plus complexes et moins pratiques.
- Tarification peu transparente : La transparence et la cohérence des tarifs
des transports en Tunisie peuvent poser problème. Il peut y avoir des
disparités de tarification entre les différents modes de transport et une
difficulté à comprendre les structures tarifaires, ce qui peut causer de la
confusion pour les utilisateurs.

En plus, d’après notre étude qui nous allons fait les deux applications
déjà existe sur lemarché ne permet pas aux voyageurs de réserver leurs
places via l'application elle-même. Elle fournit plutôt elle fournit des
informations en temps réel sur les horaires de transport, les temps
d'attente et les retards, trajets disponibles, ainsi que les choix de

12
transport, mais n'inclut pas de fonction directe pour la réservation
immédiate des billets ou des sièges.

2.4. Solution proposée

La solution proposée A pour ambition de se démarquer en proposant


des services de haute qualité, une expérience de navigation fluide et des
performances optimales.

Elle consiste à développer un système intelligent de suivi en temps


réel à distance des déférents moyens du transport en Tunisie via une
application mobile composée de :

- Réalisation d’une application mobile « wassalni »


- Réalisation d’un système IOT pour la traçabilité et le suivie de la
localisions en temps réel et l’ouverture de barrière pour permettre aux
citoyennes d’entrée à la gare
- Choix de réseaux pour la Connectivité entre l’application mobile et la
partie hard
- Utiliser une plateforme IOT pour le stockage et la sécurité de donner en
temps réel
- Réservation ticket et paiement en ligne

2.5. Cahier de charge

2.5.1. Contexte de projet

Wassalni est une application qui suit les véhicules TransTu (bus et métro,
y compris TGM) et vous indique l'heure à laquelle votre bus ou métro
atteindra votre arrêt. Alors maintenant, vous n'aurez plus jamais à
attendre à la gare.

Fini l'attente sans connaître l'heure d'arrivée estimée du prochain


véhicule

 Actualisation automatique toutes les 20 secondes des positions des


véhicules ainsi que le temps d'arriver du véhicule à votre station de
départ.

13
 Permettre de voir si le véhicule est en route (en mouvement) ou est
arrêter et combien de temps est stationné au même poste.
 Réserver et payerson ticket en ligne.

2.5.2. Les objectifs et contribution de projet :

Pour rester informé des horaires et de la disponibilité des moyens de


transport dans la région géographique visée. Grand-Tunis, nous avons
développé une application mobile et un système IoT. Cette application a
été créée dans le but de faciliter la vie des utilisateurs. des lignes de bus,
de métro et du train de banlieue, notamment le TGM (Tunis-La Goulette-
La Marsa).

 Elle offre aux citoyens la possibilité de savoir combien de temps il


faudra attendre avant que le prochain moyen de transport, ainsi que
les itinéraires à suivre pour atteindre leur destination. De plus, les
voyageurs peuvent suivre en temps réel les mouvements et
l’avancement du moyen de transport dans les différentes stations.
 De plus, les utilisateurs ont la possibilité de consulter la tarification
des différents moyens de transport.
 Réserver sa place à distance
 Utiliser l’iot pour la réalisation de ce projet
 Utiliser GPS pour le suivi de la localisation de moyen de transport en
temps réel
 Détection le ticket pour permettre aux citoyennes d’ouvrir la barrière

La traçabilité en temps réel de la position des moyens de transport


offre de nombreux avantages, notamment :

 Amélioration de la précision des horaires de transport : En suivant la


localisation des moyens de transport en temps réel, les opérateurs
peuvent fournir des horaires de transport plus précis aux passagers, ce
qui peut diminuer les délais d'attenteet améliorer la satisfaction des
clients.

14
 Optimisation des itinéraires : En suivant la localisation des moyens de
transport en temps réel, les opérateurs peuvent optimiser les itinéraires
en temps réel pour éviter les embouteillages et minimiser le temps de
trajet.
 Augmentation de la sécurité : La surveillance en temps réel permet de
suivre la position des moyens de transport et d'adopter rapidement des
mesures en cas d'urgence ou d'incident sur la route.
 Amélioration de l'efficacité opérationnelle : En suivant la localisation des
moyens de transport en temps réel, les opérateurs peuvent diminuer les
périodes d'immobilisation et les temps de repos,
chargement/déchargement, ce qui améliore l'efficacité opérationnelle.
 Réserver sa place à distance dans un moyen de transport peut apporter
des nombreux avantages aux passagers, notamment le confort, la
tranquillité, la disponibilité, la sécurité,la flexibilité et la réduction de la
fraude.

3. Méthodologie et formalisme adoptés :

Il revêt une grande importance de sélectionner la méthodologie et le


cadre conceptuel qui conviennent le mieux à l'organisation et aux objectifs
visés. La clarté et la simplicité sont Certains éléments essentiels doivent
être pris en considération pour rendre l'organigramme compréhensible et
utilisable par les membres de l'organisation.

3.1. Méthodologie de conception :


Pour notre projet, nous avons opté pour l'utilisation du langage de
modélisation unifié UML comme méthode de conception. L'acronyme UML
signifie Unified Modeling Language, ce qui en français se traduit par
« Langage de Modélisation Unifié » (UML). UML est un langage que nous
avons choisi de mettre en œuvre pour notre projetqui permet de spécifier,
de visualiser, de construire et de documenter divers éléments des
systèmes logiciels constitutifs des systèmes logiciels. Sa particularité
réside dans son indépendance à l'égard des langages de codage, de
domaines d'application, et de méthodologies de développement.
15
Cette polyvalence et sa flexibilité en font un langage universellement
reconnu pour la modélisation des systèmes informatiques. [3]

3.2. Méthodologie de travail :

Avant de concrétiser un projet informatique, il est essentiel de


sélectionner une méthodologie de travail et un processus de suivi
appropriés. Cette méthodologie offre un cadre visant à structurer les
phases initiales du développement d'un système, ce qui contribue à rendre
ce processus de développement en adéquation avec les exigences du
client.

Tableau 2 : Analyse comparative des approches classiques et


agiles

Critères Approche classique Approche Agile

Cycle de vie Phase séquentielle La nature itérative et


incrémentale

Planification Prédictive Adaptative

Changement Résistant au Accueil favorable


changement. au changement intégré
dans le processus
Processus lourd de
gestion des
changements acceptés.

Gestion des risques Processus strict et Gestion des risques


rigoureux de gestion intégrée dans le
des risques. processus global.

Mesure des succès Respect des Satisfaction du


engagements initiaux client par la livraison
en termes de cout, de de valeur souhaitée.
budget et de niveau de

16
qualité.

Équipe Équipe avec Équipe


ressources spécialisés responsabilisée,
dirigées par un chef de soutenue par le chef de
projet. projet.

Qualité Contrôle de la qualité Assurance


en fin de cycle de qualité.permanant au
développement. niveau du produit et du
processus.

3.2.1. Méthode Agile :

Suite à la comparaison effectuée d'après la comparaison effectuée


dans la section précédente, il est possible de remarquer que lorsque le
domaine du projet est bien défini et maîtrisé,la méthode traditionnelle est
adéquate.

Cependant, dans des situations où il est difficile de prévoir tous les


éléments dès le début ou lorsque les besoins sont incomplets, comme
c'est le cas dans notre projet, il est préférable d'opter pour des méthodes
itératives et incrémentales telles que les méthodes agiles. se révèle
essentielle.

Une méthode agile est une approche caractérisée par son caractère
incrémentiel et itératif, favorisant une collaboration étroite entre les
parties prenantes. Elle garantit une communication de qualité avec les
utilisateurs, une meilleure transparence pour le client concernant
l'avancement du projet, et un contrôle de qualité amélioré grâce à la
réalisation de tests continus, permettant ainsi une détection rapide des
problèmes. [4]

17
3.2.2. La méthode adoptée SCRUM :

Scrum est l'approche agile la plus largement utilisée parmi les


différentes méthodologies agiles disponibles,couramment employée parmi
les diverses méthodologies agiles existantes, et elle se caractérise par sa
simplicité de compréhension. L'idée principale de la méthodologie agile
Scrum est de diriger l'équipe de développement vers une mise en œuvre
itérative d'un ensemble de fonctionnalités, au sein de cycles répétés d'une
durée habituelle de deux à quatre semaines, appelés "Sprints".

Chaque Sprint vise à produire une version partielle du produit final.

Figure 3 : Processus Scrum[5]

Conclusion :

Tout au long de ce chapitre, nous avons présenté l'entité hôte,


Général. De plus, nous avons exposé le contexte global du projet et
détaillé notre décision concernant la méthodologie de développement
choisie.

Le chapitre suivant sera dédié à l'analyse préliminaire.

18
Chapitre 2 : Etudes préalable

19
Introduction :

Dans ce chapitre, nous entamerons la phase de spécification des


exigences, au cours de laquelle nous identifierons les besoins fonctionnels
et non fonctionnels que notre système doit satisfaire seront examinés
notre solution doit satisfaire. Ensuite, nous aborderons la gestion de notre
projet en utilisant la méthodologie Scrum.

1. Schéma synoptique de l’application wassalni :

Au cours de ce projet, nous avons approfondi notre compréhension


des aspects essentiels dans ce schéma synoptique générale ci-dessous par
ailleurs nous avons présenté les parties nécessaires sur lesquelles est
basé le système de supervision connecté :

La figure4 présente le schéma synoptique englobant les différents


modules de base du dispositif à réaliser

20
Figure 4:Schéma synoptique

Le schéma synoptique est constitué des :

1 : système IOT pour la détection de la localisation

2 : connectivité sans fil : une technologie de communication sans fil avec


laquelle les données seront transmises vers l’application.

3 : Application qui va recevoir la localisation, réservation et paiement en


ligne et les classer dans une interface agréable et compréhensible pour
l’utilisateur.

5 : une technologie de communication entre la base de données et


l'application mobile.

4 : Base des données en temps réel pour stocker les données, la


communication entre L'application mobile et la base de données doivent
fonctionner en étroite collaboration, permettant un échange bidirectionnel
de données.

2. Spécification des besoins :

Ceci marque le début du processus de conception, où nous


entreprenons une étude détaillée de la situation. Cette étude prend en
considération les limites, les éléments potentiellement problématiques,
ainsi que d'autres facteurs pertinents, dans le but d'assurer que le projet
ou le processus final réponde aux exigences spécifiées.

2.1. Diagramme FAST :

Le diagramme FAST est un outil de modélisation graphique utilisé pour


représenter la structure sémantique d'une expression ou d'une phrase. Il
est souvent utilisé en analyse du langage naturel pour aider à comprendre
la signification d'une expression. [6]

21
Figure 5: Diagramme FAST

22
2.2. Les acteurs de l’application :

Un acteur symbolise une entité externe au système en cours de


modélisation, et il engage des interactions directes avec ce système. En
réaction aux actions entreprises par un acteur, lesystème offre un service
dans le but de répondre aux exigences.de cet acteur. [7]

 Utilisateur

Il s'agit de l'utilisateur doté des privilèges les plus élevés, ayant la


capacité de gérer l'ensemble des fonctionnalités offertes par l'application.
En outre, nous identifions ci-dessous les autres acteurs susceptibles
d'interagir avec notre système, dont le rôle principal est Utiliser
l'application pour obtenir des informations concernant les transports en
commun, planifier leurs trajets et améliorer leur mobilité en Tunisie.

2.3. Identification des besoins fonctionnels :

Nous allons maintenant détailler les diverses fonctionnalités du


système. Ces fonctionnalités sont conçues pour satisfaire les exigences du
Product Owner. Les besoins spécifiés doivent être durables, précis et
réalisables. Les besoins fonctionnels visent à répondre à la question
essentielle :

 Quel est le but du système ?


 Quelles sont les fonctionnalités du système ?

Suite à plusieurs réunions avec le Product Owner représenté par Mm


hammemi imen, nous avons cernés les besoins fonctionnels d’application
et nous avons organisés par fonctionnalités offerte pour l’utilisateur.

Recherche d'itinéraires : l’utilisateur peut utiliser l'application pour


rechercher des itinéraires en indiquant le point de départ et la destination.

L'application permettre à l’utilisateur des différentes options de


transports en commun disponibles, les horaires et les itinéraires les plus
appropriés.

- S’inscrire pour avoir un compte personnel de l’application mobile

23
- Effectuer une authentification pour accéder à l'application mobile.
- Consulter la liste des transports publics
- Choisir un moyen de transport
- Consulter les heures et les informations
- Réserver ticket : choisir un bus ou un autre moyen de transport puis
consulter l’horaire et les tarifs pour choisir et confirmer le choix
- Paiement
- Consultation des horaires et des arrêts : peut consulter les horaires
des bus, des métros ou utiliser d'autres modes de transport public
pris en charge par l’application mobile.
- Suivi la localisation en temps réel : notre application permettre de
fournir Des informations en temps réel concernant d'éventuels
retards, perturbations ou changements dans les horaires de
transport. Permettre de suivre la position des véhicules en temps
réel pour savoir quand la bus ou le métro arrivera.

2.4. Besoins non fonctionnels

Les besoins non fonctionnels englobent les objectifs liés aux


performances du système ainsi que les contraintes liées à son
environnement. Ces exigences techniques sont généralement formulées
sous forme d'objectifs précis que le système doit atteindre.

En plus des besoins fondamentaux, notre système doit répondre aux


exigences suivantes :

 Fiabilité : garantissant la capacité du logiciel à produire des


résultats corrects, quelle que soit la situation d'exploitation, y
compris la tolérance aux pannes, qu'elles soient logicielles ou
matérielles.
 Flexibilité : facilitant l'ajout, la modification ou la suppression
de fonctionnalités dans le programme.
 Efficacité : mesurant le degré de réalisation des objectifs, où
une activité est considérée efficace si les résultats obtenus
correspondent aux objectifs fixés.
24
 Sécurité et contrôle d'accès : la capacité du logiciel à se
protéger contre les altérations et à limiter l'accès aux
utilisateurs autorisés.
 Modularité : permettant au logiciel d'être structuré en
composants ou modules indépendants.
 Maintenabilité : caractérisant la facilité avec laquelle un défaut
peut être localisé, identifié et corrigé.

2.5. Diagramme de cas d’utilisation général

Nous avons donc identifié nos acteurs, maintenant Il s'agit d'établir


une définition plus approfondie ou plus détaillée le besoin de chaque
acteur en répondant à la question : QUI devra faire QUOI ?

25
Le diagramme de cas d’utilisation représente les fonctionnalités du
système c’est-à-dire l’ensemble des actions que devront réaliser nos

acteurs.

Figure 6:Diagramme de cas d'utilisation générale

3. Mise en œuvre

3.1. Équipe et Rôle


Dans le contexte de la méthodologie Scrum, l'équipe se structure en
suivant les trois principaux rôles, comme illustré dans le tableau ci-
dessous :

Tableau 3 : Equipe et Rôle de Scrum [9]

Equipe Rôle
26
Product Owner représente le produit, il peut s’agir
Product du client, qui a eu une formation ou une présentation à
Owner l’agile, il est nécessaire qu’ils acceptent toute
cequ’implique l’agilité.
Il est le membre clé de la bonne marche du projet,
car c’est lui qui définit
Le QUOI du projet.

Scrum Master rassemble un peu comme le chef


d’orchestre de la vie du projet, mais ce dernier qui
opèrerait depuis les coulisses à la différence du chef de
projet, il n’est pas là pour diriger, ni même décider, Il est
Scrum là dans un rôle de coach et de guide, il doit se montrer
force réflexion, mais pas les diriger.
Il est le garant de l’application des méthodes agiles dans
la vie du projet, il est le formateur du client, du Product
Master
owner et de la scrum équipe si ces derniers ne
connaissent pas encore cet environnement, il doit être
constamment dans l’analyse des interactions de son
équipe, et avec le client, il est là pour aiguiller les
informations, il n'est pas supérieur aux autres membres
de la scrum équipe. Il est le lien qui les unit, mais il est
leur égal.
L'équipe est composée des individus responsables de la
Equipe mise en œuvre des exigences du client. L'ensemble de
l'équipe partage la responsabilité du résultat final de
chaque sprint. La manière dont les tâches sont exécutées
bénéficie d'une grande liberté, dans le but de garantir la
livraison du produit dans les délais convenus.

Tableau 4 : Equipe de Scrum

27
Personnes Rôles Scrum

Mm.Hammemi Imen Product Owner

Mm. Chiraz Ben Jabeur Scrum Master

Arij Dachraoui& Rania Riahi Equipe de développement

3.2. Backlog du produit

Le Product Backlog représente une liste organisée en fonction des


priorités des besoins et des exigences du produit. Ces éléments,
également connus sous le nom d'"histoires utilisateur", sont formulés en
une ou deux phrases, décrivant de manière claire et précise la
fonctionnalité souhaitée par l'utilisateur. Habituellement, ils sont
structurés sous la forme suivante : "En tant que X, je souhaite Y, afin de
Z" [10].

Le tableau ci-dessous présente une liste d'histoires utilisateurs avec


leurs estimations. Les besoins et les exigences du produit sont ordonnés
par ordre croissant de priorité, et le tableau contient les champs suivants :

 Identifiant : un numéro unique et auto-incrémenté attribué à


chaque histoire utilisateur.
 Cas : la tâche à réaliser.
 User Story : c’est une description courte de la tâche à réaliser.
 Priorité : c’est l’importance attribuée par le Product Owner à cette
tâche (remarque : pour que le tableau soit lisible et clair, nous allons
nommer la " très haute priorité " par l’abréviation " TH ", la " Haute
priorité " par l’abréviation " H ", la " moyenne priorité " par l’abréviation "
M ", la " basse priorité " par l’abréviation "B ").
 Story Point : la durée nécessaire pour réaliser une tâche.

Tableau 5 : Backlog du produit

28
Complexit
Id Thèmes Use case Priorité
és

Recherche
En tant qu’équipe de développement, je
et
0 veux documenter et rechercher lors de Must Moyenne
autoforma
la réalisation de notre projet
tion

En tant qu’utilisateur, je veux inscrire


1 S’inscrire Must Moyenne
pour avoir un compte

En tant qu’utilisateur, je veux


S’authentif
2 s’authentifier pour accéder à son espace Must Moyenne
ier
personnel

Choisir le
En tant qu’utilisateur, je veux choisir un
3 moyen de Must Difficile
moyen de transport
transport

Suivi la En tant qu’utilisateur, je veux consulter


4 localisatio la localisation du moyen de transport en Must Difficile
n temps réel

Réserver En tant qu’utilisateur, je veux réserver


5 Must Moyenne
un ticket un ticket

Ouverture Le système ouvre la barrière lorsque le


6 Must Difficile
barrière capteur détecté la carte.

3.3. Planification des Sprints

Les histoires des utilisateurs préalablement définies dans le Product


Backlog sont classées en fonction de leur priorité et de leur valeur métier.
L'objectif principal est de mettre en œuvre en premier lieu ce qui présente
le plus de valeur.

29
Après une réunion avec l'équipe, nous avons identifié un total de six
sprints et trois réalisations. Ces informations sont présentées dans le
tableau ci-dessous :

Tableau 6 : Planification des Sprints

Réalise Sprint Estimatio


n

Réalise 1 Sprint 0 : Recherche et autoformation 6


semaines
Sprint 1 : S’inscrire

Sprint 2 : S’authentifier

Réalise 2 Sprint 3 : Choisir le moyen de transport 8


semaines
Sprint 4 : Suivi la localisation

Réalise 3 Sprint 5 : Réserver un ticket 8


semaines
Sprint 6 : Ouverture barrière

4. Logiciels et technologies utilisés

Dans cette section, nous allons vous présenter les outils logiciels que
nous avons utilisés tout au long de la mise en œuvre de notre projet.

4.1. Arduino IDE


L'environnement de développement intégré (IDE) Arduino est un
logiciel gratuit et open source utilisé pour programmer les cartes de
développement électronique Arduino. L'IDE Arduino est disponible pour
Windows, Mac OS X et Linux.

30
Figure 7: IDE Arduino

4.2. Kodular
Kodular est un outil de développement logiciel basé sur le cloud qui
permet aux développeurs de créer des applications mobiles. Il fournit un
environnement intégré pour construire des applications natives Android,
basées sur des blocs de programmation visuels (Visual Programming
Blocks).

Les développeurs peuvent utiliser des blocs prédéfinis pour créer des
applications intuitives, personnalisées et dynamiques sans aucune
connaissance en programmation. Kodular aide les développeurs à créer
rapidement des applications de qualité professionnelle à l'aide des
nombreuses fonctionnalités, notamment des modèles de conception
prédéfinis, des blocs de programmation intuitifs, des thèmes, des API et
bien plus encore.

Kodular est un logiciel de création d'applications pour Android et iOS


développé par un groupe de développeurs indépendants à partir d'un
projet open source. Il est destiné aux débutants et amateurs et permet
aux utilisateurs de créer rapidement des applications mobiles, sans avoir
besoin de compétences en programmation. Kodular peut être utilisé par
des étudiants, des entrepreneurs et des entreprises pour créer des
applications mobiles de qualité professionnelle.

31
Figure 8: Logo Kodular

Les avantages de kodular

 Création d'applications Android native à l'aide d'un bloc.


 Utilisation de composants personnalisés et prédéfinis pour créer
des applications riches en fonctionnalités.
 Intégration facile d'API natives et tierces.
 Mise à jour rapide et sans contraintes pour des applications
publiées.
 Utiliser le client Kodular pour partager des applications avec des
amis et afficher des mises à jour en un clic.
 Gérer les builds, les autorisations et les profils d'utilisateur à
distance.
 Utiliser la console pour tester et effectuer des optimisations.
 Utiliser l'éditeur de thèmes Oxygen pour gérer l'apparence des
applications.
 Intégration de modules externes et de périphériques.[12]

4.3. Technologies utilisées


Firebase est une plateforme mobile et web de développement
d'applications, qui a été créée en 2011 et acquise par Google en 2014. Elle
fournit une multitude de services de développement pour aider les
développeurs à créer et déployer des applications mobiles et web
rapidement et facilement.

Firebase offre une variété de services, notamment :

- L'authentification : permet de gérer l'authentification utilisateur avec


des services tels que Google, Facebook, Twitter, GitHub, etc.
- La base de données en temps réel : permet de stocker et de
synchroniser les données en temps réel entre les utilisateurs, les
appareils et les serveurs.

32
- Le stockage dans le Cloud : permet de stocker des fichiers dans le
cloud, avec une intégration facile avec les autres services Firebase.
- Les notifications push : permet de diffuser des notifications push en
temps réel aux utilisateurs sur iOS et Android.
- L'analyse : permet de suivre l'utilisation de l'application, de mesurer
l'engagement de l'utilisateur et d'obtenir des informations sur les
performances.
- Les tests et les rapports d'erreurs : permet de tester l'application et
de signaler les erreurs et les bogues.

Firebase est une plateforme flexible et évolutive qui peut être utilisée
par les développeurs débutants et expérimentés pour créer des
applications mobiles et web de haute qualité. Elle fournit des services clés
en main, permettant aux développeurs de se concentrer sur le
développement de l'application plutôt que sur la gestion de
l'infrastructure.

Figure 9:Firebase

3.3. Diagramme de classes global

Le diagramme de classe décortique le système en plusieurs classes,


chaque classe de ce diagramme est une description formelle d’un
ensemble d’objets qui ont une même sémantique et caractéristiques
communes.

33
Figure 10:Diagramme de classe globale

Conclusion
Dans ce deuxième chapitre, nous avons détaillé les différents besoins
ainsi que l’interaction de l’utilisateur avec le système. Par la suite nous
avons identifiée l’équipe de travail et de définir notre backlog du produit
qui nous a permis de préparer un terrain favorable pour les prochaines
phases et de déduire la planification des sprints de notre projet. Dans ce
qui suit nous allons entamer la phase de conception.

34
Chapitre 3 : Conception

35
Introduction :
Après avoir défini la spécification du projet, la phase de conception
vient pour mieux l’éclaircir. En premier temps, nous allons présenter
l’architecture générale de notre solution. En deuxième temps, on prend la
phase d’étude des besoins matériels à partir de l’architecture de la partie
hardware.

En troisième temps, nous allons détailler les technologies de


développement qui nous ont permis de le réaliser notre partie software.
En quatrième temps, nous allons décrire la conception technique qui se
base essentiellement sur quelque diagramme UML montrant la vue
statique et celle dynamique de notre projet.

1. Architecteur général de l’application :

36
Figure 11: Architecteur général de l’application

L’architecture de l’application « Wassalni » qu’on est en train de la


développer est fondée essentiellement sur la technologie internet of things
(IOT).

En effet le principe de l’IOT consiste à diviser l’application en trois


parties principalement, qui communiquent entre eux pour relier le monde
tangible des objets au monde virtuel des réseaux et du cloud.

• Partie hardware : le GPS commence par la détection des places et


leurs états.

• Partie de traitement et stockage des données : La mesure relevée


par le capteur est ensuite envoyée à la passerelle (ESP32) grâce à un
premier protocole :

Communication(HTTP). Le rôle de la passerelle est de traduire les


protocoles pour établir une communication entre les objets et le réseau (le
cloud). Grâce à l’intelligence embarquée la passerelle permet le traitement
et le stockage des données, ainsi que des fonctions de pilotage de l’objet.
Pour les protocoles courte portée en utilise le WIFI et le GSM/GPRS. La
passerelle est locale et se connecte souvent au box du fournisseur d’accès
à Internet et SIM.

• Partie client : L’utilisateur bénéficie, d’une interface dédiée sur son


terminal mobile. Il peut alors consulter les mesures en temps réel et
utiliser les différentes fonctionnalités prévues par la solution IoT.

2. Environnement du travail
Cette partie contient le dernier volet de ce rapport, elle a comme but
d’exposer notre travail achevé. Nous allons commencer par la
présentation de l’environnement matériel utilisé tout au long de la période
de développement.

37
2.1. Environnement matériel
Pour Manipuler le fonctionnement de la partie hard avec succès, le
matériel décrit ci-dessous est utilisé :

2.1.1. Choix de carte


Une carte programmable est une carte comportant des composants
électroniques, comprenant un ou plusieurs microcontrôleurs.
Un microcontrôleur est utilisé pour contrôler la carte, ce programme peut
être écrit dans plusieurs langages de programmation.

Pour choisir une carte convenable, il faut prendre en considération les


besoins comme se montre cette figure :

Figure 12 : Choix de Carte

Nous allons rechercher des cartes programmables, nous avons découvert


que des nombreuses cartes de développement modulaires sont apparues ces
dernières années.
Chaque carte a des avantages et des inconvénients, elles diffèrent par
leurs fonctionnalités, leur complexité et leur prix.
Cette section mentionne certaines des cartes programmables les plus
populaires et leurs caractéristiques, dans le but de choisir la plus optimale
pour notre projet.

38
Dans ce qui suit, nous présentons les différentes cartes électroniques
utilisées, parmi ces cartes on peut citer :
Tableau 7 : Les différentes cartes électroniques

Nom de la Arduin Raspberry Pi STM32 NodMcu ESP32


carte o UNO ESP8266

Naissance 2005 2012 2007 2014 2016

Prix 50 DT 200 DT 120 30 DT 46 DT


(Dinars) DT

Processeur ATmeg3 CPU intégrée Cortex RISC à 32 Tensilica


Xtensa LX6
28bits bits

RAM 2 Ko 512 Mo Max 128 64 Ko 50 Ko SRAM


ko

Mémoire 32 Ko MicroSD –32 Max 2048 512Ko 4 Mo


Flash G Ko

Consommat 0.5 W 3.5 W Basse Basse Basse


ion (w)

Ethernet Non Oui Non Non Non

USB Non 4 Micro-USB Micro-USB Micro-USB

Sortie vidéo Non HDMI Non Non Non

Système RTOS Linux RTOS RTOS RTOS

D’exploitati
on

39
A. Analyse du tableau comparatif

En tenant compte du tableau 7 on déduit qu’ESP32 représente un outil plus


performant et mieux adapté à nos besoins, il possède des connectiques
convenables au fonctionnement de notre système, de plus, son rapport
performance-prix est abordable.
On a décidé donc de travailler sur la carte ESP32dans la partie paiement et
ouverture de barrièreet notre choix peut être justifié par :
 Connectivité Wi-Fi et Bluetooth : l’esp32 est équipé d'une
connectivité intégrée Wi-Fi et Bluetooth, ce qui permet une
communication sans fil facile avec d'autres dispositifs et systèmes IOT.
Cela facilite l'intégration de l'esp32 dans des réseaux IOT industriels et
permet des interactions avec d'autres équipements et systèmes.
 Puissance de traitement : l’esp32 dispose d'un processeur puissant et
d'une quantité suffisante de mémoire, ce qui lui permet de gérer des
tâches complexes et de supporter des applications industrielles
exigeantes. Il peut exécuter des algorithmes de traitement des données,
des contrôles en temps réel et des protocoles de communication
avancés.
 Faible consommation d'énergie : l’esp32 est conçu pour une faible
consommation d'énergie, ce qui est crucial dans les environnements
industriels. Il peut fonctionner sur batterie ou être alimenté par des
sources d'énergie limitées, ce qui en fait un choix idéal pour les
systèmes IOT.
 Large gamme de périphériques intégrés : l’esp32 offre une variété
de périphériques intégrés tels que des interfaces GPIO, des interfaces
SPI, UART etc. Cela facilite l'interaction avec différents capteurs,
actionneurs et autres dispositifs utilisés dans les applications
industrielles.
 Prise en charge de Framework IOT : l’esp32 est compatible avec
différents Framework IOT, tels que HTTP, etc. Cela simplifie l'intégration
de l’esp32 dans des infrastructures IOT existantes et facilite la
communication avec d'autres dispositifs et services.
40
 Communauté active et support : l’esp32 bénéficie d'une
communauté d'utilisateurs et de développeurs active, ce qui signifie
qu'il existe une abondance de ressources, de tutoriels et de forums de
support pour vous aider à développer votre projet IOT industriel.

Figure 13 : Carte esp32

 Sim808
Nous avons choisile module SIM808 pour la partie détection de la localisation
à cause de leur fonctionnement :
Le module SIM808 est un module de fonction trois-en-un GSM/GPS/BT.
Il est basé sur le dernier module GSM/GPS/BT SIM808 de SIMCOM, prend
en charge le réseau quadri-bande GSM/GPRS et combine la technologie GPS
pour la navigation par satellite. Il a une sensibilité de réception GPS élevée
avec 22 canaux de suivi et 66 canaux récepteurs d'acquisition. En outre, il
prend en charge A-GPS disponible pour la localisation en intérieur, et il prend
également en charge Bluetooth 3.0.
Le module est contrôlé par la commande AT via UART et prend en charge les
niveaux logiques 3,3 V et 5 V.

41
Figure 14:SIM808

2.1.2. Choix des capteurs

Le choix d'un capteur est souvent basé sur ses caractéristiques qui nous
indiquent s'il est convenable ou non, pour notre application.

Tableau 8 : Les caractéristiques générales d'un capteur

Caractéristiques

Etendue de Valeurs extrêmes pouvant être mesurées par le capteur


mesure

Résolution Plus petite variation de grandeur mesurable par le


capteur

Sensibilité Variation du signal de sortie par rapport à la variation du


signal d’entrée

Précision Aptitude du capteur à donner une mesure proche de la


valeur vraie.

Rapidité Temps de réaction du capteur

42
Ci-dessus on présente les capteurs RFID disponibles sur le marché qu’on
va utiliser afin de réaliser notre travail :
Le tableau suivant dresse un comparatif entre les systèmes actifs, semi-
actifs et passifs.

Tableau 9:Etude comparative entre les tags RFID

Tag Distance Données Durée de Cout


vie

Actif Importante Importantes Faible Important

Semi-passif Moyenne Moyenne Moyenne Moyenne

Passif Faible Faible Importante Faible

La RFID se développe sous différents supports :

Tableau 10:Etude comparative entre les tags RFID [14]

Type de support Objectifs

 Identification des personnes


 Paiement sans contact
 Contrôle d’accès en entreprise
 Transports Cartes de fidélité

Cartes RFID et badges RFID

 Identification & traçabilité


 3 formats d'étiquettes RFID
normes ISO
Étiquette PVC sans contact RFID  Une technologie RFID performante
et abordable

43
 4 types de puces RFID disponibles

 Identification des biens


 Stockage et inventaire
 Lutte contre la contrefaçon
 Traçabilité des produits

Étiquettes et stickers  Promotion dans les événements

 Identification des personnes


 Paiement sans contact
 Promotion dans les événements
Bracelets

 Accès à des résidences, locaux et


parking
 Badge RFID d’accès en entreprise

Porte-clés et tags

 Identification d’animaux

Puces sous cutanés

 Module RFID-MFRC522 :
Nous allons choisir le module RFID-MFRC522, à cause des certains
critères afin de nous assurer qu'il répondra à nos besoins spécifiques.

44
Figure 15: Module RFID-MFRC522
Les critères de choix à considérer :
 Compatibilité : compatibilité du module RFID-MFRC522 avec plateforme
de développement ESP32
 Bibliothèques et des exemples de code sont disponibles pour faciliter
l'intégration du module dans notre projet.
 Type de cartes RFID pris en charge : Le module RFID-MFRC522 est
compatible avec plusieurs types de cartes RFID, notamment les cartes
MIFARE et les cartes NFC. Assurez-vous que les cartes que vous
prévoyez d'utiliser sont prises en charge par le module.
 Distance de lecture
 Puissance et alimentation : une alimentation de 3,3 V.
 Prix

2.1.3. Choix des Actionneurs :


Un actionneur joue le rôle de la sortie lui permettant de produite une
action sur l’environnement extérieur, par exemples : les écrans LCD, Buzzer,
Afficheurs….

 Buzzer électrique
Un buzzer est un composant électromécanique ou électronique qui produit
un son lorsqu'une tension lui est appliquée. Il est de fréquence fixe ou
variable, les deux types de cloches sont indiqués dans le tableau ci-dessous :
45
Tableau 11 : Choix de Buzzer

Type de Buzzer Les caractéristiques de Buzzer

 Ce modèle est activé en leur appliquant une pression


A fréquence fixe avec une partie du corps humain.
 Facile à mettre en œuvre dans circuit électrique ou
électronique.

 Ce type de buzzer peut générer des bips graves, Ils


sont cependant plus complexes à mettre en œuvre
A fréquence dans un circuit électronique car il faut générer le signal
variable électrique de fréquence variable à leur appliquer.
 Faible coûte.

Le choix de buzzer est fixé sur un buzzer de type fréquence variable ce type
et compatible avec le projet.

Figure 16 : Buzzer électrique

 Choix des écrans LCD


Après avoir fait le bon choix pour les capteurs constituant notre système de
sécurité, le tour est le choisir les modules d’affichage.
La mise en place d’un LCD graphique dans ce projet est importante pour
obtenir une supervision sur terrain.
Notre choix est basé sur les critères suivants :
 Compatibilité de LCD graphique avec microcontrôleur.
 Disponibilité dans le marché.
Ce tableau présent les caractéristiques de deux afficheurs à savoir :
Tableau 12 : Les caractéristiques techniques des LCD graphique

46
LCD graphique Caractéristique

 Résolution 240* 320 pixels


 Possibilité d’afficher 262000 couleurs
LCD 2,16
 Comprend un pavé tactile
 Adapté pour Arduino, STM32

 Adapté pour : STM 32, Raspberry, Arduino


LCD 3 ,5 INCH  Une résolution de 320x480
 Comprend un pavé tactile

Le choix a été fixé sur l’afficheur LCD 2.16.


Les écrans à cristaux liquides sont des modules compacts intelligents et
nécessitent peu de composants externes pour fonctionner correctement. Ils
nécessitent relativement peu de temps (1 à 5 minutes), sont relativement bon
marché et très faciles à utiliser.

Figure 17 : Afficheur
LCD 2.16

 Choix du servomoteur :
Nous allons choisir Le servomoteur pour utiliser dans notre projet avec la
carte ESP32 pour le mouvement de barrière

47
Figure 18:Servomoteur

Lors du choix d'un servomoteur, plusieurs critères doivent être pris en


compte pour s'assurer qu'il convient à notre application spécifique. Voici
quelques critères de choix courants pour les servomoteurs :
 Vitesse de rotation : La vitesse de rotation du servomoteur indique à
quelle vitesse il peut effectuer les mouvements. Elle est mesurée en
rotations par minute (RPM) ou en degrés par seconde (°/s).
Sélectionnez un servomoteur avec une vitesse de rotation adaptée
aux exigences de votre application.
 Plage de mouvement : La plage de mouvement du servomoteur
détermine l'angle ou la rotation maximale qu'il peut atteindre.
Certains servomoteurs offrent une plage de mouvement de 180
degrés, tandis que d'autres peuvent offrir une rotation continue sur
360 degrés. Sélectionnez un servomoteur avec une plage de
mouvement appropriée pour votre application.
 Précision : La précision du servomoteur est liée à sa capacité à
atteindre des positions cibles avec une grande précision. Cela peut
être important dans les applications qui nécessitent des
mouvements précis. Vérifiez les spécifications du servomoteur pour
connaître sa précision ou recherchez des avis d'utilisateurs pour
évaluer sa performance en termes de précision.
 Tension d'alimentation : Vérifiez la tension d'alimentation requise
par le servomoteur. Certains servomoteurs fonctionnent avec une
tension de 5 V, tandis que d'autres peuvent nécessiter une tension

48
plus élevée. Assurez-vous que la tension d'alimentation du
servomoteur est compatible avec votre système d'alimentation.
 Dimensions et poids : Les dimensions et le poids du servomoteur
peuvent être importants selon les contraintes d'espace et de poids
de votre application. Vérifiez les dimensions et le poids du
servomoteur pour vous assurer qu'il peut être intégré efficacement
dans votre système.
 Durabilité : La durabilité du servomoteur est un facteur à prendre en
compte, en particulier si votre application implique des mouvements
fréquents ou des conditions environnementales difficiles. Recherchez
des servomoteurs de qualité et des avis d'utilisateurs pour évaluer
leur durabilité.
 Coût : Enfin, considérez le coût du servomoteur, qui peut varier en
fonction de ses caractéristiques et de sa qualité. Déterminez votre
budget et trouvez un équilibre entre les performances requises et le
coût.
2.1.4. Les technologies de communication sans fil :
Un réseau IoT sert à doter un objet d’une connectivité à Internet pour
permettre le transfert d’informations.
Différents protocoles de communication sont disponibles sur le marché pour
effectuer cela.
Le tableau ci-dessous regroupe les principaux protocoles de communications
utilisés dans les projets IoT.
Tableau 13: Technologies des réseaux sans fils :

Technologie Inconvénient
Avantages Application Logo
s s
RFID Transfert des Perturbation Géo
données sans du transfert localisation de
contact radio par les zone
(même sans liquides et les
contact métaux (en

49
fonction de la
visuel) fréquence
utilisée)
adapté aux
Si la sécurité
technologies
n’est pas bien
Haut débit, portables telles
configurée
faible portée, que les
alors l’objet
quasiment oreillettes pour
s’expose à des
Bluetooth intégré dans les
failles des
tous les communication
sécurités telles
appareils du s voix ou aux
que le
quotidien raccordements
bluejacking et
d’équipements
le bluesnarfing
à un PC
Très haut
débit, haute Consommation
adapté à la
disponibilité, en batterie
télésurveillance
très bonne grande, prix
4G , aux
couverture de l’abonne-
smartphones
géographique ment
(IoT critique)
, gestion de important
la mobilité
Fonctionnalité
s multimédia
Appels vocaux,
(SMS, MMS),
GSM messages
accès Portée faible
(GPRS/ courts,
Internet et en zone rurale
EDGE) navigation
introduction
(partielle)
de la carte
SIM

50
Envoie
Faible Couverture d’informations
SigFox consommatio mondiale ponctuelles
n énergétique encore fait (géolocalisation
)
Non adapté
Très Haut aux objets
débit, qualité uniquement
du signal alimentés par Adapté aux
assurée, batterie. applications de
WIFI
connexion Couverture domotique, au
simple et réseau limitée contexte indoor
rapide à la à une faible
passerelle zone autour de
la passerelle

 Nous avons opté pour le mode de communication WIFI, le GPRS,


Bluetooth et GSM pour l’envoi et la réception des données en temps
réel.
o Nous allons utiliser GPRS/GSM pour le suivi de la localisation
des véhicules en temps réel
o Wifi pour le paiement de place en ligne

Conclusion
Au long de ce chapitre, nous avons présenté la conception de notre
application. Le chapitre suivant intitulé « conception et Réalisation des
sprints », nous permettrai de présenter l’environnement matériel et
logiciel de développement ainsi que des imprimes écrans détaillés de
notre application.

51
52
Chapitre 4 : Release 1

Introduction

Le premier chapitre de réalise est composé par deux sprints le premier


sprint représente une étape importante et prioritaire pour la réalisation de
notre projet et le deuxième sprint présente la partie création de compte.
Ensuite, nous allons détailler les sprints avec Product backlog spécifique
avec l’expression des besoins, la conception et les interfaces réalisées.
53
1. Analyse de la réalise 1
La réalise 1 est composé par quatre sprints, le sprint 0 représente une
étape importante et prioritaire pour la réalisation de notre projet, le
premier sprint est l’inscription, le deuxième sprint présente la partie
authentification des utilisateurs.

Ensuite, nous allons détailler les sprints avec Product backlog


spécifique avec l’expression des besoins, la conception et les interfaces
réalisées.

La figure suivante présente le diagramme global du premier release :

Figure 19 : Diagramme de cas d'utilisation générale de réalise 1

2.1. Sprint 0 :
L'objectif de ce sprint est d'effectuer des recherches pour collecter des
informations et s’auto-former sur les technologies de développement et
préparer l’environnement de travail.

2.1.1. Sprint Backlog


Le tableau ci-dessous représente la première histoire de l’utilisateur :

Tableau 14 : Sprint Backlog

Histoires de l’utilisateur Type Semaine

54
Faire une comparaison entre les
produits similaires qui existent sur Histoire technique 4 semaines
le marché.

Spécification des besoins Histoire technique 2 semaines


fonctionnels et non fonctionnels.

Choix des technologies et les Histoire technique 3 semaines


outils de travail.

Installation du logiciel Histoire technique 4 semaines


nécessaire : Arduino IDE

Installation des bibliothèques Histoire technique 3 semaines


nécessaires.

2.2. Sprint 1 : Créer compte

L'objectif de ce sprint de réaliser la gestion des utilisateurs qui permet


à l’utilisateur d’enregistrer leur information dans leur propre compte et
appliquer des autres tâches.

2.2.1. Sprint Backlog

Ce tableau représente les histoires de l'utilisateur de ce sprint1.

Tableau 15 : Histoires de l’utilisateur de sprint 1

User Stories Type Jours

En tant qu’utilisateur, je User story 4 Jours


veux créer un compte.

2.2.2. Expression des besoins

L'expression des besoins dans le contexte du sprint 1, qui se concentre


sur la création d’un compte, consiste à identifier et à décrire clairement
les fonctionnalités et les exigences spécifiques liées à cette partie de
l'application.

55
Voici quelques exemples d'expressions des besoins pour ce sprint :

 En tant qu'utilisateur : je veux pouvoir créer des nouveaux comptes


utilisateurs en fournissant leurs informations de base telles que le nom,
numéro de téléphone et mot de passe

2.2.3. Diagramme de cas d’utilisation de sprint 1 s’inscrire

La figure ci-dessous présente une vue raffinée du cas d’utilisation «


Inscription »

Figure 20 : Diagramme de cas d'utilisation de sprint 1

2.2.4. Description textuelle

Ce tableau représente la description textuelle détaillée du cas


d'utilisation « Créer compte »

Tableau 16 : Description textuelle « Créer Compte »

Cas Créer compte


d’utilisation

Acteur Utilisateurs

Précondition Accéder à l’application (utilisateur)

Post condition Créer compte

56
Description Ce cas d’utilisation permettra à l’utilisateur d’ajouter
un compte.

1.L’appui sur le bouton « signe up».

2.L’interface d’inscription s’affiche.

3.L’utilisateur remplir le formulaire

Scenario 4.L’utilisateur appui sur le bouton « signe up ».


nominal 5.L’enregistrement de nouvel utilisateur.

E1 : Si L’utilisateur n'a pas bien rempli le formulaire :

 Le système affiche un message d'erreur

Exceptions E2 : Si l'utilisateur est déjà existé (numéro) :

 Le système annule l'action et affiche un message


d’erreur

2.3. Sprint 2 : S’authentifier


2.3.1. Sprint Backlog

Le sprint 2 se concentre sur la fonctionnalité d'authentification de


l'application.

L'objectif principal est de permettre aux utilisateurs de s'authentifier,


c'est-à-dire de se connecter à l'application en utilisant leurs identifiants.

Ce tableau représente les histoires de l’utilisateur de ce sprint.

Tableau 17 : Histoire de l'utilisateur de sprint 2

Histoire de l’utilisateur Type Jours

En tant qu’utilisateur, je veux me Histoire de 7 jours


connecter afin d’accéder à mon l’utilisateur
Application.

En tant qu'utilisateur, je veux me Histoire de 7 jours

57
déconnecter l’utilisateur

2.3.2. Expression des besoins

L'expression des besoins dans le contexte du sprint 2, qui se concentre


sur l'authentification, consiste à identifier et à décrire clairement les
fonctionnalités et les exigences spécifiques liées à cette partie de
l'application.

Voici les expressions des besoins pour le sprint 2 :

 En tant qu'utilisateur, je veux pouvoir saisir mon numéro de


téléphone et mon mot de passe pour accéder à l'application.
 En tant qu'utilisateur, je veux recevoir un message d'erreur clair
lorsque mes identifiants sont incorrects.
 En tant qu'utilisateur, je veux être redirigé vers une page d'accueil
après une authentification réussie.
 En tant qu'utilisateur, je veux pouvoir me déconnecter de
l'application à tout moment.

2.3.3. Diagramme de cas d’utilisation

Diagramme de cas d'utilisation d'authentification est un sous-type


spécifique de diagramme de cas d'utilisation qui se concentre sur les
interactions liées au processus d'authentification dans un système. Il
permet de représenter les différentes actions et les acteurs impliqués lors
de l'authentification des utilisateurs.

La figure suivante représente le diagramme de cas d’utilisation


« s’authentifier »

58
Figure 21 : Diagramme de cas d'utilisation de sprint 2

2.3.4. Description textuelle

L'objectif de cette activité est de décrire textuellement des scénarios


de cas d'utilisation pour chaque graphique. Il doit indiquer comment ce
scénario commence, comment il se termine et les interactions de
l'utilisateur avec l'application.

La description textuelle détaillée du cas d'utilisation de


l'authentification pour l'administrateur, les utilisateurs est donnée par le
tableau suivant :

Tableau 18 : Description textuelle « s’authentifier »

Cas Authentification
d’utilisation

Acteurs Utilisateur

Pré- L’acteur lance l’interface d’authentification


condition

Post L’acteur s’authentifie


condition

Description Ce cas d’utilisation permettra à l’acteur

59
d’authentifier

Scenario 1. L’acteur saisit dans les champs du formulaire le


nominal numéro et le mot de passe

2. le système vérifié tout d’abord si les champs


sont bien remplis et valides.

3. Si les informations sont correctes :


L’authentification est réussie et l’application dirige
chaque acteur à son tableau de bord.

E1 : Si l’acteur n’a pas taper le numéro et le mot


de passe :
Exception
 Le système affiche un message d’erreur

E2 : si le numéro ou le mot de passe est fausse

 Le système affiche un message d’erreur

Ce tableau représente la description textuelle du cas d'utilisation « Se


déconnecter »

Tableau 19 : Description textuelle « se déconnecter »

Cas Se déconnecter
d’utilisation

Acteurs Utilisateur

Pré- L’acteur clique sur le bouton de déconnexion


condition

Post Acteur déconnecté


condition

Description Ce cas d’utilisation permettra à l’acteur de se


déconnecter

60
2. Conception

Après avoir terminé l’étape de raffinement des cas d’utilisation, nous


passons à la conception de notre application.

Nous présentons les diagrammes de séquence objet réalisés pour ce


sprint.

61
2.1. Diagramme de fonctionnement d’ESP32

L’ESP32 est un microcontrôleur polyvalent offrant une connectivité Wi-


Fi et Bluetooth, le diagramme suivant montre le fonctionnement de notre

MCU

Figure 22:Diagramme de fonctionnement d’ESP32

62
2.2. Diagramme de séquences « S’authentifier » :

Les diagrammes de séquences permettent de représenter des


collaborations entre objets selon un point de vue temporel. Les
diagrammes de séquences à illustrer le système global développé ainsi
que ses différents cas d’utilisation.

Cette figure représente le digramme de séquence de


l’authentification :

Figure 23 : Diagramme de séquence S'authentifier.

2.3. Diagramme de séquence objet « Créer compte »

La figure ci-dessous représente le diagramme de séquences du cas


d’utilisation « créer compte »

63
Figure 24 : Diagramme de séquence « créer compte »

2.4. Diagramme de séquence « déconnexion » :

Figure 25:Diagramme de séquence déconnexion

3. Diagramme de classe

Un diagramme de classe est utilisé pour représenter les classes, les


attributs et les relations entre les objets dans un système. Chaque classe

64
est représentée par un rectangle, qui contient le nom de la classe, ses
attributs et ses opérations. Les relations entre les classes sont
représentées par des lignes ou des flèches.

La figure suivante présente le diagramme de classe du premier release

Figure 26:Diagramme de classe du premier release

4. Réalisation

Dans cette section, nous allons présenter quelques interfaces qui sont
développées dans le premier Sprint.

4.1. Configuration ESP32 :

Tout d’abord, nous avons besoin du bon pilote (driver) pour la version
actuelle de notre carte donc il faut suivre les étapes suivantes :

1) Installer Arduino Core pour l’ESP32 dans l’IDE Arduino et


lancer des sketches à partir de L’IDE Arduino 1.8.9.
2) Installation de l’Arduino Core pour ESP32 Dev module en
utilisant l’Arduino Boards Manager :
3) Ajouter le lien. Json de l’ESP32dans l’IDE Arduino :

Dans l’IDE Arduino, aller dans Fichier – Préférences et coller le lien


copié précédemment comme sur l’image ci-dessus. Fermer et redémarrer

65
l’IDE Arduino.

Figure 27:Configuration de l’ESP32 étape 3

4) Tools – Boards Manager : Outils – Type de carte –


Gestionnaire de carte chercher ‘ESP32’ et installer la librairie nommée
ESP32 by ESP community.

Figure 28:installation de la carte ESP32

5) Sélectionner ESP32 Board dans l’IDE Arduino : Dans le menu


Outils – Type de carte sélectionner ESP32 (ESP32 Dev Module) plus bas
dans la liste.

66
6) Choisir le Port sur lequel est connectée la carte ESP32. Laisser
les autres paramètres tels qu’ils sont.

Figure 29:Configuration ESP32 étape 6

7) Installation des bibliothèques :


- Lcd_i2c
- Wifi
- Firbase-esp32
- Servo
- RFID MFRC522

4.2. Interface inscription :

Lors de l’ouverture de notre application mobile, une interface


d’inscription s’affichera comme décrit la figure ci-dessous

67
Figure 30:Interface d'accueilFigure 31:Interface d'inscription

Dans cette interface L’utilisateur doit remplir les trois champs


d’inscriptions par son NOM et numéro et son mot de passe afin qu’il puisse
de créer un compte personnel.

S’il est un utilisateur, il doit d’abord s’inscrire en cliquant sur « SignUp»


qui l’amène vers la page qui contient le formulaire d’inscription comme la
figure présentée ci-dessous.

Si vous n'avez pas de compte, vous pouvez en créer un nouveau.

Pour ajouter un déposant, renseigner les champs et appuyer sur le bouton


Inscription

 Nom : chaine de caractères


 Téléphone : nombre de 8 chiffres
68
 Mot de passe : Format chaine de caractère

Figure 32 : Interface compte crée

En cas d’erreur s’affichera comme décrit la figure ci-dessous :

69
Figure 33:Interface d'inscription en cas d’erreur

4.3. Interface login :

L’utilisateur doit remplir les deux champs d’authentification par son


numéro et son mot de passe afin qu’il puisse accéder à son espace privé.

L’interface suivant présente l’authentification des utilisateurs via


l’application mobile

Figure 34:Interface d’authentification

Avant toute opération, l’utilisateur doit tout d’abord s’authentifier.


Cette opération se base sur la saisie du couple login et mot de passe
d’utilisateur.

Le système vérifie les données et soit il autorise l’accès, soit il affiche


un message d’erreur.

En cas d’échec, un message d’alerte s’affiche :


70
Figure 35:Interface d’authentification en cas d’erreur

Conclusion
A l'issue de cette phase, nous avons pu compléter les fonctions
définies dans cette version, qui répondent à l'objectif d'une application
mobile destinée aux citoyens, lors de ce chapitre nous avons présenté
l'aspect graphique et technique de chaque course ainsi que la mise en
œuvre partie.

71
Chapitre 5 : Release II

72
Introduction
Le deuxième chapitre de réalise est composé par deux sprints le premier
sprint représente une étape importante et prioritaire pour la réalisation de
notre projet et le deuxième sprint présente la partie création de compte.
Ensuite, nous allons détailler les sprints avec Product backlog spécifique
avec l’expression des besoins, la conception et les interfaces réalisées.

1. Analyse de la release II

Au sein de ce sprint, Les user stories va passer par les quatre étapes
du cycle Scrum, plus précisément, l’analyse, la conception, le
développement et on achève les tests.

Figure 36:Diagramme de cas d'utilisation release 2

1.1. Sprint 3 : « Choisir moyen de transport »

L'objectif du sprint 3 est de mettre en place la fonctionnalité


permettant aux utilisateurs de choisir leur moyen de transport préféré

73
dans l'application mobile, offrant ainsi une expérience personnalisée et
facilitant la planification de leurs déplacements.

1.1.1. Sprint backlog

Le tableau suivant : représente les user stories de ce sprint 3

Tableau 20:Backlog sprint 3

Id User Stories Type Semaine

3.1 En tant qu'utilisateur, je veux pouvoir User story 1 Semaine


sélectionner mon moyen de transport
préféré lors de la configuration initiale
de l’application (Bus, Métro, Train)

3.2 En tant qu’utilisateur, je veux consulter User story 1 Semaine


et rechercher les moyens de transport

3.3 En tant qu'utilisateur, je veux planifier User story 1Semaine


le trajet et l’heure.

1.1.2. Expression de besoin :

L'objectif de ce sprint doit permettre aux utilisateurs de définir et de


modifier facilement leur moyen de transport préféré, afin de personnaliser
leurs expériences de planification de trajet et l’heure.

Cette fonctionnalité devrait également offrir des recommandations


pertinentes et des informations adaptées à chaque choix de transport,
améliorant ainsi la pertinence et l'utilité des suggestions fournies par
l'application.

1.1.3. Diagramme des cas d’utilisation du Sprint 3 « Choisir


moyen de transport »

La figure 37 illustre le diagramme de cas d’utilisation du sprint 3


« Choisir moyen de transport » :

74
Figure 37:Diagramme de cas d'utilisation « Choisir moyene de
transport »

1.1.4. Description textuelle

Le tableau suivant fournir une description textuelle détaillée pour


chaque user story du sprint "Choix de Moyen de Transport".

Tableau 21 : Description textuelle de sprint 3

Cas
d’utilisation Choisir Moyen de Transport

Acteur Utilisateur

Pré condition Choisir Moyen de Transport

Post Moyen de Transport choisie


condition

Description Ce cas d’utilisation permettra à l’utilisateur un moyen de


transport

L’utilisateur sélectionner le moyen de transport préféré


: Lors de la configuration initiale de l'application, je devrais

75
Scénario être en mesure de choisir parmi une liste d'options de
nominal transport, telles que Bus, Métro, Train.

Ce choix initial personnalisera les recommandations et


les informations fournies par l'application pour la
planification de mes trajets futurs. De plus, je devrais
pouvoir modifier mon choix à tout moment à partir des
paramètres de l'application, ce qui me permettra de
m'adapter à mes besoins changeants en matière de
déplacement. Lorsque je choisis un moyen de transport,
celui-ci devrait être clairement affiché lors de la
planification de trajets ultérieurs, pour garantir que les
itinéraires recommandés correspondent à mes
préférences. Cette fonctionnalité me permettra d'obtenir
des suggestions plus pertinentes et une expérience de
planification de trajet plus adaptée à mes préférences
personnelles.

1.2. Sprint 4 : « Suivi la localisation en temps réel »

Le Sprint 4 a pour objectif de mettre en œuvre le suivi de la


localisation de métro, bus ou train en temps réel, permettant ainsi une
surveillance et une gestion efficaces des ressources. Cette fonctionnalité
essentielle offrira une visibilité en temps réel sur les déplacements et les
emplacements, favorisant une prise de décision informée et une
optimisation des opérations.

1.2.1. Sprint backlog

Ce tableau représente les user story de sprint 4 :


Tableau 22 : User story de sprint 4

User Story Type Semaine

Recherche sur la Technical story semaine

76
méthode qui détermine
la localisation des
moyennes de transport

Installation des API Technical story semaine


nécessaires

L’étape de Technical story semaine


communication entre la
partie hard et
l’application pour
assurer l’envoie des
données de Gps en
temps réel

En tant que User story semaine


utilisateur, Je veux
suivi la localisation en
temps réel

1.2.2. Expression des besoins :

L’objectif de ce sprint de permettre l’utilisateur de suivi en temps réel


des moyens de transport afin de fournir aux utilisateurs des informations
précises sur la localisation et l'état actuel des véhicules.

 L'application affiche une carte interactive avec des marqueurs


indiquant les positions actuelles des véhicules.
 Les informations de localisation sont mises à jour en temps réel.
 L'utilisateur peut zoomer et de zoomer sur la carte pour voir plus de
détails.
 L'application permet à l'utilisateur de sélectionner un point de départ
et une destination.
 L'application affiche les options de transport disponibles, en tenant
compte de la position actuelle des véhicules.

77
 L'utilisateur peut voir les horaires estimés de départ et d'arrivée en
fonction de la localisation actuelle des véhicules.

1.2.3. Diagramme des cas d’utilisation du Sprint 4

La figure 38 illustre le diagramme de cas d’utilisation du sprint 4 :

Figure 38:Diagramme de cas d'utilisation de sprint 4

1.2.4. Description textuelle

Ce tableau présente une description textuelle détaillée pour chaque


user story du sprint "suivi la localisation en temps réel".

Tableau 23:Description textuelle de «suivi la localisation en temps réel»


Titre suivi la localisation en temps réel
Acteurs utilisateur
Précondition
L’utilisateur consulte les données
Scénario nominal
 L’Utilisateur consulte son espace de suivi la localisation en temps
réel
 L’Utilisateur clique sur Dashboard « suivi la localisation en temps

78
réel.
 Le système affiche le positon de bus sur la carte

2. Conception

Après avoir terminé l’étape de raffinement des cas d’utilisation, nous


passons à la conception de notre application.

Nous présentons les diagrammes de séquence objet réalisés pour ce


sprint.

2.1. Diagramme de séquences


Le diagramme de séquence suivant implique que l'utilisateur choisi un
moyen de transport à localiser. Le contrôleur sollicite ces détails auprès de
l'entité de géolocalisation. Ensuite, l'interface affiche la carte de Google
Maps, où un marqueur est positionné pour représenter les caractéristiques

du bus

Figure 39: diagramme de séquence choisir moyenne de transport

Ce schéma présente la communication pour effectuer une recherche


cartographique :

79
Pour lancer la recherche sur la carte, il est nécessaire d'activer l'interface
de recherche. Une zone de texte s'affichera alors, vous permettant de
saisir l'emplacement souhaité (nom). Une fois la participation validée, les
résultats seront affichés sur une carte géographique (Google Maps).

Figure 40:Diagramme de séquence de suivi la localisation en


temps réel

2.2. Organigramme du programme de la partie hard


L’organigramme suivant simplifié la partie matérielle (hardware) du
suivi de la localisation en temps réel à l'aide d'une carte Arduino Uno et du
module SIM808 :

Cet organigramme peut nécessiter des ajustements en fonction des


fonctionnalités exacte implémenté, des erreurs possibles à gérer, etc…
pour bien comprendre le fonctionnement du module SIM808 et la carte
arduino pour mettre en œuvre cette solution.

80
Figure 41:Organigramme de code arduino de suivi de la
localisation en temps réel

Ce schéma décrit les étapes principales du programme pour le suivi de


la localisation en temps réel. Voici ce que chaque étape implique :

Initialisation des composants : Au démarrage, le programme


initialise la carte Arduino, le module SIM808 (qui gère la communication
cellulaire et le GPS).

Tant que le programme est actif : Cette boucle principale s'exécute


en continu tant que le programme est actif.

81
Lire les données de localisation : Le programme interagit avec le
module SIM808 pour lire les données de localisation fournies par le GPS.
Cela peut inclure la latitude, la longitude, l'altitude, la vitesse, etc.

Mettre à jour les capteurs : Si des capteurs supplémentaires sont


utilisés, le programme peut lire les données de ces capteurs et les mettre
à jour en conséquence.

Transmettre les données : Les données de localisation (et


éventuellement d'autres données) sont transmises via la communication
série (par exemple, UART) vers d'autres dispositifs ou systèmes pour
traitement ou affichage. Cela peut inclure l'envoi des données à un
ordinateur, un smartphone ou un service en ligne.

Fin du programme : Le programme se termine lorsque nous


décidons de l'arrêter ou lorsque nous atteignions une condition de sortie
spécifique.

82
2.4. Diagramme de classe

Les diagrammes de classes sont utilisés pour représenter les classes,


les propriétés et les relations entre les objets d'un système. Chaque classe
est représentée par un rectangle contenant le nom de la classe, ses
propriétés et ses opérations. Les relations entre les classes sont
représentées par des lignes ou des flèches.

La figure suivante présente le diagramme de classe du release 2

Figure 42:Diagramme de classe du release 2

83
3. Réalisation

Dans cette section, nous présenterons quelques-unes des interfaces


développées lors du deuxième Sprint et les étapes de réalisation
matérielle.

3.1. Interface choisir un moyen de transport


L'interface « Sélectionner la méthode d'expédition » donne aux
utilisateurs la possibilité de choisir la méthode d'expédition qui correspond
le mieux à leurs besoins. En proposant plusieurs options, comme le bus, le
métro ou le train, l'interface permet aux utilisateurs de personnaliser
l'expérience en fonction de leurs préférences et de la nature de leur
déplacement. Grâce à des icônes intuitives et des descriptions claires pour
chaque mode de transport, les utilisateurs peuvent prendre des décisions
éclairées qui tiennent compte des distances, des retards et des spécificités
de chaque option. Une fois le moyen de transport sélectionné, les
itinéraires et horaires respectifs peuvent être affichés, ce qui facilite la
planification et la navigation de leur voyage. En somme, l'interface
"Choisir moyen de transport" contribue à rendre l'expérience de
déplacement plus pratique, personnalisée et efficace pour les utilisateurs.

84
Figure 43: les interfaces de choisir moyen de transport

3.2. Interface suivi la localisation en temps réel

L'interface « Suivi de localisation en temps réel » offre aux utilisateurs

une fenêtre instantanée sur les trajets en cours, leur permettant de

surveiller avec précision la position et les mouvements du véhicule sur une

carte interactive. Avec des mises à jour en temps réel, cette interface

fournit des informations actualisées sur la position, la vitesse et la

direction, offrant ainsi une visibilité complète sur les trajets en cours. Les

utilisateurs peuvent zoomer et faire défiler la carte pour obtenir des

détails plus détaillés, tandis que des marqueurs dynamiques et des

chemins tracés garantissent une compréhension claire de l'itinéraire

emprunté. Qu'il s'agisse de suivi de transports en commun, de

surveillance de véhicules ou de suivi de mouvements, cette interface

permet aux utilisateurs de rester

informés et connectés en temps

réel.

85
Figure 44: les interfaces de suivie la localisation en temps réel

3.3. Collecter les données Firbase :

Dons cette partie nous allons situer les étapes de collecter les données

La mise en place d'un projet Firebase implique plusieurs étapes clés


pour configurer et utiliser les services fournis par Firebase. Voici un aperçu
des étapes typiques pour démarrer un projet Firebase :

1. Création d'un compte Firebase :s’inscrire sur la plateforme


Firebase (https://firebase.google.com/).

Figure 45: Création d'un compte Firebase

2. Création d'un projet Firebase : Une fois connecté à notre compte


Firebase, créer un nouveau projet en lui donnant un nom et une URL
unique.

86
Figure 46: Création d'un compte Firebase

3. Connecter Firebase avec code Arduino :


Tout d'abord, nous créons un espace Firebase sécurisé pour la
référence en temps réel et le stockage des données requises.

Après la réalisation de notre espace, nous allons obtenir deux


références pour la connexion entre la carte arduino et la base de données
représentée dans la figure suivante.

Figure 47:références de l’autorisation et de l’host sur


programme Arduino

 Et enfin la connexion entre Firebase et la carte arduino forme une


table de donnée en temps réel qui réalise la communication entre la partie
hard et l’application de notre projet.

87
Figure 48: table de donnée en temps réel

3.4. Câblage arduino et sim808

Cette figure présente Le câblage entre un Arduino et un module


SIM808 peut varier en fonction de la configuration exacte de notre projet.
Cependant, voici un schéma de câblage de base pour connecter un
Arduino à un module SIM808 :

88
Figure 49: Câblage arduino et SIM808

 Alimentation(VCC et GND) :
 Connecter le fil rouge (VCC) du module SIM808 au pin 5V de
l'Arduino.
 Connecter le fil noir (GND) du module SIM808 au pin GND de
l'Arduino.
 Communication série (TX et RX) :
 Connecter le fil TX du module SIM808 (transmission) au pin RX de
l'Arduino (Pin 10).
 Connecter le fil RX du module SIM808 (réception) au pin TX de
l'Arduino (Pin 11).

3.5. Test du module GPS

Le système GPS comprend au moins 24 satellites en orbite autour de


la Terre à une distance d’environ 20 000 km. Il fonctionne par
triangulation et permet de déterminer facilement la localisation par
latitude et longitude.

89
Figure 50 : Test du module gps

Conclusion

A l'issue de cette phase, nous avons pu compléter les fonctions définies


dans cette version, répondant à l'objectif d'une application mobile pour les
citoyens, dans ce chapitre nous avons présenté cet aspect graphique et
technique de chaque course ainsi que la mise en œuvre.

90
Chapitre 6 : Release III

91
Introduction

Ce chapitre fait l'objet d'une présentation du dernier release du projet.

L'étude de ce release Couvre l'analyse, la conception, la réalisation et


les tests fonctionnels.

Ce release vise à développer la dernière partie de notre projet, à


savoir :

 Réserver ticket
 Ouverture barrière

1. Analyse de la release II

Dans cette version, les user stories passeront par les quatre phases du
cycle Scrum, plus précisément l'analyse, la conception, le développement
et nous réalisons les tests.

Dans cette section, nous présentons la phase d'analyse à l'aide d'un


diagramme de cas

Ensuite, l’utilisation d’une description textuelle est la plus importante de


toutes.

La figure suivante présente le diagramme de cas d’utilisation générale de

la troisième release :

92
Figure 51: Diagramme de cas d'utilisation Release 3

1.1. Analyse de sprint 5 « Réserver ticket »

1.1.1. Backlog du sprint

Ce tableau simplifié représentant le backlog du sprint 5 pour la


fonctionnalité "Réserver un ticket". Ce tableau présente les éléments clés
du backlog, y compris les histoires utilisateur, les tâches associées, les
états de progression et les priorités.

Tableau 24 : Backlog sprint de sprint 5

ID User Story ID Tâche Estimation

Tâch (Jour)
e

5.1 Interface de sélection de 7 jours


date/heure

5 Réserver
ticket
5.2 Gérer la réservation de ticket 7 7 Jours

5.3. Paiement 8 4 jours

5.4 Afficher une confirmation de 9 2 jours


réservation

1.1.2. Expression de besoin

Objectif du sprint : Mettre en place la fonctionnalité de réservation


des tickets pour permettre aux utilisateurs de sélectionner et de réserver
des voyages en fonction du moyen de transport, de la date et de l'heure
souhaités.

93
Histoire utilisateur : Réserver un ticket En tant qu'utilisateur, je
veux être capable de réserver un ticket pour un voyage spécifique en
sélectionnant le moyen de transport, la date et l'heure, afin de planifier
mes déplacements en conséquence.

1.1.3. Diagramme des cas d’utilisation « Sprint 5 :


Réserver un ticket »

Ce diagramme de cas d'utilisation simplifié concerne Sprint 5


"Ticketing". Ce schéma illustre l'interaction entre les acteurs (utilisateurs)

et le système (fonction ticketing) :

Figure 52: Réserver ticket

1.1.4. Description textuelle « Sprint 5: Réserver un


ticket»

Ce tableau décrit de manière textuelle les différentes étapes et


conditions du cas d'utilisation "Réserver un ticket" dans le sprint 5.

Tableau 25 : Description textuelle « Sprint 5: Réserver


un ticket»

Cas Réserver un ticket


d’utilisation

Acteur Utilisateur

Pré Accéder à l’application (utilisateur)

94
condition

Post Le ticket est réservé et enregistré dans la base de


condition données.

Description Les utilisateurs réservent leurs billets pour un trajet en


précisant le moyen de transport, la date et l'heure. Le
système vérifie la disponibilité de la chambre, enregistre la
réservation et affiche la confirmation. Si une erreur se
produit, le message approprié s'affichera.

6.L’appui sur le bouton « réserver ».

7.L’interface de réserver ticket s’affiche.

8.L’utilisateur sélectionner moyenne de transport

Scenario 9.L’utilisateur sélectionner l’heur et le date


nominal 10. Paiement

11. L’utilisateur appui sur le bouton « payer ».

12.L’enregistrement de réservation

2. Réalisation

Dans cette section, nous allons présenter quelques interfaces qui sont
développées dans le Sprint 5 ainsi que la partie hard

2.1. Teste afficheur LCD_I2C :

Dans la partie suivante, nous allons présenter la communication entre


la carte Esp32 et afficheur LCD_I2C et nous allons afficher les messages
préférés sur l’écran LCD-I2C

La figure 53 présente le code de l’affichage local sur l’LCD :

95
Figure 53:Le Code de l’affichage sur LCD_I2C

La figure suivante présente le code de scan de l’adresse hexadécimal


du module I2C de l’LCD :

Figure 54: Le Code de scan module I2C de l’lcd

2.2. Simulation afficheur LCD_I2C :

Cette figure représente la simulation de La carte ESP32 avec LCD I2C

96
Figure 55: Scan I2C de l’lcd

Figure 56: Affichaged’un message sur l’écran LCD

2.3. Câblage RFID et ESP32

Le câblage entre un lecteur RFID (Radio-Frequency Identification) et la


carte ESP32 peut varier en fonction de la configuration exacte de notre
projet. Cependant, voici un schéma de câblage de base pour connecter un
lecteur RFID à la carte ESP32 :

97
Figure 57: Câblage RFID et ESP32

Pour la communication de l’ESP32 et la lecteur RFID MCF522 nous


allons utiliser l’interface SPI

La figure suivant représentela communicationdes broches du lecteur


RFID MCF522 aux broches correspondantes de l'ESP32 :

o MISO du MCF522 -> GPIO du SPI MISO de l'ESP32.


o MOSI du MCF522 -> GPIO du SPI MOSI de l'ESP32.
o SCK du MCF522 -> GPIO du SPI SCK de l'ESP32.
o SS (Slave Select) du MCF522 -> GPIO du SPI CS/SS de l'ESP32.
o RESET du MCF522 -> GPIO de réinitialisation de l'ESP32.

Nous avons Connecté également la masse (GND) du MCF522 à la


masse (GND) de l'ESP32 pour une référence commune.

Figure 58: Cablage RFID MCF522 et ESP32

98
Nous avons utilisé la bibliothèque SPI pour configurer et communiquer
avec le lecteur RFID MCF522 et la bibliothèque "MFRC522" pour faciliter
la communication RFID.

Voici le code pour lire une carte RFID avec le lecteur MCF522 et
l'ESP32 :

Figure 59:Code MCF522 et l'ESP32

La figure suivante présente les résultats sur le moniteur série

99
Figure 60: Résultats de MFRC522 RFID sur le moniteur série

2.4. Câblage servomoteur et ESP32

Pour connecter un servomoteur à une carte ESP32, nous devrons


établir trois connexions essentielles : l'alimentation 5V, la masse (GND),
et le signal de contrôle. Voici comment nous allons procéder pour câbler
un servomoteur à la carte ESP32 :

Figure 61:Câblage Servo-moteur

2.5. Les interfaces de l’application mobile de Sprint 3

Dans le cadre du Sprint 3, nous avons développé des nouvelles


interfaces pour notre application mobile afin d'améliorer l'expérience
utilisateur.

Ces interfaces visent à offrir aux utilisateurs une navigation plus fluide
et des fonctionnalités améliorées.

2.5.1. Interface de paiement :


Dans le cadre de l'interface de paiement Sprint 5, nous avons
simplifié le processus de paiement pour offrir une expérience utilisateur
plus rapide et plus intuitive.

Cette interface permet aux utilisateurs de choisir leur mode de


paiement préféré et de finaliser facilement leur transaction.

100
Figure 62: Interface de paiement

2.5.2. Interface de suivi la localisation en temps réel :


L'interface de localisation en temps réel, mise en œuvre dans Sprint 6,
fournit une expérience de suivi en temps réel pour nos utilisateurs. Grâce
à cette interface, les utilisateurs peuvent suivre la localisation des
véhicules en temps réel sur une carte interactive, permettant une gestion
plus efficace et une coordination plus facile des opérations.

101
Figure 63: Interface de suivi la localisation

Conclusion
Au cours de cette phase du projet, nous avons conçu et mis en œuvre
notre troisième version. Il se compose de deux sprints, un pour la
facturation et un pour le suivi de la localisation des véhicules en temps
réel, dans ce chapitre nous analyserons les sprints ainsi que la conception
et final c'est que nous déploierons les interfaces de notre mobile app et
nos étapes de réalisation de prototype.

102
103

Vous aimerez peut-être aussi