Rapport Maryem
Rapport Maryem
Rapport Maryem
et de la Recherche
Scientifique
Université de Tuni El
Manar
Institut Supérieur
Introduction générale
1
2
Chapitre I : Contexte
général et Eude Préalable
3
Introduction
1. Présentation AFT
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.
5
Figure 2:organigramme AFT
Robotique :
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 :
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.
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.
Dans cette partie nous allons décrire quelques produits existent sur
le marché les suivants :
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 :
10
- Confidentialité et sécurité :
- Support client :
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 :
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.
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.
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.
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.
16
qualité.
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 :
Conclusion :
18
Chapitre 2 : Etudes préalable
19
Introduction :
20
Figure 4:Schéma synoptique
21
Figure 5: Diagramme FAST
22
2.2. Les acteurs de l’application :
Utilisateur
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.
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.
3. Mise en œuvre
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.
27
Personnes Rôles Scrum
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
Choisir le
En tant qu’utilisateur, je veux choisir un
3 moyen de Must Difficile
moyen de transport
transport
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 :
Sprint 2 : S’authentifier
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.
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.
31
Figure 8: Logo Kodular
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
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.
36
Figure 11: Architecteur général de l’application
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é :
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
D’exploitati
on
39
A. Analyse du tableau comparatif
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
Le choix d'un capteur est souvent basé sur ses caractéristiques qui nous
indiquent s'il est convenable ou non, pour notre application.
Caractéristiques
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.
43
4 types de puces RFID disponibles
Porte-clés et tags
Identification d’animaux
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
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
Le choix de buzzer est fixé sur un buzzer de type fréquence variable ce type
et compatible avec le projet.
46
LCD graphique Caractéristique
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
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
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
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.
54
Faire une comparaison entre les
produits similaires qui existent sur Histoire technique 4 semaines
le marché.
55
Voici quelques exemples d'expressions des besoins pour ce sprint :
Acteur Utilisateurs
56
Description Ce cas d’utilisation permettra à l’utilisateur d’ajouter
un compte.
57
déconnecter l’utilisateur
58
Figure 21 : Diagramme de cas d'utilisation de sprint 2
Cas Authentification
d’utilisation
Acteurs Utilisateur
59
d’authentifier
Cas Se déconnecter
d’utilisation
Acteurs Utilisateur
60
2. Conception
61
2.1. Diagramme de fonctionnement d’ESP32
MCU
62
2.2. Diagramme de séquences « S’authentifier » :
63
Figure 24 : Diagramme de séquence « créer compte »
3. Diagramme de 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.
4. Réalisation
Dans cette section, nous allons présenter quelques interfaces qui sont
développées dans le premier Sprint.
Tout d’abord, nous avons besoin du bon pilote (driver) pour la version
actuelle de notre carte donc il faut suivre les étapes suivantes :
65
l’IDE Arduino.
66
6) Choisir le Port sur lequel est connectée la carte ESP32. Laisser
les autres paramètres tels qu’ils sont.
67
Figure 30:Interface d'accueilFigure 31:Interface d'inscription
69
Figure 33:Interface d'inscription 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.
73
dans l'application mobile, offrant ainsi une expérience personnalisée et
facilitant la planification de leurs déplacements.
74
Figure 37:Diagramme de cas d'utilisation « Choisir moyene de
transport »
Cas
d’utilisation Choisir Moyen de Transport
Acteur Utilisateur
75
Scénario être en mesure de choisir parmi une liste d'options de
nominal transport, telles que Bus, Métro, Train.
76
méthode qui détermine
la localisation des
moyennes de transport
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.
78
réel.
Le système affiche le positon de bus sur la carte
2. Conception
du bus
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).
80
Figure 41:Organigramme de code arduino de suivi de la
localisation en temps réel
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.
82
2.4. Diagramme de classe
83
3. Réalisation
84
Figure 43: les interfaces de choisir moyen de transport
carte interactive. Avec des mises à jour en temps réel, cette interface
direction, offrant ainsi une visibilité complète sur les trajets en cours. Les
réel.
85
Figure 44: les interfaces de suivie la localisation en temps réel
Dons cette partie nous allons situer les étapes de collecter les données
86
Figure 46: Création d'un compte Firebase
87
Figure 48: table de donnée en temps réel
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).
89
Figure 50 : Test du module gps
Conclusion
90
Chapitre 6 : Release III
91
Introduction
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.
la troisième release :
92
Figure 51: Diagramme de cas d'utilisation Release 3
Tâch (Jour)
e
5 Réserver
ticket
5.2 Gérer la réservation de ticket 7 7 Jours
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.
Acteur Utilisateur
94
condition
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
95
Figure 53:Le Code de l’affichage sur LCD_I2C
96
Figure 55: Scan I2C de l’lcd
97
Figure 57: Câblage RFID 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 :
99
Figure 60: Résultats de MFRC522 RFID sur le moniteur série
Ces interfaces visent à offrir aux utilisateurs une navigation plus fluide
et des fonctionnalités améliorées.
100
Figure 62: Interface de paiement
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