Académique Documents
Professionnel Documents
Culture Documents
RAPPORT DE STAGE
présenté à
Option :
Systèmes Embarqués
par
Iheb Tliba
À l’issue de mon stage, je tiens à exprimer ma profonde gratitude envers toutes les personnes
dont l’apport a été essentiel à la réussite de cette expérience professionnelle. J’espère que ce
rapport reflète pleinement le travail accompli et qu’il satisfait l’ensemble des parties prenantes.
Mes remerciements vont également à tous les membres du jury pour l’honneur qu’ils m’ont
fait en me permettant de présenter ma soutenance. Je n’oublie pas non plus de remercier l’ensemble
de mes professeurs à l’École Nationale d’Électronique et de Télécommunications de Sfax pour
la formation de haute qualité qu’ils m’ont dispensée. .
INTRODUCTION GÉNÉRALE 1
3 Réalisation 22
3.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Environnement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Architecture et interface de l’application . . . . . . . . . . . . . . . . . . . . . 25
3.3.1 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . 25
3.4 Les sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Sprint 0 : Analyse du Cahier des Charges et Exploration du Code :
Comprendre les Besoins et les Bases du Projet AlphaGly . . . . . . . . 26
3.4.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1.2 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.2 Sprint 1 : Mise en place de l’Authentification de Base . . . . . . . . . . 29
3.4.2.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.2.2 Sprint 1 Backlog . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.2.3 Architecture de l’application . . . . . . . . . . . . . . . . . 30
3.4.2.4 Base de données . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.2.5 Interfaces utilisateur . . . . . . . . . . . . . . . . . . . . . . 30
3.4.3 Sprint 2 : Gestion des Appareils de Mesure . . . . . . . . . . . . . . . 32
3.4.3.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.3.2 Sprint 2 Backlog . . . . . . . . . . . . . . . . . . . . . . . . 32
CONCLUSION GÉNÉRALE 39
BIBLIOGRAPHIE 39
IA Intelligence Artificielle
MVC Modèle-Vue-Contrôleur
Le diabète représente aujourd’hui un défi majeur pour la santé publique, touchant plus de
463 millions de personnes à travers le monde et avec près de 19 millions de nouveaux cas
diagnostiqués chaque année. Face à cette pandémie silencieuse, il est impératif de trouver des
solutions innovantes pour améliorer la qualité de vie des patients et alléger le fardeau sur les
systèmes de santé mondiaux.
Au sein de ce contexte, nous explorons une idée de projet novatrice : le microchip AlphaGly.
Ce concept visionnaire vise à révolutionner la gestion du diabète en proposant une surveillance
continue et non invasive de la glycémie. Bien que le microchip AlphaGly ne soit pas encore une
réalité, il offre un potentiel considérable pour améliorer la vie des patients diabétiques.
L’objectif de ce rapport est d’examiner en détail cette idée de projet et d’explorer comment
elle pourrait changer la donne pour les personnes atteintes de diabète à l’échelle mondiale.
Nous allons envisager les possibilités futures de développement de cette technologie, ainsi que
les avantages potentiels qu’elle pourrait apporter. Bien que le microchip AlphaGly n’ait pas
encore été créé, il représente une lueur d’espoir et un appel à l’innovation pour relever le défi
du diabète qui persiste.
Rejoignez-nous dans cette réflexion sur l’avenir de la gestion du diabète et sur la manière
dont des idées novatrices peuvent avoir un impact significatif sur la vie de millions de personnes
à travers le monde. .
1
Cadre général du projet
Sommaire
1.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . 3
1.2.1 Talan Tunisie . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Secteur d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.4 Organigramme de l’entreprise . . . . . . . . . . . . . . . . . . . 5
1.3 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 Solutions existantes . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Démarche et méthodologie adoptées . . . . . . . . . . . . . . . 9
1.4.1 Les rôles dans SCRUM . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Artefacts de SCRUM . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Les événements SCRUM . . . . . . . . . . . . . . . . . . . . . . 10
1.5.1 Daily Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.2 Sprint Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.3 Sprint Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.4 Rétrospective Sprint . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 INTRODUCTION
L’étude d’un projet est une étape essentielle pour permettre de donner une vision globale
sur celui-ci pour bien organiser son déroulement. Ce premier chapitre a donc comme objectif
de placer le projet dans son cadre général. Il est composé d’une présentation de l’organisme
d’accueil, l’introduction du contexte de projet et la méthodologie de travail.
Dans cette section, nous vous invitons à découvrir "Talan Tunisia International", l’entreprise
qui a ouvert ses portes à notre projet , ainsi que le département "Innovation Factory" où nous
avons réalisé notre travail. Explorez l’univers de notre organisme d’accueil et son rôle essentiel
dans notre parcours académique et professionnel.
Talan a été fondée en 2002 par Mehdi Houas, Eric Ben Amou et Philippe Cassoulat. Elle
offre ses services en matière de gestion, de fonctionnalités et de technologies à l’échelle internationale,
avec plus de 6 000 employés et 32 implantations. La société est présente sur quatre continents,
notamment en Australie, en Belgique, au Canada, en France, à Hong Kong, au Luxembourg,
au Maroc, à Singapour, en Espagne, en Suisse, en Tunisie et au Royaume-Uni, comme illustré
dans la Figure 1.2.
Talan a créé un centre de développement en Tunisie appelé "Talan Tunisia Consulting" pour
renforcer son développement, mobilisant à ce jour environ 200 ingénieurs de développement
technologique supplémentaires et collaborant avec des clients européens clés. [01]
1.2.2 Histoire
— Le secteur des télécommunications : à travers des projets pour les opérateurs de télécommunications
et une gamme de fournisseurs de services Internet.
Ces différents secteurs se caractérisent par la fourniture d’un ensemble de services, notamment :
Talan Innovation Factory Talan Tunisia considère l’innovation comme le cœur de son
développement et mène ses activités dans des domaines liés à la transformation numérique de
grandes entreprises, c’est pourquoi le département Talan Innovation Factory y est également
impliqué. Talan Innovation Factory représente le département RD[2] de Talan Tunisia, qui
a commencé ses activités en 2017. Il explore des technologies perturbatrices telles que la
blockchain[3], l’Internet des objets (IoT)[4], la science des données et l’intelligence artificielle(IA)
[5].
Une étape essentielle pour tout projet consiste à effectuer une étude préalable. En effet, dans
le cas général, la mise en place d’un projet est due à un problème, il faut donc bien étudier
l’existant pour obtenir des solutions efficaces qui répondent au besoin.
1.3.1 Problématique
La surveillance et la gestion du diabète représentent des défis majeurs pour les patients
et les professionnels de la santé. Ce projet vise à réinventer ces processus pour offrir une
expérience améliorée aux patients diabétiques tout en réduisant les inconvénients des méthodes
traditionnelles de surveillance. Comment pouvons-nous repenser ces processus pour optimiser
la qualité de vie des patients diabétiques et simplifier leur suivi glycémique ?
1.3.2 Objectifs
Planifier des tests de faisabilité : Concevoir un plan de tests de faisabilité pour le microchip
AlphaGly et l’interface mobile, même s’ils ne sont pas encore prêts pour les tests complets.
Planifier les prochaines étapes : Établir un plan détaillé pour les prochaines étapes du projet,
y compris la finalisation de la conception du microchip et son intégration avec le modèle IA.
Cependant, ces solutions existantes ont souvent des limitations, notamment le besoin
de piqûres de sang fréquentes, des interruptions dans la surveillance et des problèmes
de convivialité. Le projet AlphaGly vise à surmonter ces limitations en proposant un
microchip implantable offrant une surveillance continue, précise et non invasive des niveaux
de glucose dans le sang, ainsi que des alertes en temps réel pour les patients diabétiques.
La solution proposée pour le projet AlphaGly est un microchip implantable qui surveille
en temps réel les niveaux de glucose dans le sang des patients diabétiques. Ces données
sont accessibles via une application mobile conviviale, avec des alertes en cas de variations
critiques. Un bracelet intelligent ajoute une couche de sécurité. L’ensemble vise à améliorer
la gestion du diabète, réduire les complications et améliorer la qualité de vie des patients.
Dans cette partie, nous allons définir et détailler la méthodologie et la démarche que
nous estimons convenables à ce genre d’application. Afin de garder une cohérence de
communication entre les différents membres de l’équipe, nous avons choisi d’adopter la
méthodologie SCRUM[6] pour gérer notre processus de travail. C’est une méthodologie
agile basée sur des itérations appelées Sprints.
.SCRUM Master Responsable qui s’assure que la méthode Scrum est correctement mise
en œuvre et appliquée. Assure également la bonne progression et la productivité de l’équipe
en éliminant les obstacles que l’équipe peut rencontrer.[8]
Dans la liste ci-dessous, nous identifions les artefacts de Scrum que nous devons connaître
pour comprendre le produit :
Product backlog Un outil pour collecter les fonctionnalités attendues ou requises par le
client (User Story). Il évolue avec chaque Sprint [9].
Sprint backlog Contient la liste des tâches à réaliser pour mettre en œuvre les fonctionnalités
prévues pour un Sprint particulier. Chaque tâche est relativement courte et exécutée par
un membre de l’équipe plutôt que par une personne désignée.[10]
Organisé à la fin de chaque cycle de développement. C’est une présentation des différentes
fonctionnalités développées au cours du cycle. Le propriétaire du produit aura la possibilité
d’évaluer et de vérifier le produit avec la spécification placée pendant la session de planification
d’itération. La fin de la révision génère un nouveau cycle d’itération qui commence
de la planification, du développement à la révision. Il s’agit d’un point de surveillance
quotidien pour l’ensemble de l’équipe, limité à 15 minutes, où ils alignent et synchronisent
leur travail afin d’optimiser la planification pour les prochaines 24 heures.[14]
Se produit après la révision du sprint et avant la planification du sprint suivante. C’est une
réunion de trois heures pour un mois de Sprints. Pour les Sprints plus courts, l’événement
est généralement plus court. [15]
1.6 CONCLUSION
2
Étude conceptuelle et théorique
Sommaire
2.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Analyse et spécifications des besoins . . . . . . . . . . . . 14
2.2.1 Les Besoins Fonctionnels . . . . . . . . . . . . . . . . . . . 14
2.2.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . 15
2.3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . 16
2.3.2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . 17
2.3.3 Diagrammes de séquences . . . . . . . . . . . . . . . . . . 20
2.4 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1 INTRODUCTION
Ce chapitre se plonge dans l’univers conceptuel et théorique qui sous-tend notre projet. Il
vise à établir une base solide de compréhension pour les aspects clés du domaine. Nous
explorerons les concepts fondamentaux, les modèles théoriques, les avancées technologiques
pertinentes et les principes qui guideront la conception et le développement de notre
solution.
Les besoins fonctionnels décrivent les principales fonctionnalités que l’application doit
fournir pour répondre aux besoins des utilisateurs. Ces besoins sont essentiels pour assurer
le bon fonctionnement de l’application.
(a) Inscription des Utilisateurs : Les utilisateurs doivent pouvoir créer un compte en
fournissant leurs informations personnelles, telles que leur nom, prénom, adresse
e-mail et mot de passe.
(b) Authentification : Les utilisateurs enregistrés doivent pouvoir se connecter à leur
compte en saisissant leurs identifiants (nom d’utilisateur ou adresse e-mail) et leur
mot de passe.
(c) Gestion du Profil Utilisateur : Chaque utilisateur doit avoir un profil où il peut
ajouter, modifier ou supprimer des informations personnelles telles que son âge, son
poids, sa taille, ses antécédents médicaux, etc.
(d) Consultation des Données de Glucose : Les utilisateurs doivent pouvoir consulter
leurs données de glucose stockées dans l’application. Cela inclut l’affichage des
mesures passées sous forme de graphiques ou de tableaux.
(e) Recevoir des Alertes : L’application doit être capable de notifier les utilisateurs
en cas de variations critiques de leurs niveaux de glucose. Les alertes peuvent être
envoyées via des notifications push.
(f) Communication avec le Chatbot : Les utilisateurs doivent avoir la possibilité de
communiquer avec un chatbot intégré pour poser des questions sur leur diabète,
recevoir des conseils et des informations.
(g) Sécurité et Confidentialité : Les données des utilisateurs, en particulier les informations
médicales sensibles, doivent être sécurisées et protégées conformément aux réglementations
sur la confidentialité des données.
Les besoins non fonctionnels définissent les caractéristiques et les contraintes du système
qui ne sont pas directement liées aux fonctionnalités, mais qui sont essentielles pour
garantir la qualité, la performance et la sécurité de l’application.
— Sécurité : Étant donné la sensibilité des données traitées, la sécurité doit être une
priorité. L’accès à l’application doit être strictement contrôlé et se faire par authentification
des utilisateurs. Les données doivent être protégées contre les accès non autorisés.
2.3 Conception
Le diagramme des cas d’utilisation est utilisé pour décrire les besoins de l’utilisateur de
l’application. Le diagramme de cas d’utilisation est utilisé pour rassembler les exigences
d’un système, y compris les influences internes et externes. Ces exigences sont principalement
des exigences de conception.
Ce diagramme de cas d’utilisation résume les détails des acteurs du système et leurs
interactions avec le système.
Dans ce diagramme de classes UML, nous avons représenté la structure et les relations
entre les principales classes de notre application. L’application est conçue pour gérer des
utilisateurs, des messages, des dispositifs de kit, des notifications, des salles de discussion
(chatrooms) et des mesures. Voici une description détaillée des principales classes et de
leurs attributs et méthodes associés :
— Classe User :
— Classe Message :
— Méthode : SendText().
— Classe KitDevices :
— Classe Notification :
— Méthode : SendNotif().
— Classe ChatRoom :
— Classe Mesures :
Nous utilisons également des énumérations pour certains attributs, notamment ‘SexeEnum‘,
‘UserType‘, ‘BloodType‘, ‘UserStatus‘, ‘StateEnum‘ et ‘NotifEnum‘, pour définir des
valeurs possibles.
2.4 CONCLUSION
Ce chapitre a jeté les bases conceptuelles de notre projet AlphaGly. Nous avons identifié
les besoins fonctionnels et non fonctionnels, défini les entités clés, et exploré les concepts
théoriques pertinents. Cette étape essentielle nous prépare à passer à la phase de conception
et de développement de notre solution de surveillance du diabète.
3
Réalisation
Sommaire
3.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Environnement du travail . . . . . . . . . . . . . . . . . . . 23
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . 23
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . 23
3.3 Architecture et interface de l’application . . . . . . . . . 25
3.3.1 Architecture de l’application . . . . . . . . . . . . . . . . . 25
3.4 Les sprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Sprint 0 : Analyse du Cahier des Charges et Exploration
du Code : Comprendre les Besoins et les Bases du Projet
AlphaGly . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.2 Sprint 1 : Mise en place de l’Authentification de Base . . . 29
3.4.3 Sprint 2 : Gestion des Appareils de Mesure . . . . . . . . 32
3.4.4 Sprint 3 : Gestion et Envoi de Notifications . . . . . . . . 34
3.4.5 Sprint 4 : Implémentation du Chatbot pour l’Assistance
Utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1 INTRODUCTION
Cette partie constitue le dernier volet de ce rapport. Nous allons présenter chaque sprint
et les tâches qui y sont effectuées seront détaillées. Ensuite, nous allons illustrer notre
travail par des captures d’écran.
— Marque : Hp Victus
— RAM : 16GB
IntelliJ IDEA est un IDE[17] de pointe pour le développement Java et d’autres langages,
créé par JetBrains. Il se distingue par son efficacité, son analyse statique et son intégration
avec les outils de construction. Disponible en versions Community (gratuite) et Ultimate
(payante), il est apprécié pour sa productivité et sa personnalisation.
— Vue : c’est le composant graphique de l’interface qui présente les données du modèle
à l’utilisateur.
— Contrôleur : il est responsable des prises de décision et gère la logique du code qui
prend des décisions. Il agit comme un intermédiaire entre le modèle et la vue. [19]
Parmi les points forts de l’architecture MVC, elle permet de rendre la conception graphique
de l’application plus claire et efficace. Ce qui rend cette architecture meilleure dans la
réalisation de notre projet.
3.4.1.1 Objectifs
(b) Créer une application mobile : Développer une application mobile conviviale
qui permet aux patients diabétiques de suivre leurs taux de glucose en temps réel,
d’afficher des courbes et de recevoir des alertes en cas de variations critiques.
(c) Assurer la sécurité des données : Mettre en place des mesures de sécurité robustes
pour garantir que les données des patients sont protégées et confidentielles.
(d) Intégrer une intelligence artificielle : Développer un modèle d’intelligence artificielle
capable d’analyser les données de glucose collectées par le microchip pour détecter
les tendances et prévenir les complications.
(e) Connecter le microchip à un bracelet intelligent : Créer une connectivité entre
le microchip AlphaGly et un bracelet intelligent pour permettre aux patients de
recevoir des alertes et de suivre leur santé en temps réel.
(f) Réduire les complications du diabète : L’objectif ultime est de contribuer à la
réduction des complications graves liées au diabète en offrant une surveillance continue
et en permettant aux patients de prendre des mesures proactives.
(g) Améliorer la qualité de vie des patients : En offrant une surveillance continue et
des alertes en temps réel, le projet AlphaGly vise à améliorer la qualité de vie des
patients diabétiques.
(h) Alléger la charge des systèmes de santé : En aidant les patients à mieux gérer leur
diabète, le projet peut contribuer à réduire la pression sur les systèmes de santé en
évitant les hospitalisations et les complications coûteuses.
(i) Effectuer des recherches approfondies : Le projet nécessite des recherches avancées
pour développer un microchip et un modèle d’intelligence artificielle efficaces.
(j) Implanter le programme dans la carte ESP32 : Une fois la solution développée,
l’objectif final est d’implanter le programme dans la carte ESP32 pour une utilisation
pratique.
3.4.1.2 Analyse
(a) Étude de Faisabilité : Pendant le Sprint 0, il est essentiel de réaliser une étude de
faisabilité approfondie. Cela implique d’évaluer la viabilité technique, économique
et opérationnelle du projet. Vous devez examiner si la technologie nécessaire est
3.4.2.1 Objectifs
Lors de la réunion de planification du Sprint 1, les user stories suivantes ont été définies :
8 Mettre en place des journaux de sécurité pour suivre les activités de connexion Basse
Pour stocker les données utilisateur, nous utilisons une base de données relationnelle. La
conception de la base de données comprend les tables suivantes :
— Table "Utilisateurs" : Stocke les informations des utilisateurs, telles que leur nom,
prénom, adresse e-mail, etc.
Les interfaces utilisateur sont conçues de manière conviviale pour offrir une expérience
utilisateur optimale. Nous utilisons Flutter pour créer des interfaces réactives et esthétiques.
3.4.3.1 Objectifs
Les objectifs du Sprint 2 pour la gestion des appareils de mesure sont les suivants :
Ces objectifs aideront à développer une gestion complète et sécurisée des appareils de
mesure au sein de l’application AlphaGly.
Lors de la réunion de planification du Sprint 2, les user stories suivantes ont été définies :
Les interfaces utilisateur sont conçues de manière conviviale pour offrir une expérience
utilisateur optimale. Nous utilisons Flutter pour créer des interfaces réactives et esthétiques.
3.4.4.1 Objectifs
(d) Intégrer la gestion des notifications avec le modèle IA : Assurer l’intégration entre
la gestion des notifications et le modèle d’intelligence artificielle pour permettre des
notifications intelligentes basées sur les données de glucose.
(e) Garantir la sécurité des notifications : Mettre en place des mesures de sécurité
pour protéger la confidentialité des notifications des utilisateurs.
(f) Tester et déboguer les fonctionnalités de notification : Effectuer des tests approfondis
pour garantir que les notifications fonctionnent correctement et résoudre tout problème
de performance ou de fiabilité.
(g) Documentation : Mettre à jour la documentation du projet pour inclure les nouvelles
fonctionnalités de gestion et d’envoi de notifications.
Lors de la réunion de planification du Sprint 3, les user stories suivantes ont été définies :
Les interfaces utilisateur sont conçues de manière conviviale pour offrir une expérience
utilisateur optimale. Nous utilisons Flutter pour créer des interfaces réactives et esthétiques.
(f) Tests et Débogage : Effectuer des tests approfondis pour s’assurer que la fonction
d’envoi de messages directs fonctionne correctement et corriger tout bogue identifié.
(g) Documentation : Documenter la nouvelle fonctionnalité et mettre à jour la documentation
de l’application.
Tâches Techniques
Le projet AlphaGly se veut une réponse à ces défis, en proposant un microchip révolutionnaire
implanté sous la peau pour surveiller la glycémie en temps réel. Cette technologie, couplée
à une application mobile et à un bracelet intelligent, offre une surveillance continue et
précise tout en éliminant le besoin de piqûres douloureuses.
Les objectifs du projet AlphaGly sont clairs : améliorer la qualité de vie des patients
diabétiques, prévenir les complications graves, faciliter le suivi personnel, réduire la
charge sur les systèmes de santé et intégrer des technologies de pointe.
En fin de compte, AlphaGly représente bien plus qu’une solution technologique. C’est
un espoir pour des millions de personnes touchées par le diabète, un pas vers une vie
meilleure et plus saine. Ce projet incarne l’innovation, la technologie et, surtout, la possibilité
de transformer la manière dont nous gérons le diabète dans le monde entier.