République Tunisienne
Ministère de l’Enseignement Supérieur
et de la Recherche Scientifque
Université de Tunis El Manar
Faculté des sciences de Tunis
Rapport de Projet de Fin d’Études
Présenté en vue de l’obtention du
Diplôme National d’Ingénieur
Spécialité : Génie Logiciel
Par
Boulaabi Chaima
Conception et développement d’une plateforme
réactive de géolocalisation
Encadrant professionnel : Monsieur ATTIA Amir Team leader
Encadrant académique : Monsieur ECHAIEB Kamel Maître Assistant
Réalisé au sein de Be Wireless Solutions
Année Universitaire 2023 - 2024
Liste des abréviations
• API = Application Programming Interface
• BWS = Be Wireless Solutions Network
• CAN = Controller Area Network
• GPS = Global Positioning System
• HTTP = Hyper Text Transfer Protocol
• IDE = Integrated Development Environment
• IMDG = In Memory Data Grid
• IU = Interface Utilisateur
• IoT = Internet of Things
• JVM = Java Virtual Machine
• MV = Machine Virtuelle
• REST = REpresentational State Transfer
• SQL = Structured Query Language
• US = User de Story
xi
Introduction générale
De nos jours, la gestion de otte de véhicules est devenue un enjeu majeur pour les entreprises
de transport et de logistique. En eet, une gestion ecace de la otte permet, entre autres, de suivre
les véhicules, de réduire les coûts de carburant et d’améliorer la qualité de service. Pour répondre
à ces besoins, plusieurs solutions de gestion de otte ont été développées. Ces solutions permettent
de collecter des données en temps réel à partir des capteurs embarqués dans les véhicules et de les
analyser an de prendre des décisions instantanément. Traditionnellement, les données collectées
pour la gestion de otte sont stockées dans une base de données pour être analysées ultérieurement.
Cette approche permet de générer des rapports et des tableaux de bord pour visualiser les données.
Cependant, elle présente des limites importantes, notamment l’incapacité de visualiser les données
en temps réel et de recevoir des alertes immédiates en cas d’anomalie.
Be Wireless Solutions, notre entreprise d’accueil, a été confrontée à ces problémes, surtout
au fur et à mesure de sa croissance et de l’augmentation du nombre de ses clients, donc l’approche
traditionnelle de gestion de otte n’était plus susante. Dans ce contexte, nous avons été chargés
de développer une solution de géolocalisation de véhicules. Cette solution permettra à Be Wireless
Solutions d’analyser et de visualiser les données en temps réel. Elle permettra également aux utilisateurs
de recevoir des alertes immédiatement en cas d’anomalie, ainsi que des rapports pour suivre l’évolution
de leur otte.
Dans ce rapport, nous présentons notre travail réalisé durant notre stage de n d’études. Ce
rapport est organisé comme suit : Le premier chapitre intitulé « Contexte général » est consacré à
la présentation du contexte du projet et de l’organisme d’accueil avec les objectifs à atteindre. Nous
dénissons en premier lieu le système existant en mettant en évidence ses défaillances et ses limites,
et ensecond lieu la solution proposée ainsi que la méthodologie et les choix technologiques retenus
pour la phase de développement.
Le deuxième chapitre se concentre sur la préparation du projet. Cela implique l’identication
des acteurs clés et la dénition précise des besoins de l’application, qu’ils soient fonctionnels ou
non fonctionnels. Ensuite, nous élaborons le backlog produit, qui liste toutes les fonctionnalités à
développer, et planions les sprints, des cycles courts de développement. Nous dénissons également
l’architecture logicielle et logique du système pour en garantir la stabilité et la performance. Enn,
nous présentons l’environnement de travail de l’application, précisant les outils et technologies
1
Introduction générale
utilisés.
Les chapitres suivants, du troisième au cinquième, se consacrent à la conception et à la
réalisation des diérents sprints. Chaque chapitre détaille les étapes de conception et de développement
propres à chaque sprint, en mettant l’accent sur les fonctionnalités livrées. Nous concluons chaque
chapitre par une revue de sprint, permettant d’évaluer les progrès accomplis et d’identier les points
d’amélioration pour les sprints à venir.
Finalement, le rapport se termine par une conclusion générale. Celle-ci évalue les résultats
obtenus et propose des perspectives d’évolution future du projet. Nous y résumons les points clés du
développement, soulignons les réussites et les dés rencontrés, et proposons des recommandations
pour les développements ultérieurs.
2
Chapitre 1
Contexte général
Plan
1 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Présentation du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Les concepts de bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapitre 1. Contexte général
Introduction
Dans ce chapitre, nous commencerons par présenter le cadre de notre projet. Il s’agit d’une
présentation de l’entreprise d’accueil, Be Wireless Solutions, pour laquelle ce travail a été réalisé.
Après avoir exposé la problématique à l’origine de ce travail, nous passons à l’étude de la situation
existante et présentons ensuite la solution proposée. Enn, nous terminons ce chapitre par une
présentation de la méthodologie de gestion de projet adaptée.
1.1 Organisme d’accueil
1.1.1 Présentation de l’organisme d’accueil
Be Wireless Solutions (BWS)1.1 a été fondée en 2016 et se concentre sur la fourniture de
services liés à l’Internet des objets (IoT) et de solutions technologiques sans l. En 2017, l’entreprise
a obtenu une licence IoT, et en 2019, elle a obtenu le label startup tunisien.
Figure 1.1 : Logo de Be Wireless Solutions
BWS fournit des applications professionnelles en ligne et mobiles pour la surveillance en
temps réel dans plusieurs secteurs, notamment l’industrie, l’agriculture, l’énergie, les transports et
les villes intelligentes. L’entreprise ore également des capteurs sans l pour la collecte de données et
la surveillance à distance, ainsi que des solutions de connexion via les réseaux LoRa. BWS propose
des solutions intégrées comprenant le matériel, les logiciels et la communication, tout en fabriquant
son propre matériel.
Avec une augmentation de 200% du déploiement des appareils connectés ces dernières années,
BWS a connu une croissance remarquable. L’entreprise a franchi des étapes importantes, surtout
en étant sélectionnée pour la nale de MED’INNOVANT AFRICA 2022 et en étant reconnue par
MEA Markets comme la meilleure société IoT en Tunisie pour 2022. Lors des Tunisia Tech Days
à Dubaï Expo 2020, BWS a également été reconnue comme la meilleure SME (Small and Midsize
Enterprise) et a signé la convention OEA : Opérateur Économique Agréé avec la Direction Générale
4
Chapitre 1. Contexte général
de la Douane Tunisienne.
L’engagement de BWS à créer des solutions IoT de pointe pour l’optimisation des ressources
est soutenu par ses principes clés de durabilité, d’innovation et de satisfaction des clients. BWS
est reconnu comme le premier opérateur de réseaux, de produits et d’applications de l’Internet des
objets(IoT). L’entreprise est entièrement basée en Tunisie, et toute la production y est réalisée, y
compris une usine de fabrication spécique aux produits et solutions de BWS.
Elle est spécialisée dans l’optimisation des ressources dans de nombreux domaines, comprennent
la minimisation des coûts de carburant et de maintenance, la protection de l’environnement et
des espaces verts, la maximisation de l’ecacité des ressources dans les industries et l’agriculture,
l’optimisation des budgets grâce à des solutions de gestion de otte et d’éclairage public, la conservation
de l’eau et de l’énergie, et la réponse proactive aux situations extrêmes telles que les fuites d’eau,
les pannes d’électricité et le dysfonctionnement des machines à forte consommation d’énergie.
De plus, elle est devenue un partenaire able en Europe et en Afrique, au service d’un large
spectre de clients tels que Pharmacare, London Dairy, Topnet, Sotetel, Tunisie Internet et Tunisie
Telecom. La société est présente dans le monde entier, notamment en France, en Suisse, au Maroc,
au Sénégal, en Tunisie et au Qatar.
BWS travaille avec plusieurs partenaires, participe à des sommets et organise des sessions de
formation an d’avancer dans son objectif d’orir des solutions créatives pour la préservation des
ressources.
1.1.2 Produits de BWS
BWS propose une variété des produits sans l, économiques et faciles à installer qui sont
localement fabriqués en Tunisie, desquelles on peut citer :
• Boîtier de commande 1.2 : Le boîtier de commande sans
l permet de contrôler à distance les outils de production et
les espaces de travail. Il trouve des applications dans divers
domaines, tels que l’agriculture, l’éclairage, la gestion de
l’eau, le logement et la chaîne du froid.
Figure 1.2 : Boîtier de
commande BWS
5
Chapitre 1. Contexte général
• Accéléromètre 1.3 : C’est système anti-fraude qui
permettant la détecter les vibrations, il a des applications
utiles dans la gestion intelligente des déchets et le logement
intelligent.
Figure 1.3 : Accéléromètre
BWS
• Boîtier énergétique 1.4 : Le boîtier énergétique optimise
la consommation d’énergie et régule sa distribution, améliore
l’ecacité énergétique des processus industriels et permet
une gestion intelligente de la consommation dans les foyers.
Figure 1.4 : Boîtier énergétique
BWS
• Boîtier GPS 1.5 : Le boîtier des véhicules contient
un calculateur, un module GPS et un module GSM, ce
qui facilite le routage des données de localisation. Cette
technologie est utile pour la gestion de otte et le transport.
Figure 1.5 : Boîtier GPS BWS
En résumé, BWS s’est imposée comme pionnière dans le domaine grâce à ses contributions
dans les domaines de la technologie sans l et de l’Internet des objets, et c’est au sein de cette
entreprise que notre projet a été eectué.
1.2 Présentation du sujet
La géolocalisation et la gestion des variations de carburant sont essentielles pour améliorer
l’ecacité opérationnelle et réduire l’impact environnemental des ottes de véhicules. Pour y parvenir,
notre projet utilise un pipeline de traitement des données en temps réel. Ce pipeline permet de
collecter les données des véhicules en temps réel, de traiter immédiatement ces données pour détecter
6
Chapitre 1. Contexte général
les anomalies de consommation de carburant, et d’analyser en continu les informations recueillies.
Le système intègre également la gestion des anomalies de mesure, où les données peuvent être
incorrectes à certains moments, puis revenir à la normale. Cela permet de ltrer les données erronées
et de s’assurer que les analyses sont basées sur des informations ables. Des alertes et des rapports
automatisés sont générés instantanément, permettant des actions correctives rapides.
Contrairement à une approche classique qui repose sur des analyses périodiques et souvent
retardées des données, notre méthode en temps réel ore une réactivité et une précision accrues.
Cette diérence se traduit par une meilleure prise de décision et une capacité à répondre rapidement
aux événements, ce qui contribue à une gestion plus ecace et durable des ottes de véhicules.
1.2.1 Description de l’existant
Be Wireless Solutions propose une plateforme de gestion de otte permettant aux utilisateurs
de superviser leurs véhicules en temps réel, d’accéder à des rapports détaillés et de contrôler leurs
opérations.
La plateforme ore une gestion en temps réel, permettant de visualiser la position des
véhicules sur une carte interactive, d’obtenir des mises à jour sur leur état et leur comportement, et
de réagir rapidement aux événements imprévus. Des rapports complets sur l’activité de la otte sont
également disponibles, notamment le kilométrage parcouru, l’historique des trajets, la consommation
de carburant et les alertes.
En outre, la plateforme permet de contrôler les véhicules à distance, par exemple la capacité de
déverrouiller le véhicule dès qu’il est mis hors service et d’empêcher son démarrage. Ces fonctionnalités
contribuent à améliorer l’ecacité opérationnelle, à réduire les coûts et à renforcer la sécurité.
1.2.2 Critique de l’existant
Malgré ses fonctionnalités avancées, la plateforme de gestion de otte Be Wireless Solutions
présente des lacunes notables, notamment dans le traitement des données en temps réel. La diculté
à gérer de grands volumes de données rapidement aecte la précision et la réactivité des informations
fournies, ce qui peut entraver l’ecacité opérationnelle et compromettre la sécurité.
Le traitement en temps réel est essentiel pour une gestion ecace de la otte, permettant
un suivi continu des véhicules et une prise de décision rapide. Cependant, Be Wireless Solutions ne
répond pas pleinement à ces besoins, posant des risques pour la sécurité et l’ecacité des opérations
de transport.
7
Chapitre 1. Contexte général
De plus, la gestion croissante des données met à rude épreuve l’infrastructure de la plateforme,
nécessitant des ressources matérielles importantes et entraînant des pannes ou des ralentissements.
Améliorer le traitement des données en temps réel avec des technologies plus robustes et évolutives
est crucial pour garantir la stabilité et la abilité du système.
1.2.3 Solution proposée
Pour remédier aux lacunes de la plateforme, nous avons décidé d’optimiser l’algorithme de
détection de variation du carburant. Cela permettra de réduire les délais de traitement, de diminuer
la charge du serveur et de fournir des données plus précises en temps réel. Ces améliorations oriront
une réactivité accrue, permettant aux gestionnaires de ottes de prendre des décisions rapides et
éclairées en cas d’anomalies.
En intégrant une gestion des anomalies de mesure, nous garantissons des analyses basées
sur des données ables, renforçant la conance des utilisateurs. Des alertes et rapports automatisés
permettront des interventions rapides, réduisant les perturbations et coûts associés. L’utilisation de
données en temps réel améliorera la précision des analyses et la gestion des ressources.
Ces optimisations contribueront également à réduire l’empreinte carbone des ottes en réagissant
rapidement aux anomalies et en optimisant l’ecacité des véhicules. L’amélioration continue des
analyses et la détection des tendances à long terme permettront d’optimiser les performances globales,
orant ainsi une gestion plus ecace, durable et réactive des ottes de véhicules.
1.3 Choix méthodologique
Le choix de la méthode de gestion de projet dépend de la nature et de la taille du projet. Pour
les petits projets dont le domaine est bien connu, un cycle de vie en cascade est souvent susant. En
revanche, lorsque les besoins sont incomplets ou ous, une méthode itérative ou orienté prototype
est plus appropriée.
Parmi les méthodes itératives, les méthodes AGILE, notamment Scrum, sont largement
utilisées aujourd’hui. Ces méthodes favorisent la collaboration et peuvent être combinées avec des
approches incrémentales. Le choix de la méthode AGILE doit être adapté aux spécicités du projet.
Pour notre projet, nous avons opté pour la méthode de développement agile Scrum en raison
de la nature évolutive du projet et de l’absence de besoins pleinement dénis. Cette méthode
nous permettra de livrer des produits de haute qualité tout en s’adaptant aux changements et
8
Chapitre 1. Contexte général
aux nouvelles exigences qui peuvent émerger au cours du développement. De plus, elle favorise une
communication accrue au sein de l’équipe et ore une meilleure visibilité sur l’avancement du produit.
En utilisant Scrum, nous pouvons gérer la qualité de manière continue, détecter les problèmes au fur
et à mesure, et prendre des mesures correctives rapidement, minimisant ainsi les coûts et les retards
potentiels.
1.3.1 Présentation de la méthodologie scrum
Le principe de la méthodologie Scrum est de développer un logiciel de manière incrémentale en
gardant une liste complètement transparente des demandes d’évolutions ou de corrections à mettre en
œuvre. Avec des livraisons fréquentes, le client reçoit un logiciel fonctionnel toutes les quatre semaines
en moyenne. Le logiciel est plus complet et possède de plus en plus de fonctionnalités à mesure que
nous progressons dans le projet. Pour y parvenir, la méthode repose sur des développements itératifs
qui se produisent à un rythme constant pendant 2 à 4 semaines, la gure 1.6 illustre le déroulement
de cette méthode :
Figure 1.6 : Méthodologie scrum
Comme le montre la gure 1.6 Pour mettre en œuvre la méthode Scrum, nous devons d’abord
identier les diérentes fonctionnalités de notre application ou ce qu’on appelle les ’user stories’ qui
constituent le backlog du produit. Ensuite, nous procédons à la planication du sprint pour créer
un plan d’itération détaillé. En général, les sprints durent deux à quatre semaines. Il y a toujours
9
Chapitre 1. Contexte général
des réunions quotidiennes entre les diérents collaborateurs du projet pendant un sprint an de
présenter l’état d’avancement des diérentes tâches en cours, les problèmes rencontrés et les tâches
restantes à accomplir. Une fois le produit partiel terminé, nous vérions la conformité de ce qui a
été fait durant le sprint et nous pouvons alors passer à l’étape de rétrospective pour l’améliorer.
1.3.2 Principes essentiels de la méthode
Quatre principes clés émergent des méthodes agiles, façonnant leur approche collaborative et
réactive :
1. Priorité aux individus et à leurs interactions : Plutôt que de se concentrer uniquement
sur les procédures et les outils, les méthodes agiles mettent en avant l’importance des personnes
impliquées dans le processus de développement.
2. Valorisation de l’application fonctionnelle : Les méthodes agiles privilégient la livraison
rapide et itérative d’une application fonctionnelle plutôt que la création d’une documentation
exhaustive. Cela permet aux utilisateurs de bénécier rapidement des fonctionnalités essentielles
et d’apporter des ajustements en fonction des retours obtenus, favorisant ainsi un processus
de développement plus dynamique et axé sur la valeur.
3. Collaboration avec l’équipe : La collaboration étroite entre les membres de l’équipe, y
compris les développeurs, le Scrum master et le product owner, est essentielle pour garantir
le succès du projet. En travaillant ensemble de manière transparente et en partageant les
connaissances, les compétences et les idées, les équipes agiles peuvent résoudre les problèmes
plus ecacement et prendre des décisions éclairées pour atteindre les objectifs du projet.
4. Acceptation du changement : Plutôt que de suivre un plan rigide, les méthodes agiles
embrassent le changement comme une opportunité d’amélioration continue. En se montrant
exibles et réactifs aux évolutions du contexte ou aux nouveaux besoins identiés, les équipes
agiles sont mieux équipées pour répondre aux dés et tirer parti des opportunités qui se
présentent tout au long du projet.
1.4 Les concepts de bases
Dans cette section, nous allons présenter les concepts de base qui sont nécessaires pour la
compréhension de notre projet.
10
Chapitre 1. Contexte général
1.4.1 Internet des objets
L’Internet des objets (IoT) fait référence à un système d’objets interconnectés et connectés
à Internet qui peuvent collecter et transférer des données sur un réseau sans l sans intervention
humaine. Ces éléments collectent des données et les échangent via Internet, permettant ainsi une
surveillance et un contrôle à distance [1].
• Architecture IoT :
Dans l’architecture de l’Internet des objets (IoT), plusieurs couches interagissent pour permettre
le fonctionnement ecace du système, la gure 1.7 présente ces diérentes couches :
Figure 1.7 : Exemple d’architecture IoT
Tout d’abord, la couche de perception comprend une variété d’objets physiques, tels que des
capteurs et des caméras, capables de collecter des données. Ces données sont transmises
à la couche réseau, où des protocoles de communication comme LoRaWAN ou LWM2M
standardisent le format des informations échangées entre les appareils et la plateforme IoT.
Cette plateforme, souvent appelée couche de traitement des données, joue un rôle crucial
en servant de centre de traitement et de gestion des données. Elle assure non seulement
la connexion des appareils à Internet, mais également le stockage, et l’analyse des données
collectées. De plus, la couche applicative facilite le développement et le déploiement d’applications
11
Chapitre 1. Contexte général
spéciques exploitant ces données pour fournir des fonctionnalités avancées, telles que la
surveillance à distance ou le contrôle automatisé. Enn, Couche de sécurité, jouant un rôle
transversal à toutes les couches précédentes, est essentielle pour garantir la condentialité et
l’intégrité des données IoT.
• Les caractéristiques de l’IoT :
Les caractéristiques de l’IoT sont les principaux aspects qui dénissent ce concept et qui
permettent la création de nouvelles expériences utilisateur grâce à l’interconnexion et à la
communication entre divers dispositifs, objets, véhicules et bâtiments.
1. Connectivité : La capacité des appareils IoT à communiquer entre eux via des réseaux
câblés ou sans l est une caractéristique fondamentale de l’IoT.
2. Identité des objets et des appareils : L’identication et le contrôle de chaque
dispositif IoT sont essentiels pour assurer leur bon fonctionnement.
3. Données : Les appareils IoT ont la capacité de partager des données entre eux an
d’améliorer leurs performances et de prendre des décisions plus éclairées.
4. Évolutivité : L’IoT doit être capable de se développer sans compromettre ses performances,
ce qui nécessite une architecture exible et évolutive.
5. Architecture : Une architecture bien conçue garantit que les appareils IoT fonctionnent
ensemble de manière harmonieuse et communiquent ecacement.
6. Sécurité :La protection contre les cyberattaques et la préservation de la vie privée des
utilisateurs sont des aspects cruciaux de l’IoT, nécessitant la mise en place de mesures de
sécurité dès la conception des produits ou des services IoT.
1.4.2 Contenarisation
La conteneurisation est une méthode de virtualisation qui permet d’exécuter des applications
et des services dans des conteneurs légers et portables. Chaque conteneur est isolé du reste du
système, mais partage le même noyau d’exploitation, ce qui permet d’exécuter plusieurs conteneurs
sur une seule machine physique. Cette approche ore de nombreux avantages, notamment une plus
grande exibilité, une meilleure ecacité et une plus grande portabilité des applications [2]. La gure
1.8 illustre la diérence entre les conteneurs et les machines virtuelles.
12
Chapitre 1. Contexte général
Figure 1.8 : Comparaison entre les conteneurs et les machines virtuelles
Les machines virtuelles virtualisent l’ensemble du système d’exploitation, y compris le noyau,
la mémoire et les ressources de stockage, tandis que les conteneurs virtualisent uniquement l’application
et ses dépendances, en partageant le noyau de l’hôte. Cela permet aux conteneurs d’être plus légers
et plus rapides à démarrer que les MV, tout en orant un niveau d’isolation susant pour garantir
la sécurité des applications.
1.4.3 WebSockets
Les WebSockets sont une technologie de communication bidirectionnelle qui permet aux
navigateurs Web et aux serveurs de communiquer en temps réel [3]. Contrairement aux requêtes
HTTP traditionnelles, qui sont unidirectionnelles, les WebSockets permettent aux serveurs d’envoyer
des données aux clients sans attendre une demande de ces derniers. Cette fonctionnalité est particulièrement
utile pour les applications Web qui nécessitent une mise à jour en temps réel, telles que les jeux en
ligne, les applications de chat et les tableaux de bord de surveillance [3]. La gure 1.9 illustre la
diérence entre la communication HTTP et les WebSockets.
13
Chapitre 1. Contexte général
Figure 1.9 : Communication HTTP vs WebSockets
Vu que notre solution nécessite une communication en temps réel an de notier les utilisateurs
des alertes, ainsi que de mettre à jour les données, les WebSockets sont une technologie appropriée
pour répondre à ce besoin.
Conclusion
Tout au long de ce chapitre, nous avons discuté du cadre général du projet. Nous avons
commencé par une présentation de l’organisme d’accueil, suivie d’une revue de l’existant. Cela nous a
permis de comprendre les lacunes de la solution existante et d’envisager la solution la plus appropriée
pour répondre aux attentes de l’entreprise. Dans le chapitre suivant, nous développons l’analyse et
la saisie des besoins du projet.
14