Vous êtes sur la page 1sur 98

UE TUNISIENNE ***

Ministère de L’Enseignement Supérieur Et De La Recherche


Scientifique Direction Générale des Etudes Technologiques
Institut Supérieur des Etudes Technologiques
de BEJA Département Génie Mécanique

PFE N° :GE 601

Rapport de Projet de Fin


d’Études

En vue de l’obtention
Du Diplôme National de Licence Appliquée en Génie Electrique

SYSTEME DE CONTROLE INTELLIGENT DE SECURITE

Élaboré par : Mahdi TABOUBI


Taha MAAROUFI

Soutenu le 15/06/2023 devant le jury :

Mr. Mohamed OUNI Président

Mme. Raja TABOUBI Rapporteur

Mr. Faouzi MAAMER Encadreur

Année universitaire : 2022/2023


Remerciements

A notre professeur Mr. Faouzi Maamer


A notre encadreur du société Mme Hammemi Imen

Nous avons eu le privilège de travailler parmi votre


Équipe et d’apprécier vos qualités et vos valeurs.
Votre sérieux, votre compétence et votre sens du devoir
Nous avons énormément marqué.
Veuillez trouver ici l’expression de notre respectueuse
Considération et notre profonde admiration pour toutes vos
Qualités scientifiques et humaines.
Ce travail est pour nous l’occasion de vous témoigner
Notre profonde gratitude
Dédicaces

À toutes les personnes qui ont participé à l’élaboration de


ce travail, à tous ceux que J’ai omis de citer.

Je ne peux trouver les mots justes et sincères pour vous


exprimer mon affection et mes pensées, vous êtes pour moi
des frères, sœurs et des amis sur qui je peux compter.

En témoignage de l'amitié qui nous unit et des souvenirs


de tous les moments que nous avons passés ensemble, je
vous dédie ce travail et je vous souhaite une vie pleine de
santé et de bonheur.
À MES CHERS PARENTS

Aucune dédicace ne saurait exprimer mon respect, mon amour éternel et ma


considération pour les sacrifices que vous avez consenti pour mon instruction et mon
bien être.

Je vous remercie pour tout le soutien et l’amour que vous me portez depuis mon enfance
et j’espère que votre bénédiction m’accompagne toujours.

Que ce modeste travail soit l’exaucement de vos vœux tant formulés, le fruit de vos
innombrables sacrifices, bien que je ne vous en acquitterai jamais assez.

Puisse Dieu, le Très Haut, vous accorder santé, bonheur et longue vie et faire en sorte que
jamais je ne vous déçoive.

Sommaire
Introduction Générale...............................................................................................................................1
Chapitre 1 : Cadre de Projet....................................................................................................................3
1. Introduction :.....................................................................................................................................3
2. Présentation de la société...................................................................................................................3
2.1. Présentation générale................................................................................................................3
2.2. Ses activités...............................................................................................................................4
2.3. L'organigramme de l'organisme.................................................................................................4
3. Présentation de projet........................................................................................................................5
3.1. Cadre de projet......................................................................................................................5
3.2. Étude de l'existant.................................................................................................................5
3.3. Critique de la solution existante............................................................................................7
3.4. Solution Proposée.................................................................................................................7
3.5. Les étapes du déroulement de projet.....................................................................................8
4. Méthodologie et formalisme adoptés................................................................................................8
4.1. Méthodologie de travail........................................................................................................8
4.2. Méthode Agile......................................................................................................................9
4.3. La méthode adoptée SCRUM :...........................................................................................10
4.4. Avantages de méthodologie Scrum....................................................................................11
5. Conclusion.......................................................................................................................................11
Chapitre 2 : Etude et Spécification des Besoins.....................................................................................12
1. Introduction.....................................................................................................................................12
2. Etude bibliographique......................................................................................................................12
2.1. Définition IOT....................................................................................................................12
2.2. L’architecture de l’IOT.......................................................................................................12
2.3. Domaines d’application de l’IOT.......................................................................................13
2.3.1. Transport.........................................................................................................................13
2.4. L’IOT dans l’industrie........................................................................................................13
3. Schéma synoptique du système.......................................................................................................14
4. Spécification des besoins.................................................................................................................16
4.1. Diagramme FAST...............................................................................................................16
4.2. Identification des acteurs :..................................................................................................17
4.3. Identification des besoins....................................................................................................18
4.3.1. Les besoins fonctionnels.................................................................................................18
5. Modélisation....................................................................................................................................20
5.1. Choix de méthode de conception........................................................................................20
5.2.1. Diagramme de cas d’utilisation global de l’application mobile :...................................21
5. Pilotage de projet avec Scrum :.......................................................................................................22
5.3. Équipe et Rôle.....................................................................................................................22
5.4. Backlog du Produit :...........................................................................................................24
5.5. Planification des Sprints.....................................................................................................27
6. Conclusion.......................................................................................................................................28
Chapitre 3 : Conception Générale et Choix Matériels...........................................................................29
1. Introduction :...................................................................................................................................29
2. L’architecture de l’application.........................................................................................................29
2.1. Partie Hardware..................................................................................................................29
2.1.1. Etude fonctionnelle.........................................................................................................29
2.1.2. Choix de carte.................................................................................................................30
2.1.3. Choix des capteurs..............................................................................................................34
A. Capteur de gaz........................................................................................................................34
a. Les caractéristiques générales d'un capteur de gaz.................................................................34
b. Caractéristiques de MQ2........................................................................................................36
B. Capteur de température et humidité....................................................................................37
a. Caractéristique de capteur DHT11.........................................................................................38
C. Capteur de fin de course.....................................................................................................38
2.1.4. Choix de bouton..................................................................................................................39
A. Bouton poussoir......................................................................................................................39
a. Les avantages du bouton poussoir..........................................................................................39
2.1.5. Choix des actionneurs.........................................................................................................40
A. Buzzer électrique....................................................................................................................40
2.1.6. Choix des écrans LCD........................................................................................................41
2.2. Partie logicielle.........................................................................................................................42
2.2.1. Arduino IDE.........................................................................................................................42
2.2.2. Proteus Professional.............................................................................................................42
2.2.3. Visual Studio Code...............................................................................................................43
2.3. Langage et technologie utilisé..................................................................................................43
2.3.1. Flutter :..................................................................................................................................43
2.3.1. Dart:................................................................................................................................44
2.3.2. Firebase :.........................................................................................................................45
Conclusion..............................................................................................................................................46
Chapitre 4 : Réalise I..............................................................................................................................47
1. Introduction.....................................................................................................................................47
2. Analyse de la réalise 1.....................................................................................................................47
2.1. Sprint 0 :..............................................................................................................................48
2.1.1. Sprint Backlog................................................................................................................48
2.2. Sprint 1 : S’authentifier.......................................................................................................48
2.2.1. Sprint Backlog................................................................................................................48
2.2.2. Expression des besoins...................................................................................................49
2.2.3. Diagramme de cas d’utilisation......................................................................................49
2.3. Sprint 2 : Gérer utilisateurs.................................................................................................50
2.3.1. Sprint Backlog................................................................................................................51
2.3.2. Expression des besoins...................................................................................................51
2.3.3. Diagramme de cas d’utilisation......................................................................................51
2.3. Sprint 3 : Gérer profil..........................................................................................................53
2.3.1. Sprint backlog.................................................................................................................53
2.3.2. Expression des besoins...................................................................................................53
2.4. Conception..........................................................................................................................55
2.4.2. Diagrammedeséquenceobjet« Gérerlesutilisateurs»...............................................................55
2.5. Réalisation :........................................................................................................................56
2.5.1. Interface du cas d’utilisation « S’authentifier »..............................................................56
Conclusion..............................................................................................................................................58
Chapitre 5 : Réalise II « produit en production »..................................................................................59
1. Introduction.....................................................................................................................................59
2. Analyse de la réalise II....................................................................................................................59
2.1. Diagramme des cas d’utilisation du Sprint 4......................................................................59
2.2. Diagramme des cas d’utilisation du Sprint 5......................................................................63
3. Conception.......................................................................................................................................64
3.1. Diagramme de séquence superviser machine.....................................................................64
3.2. Diagramme de séquence superviser performance produit..................................................65
3.3. Diagramme de classe..........................................................................................................67
3.4. Simulation isis.....................................................................................................................67
4. Réalisation.......................................................................................................................................68
5. Conclusion.......................................................................................................................................69
Chapitre 6 : Réalise III « produit en Stockage »....................................................................................70
1. Introduction.....................................................................................................................................70
2. Analyse de la réalise 1.....................................................................................................................70
3.1. Test matérielles des:...........................................................................................................71
4. Conclusion :.....................................................................................................................................74
CONCLUSION GENERALE.................................................................................................................75
Annexe......................................................................................................................................................A
Liste desFigures
Figure 1 : Logo de la société Ashbot..............................................................................................................3
Figure 2 : Les Activités de la société AFT.....................................................................................................4
Figure 3 : L’organigramme de la société......................................................................................................5
Figure 4 : Méthode Agile..............................................................................................................................10
Figure 5 : Processus Scrum..........................................................................................................................10
Figure 6 : Avantages de méthode Scrum....................................................................................................11
Figure 7 : Internet Of Things......................................................................................................................12
Figure 8 : Les étapes clés de l'IOT..............................................................................................................13
Figure 9 : Domaines d'application de l’IOT...............................................................................................13
Figure 10 : L'IOT dans l'industrie..............................................................................................................14
Figure 11 : Schéma Synoptique...................................................................................................................15
Figure 12 : Diagramme FAST.....................................................................................................................17
Figure 13 : Partie Hard / Partie IOT / Partie Mobile................................................................................19
Figure 14 : Logo Star UML.........................................................................................................................20
Figure 15 : Diagramme de cas d'utilisation général...................................................................................22
Figure 16 : Distribution des rôles................................................................................................................24
Figure 17 : Le grafcet de machine...............................................................................................................30
Figure 18 : Choix de Carte...........................................................................................................................31
Figure 19 : Carte esp32................................................................................................................................33
Figure 20 : Capteur de gaz / Fumée MQ2...................................................................................................36
Figure 21 : Capteur de Température et Humidité DHT11........................................................................38
Figure 22 : Capteur fin de course................................................................................................................38
Figure 23 : Les avantages d'un bouton-poussoir........................................................................................39
Figure 24 : Buzzer électrique.......................................................................................................................40
Figure 25 : Afficheur LCD 2.16...................................................................................................................41
Figure 26 : Arduino IDE..............................................................................................................................42
Figure 27 : Proteus Professional..................................................................................................................43
Figure 28:Visual studio code........................................................................................................................43
Figure 29: Flutter.........................................................................................................................................44
Figure 30 : Langage Dart.............................................................................................................................45
Figure 31: Firebase.......................................................................................................................................46
Figure 32 : Diagramme de cas d'utilisation générale de réalise 1.............................................................47
Figure 33 : Diagramme de cas d'utilisation de sprint 2 « Gérer utilisateurs ».........................................52
Figure 34: Diagramme de cas d'utilisation de Sprint 3..............................................................................54
Figure 35 : Diagramme de séquence S'authentifier...................................................................................55
Figure 36 : Diagramme de séquence « Gérer utilisateur »........................................................................56
Figure 37:Interface d'accueil.......................................................................................................................57
Figure 38:Interface login..............................................................................................................................58
Figure 39:Interface crée compte..................................................................................................................58
Figure 40 : Diagramme de cas d’utilisation Release 2...............................................................................59
Figure 41 : Diagramme de cas d’utilisation Sprint 4 « Superviser machin »...........................................60
Figure 42 : Câblage partie supervision machine........................................................................................62
Figure 43 : Câblage partie supervision machine........................................................................................63
Figure 44 : Câblage partie supervision performance produit...................................................................64
Figure 45 : Diagramme de séquence « superviser machine »....................................................................65
Figure 46 : Diagramme de séquence « superviser performance produit »...............................................66
Figure 47:Simulation ISIS...........................................................................................................................67
Figure 48:Prototype Réel.............................................................................................................................68
Figure 49:Interface machine........................................................................................................................68
Figure 50:DHT11+ESP32............................................................................................................................71
Figure 51:Code Arduino DHT11.................................................................................................................72
Figure 52:Résultats du DHT11....................................................................................................................72
Figure 53:Test Esp32 et mq2.......................................................................................................................72
Figure 54:Resultats Mq2..............................................................................................................................73
Figure 55:Résultat de fuite de gaz...............................................................................................................73
Figure 56: montage réel...............................................................................................................................73
Figure 57: Interface de l’environnement....................................................................................................74
Liste de Tableau
Tableau 1 : Etude Comparative entre les produits existe sur le marché....................................................6
Tableau 2 : Comparaison entre méthode Classique et méthode Agile.......................................................9
Tableau 3 : Tableau explicatif définit les acteurs et leurs rôles................................................................17
Tableau 4 : Equipe et Rôle de Scrum..........................................................................................................23
Tableau 5 : Equipe de Scrum......................................................................................................................24
Tableau 6 : Backlog du produit...................................................................................................................25
Tableau 7 : Planification des Sprints..........................................................................................................27
Tableau 8 : Les différentes cartes électroniques........................................................................................32
Tableau 9 : Les caractéristiques générales d'un capteur...........................................................................34
Tableau 10 : Les caractéristiques générales d'un capteur de gaz.............................................................34
Tableau 11 : Choix de capteur de gaz.........................................................................................................35
Tableau 12 : Caractéristique de Capteur de gaz MQ2..............................................................................36
Tableau 13 : Choix de Capteur de Température.......................................................................................37
Tableau 14 : Caractéristique de capteur de température et humidité DHT11........................................38
Tableau 15 : Caractéristiques de Capteur de fin de course.......................................................................39
Tableau 16 : Choix de Buzzer......................................................................................................................40
Tableau 17 : Les caractéristiques techniques des LCD graphique...........................................................41
Tableau 18 : Sprint Backlog........................................................................................................................48
Tableau 19 : Histoire de l'utilisateur de sprint 1........................................................................................48
Tableau 20 : Description textuelle « s’authentifier ».................................................................................50
Tableau 21 : Description textuelle « se déconnecter »................................................................................50
Tableau 22 : Histoires de l’utilisateur de sprint 2......................................................................................51
Tableau 23 : Description textuelle « Ajouter utilisateur ».........................................................................52
Tableau 24 : Description textuelle « Supprimer utilisateur »...................................................................52
Tableau 25 : User Story de sprint 3.............................................................................................................53
Tableau 26 : Description textuelle du cas d'utilisation « Consulter profil »............................................54
Tableau 27 : Description Textuelle du cas d'utilisation « Modifier profil ».............................................54
Tableau 28 : Description textuelle de « Superviser machine »..................................................................60
Tableau 30:Description textuelle de « Superviser performance produit »...............................................63
Tableau 10:Description recevoir une notification »...................................................................................70
Liste des acronymes

AFT : Ashbot Futur Technologie

IOT: Internet of Things

FAST: Function Analysis System Technique

UML : Unifie Modeling Langage ou langage de Modélisation Unifié en français

LCD : Liquide Crystal Display

IDE :Integrated Development Environment


Introduction Générale
Au cours de ces dernières années, les industries ont été confrontées à une concurrence de plus en
plus féroce.

La digitalisation des entreprises est devenue importante vue la croissance des mécanismes (outils)
des plateformes en particulier dans l’entreprise. Cette digitalisation concerne tous ce qui est commande et
contrôle à distance des équipements électriques, électroniques et informatiques.

Grace à son câblage par ondes radio, l’entreprise intelligente enrichit notre monde pour nous
simplifier la vie. Souvent, on s’en sert sans s’y rendre compte. Grâce à des applications évoluées, cette
dernière assure le fonctionnement des différents types d’équipements d’électroménagers, de
communication et de sécurité ainsi que la coordination entre eux.

Ce système peut être utilisé pour assurer des tâches sophistiquées aussi bien que basiques tel
qu’éclairer une pièce. Les autres applications de l’entreprise intelligente comprennent également le
contrôle à distance, la programmation et la surveillance.

Dans ce contexte s’intègre notre projet qui sera un système intelligent qui permet d’évoquer les
technologies que les personnels peuvent s’en servir à l’entreprise tel que les technologies électriques,
informatiques, et les technologies de communication. L’entreprise intelligente cherche à assurer des
tâches de confort, de sécurité, d’économie d’énergie et de communication à l’intérieur du domicile.

Assurer la sécurité des employés et détourner les intrus dangereux s’appuie sur l’emploi de plusieurs
technologies y inclus les détecteurs de mouvement, les détecteurs d’intrusion, les interphones ainsi que
les portiers vidéo et d’autres systèmes de détection qui visent à surveiller des risques d’accident (incendie,
fuite de gaz) ainsi qu’à signaler des pannes.

La sécurité de l’entreprise intelligente s’appuie sur la centralisation de la surveillance de tout


l’espace en question s’agissant de l’entreprise. L’installation des détecteurs d’intrusion et de mouvements
sur les ouvertures, les portes et les poignets permettent de prévenir de tout danger extérieur sans que
l’intrus s’y rende compte grâce à des alarmes silencieuses. Des capteurs et des micros ultrasensibles, des
détecteurs de mouvement, des caméras invisibles, et des détecteurs de fumées assurent une sécurité à
l’intérieur de l’entreprise.

Ainsi la vie est simplifiée grâce à l’entreprise intelligente qui permet de surveiller ses bureaux à
distance et assurer une bonne qualité de vie à partir de son Smartphone. Elle permet aussi d’économiser

1
jusqu’à 10 % d’énergie grâce à des capteurs installés dans les équipements.

Notre rapport va décrire les étapes de la réalisation du système, Le présent rapport est structuré en
six chapitres présentant les différents stades par Lesquels nous avons passé pour mener à terme ce projet

Dans le premier chapitre où nous situons le projet dans son contexte général, à savoir l’organisme
d’accueil, il décrit l’étude de l’existant que nous avons fait pour identifier la problématique et les objectifs
de notre application et pouvoir par la suite proposer la solution adéquate

Le deuxième chapitre consiste à présenter une analyse de l’existant et identification des problèmes
rencontrés
Le troisième chapitre décrit la solution pour optimiser les défauts et le choix de matériels.
Finalement, dans le quatrième chapitre, nous allons présenter la programmation et la
réalisation de notre solution.

2
Chapitre 1 : Cadre de Projet
1. Introduction :
Ce chapitre donne un aperçu général de l’organisme d’accueil et de ses différents services. Puis, il
décrit le contexte général de notre projet et présenter la méthodologie de travail adopter pour achever ce
travail.

2. Présentation de la société
Dans le cadre de nos études et pour obtenir notre licence en informatique, nous avons effectué un stage
de quatre mois dans Ashbot Futur Technologie.

2.1. Présentation générale


Ashbot Futur Technologie est une entreprise tunisienne spécialisée dans le domaine du conseil et de
l'ingénierie informatique, par des responsablespassionnés avec plus de quinze ans d'expérience. Elle
spécialiste de l’intégration de nouvelles Technologies, En étroite collaboration avec les cabinets de
conseil, les fabrications de robot,C’est une compagnie d’intégration des techniques et des systèmes
d’innovation, spécialiste dans le développement des applications mobile, ingénierie logicielle,
développement d’applications web, système embarqué.
Elleétécrééen 2019, et depuis sa création, l'AFT a concentré son activité et son sens de l'engagement
sur les prestations d'accompagnement et de maîtrise d'ouvrage pour la mise en place de solutions
métiers informatisées.

Figure 1 : Logo de la société Ashbot

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

Prestations de Système
Embarqué
et IOT

Robotique
&
Electronique

Prestations de Développement
Web et Mobile

Figure 2 : Les Activités de la société AFT

2.3. L'organigramme de l'organisme


L’organigramme est un diagramme qui montre la structure internepour l’entreprise, Il permette de
simplifier des structures complexes.

4
Cette figure montre l'organigramme de notre société :

Figure 3 : L’organigramme de la société

3. Présentation de projet
Dans cette section, nous décrirons le contexte du projet, nous poserons la problématique et nous
proposons une solution, puis nous passerons à la méthode de conception.

3.1. Cadre de projet


Ce stage s’inscrit dans le cadre d’un projet de fin d’études pour l’obtention d’un diplôme national
licence appliqué en système embarqué et mobile d’ISET KEF.
Notre stage a été effectué au sein ASHBOT Futur Technologie, et le sujet est intitulé :
«Conception et Réalisation d’un Système de Sécurité et de Contrôle d'une Industrie
Agroalimentaire».

3.2. Étude de l'existant


L'étude de l'existant est une étape importante pour bien le comprendre, et son but est d'examiner et
d'identifier les lacunes de ce système, de proposer des solutions appropriées et de fixer des objectifs
d'amélioration.
5
Lorsqu'on fait une étude de l'existant, il existe deux cas :
Soitleproduitexistedéjà,alorsilfautl’améliorer.
Soit le produit n’existe pas, il faudra donc le créer.
Nous combinerons les deux procédés, dans la première partie nous focaliserons sur l'analyse de
l'existant : Critique et Solutions.
Dans cette partie nous allons étudier les systèmes et quelque produit existe sur le marché les suivants :
Tableau 1 : Etude Comparative entre les produits existe sur le marché

Produit Description Point fort Point faible

ASENWARE :  Facile à utiliser  Coûteux

AW-FP100 série du  Possible de  D'appel manuel


Système d’Alarme surveiller de  Point pas de réaction
panneau de
incendie adressables nombreux points.  Besoin d'une personne
commande d'alarme
ASENWARE  Possible d’intégrer qualifiée à installer
incendie sont
intelligents des d’autre fonction de  Risque de confusion en
panneaux qui sont sécurité. cas de défaillance
conçus pour le rendre  Possible de créer
adapté pour des séquences
La plupart des d'évacuation.
applications.

Le Système SCADA :  Capacité à surveiller  Coût d'installation et

est composé d'un et à contrôler les de configuration.

ensemble de capteurs processus  La dépendance au


Système SCADA
et d'actionneurs qui industriels à système peut entraîner

collectent les données distance des perturbations

sur le processus en  Possibilité de importantes en cas de

temps réel, et d'une collecter des panne.

interface utilisateur données en temps  La complexité du

graphique qui affiche réel. système peut nécessiter

ces données sous  Possibilité de du personnel qualifié

forme de graphiques, surveiller nombreux pour la mise en œuvre

des tableaux et des équipements.

6
diagrammes.

3.3. Critique de la solution existante


A partir de l'étude de l'existant que nous avons réalisée, nous avons constaté que bien que les
méthodes actuelles de supervision et de sécurité industrielle soient importantes pour garantir la sécurité
et la fiabilité des équipements, elles présentent des limites et des lacunes importantes.
Des approches plus avancées basées sur l'apprentissage automatique et l'analyse de données en
temps réel peuvent offrir des avantages significatifs en matière de détection précoce de défauts, de
réduction des temps d'arrêt et de coûts de maintenance, ainsi qu'une meilleure performance globale des
équipements industriels.
L'étude des produits existants sur le marché pour la sécurité et la supervision des industries
agroalimentaires nous a permis de dégager certains risques, notamment :
Les accidents causés par les fuites de gaz dans le monde sont énormes, chaque année, nous
assistons à un grand nombre de décès par suffocation gazeuse et de décès dus à des
incendies domestiques ou industriels.
Manque de la surveillance à distance de machine.
Manque d’informations et de performances des opératrices.
Manque de visualisations des détails de chaque chaine.
Manque de flexibilités et accessibilité aux données a distances.
Perte de temps lors de l’analyse des donnés des chaines (nombres, performances des
opératrices, délais, produit…).

3.4. Solution Proposée


Réalisation d’application de suivi de production pour les industries agroalimentaires.
L’infrastructure mise en place comprend l’hébergement de l’application et de la base de
données en mode Cloud et la mise à disposition d’une redondance matérielle au sein de l’usine
pour assurer la haute disponibilité de l’application industrielle, indépendamment des temps de
réponse d’internet :
 Permet le suivi de performance et de la qualité de l’usine.
 Collecter les données essentielles.
 Une architecture IOT pour connecter facilement l’ensemble de vos usines, elle permet ainsi de
répondre aux attentes grandissantes des entreprises qui se tournent vers le Cloud, tout en
conservant un accès privé pour des raisons de sécurité des applications de production.

7
 Gérer les processus industriels en collectant en temps réel des données de production d’un atelier ou
d’une usine. Celles-ci sont ensuite exploitées à de multiples fins : traçabilité, contrôle qualité,
suivi de production, ordonnancement, maintenance…
 Optimiser la production, de réduire les temps d'arrêts et le gaspillage des ressources. En outre, il
donne de la visibilité dans les processus de fabrication.
 L'outil manque de système d’alarme l'ors de repérage de fumé ou de gaz, ça sera un plus pour notre
projet.
 L'usager doit nécessaire être au sein de l’entreprise pour qu’il peut contrôler chaque équipement,
nous offrons à ce propos qu'il soit capable de le réaliser à l’intérieur et à l'extérieur de service
qu’il appartient.
 Le système peut être employé par tout usagés ayant l'application reliée à l'infrastructure de la
société.
 Notre projet a le moyen d'élaborer des comptes de nouveaux usagers et un admin soit responsable
sur eux.

3.5. Les étapes du déroulement de projet


Après avoir saisi les différentes tâches qui nous ont été confiées, nous avons mis en place la démarche
à suivre pour la réalisation de notre travail, qui se focalise sur les quatre axes suivants :
 Observation détaillée
 Traitement des informations obtenues et choix
 Analyse de l’état actuel
 Recherche des causes racines
 Recherche et choix de solution
 Implémentation de la solution
 Analyse des résultats
4. Méthodologie et formalisme adoptés
Avant de mettre en place notre projet, il est nécessaire de choisir une méthodologie de travail et un
processus de suivi afin d'aboutir à un programme fiable.
Dans cette méthodologie, nous retrouvons les étapes initiales de développement du système afin de
le rendre plus satisfaisant aux besoins du client.
4.1. Méthodologie de travail
Dans ce qui suit, nous avons effectué une étude comparative entre la méthode approche classique et
la méthode approche agile.

8
Notre étude se base sur les critères suivants :
- Cycle de vie : le tableau 2 présente les résultats de cette étude comparative.

- Planification : le tableau 2 présente les résultats de cette étude comparative.

- Changement : le tableau 2 présente les résultats de cette étude comparative.

- Gestion des risques : le tableau 2 présente les résultats de cette étude comparative.

- Mesure des succès : le tableau 2 présente les résultats de cette étude comparative.

- Equipe : le tableau 2 présente les résultats de cette étude comparative.

- Qualité : le tableau 2 présente les résultats de cette étude comparative.

Tableau 2 : Comparaison entre méthode Classique et méthode Agile

Critères Approche Classique Approche Agile

Cycle de vie Phase Séquentielle Itératif et incrémentale

Planification Prédictive Adaptative

Résistant au changement. Accueil favorable au changement


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

Processus strict et rigoureux de Gestion des risques intégrée dans


Gestion des risques
gestion des risques. le processus global.

Respect des engagements initiaux Satisfaction du client par la


Mesure des succès
en termes de cout, de budget et de livraison de valeur souhaitée.
niveau de qualité.

Équipe avec ressources spécialisés Équipe responsabilisée, soutenue


Équipe
dirigées par un chef de projet. par le chef de projet.

Contrôle qualité à la fin de cycle de Contrôle qualité permanant au


Qualité
développement. niveau du produit et du processus.

9
4.2. Méthode Agile
A partir de la comparaison effectuée, nous choisirons d'utiliser des méthodes itératives et
incrémentales telles que les méthodes agiles.
Cette dernière est une démarche incrémentale et itérative, menée dans un esprit collaboratif, qui
garantit une meilleure qualité de communication avec l'utilisateur, une meilleure visibilité client sur
l'avancement des travaux, et un meilleur contrôle qualité par le fait que les tests sont effectués en continu,
permettant aux problèmes à détecter rapidement.

Figure 4 : Méthode Agile

4.3. La méthode adoptée SCRUM :


La méthodologie Scrum est l'approche agile la plus largement utilisée parmi les approches agiles
actuelles et est facile à comprendre.
Le principe de la méthode Agile Scrum est de focaliser l'équipe de développement sur des fonctions
qui sont exécutées de manière itérative, en deux à quatre itérations dans un intervalle d’une
semaineappelées Sprints. Chaque Sprint doit se terminer par une livraison du produit.

10
Figure 5 : Processus Scrum

4.4. Avantages de méthodologie Scrum

Figure 6 : Avantages de méthode Scrum

5. Conclusion
Tout au long de ce chapitre, nous avons présenté l’organisme d’accueil. Par ailleurs, nous avons pu
dégager le contexte général du projet et présenter le choix de la méthodologie de développement. Le
chapitre suivant sera consacré à l'étude préliminaire.

11
Chapitre 2 : Etude et Spécification des Besoins
1. Introduction
Au niveau de ce chapitre, nous allons aborder dans un premier temps la partie de spécification des
besoins pour dégager les besoins fonctionnels et non fonctionnels auxquels doit répondre notre solution.
Dans un second temps, nous allons piloter notre projet avec la méthodologie.

2. Etude bibliographique

L’Étude bibliographique est une étape essentielle dans tout processus de recherche ou d'analyse. Elle
permet de collecter et d'analyser des informations provenant de sources variées telles que des livres, des
articles scientifiques, des rapports de recherche et des données statistiques. Cette étape est importante car
elle permet de se familiariser avec les travaux précédemment réalisés sur le sujet et de comprendre les
connaissances actuelles dans la réalisation de notre projet.

2.1. Définition IOT


L'Internet des objets est un réseau d'appareils physiques connectés à Internet, permettant
l'interaction et la collecte de données. Equipés de capteurs et d'actionneurs, ces appareils détectent les
informations de l'environnement et agissent en conséquence.

Figure 7 : Internet Of Things


2.2. L’architecture de l’IOT
L'architecture de l'IOT comprend les éléments suivants :
 Capteurs : Les captures sont des appareils qui mesurent des données physiques telles que la
température, la pression, l’humidité, etc.
 Passerelles : Les passerelles sont des dispositifs qui agissent comme un pont entre les capteurs et
Internet, collectant les données des capteurs et les transmettant à un serveur web pour traitement.

12
 Réseau : Un réseau est un canal de communication qui relie des capteurs, des passerelles et des
serveurs de réseau. Les réseaux IOT peuvent utiliser des technologies sans fil telles que Bluetooth.
 Cloud : Les données collectées par les capteurs sont stockées, traitées et analyser dans Cloud grâce
à les fournisseurs de services Cloud IOT.
 Applications : Les applications sont des interfaces utilisateur qui permet de visualiser les données
collectées et d'interagir avec les objets connectés. Ils peuvent être des applications mobiles.

Figure 8 : Les étapes clés de

l'IOT

2.3. Domaines d’application de l’IOT


Les domaines d'application de l'Internet des objets sont très larges et diversifiés et affectent la vie de
presque tout le monde, exemples : on le trouve dans les transports, la santé, l’industrie, etc.

Figure 9 : Domaines d'application de l’IOT

2.3.1. Transport
L'Internet des objets rend les transports dans le monde plus intelligents et plus sûrs. Ils visent à
rendre le transport plus confortable pour les conducteurs
Tous les véhicules vendus aujourd'hui dans le monde disposent déjà de capteurs et d'appareils de
communication pour faire face aux embouteillages, à la sécurité, à la pollution, etc.

13
2.4. L’IOT dans l’industrie
L'IOT est de plus en plus utilisé dans l'industrie pour rationaliser les opérations, réduire les coûts,
augmenter la productivité et améliorer la qualité des produits.
Voici des exemples d'applications de l'IOT dans l'industrie :
 Suivi des actifs : Les capteurs IOT peuvent être utilisés pour surveiller des actifs tels que des
machines, des véhicules et des équipements, aidant à suivre leur emplacement, leur état et leur
utilisation.
 Surveillance des conditions: Les conditions de l'environnement de production telles que la
température, l'humidité et la pression peuvent être surveillées par des capteurs. Pour détecter les
anomalies pouvant indiquer un problème.
 Maintenance prédictive : L'IOT nous permet de connaître à l'avance les pannes et la maintenance,
en utilisant des données en temps réel pour identifier les anomalies dans les performances des
machines et des équipements.
 Sécurité : L'IOT peut aider à améliorer la sécurité en surveillant les conditions dangereuses et en
prenant des mesures pour prévenir les accidents.

Figure 10 : L'IOT dans l'industrie

3. Schéma synoptique du système


Dans ce projet, nous avons fait une image plus claire du schéma synoptique général ci-dessous, en
plus, nous avons présenté les parties nécessaires sur lesquelles le système est basé.
La figure suivante présente le schéma synoptique englobant les différents modules de base du
dispositif à réaliser :

14
Figure 11 : Schéma Synoptique

Le schéma synoptique est constitué de :


 Un bloc d’alimentation.
 Des actionneurs agissent sur les paramètres
 Le processor qui représente notre prototype de validation.
 Un circuit de puissance assurant la connexion entre l’unité de commande et les actionneurs.
 Un afficheur pour la présentation des informations sur la poste.
 Des capteurs pour la mesure des paramètres.
 Un serveur web distant pour la réception et l’enregistrement des données de poste.
 Une application web pour l’affichage des données à distance, la configuration des consignes de
régulation et la commande manuelle des actionneurs.
 L’unité programmable assurant la synchronisation des différentes fonctions de service :
o Régulation des paramètres.
o Acquisition des données.
o Envoie des données vers le serveur distant.
o Gestion de l’affichage.
o Réception des commandes manuelles depuis l’application mobile.

15
4. Spécification des besoins
Il s'agit de la première étape de la planification, où la situation est analysée pour tenir compte des
contraintes, des risques et d'autres facteurs importants et assurer un processus qui répond aux besoins.
4.1. Diagramme FAST
Le diagramme FAST est un diagramme qui se construit de gauche à droite,
Il représente les relations logiques entre différentes fonctions et sa tâche est de répondre aux
questions du comment et du pourquoi.
C'est un outil de modélisation graphique permettant de définir l'architecture d'un système.
Le diagramme FAST présenté ci-dessous montre les solutions trouvées :

16
Figure 12 : Diagramme FAST

4.2. Identification des acteurs :


Un acteur est un utilisateur humain, matériel ou logiciel qui interagit avec le système. En réponse
aux actions de l'opérateur, le système répond à ses besoins.
Notre application présente 5 acteurs identifiés dans le tableau ci-dessous :
Tableau 3 : Tableau explicatif définit les acteurs et leurs rôles

Acteur Rôle

L’administrateur est un utilisateur ayant tous les privilèges, pouvant


Administrateur se charger du paramétrage et de l’ensemble de la gestion des
modules.
Il est le responsable des droits d'accès à l'ensemble de l'application.

Le responsable maintenance est un acteur ayant la responsabilité de


Responsable Maintenance superviser toutes les opérations liées à la maintenance des machines
afin de garantir un fonctionnement optimal des machines.

17
Le responsable de productivité joue un rôle clé dans l’amélioration
Responsable Productivité de la production , en analysant les processus, en mettant en place
des mesures de productivité, en formant les employés et en mettant
en œuvre les technologies nécessaires pour améliorer l’efficacité de
l’organisation dans son ensemble.

Le rôle de responsable de qualité dans une industrie


Responsable Qualité agroalimentaire consiste à s’assurer que les produits alimentaires
sont fabriqués, Emballés et distribués conformément aux normes de
qualité et de sécurité alimentaires.

Le rôle d’un responsable de sécurité dans une industrie


Responsable Sécurité agroalimentaire est d’assurer la sécurité des personnes travaillant
dans l’usine ainsi que celle des produits alimentaires qui y sont
fabriqués.

4.3. Identification des besoins


Notre application doit satisfaire les exigences de la totalité des utilisateurs, Nous exposons dans ce
qui suit leurs besoins fonctionnels ainsi que les besoins non fonctionnels communs à tous les acteurs.
4.3.1. Les besoins fonctionnels
La phase de la spécification des besoins fonctionnels est indispensable pour que les résultats de la
réalisation de notre application soient conformes aux attentes du client.
Dans notre cas, les besoins sont divisés en 3 parties, comme indiqué cette figure :

18
Partie Hard
 Supervision de la machine  Connectivité
 sur terrain de données
Traitement  Choix matériel
 terrain de fuite de gaz
Détection  Mesure température et humidité

 Désenfumage automatique  Contrôler l’état


 Alarme en cas d’urgence

Partie IOT
 Stocker les données  Visualisation
 Sécurité de données

Partie Mobile

 L'authentification : pour bénéficier de toutes les fonctionnalités proposées par


l’application chaque utilisateur doit être authentifié pour accéder à l’espace privé.
 Administrer les postes : Le responsable au droit de consulter les donnes des postes.

 Consulter l’état de l’environnement en temps réel


 Superviser la machine et l’état du produit

 Commander les portes, les fenêtres, ventilateur


 Recevoir les alertes en cas d’urgence (fuite de gaz, panne de machine, erreur dans
le produit)
 Affichage
 Consulter l’historique

Figure 13 : Partie Hard / Partie IOT / Partie Mobile

4.3.2. Les besoins non fonctionnels :


Les besoins non fonctionnels permettent l'amélioration de la qualité logicielle de notre système ils
agissent comme des contraintes à prendre en considération pour mettre une solution et pour éviter
plusieurs incohérences.
Pour notre application nous avons définis les besoins suivants :
 Apprentissage facile : Aucun pré requis n’est primordial pour l’usage de l’application parce
qu’elle sera claire dans l’utilisation.

19
 Simplicité : L’application à développer sera une application client léger mobile utilisable avec
simplicité et il sera accompagné d’un tutoriel d’utilisation.
 Maintenance : Le code source du programme sera bien précisé par des commentaires pour que
le suivi soit plus évident et rapide.
 Temps d’exécution rapide et efficace : Toute instruction à traiter ne dépassera pas un délai de
3s.
 Facilité d’opération :La facilité d’exécuter une opération ou une tâche.
 Esthétique de l’interface utilisateur : L’assurance d’une interface ergonomique, plaisante,
satisfaisante pour le bien-être de l’utilisateur.

5. Modélisation
5.1. Choix de méthode de conception
Une méthode de conception est une démarche générale reflétant une idée de présentation et de suivi
du système. Elle propose des outils spécifiques permettant un suivi efficace de l’information relative au
système.
Notre choix se porte sur le langage UML.

Figure 14 : Logo StarUML

Le langage UML est destiné à l'ingénierie, la conception et la mise en œuvre de systèmes logiciels à
structure et comportement complexes,
Les diagrammes UML décrivent les limites, la structure et le comportement d'un système et des
objets qu'il contient.
C'est un langage formel et standardisé avec plus de précision et de stabilité. C'est aussi un outil de
communication efficace car il encadre l'analyse et facilite la compréhension des présentations
complexes.
Les avantages offerts par UML nous permettent de modéliser différents aspects de notre projet.
Les diagrammes que nous avons utilisés dans notre analyse sont :
20
 Le diagramme de cas d’utilisation
 Le diagramme de séquences
 Le diagramme de classe

5.2. Analyse globale :


Nous allons présenter et expliquer le diagramme de cas d’utilisation.

5.2.1. Diagramme de cas d’utilisation global de l’application mobile :


Le diagramme illustré par la figure suivant décrit les différents besoins fonctionnels de notre
application mobile, chaque cas d’utilisation représente une fonctionnalité offerte par le système à ses
utilisateurs.

21
Figure
15 : Diagramme de cas d'utilisation général

 Chaque utilisateur doit être authentifié via sa plateforme correspondante pour effectuer ses tâches

5. Pilotage de projet avec Scrum :


5.3. Équipe et Rôle
Dans le cadre méthodologique Scrum, l'équipe s'organise autour de trois grands rôles comme cette
montre ce tableau :

22
Tableau 4 : Equipe et Rôle de Scrum

Equipe Rôle

Product Owner représente le produit, il peut s’agir du client, qui a eu une


Product Owner formation ou une présentation à l’agile, il est nécessaire qu’ils acceptent
tout ce qu’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 là dans
un rôle de coach et de guide, il doit se montrer force réflexion, mais pas
Scrum Master 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 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 constituée des personnes qui seront chargées d’implémenter


Equipe les besoins du client, c’est toute l’équipe qui est responsable du résultat
final de chaque sprint.
La manière dont sont exécutées les tâches est très libre.
Elle doit tout faire pour délivrer le produit dans les délais prévus.

23
Figure 16 : Distribution des rôles

Dans le tableau suivant nous allons présenter notreéquipe scrum pour réaliser notre projet
Tableau 5 : Equipe de Scrum

Personnes Rôles Scrum

Mr. Faouzi Maamer Product Owner

Mm.Hammemi Imen Scrum Master

Taboubi Mahdi &Taha maaroufi Equipe

5.4. Backlog duProduit :


Nous commençons par définir le backlog qui est l’artefact le plus important de Scrum, il consiste en
une liste de fonctionnalités à réaliser il appelée aussi les « User Stories ».
Chaque fonctionnalité est caractérisée par un numéro ID, un thème, une priorité et une estimation de
l’effort nécessaire à une équipe pour l’implémenter.
Nous choisissons de représenter la priorité suivant la méthode « Moscow » qui a pour signification :
M : « Must have » toutes les fonctionnalités qui sont indispensables et nécessaires.

S : « Should have » les tâches qui sont essentielles, mais pas obligatoires, elles seront développées
une fois que celles de la catégorie Must ont été livrées.

C : « Could have » ce sont des tâches qu’ont les faits seulement s’il reste assez de temps

24
W: « Won ’t have This time but would like in the future » ce sont les tâches supplémentaires, très
secondaires.

Tableau 6 : Backlog du produit

ID Thème Histoire d’utilisateur Propriété Complexité

En tant qu’équipe de développement, Nous


0 Recherche et M Difficile
allons chercher et se documenter des outils et de
Autoformation
matériels technologie pour la réalisation de notre
projet.

En tant qu’utilisateur, Je veux s’authentifier pour


1 Authentification M Moyenne
accédés à son espace privé.

En tant qu’administrateur, Je veux créer un


2 Gérer Utilisateur M Moyenne
compte pour les utilisateurs.

En tant qu’administrateur, Je veux modifier les


3 Gérer Utilisateur M Moyenne
données des utilisateurs.

En tant qu’administrateur, Je veux supprimer un


4 Gérer Utilisateur M Moyenne
utilisateur.

En tant qu’administrateur, Je veux consulter un


5 Gérer Utilisateur M Moyenne
profil utilisateur.

En tant qu’utilisateur, Je veux consulter son


6 Gérer Profil M Moyenne
profil.

En tant qu’utilisateur, Je veux modifier les


7 Gérer Profil M Moyenne
données de son profil.

En tant que responsable maintenance, Je veux


8 Supervision M Moyenne
superviser la machine.
machine
En tant qu’administrateur, Je veux superviser la
machine.
En tant que responsable productivité, Je veux
9 Supervision M Moyenne
contrôler la performance du produit.
performance
En tant qu’administrateur, Je veux contrôler la
produit

25
performance du produit.
En tant que responsable de qualité, Je veux
10 Supervision l’état M Moyenne
contrôler l’état du produit.
du produit
En tant qu’administrateur, Je veux contrôler
l’état du produit.
En tant que responsable maintenance, Je veux
arrêter la machine.
En tant que responsable de qualité, Je veux
11 Commande M Moyenne
machine arrêter la machine.
En tant que responsable productivité, Je veux
ouvrir et fermé la machine.
En tant qu’administrateur, Je veux ouvrir et
fermé la machine.
En tant que responsable de sécurité et
Consulter les
responsable de qualité, Je veux consulter les
12 données de M Moyenne
données et l’état de l’environnement.
l’environnement
En tant qu’administrateur, Je veux consulter les
données et l’état de l’environnement.
En tant que responsable de qualité, Je veux
consulter l’historique.
En tant que responsable de productivité, Je veux
13 Consulter M Moyenne
l’historique consulter l’historique.
En tant que responsable de maintenance, Je veux
consulter l’historique.
En tant qu’administrateur, Je veux consulter
l’historique.
En tant que responsable de sécurité, Je veux
14 Commander commander les fenêtres, les ports et les M Moyenne
ventilateurs.
En tant qu’administrateur, Je veux commander
les fenêtres, les ports et les ventilateurs.

26
En tant que responsable de qualité, Je veux
recevoir des messages d’alertes.

En tant que responsable de productivité, Je veux


reçoit des messages d’alertes.
M Moyenne
15 Recevoir les En tant que responsable de maintenance, Je veux
alertes
recevoir des messages d’alertes.

En tant que responsable de sécurité, Je veux


recevoir des messages d’alertes.

En tant qu’administrateur, Je veux recevoir des


messages d’alertes.

5.5. Planification des Sprints


Les histoires des utilisateurs prédéfinies dans le Product backlog sont triées par priorité et valeur
métier. L'objectif est de mettre en œuvre ce qui est le plus précieux en premier.
Après rencontre avec l'équipe, nous avons identifié quatre sprints et quatre réalisations, dans ce
tableau nous les présentons :

Tableau 7 : Planification des Sprints

Réalise Sprint Durée

Sprint 0 : Recherche et autoformation


Réalise 1 Sprint 1 : Authentification
4 Semaines
Sprint 2 : Gérer utilisateur

Sprint 3 : Gérer profil

Sprint 4 : Supervision de la machine


Sprint 5 : Supervision performance de produit
Réalise 2 6 Semaines

Sprint 7 : Consulter l’état de l’environnement


4 Semaines
Réalise 3

27
Sprint 8 : Consulter l’historique

Sprint 9 : Recevoir les alertes


2 Semaines
Réalise 4 Sprint 10 : Commander

6. Conclusion
Dans de ce chapitre, nous avons présenté les différents acteurs du produit ainsi lebacklog du produit en
spécifiant les différentes fonctionnalités qui le composent.
Dans le chapitre suivant, nous parlerons de la conception globale de notre projet et des matériaux que
nous avons choisis.

28
Chapitre 3 : Conception Générale et Choix Matériels
1. Introduction :
Après avoir définit 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.

2. L’architecture de l’application
L’architecture de l’application qu’on est en train de la développer est fondée essentiellement sur la
technologie internet of things, En effet se principe consiste à diviser l’application en troisièmes parties
principalement, qui communiquent entre eux pour relier le monde tangible des objets au monde virtuel
des réseaux et du Cloud.

 Capteurs : les capteurs commencent par la détection des valeurs


 Carte Arduino : traitement des données et commander le système
 ESP32 : traitement de données et commander le système
 Les actionneurs : les moteurs, des leds et ventilateurs, LCD
 Partie client : L’utilisateur bénéficie, d’une interface dédiée sur une application 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.1. Partie Hardware


Pour manipuler le fonctionnement de la partie hard avec succès ont utilisé les matériels suivants :
2.1.1. Etude fonctionnelle

Le système de supervision d'une industrie agroalimentaireest essentiel pour garantir la qualité et la


sécurité des produits alimentaires qui sont produits, transformés et distribués aux consommateurs.
Pour garantir la qualité et la sécurité de leursproduits il faut contrôler et superviser la machine de
fabrication des produits et sécuriser l’environnement de stockage.
La supervision de machine de fabrication est présentée dans cette grafcet :
29
Figure 17 : Le grafcet de machine

La sécurité et la supervision de l’environnement est conçu l’aide d’un microcontrôleur et un


ensemble des capteurs tel que : capteur de gaz pour récupérer les fuites de gaz toxiques,capteur
de température, une partie de télésurveillance et afficheur LCD graphique,unsystème
d’alarme pour invertir l’utilisateur de l’existence de risque à travers un buzzer et unmodule de
communication avec l’utilisateur.
…………….

30
2.1.2. 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 18 : Choix de Carte

En recherchant des cartes programmables, nous avons découvert que de 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.
Dans ce qui suit, nous présentons les différentes cartes électroniques utilisées, parmi ces cartes on
peut citer :

31
Tableau 8 : Les différentes cartes électroniques

Nom de la carte Arduino Raspberry Pi STM32 NodMcu ESP32


UNO ESP8266

Naissance 2005 2012 2007 2014 2016

Prix (Dollars) 30 Moins de 40 10

Processeur ATmeg32 CPU intégrée Cortex RISC à 32 bits Tensilica


Xtensa LX6
8bits

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

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

Consommation 0.5 W 3.5 W Basse Basse Basse


(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’exploitation

A. Analyse du tableau comparatif

En tenant compte du tableau 8 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.

32
On a décidé donc de travailler sur la carte ESP32 et 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,UARTetc. 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 FrameworkIOT,
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.
 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 19 : Carte esp32

33
2.1.3. 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 9 : Les caractéristiques générales d'un capteur

Les caractéristiques

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

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

Ci-dessus on présente les capteurs disponibles sur le marché qu’on va utiliser afin de réaliser
notre travail :
A. Capteur de gaz
Le capteur de gaz est utilisé pour la détection des fuites de gaz pour les équipements des
marchés de grandes consommations et industriel.
a. Les caractéristiques généralesd'un capteur de gaz
Le tableau suivant contient les caractéristiques principales générales d’un capteur de gaz :

Tableau 10 : Les caractéristiques générales d'un capteur de gaz

La sensibilité Lien entre les variations de signal du capteur et la concentration en gaz


cible

Limite de sensibilité Concentration minimale détectable en gaz cible

Sélectivité Aptitude à détecter le gaz cible à l’exclusion de tout autre

Temps de réponse Temps requis pour atteindre 90 % de la réponse en régime après mise en
contact avec le gaz à détecter

Temps requis pour revenir à la valeur de base du signal après évacuation


Temps de récupération du gaz.

Période pendant laquelle les caractéristiques du capteur permettent son


Durée de vie utilisation avec un degré de précision suffisant (dépend de l’exigence de
l’application)

Consommation Puissance absorbée par le capteur en fonctionnement.

Dans notre enivrement la fuite de gaz est un problème quotidien et a plusieurs risques c’est pour
cela là le choix de capteur doit être bien précis et ceci en fonction des critères suivants :

 Temps de réponse
 Précision
 Durée de vie compatible avec les cartes : Arduino, Esp32, Raspberry… .
 Coût
 Disponibilité
 Facilité d’installation
 Facilité de programmation

Tableau 11 : Choix de capteur de gaz

Capteurs Type de gaz Domaine Caractéristiques Techniques d’un chaque


de gaz détecté par les d’application capteur de gaz
capteurs

 Alimentation : 5VCC
o GPL Détecteur de
 Sortie : analogique et numérique
o Gaz Naturel fuite de gaz
 Tempe de réponse rapide et haute sensibilité
MQ5 o Charbon Gaz
 Longue durée de vie et bonne stabilisation
o Gaz de ville
 Dimensions 42/42/34 mm
 Détection de gaz : 300 PPM à 1000PPM
 Température de fonctionnement 50°

 Alimentation : 5VCC
 Sortie : analogique
 Tempe de réponse rapide et haute sensibilité
 Longue durée de vie et bonne stabilisation
MQ2 o L’alcool Détecteur de
 Dimensions 37/27/20 mm
o L’éthanol fuite de gaz

35
 Détection de gaz : 300 PPM à 1000PPM
 Température de fonctionnement 50°

 Alimentation : 5VCC
MQ7 De Monoxyde de Moniteur de
carbone Monoxyde de  Sortie : analogique

carbone  Tempe de réponse rapide et haute sensibilité

 Longue durée de vie et bonne stabilisation

 Dimensions 37/27/20 mm

Le choix de capteur de gaz est fixé sur MQ2 selon :


Ce capteur détecte la concentration du gaz et renvoie sa valeur sous la forme d’une tension
analogique.
Il a une grande sensibilité et un temps de réponse rapide.

Figure 20 : Capteur de gaz / Fumée MQ2

b. Caractéristiques de MQ2

Tableau 12 : Caractéristique de Capteur de gaz MQ2

 Circuit de pilotage simple.


Caractéristiques
 Stable et durable.
(MQ2)
 Type d’interface analogique ou numérique.
 Haute sensibilité au GPL, gaz naturel et gaz de ville.
 Temps de réponse rapide.
 Utile pour détecter à la maison et dans l’industrie.

36
 Faible alimentation : 3V ou 5V.

B. Capteur de température et humidité


Les capteurs de température sont des dispositifs qui convertissent l'effet du chauffage ou du
refroidissement sur leurs composants en un signal électrique.
Il existe plusieurs types de capteurs de température dont le choix dépend des caractéristiques
techniques dont le plus importants sont illustre dans le tableau ci-dessous :

Tableau 13 : Choix de Capteur de Température

Nom des capteurs Caractéristique Technique

- Température : entre 0 et 50 °C
- Humidité : entre 20 et 90 %
DHT11
- Dimensions : 16 x 12 x 7 mm
- Communique avec un microcontrôleur via un port série
- Alimentation 5v

- Température : de 0° à 100°C.
- Utilisé pour détecter la température de l'air ambiant
- Tension de sortie est proportionnelle à la température.
LM35
- Peu couteux
- Précise
- Alimentation 3v à 30v

- Température : entre 0 et 100°C


- Sensible à bruit
Thermocouples
- Coûte
- Précise
- Signal de sortie faible

37
Le choix de capteur de température est fixé sur DHT11 selon :
Le DHT11 est composé d'un capteur et une petite résistance, il a 3 broches ce qui offre un
moyen d’être connecté simplement sur une plaque d’essai.

Figure 21 : Capteur de Température et Humidité DHT11

a. Caractéristique de capteur DHT11

Tableau 14 : Caractéristique de capteur de température et humidité DHT11

 Alimentation : 5.5 V
Caractéristique
 Température : 50°C
(DHT11)
 Humidité : de 20 à 96 %

C. Capteur de fin de course


C’est un capteur de contact (ouvert ou fermé) identique à un interrupteur, il est souvent utilisé
pour connaitre une position. Il est aussi un bouton poussoir actionné par un mouvement mécanique.

Figure 22 : Capteur fin de course

38
a. Caractéristiques de capteur fin de course

Tableau 15 : Caractéristiques de Capteur de fin de course

 Sécurité de fonctionnement élevé : fiabilité des contacts.


Caractéristique
 Tension d'emploi élevée.
(Capteur fin de course)
 Bonne fidélité sur les points d'enclenchement.
 Grande résistance aux ambiances industrielles.

2.1.4. Choix de bouton


A. Bouton poussoir
Un bouton est utilisé pour contrôler les circuits et les moteurs, permettant le courant ou le
blocage.
Il existe 3 modèles d'interrupteurs à bouton-poussoir :
• Bouton simple : Il s'agit d'un interrupteur à bouton unique.
• Double bouton : Il s'agit d'un interrupteur à deux boutons.
• Bouton lumineux : Le voyant lumineux sur l'interrupteur vous permet de le localiser dans
l'obscurité.

a. Les avantages du bouton poussoir

Il est très petit et


compact

Il est durable et fiable

Son installation est très


simple

Figure 23 : Les avantages d'un bouton-poussoir

39
2.1.5. 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… .

A. 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 :

Tableau 16 : Choix de Buzzer

Type de Buzzer Les caractéristiques de Buzzer

 Ce modèle est activé en leur appliquant une pression avec une partie
A fréquence fixe 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 dans un circuit électronique car il
A fréquence variable faut générer le signal é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 24 : Buzzer électrique

40
2.1.6. 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 17 : Les caractéristiques techniques des LCD graphique

LCD graphique Caractéristique

 Résolution 240* 320 pixels


 Possibilité d’afficher 262000 couleurs
LCD 2,16 Arduino
 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’afficheurLCD 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 25 : Afficheur LCD 2.16

41
2.2. Partie logicielle
2.2.1. Arduino IDE
L'IDE Arduino est un environnement de développement logiciel utilisé pour programmer
les cartes Arduino.
Voici des informations sur lui :
Interface utilisateur : Arduino IDE fournit une interface simple et conviviale conçue
spécifiquement pour la programmation des cartes Arduino. Il comprend un éditeur de
code, une console d'impression et une barre d'outils pour faciliter le développement.
Langage de programmation : Arduino IDE utilise le langage de programmation C.
Bibliothèques : L'IDE Arduino comprend un ensemble de bibliothèques standard qui
fournissent des fonctions et des exemples de code pour faciliter le développement.
Compiler et télécharger: L'IDE Arduino prend en charge le processus de compilation
du code source. Il permet également de télécharger le programme compilé sur la carte
Arduino via une connexion USB.

Figure 26 : Arduino IDE

2.2.2. Proteus Professional


Proteus Professional est un logiciel de conception, de simulation et d'implantation de
circuits électroniques. Il est utilisé pour concevoir et tester des circuits électroniques avant
leur construction physique.
Il offre une variété de fonctionnalités, notamment la capture de schémas, la simulation
virtuelle et la conception.

42
Figure 27 : Proteus Professional

2.2.3. Visual Studio Code


Visual Studio Code est un éditeur de code puissant et polyvalent qui offre un certain nombre
de fonctionnalités et d'extensions pour répondre aux besoins des développeurs. Sa légèreté, sa
rapidité et sa flexibilité en font un choix populaire pour la programmation dans de nombreux
langages et pour divers projets de développement.

Figure 28:Visual studio code

2.3. Langage et technologie utilisé


2.3.1. Flutter :

Flutter est un Framework open-source développé par Google qui permet de créer des
applications multiplateformes pour mobile, web et bureau en utilisant une base de code unique.

43
Voici quelques points clés à connaître sur Flutter :

 Développement multiplateforme : Flutter permet aux développeurs d'écrire du code une


seule fois et de le déployer sur plusieurs plates-formes telles qu’Android, IOS, le web et le
bureau.
 Langage de programmation Dart : Flutter utilise le langage de programmation Dart,
également développé par Google. Il est reconnu pour sa simplicité, son efficacité et sa facilité
d'apprentissage.
 Écosystème riche et communauté active : Flutter dispose d'un écosystème croissant de
packages et de bibliothèques qui fournissent des solutions prêtes à l'emploi pour diverses
fonctionnalités.
 Widgets : Flutter utilise une approche basée sur les widgets pour construire des interfaces
utilisateur. Les widgets sont les éléments constitutifs des applications Flutter, représentant
des éléments d'interface utilisateur de base ainsi que des mises en page complexes. Flutter
offre une large gamme de widgets personnalisables pour créer des interfaces utilisateur
attrayantes et réactives.
 Hot Reload : Elle permet aux développeurs d'apporter des modifications au code et de voir
instantanément les résultats dans l'application, sans redémarrer toute l'application, ce qui
rend le processus de développement plus rapide et plus efficace.
 Performances : Les applications Flutter sont réputées pour leurs performances élevées grâce
au moteur de rendu sous-jacent appelé Skia. Flutter contourne les composants d'interface
utilisateur natifs et rend directement sa propre interface utilisateur, ce qui permet d'obtenir
des applications fluides et réactives.

Figure 29:Flutter

2.3.1. Dart:
Dart est un langage de programmation développé par Google, qui est utilisé principalement
pour le développement d'applications mobiles avec Flutter. Il est conçu pour être facile à
apprendre, expressif, performant et sûr.

44
Voici quelques caractéristiques et avantages de Dart :

 Typage fort : Dart est un langage à typage statique, ce qui signifie que les types des variables
sont vérifiés lors de la compilation cela permet de détecter certaines erreurs avant
l'exécution du programme.
 Orienté objet : Dart est un langage orienté objet, ce qui signifie qu'il permet de définir des
classes, d'hériter de classes existantes.
 Syntaxe familière : La syntaxe de Dart est similaire à celle de nombreux autres langages de
programmation, ce qui facilite son apprentissage pour les développeurs ayant déjà une
expérience dans d'autres langages tels que Java, JavaScript ou C#.

Figure 30:Langage Dart

2.3.2. Firebase :
Firebase est une plateforme de développement d'applications mobiles et web. Ellepermet aux
développeurs de créer des applications robustes et évolutives grâce à les services et d'outils Cloud.
Elle a beaucoup des fonctionnalités notamment :
Base de données en temps réel : Elle est une base de données Cloud en temps réel qui
permet de synchroniser les données entre les clients et le serveur en temps réel.
Authentification des utilisateurs : Firebase authentification offre des fonctionnalités
d'inscription et de connexion sécurisées.
Stockage de fichiers : Firebase Storage permet de stocker et de récupérer des fichiers, tels
que des images, des vidéos et des documents, de manière sécurisée.

45
Figure 31:Firebase

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.

46
Chapitre 4 : RéaliseI
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.

2. Analyse de la réalise 1
La réalise 1 est composé par quatre sprints, le premier sprint représente une étape importante et
prioritaire pour la réalisation de notre projet, le deuxième sprint présente la partie authentification
des utilisateurs, le troisième sprint pour la gestion des utilisateurs et le dernier sprint présente la
gestion de profile.
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 réalise :

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

47
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 18 : Sprint Backlog

Histoires de l’utilisateur Type Semaine

Faire une comparaison entre les produits


Histoire technique 4 semaines
similaires qui existent sur le marché.

Spécification des besoins fonctionnels et 2 semaines


Histoire technique
non fonctionnels.

Choix des technologies et les outils de 3 semaines


Histoire technique
travail.

Installation du logiciel nécessaire : Proteus, 4 semaines


Histoire technique
vs code, Arduino IDE, flutter.

Installation des bibliothèques nécessaires. Histoire technique 3 semaines

2.2. Sprint 1 : S’authentifier


2.2.1. Sprint Backlog
Le sprint 1 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 19 : Histoire de l'utilisateur de sprint 1

Histoire de l’utilisateur Type Semaine

En tant qu’utilisateur, admin, responsable


Histoire de
maintenance, responsable sécurité, responsable
l’utilisateur
qualité et responsable productivité, je veux me
connecter afin d’accéder à mon tableau de bord

48
En tant qu’utilisateur, je veux consulter mon profil Histoire de
afin de vérifier mes informations personnelles l’utilisateur

Histoire de
En tant qu'utilisateur, je veux me déconnecter
l’utilisateur

2.2.2. Expression des besoins


L'expression des besoins dans le contexte du sprint 1, 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 quelques exemples d'expressions des besoins pour le sprint 1 :

 En tant qu'utilisateur, je veux pouvoir saisir mon nom d'utilisateur ou mon adresse e-mail
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.
Cette figure représente le cas d'utilisation de l'authentification

2.2.3. Diagramme de cas d’utilisation


2.2.4.

Figure 32 : Diagramme de cas d'utilisation de


sprint 1
Description textuelle

49
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 20 : Description textuelle « s’authentifier »

Cas d’utilisation Authentification


Acteurs Admin, Utilisateur
Précondition L’acteur lance l’interface d’authentification
Post condition L’acteur s’authentifie
Description Ce cas d’utilisation permettra à l’acteur d’authentifier
Scenario nominal 1. L’acteur saisit dans les champs du formulaire l’email 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 l’adresse et le mot de passe :
Exception  Le système affiche un message d’erreur
E2 : si l’adresse 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 21 : Description textuelle « se déconnecter »

Cas d’utilisation Se déconnecter


Acteurs Admin, Utilisateur
Précondition L’acteur clique sur le bouton de déconnexion
Post condition Acteur déconnecté
Description Ce cas d’utilisation permettra à l’acteur de se déconnecter

2.3. Sprint 2 :Gérer utilisateurs


L'objectif de ce sprint de réaliser la gestion des utilisateurs qui permet à l’admin d’enregistrer
leur information dans leur propre compte et appliquer des autres tâches.

50
2.3.1. Sprint Backlog
Ce tableau représente les histoires de l'utilisateur de ce sprint 2.

Tableau 22 : Histoires de l’utilisateurde sprint 2

Histoires de l'utilisateur Type Semaine

En tant qu’administrateur, je veux ajouter un Histoire de


nouvel utilisateur. l'utilisateur

En tant qu’administrateur, je veux supprimer un Histoire de


utilisateur. l'utilisateur

En tant qu’administrateur, je veux consulter les Histoire de


utilisateurs. l'utilisateur

2.3.2. Expression des besoins


L'expression des besoins dans le contexte du sprint 2, qui se concentre sur la gestion des
utilisateurs, consiste à identifier et à décrire clairement les fonctionnalités et les exigences
spécifiques liées à cette partie de l'application.
Voici quelques exemples d'expressions des besoins pour ce sprint :

 En tant qu'administrateur : je veux pouvoir créer de nouveaux comptes utilisateurs en


fournissant leurs informations de base telles que le nom, l'adresse e-mail et le rôle.
 En tant qu'administrateur : je veux pouvoir modifier les informations des utilisateurs existants,
y compris leur nom, leur adresse e-mail et leur rôle.
 En tant qu'administrateur : je veux pouvoir supprimer des utilisateurs du système si
nécessaire.
 En tant qu'administrateur : je veux pouvoir attribuer des rôles spécifiques aux utilisateurs, tels
que les rôles d'administrateur, d'utilisateur standard, etc.
 En tant qu'administrateur : je veux pouvoir consulter la liste des utilisateurs enregistrés dans le
système, avec leurs informations de base et leur statut.

2.3.3. Diagramme de cas d’utilisation


La figure ci-dessous présente une vue raffinée du cas d’utilisation « Gérer les utilisateurs»

51
Figure 33:Diagramme de cas d'utilisation de sprint 2 « Gérer utilisateurs »

2.3.4. Description textuelle

Ce tableau représente la description détaillée du cas d'utilisation «Ajouter utilisateur »


Tableau 23 : Description textuelle « Ajouter utilisateur »

Cas d’utilisation Ajouter un utilisateur


Acteur Administrateur
Précondition L’administrateur est authentifié
Post condition Client ajouté
Description Ce cas d’utilisation permettra à l’admin d’ajouter un utilisateur.

1. L’appui sur le bouton « Ajouter un utilisateur ».


2. L’interface de l’ajout s’affiche.
Scenario nominal 3. L’insertiondesinformationsdenouvelutilisateuràajouter.
4. L’admin appui sur le bouton « ajouter ».
5. L’enregistrement de nouvel utilisateur.
E1 : Si l'administrateur n'a pas bien rempli le formulaire :
 Le système affiche un message d'erreur
Exceptions
E2 : Si l'utilisateur est déjà existé (nom, adresse) :
 Le système annule l'action et affiche un message d’erreur
Ce tableau représente la description détaillée du cas d'utilisation «Supprimer utilisateur »
Tableau 24 : Description textuelle « Supprimer utilisateur »

Cas d’utilisation Supprimer un utilisateur

Acteur Administrateur

52
Pré condition L’administrateur est authentifié.

Post condition Utilisateur supprimé.

Description Ce cas d’utilisation permettra à l’admin de supprimer un utilisateur.

1. L’appuie sur le bouton « Supprimer utilisateur ».


Scenario nominal 2. La suppression de profil utilisateur.

2.3. Sprint 3 : Gérer profil


L'objectif de ce sprint est de permettre à l'utilisateur gérer son profil et peux affecter des
autres tâches.

2.3.1. Sprint backlog


Ce tableau représente les histoires d’utilisateur de sprint 3 :

Tableau 25 : User Story de sprint 3

Histoires d’utilisateur Type Semaine

En tant qu’utilisateur, je veux consulter mon Histoire d’utilisateur


profil personnel.

En tant qu’utilisateur, je veux modifier mes Histoire d’utilisateur


informations personnelles.

2.3.2. Expression des besoins


L'expression des besoins dans le contexte de la gestion des profils se concentre sur les
fonctionnalités et les exigences spécifiques liées à la gestion des informations personnelles des
utilisateurs dans l'application.
Voici les d'expressions des besoins pour la gestion des profils :
 En tant qu'utilisateur, je veux pouvoir afficher et mettre à jour mes informations
personnelles telles que mon nom, mon adresse, etc.

53
2.3.3. Diagramme de cas d’utilisation

54
Figure 34: Diagramme de cas d'utilisation de Sprint 3

2.3.4. Description textuelle


Ce tableau représente la description détaillée du cas d'utilisation «Consulter profil »

Tableau 26 : Description textuelle du cas d'utilisation «Consulter profil »

Cas d’utilisation Consulter profil


Acteur Utilisateur
Précondition Visualiser son profil
Post condition Données observer
Description Ce cas d’utilisation permettra à l’utilisateur de consulter son profil
personnel

1. L’utilisateur choisit le menu « Profil ».


Scénario nominal 2. Le système affiche ses données.

Ce tableau représente la description détaillée du cas d'utilisation «Modifier les données »


Tableau 27 : Description Textuelle du cas d'utilisation «Modifier profil »

Cas d’utilisation Modifier les données


Acteur Utilisateur
Précondition Modifier les données
Post condition Données Modifier
Ce cas d’utilisation permettra à l’utilisateur de modifier ses données
Description
personnelles

1. Le client choisit le menu « Modifier le profil ».


Scénario nominal 2. Le client fait ses modifications.
3. Le système enregistre les modifications.

2.4. 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.

55
2.4.1. Diagramme de séquences « S’authentifier » (système)
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ésentele digramme de séquence de l’authentification :

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

2.4.2. Diagrammedeséquenceobjet«Gérerlesutilisateurs»
La figure ci-dessous représente le diagramme de séquences du cas d’utilisation « Gérerles
utilisateurs»

56
Figure 36:Diagramme de séquence « Gérer utilisateur »

Diagramme de classe

2.5. Réalisation :
Dans cette partie nous allons présenter les interfaces des applications mobiles
2.5.1. Interface du cas d’utilisation « S’authentifier »
L’ors de l’ouverture de l’application une interface d’accueil s’affiche

57
Figure 37:Interface d'accueil
Ceci l’interface d’authentification, l’utilisateur saisie son émail ou son identifiant et son mot
de passe et clique sur le bouton « Se Connecter » pour accéder à son compte crée
précédemment, comme la montre les figures suivantes :

58
Figure 38:Interface login

Figure 39:Interface crée compte

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.

59
Chapitre 5 : Réalise II « produit en production »
1. Introduction
Dans le chapitre précédent, nous avons défini ce qu'est un sprint : une succession de tâches
effectuées par les parties prenantes de la méthodologue Scrum afin d'atteindre l'objectif prédéfini par
l'équipe. Le chapitre en cours quant à lui traiter les "users stories" de notre sprint en les classant dans
des features qui pourront s'intégrer à une release et repartis en users stories. Une question s’impose
avant même d'initier le premier sprint : « Pourquoi faisons-nous ce sprint ?». La réponse devra être
compréhensible, non pas au sein de l'équipe, mais surtout en dehors

2. Analyse de la réalise 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 40 : Diagramme de cas d’utilisation Release 2

2.1. Diagramme des cas d’utilisation du Sprint 4


La méthodologie basée sur le prototypage consiste à traiter des fonctionnalités. Il s’agira pour
nous de la collecte de différentes « users stories » sous une seule et unique fonctionnalité.

Au début de chaque itération, on schématise la spécification fonctionnelle par un diagramme de


cas d’utilisation. Celle-ci permettra une vue d’ensemble du système et définira les liens et
interactions entre les utilisateurs et les fonctionnalités qu’il propose.

59
La figure 38 illustre le diagramme de cas d’utilisation initiale du premier sprint. L’utilisateur
aura l'accréditation d’accéder à la plateforme en utilisant un login et un mot de passe pour consulter
l’état de l’environnement en temps réel

Figure 41 : Diagramme de cas d’utilisation Sprint 4 « Superviser machin »

2.1.1. Analyse des cas d’utilisation de sprint 4


Afin de mieux assimiler les cas d’utilisation, nous avons établi leurs raffinements pour livrer
une description sur les différents scénarios possibles. Ces descriptions textuelles ont permis de
dessiner les scénarios d’exécution de chaque user Case qui permet de mettre ensuite la création des
diagrammes de séquence système simple et facile.

L'opérateur peut effectuer la surveillance à distance via une connexion internet ou un réseau
privé, en utilisant des technologies de communication wifi.

En fonction de la complexité de la machine, des fonctionnalités supplémentaires peuvent être


disponibles, telles que la génération de rapports, l'historique des données, l'analyse prédictive, etc.

 Description textuelle du cas d’utilisation « Superviser machine »

Le tableau suivant présente une description textuelle du cas d'utilisation "Superviser machine" :

Tableau 28 : Description textuelle de « Superviser machine »

Cas d’utilisation Superviser machine


Acteur Utilisateur

60
Précondition Visualiser les données machine
Post condition Données observer
Description Ce cas d’utilisation permettra à l’utilisateur de Surveiller
lefonctionnement d'une machine ou d'un équipement pour garantir
son bon état de fonctionnement et prendre des mesures correctives
en cas de besoin.

1. L’utilisateur choisit le menu « machine ».


Scénario nominal
2. Le système affiche en temps réel les différentes variables et
paramètres de la machine tels que le nombre d’appui sur le
bouton d’urgence l’état de machine le niveau de production,
etc.

3. L'opérateur surveille attentivement les données en temps


réel et vérifie si les valeurs sont conformes aux normes et
aux seuils prédéfinis.

2.1.2. Analyse de partie matériel de supervision machine :


Dans cette partie nous allons mettre en place une description d'un montage comprenant
des boutons de démarrage, d'arrêt et d'arrêt d'urgence, ainsi qu'une carte ESP32 pour
superviser une machine à distance via une application mobile avec l’affichage des résultats
sur LCD :
Le montage comprend les éléments suivants :
o Bouton de démarrage de la machine : Comme décrit précédemment, ce bouton
est utilisé pour démarrer la machine ou l'équipement. Lorsque l'opérateur
appuie sur ce bouton, il envoie un signal au système de contrôle pour mettre la
machine en marche.
o Bouton d'arrêt de la machine : Ce bouton est utilisé pour arrêter la machine de
manière contrôlée. Lorsque l'opérateur appuie sur ce bouton, il envoie un
signal au système de contrôle pour arrêter progressivement la machine en
suivant une procédure sûre.
o Bouton d'arrêt d'urgence : Comme précédemment mentionné, ce bouton est
utilisé pour arrêter immédiatement la machine dans des situations d'urgence ou
de danger. Lorsque l'opérateur appuie sur ce bouton, il envoie un signal d'arrêt

61
d'urgence directement au système de contrôle, ce qui arrête immédiatement
toutes les opérations de la machine.
Carte ESP32 : Il s'agit d'un microcontrôleur intégré avec des fonctionnalités de
connectivité sans fil, telles que le Wi-Fi et le Bluetooth. La carte ESP32 est utilisée pour
permettre la communication entre la machine et une application mobile.
Le fonctionnement global du montage est le suivant :
L'opérateur utilise l'application mobile pour se connecter à la carte ESP32 via une
connexion Wi-Fi.
L'application affiche les données en temps réel de la machine, permettant à l'opérateur
de surveiller la machine à distance.
L'opérateur peut utiliser les boutons de démarrage, d'arrêt et d'arrêt d'urgence dans
l'application pour envoyer des signaux à la carte ESP32.
La carte ESP32 reçoit les signaux des boutons de l'application et les transmet au
système de contrôle de la machine.
Le système de contrôle de la machine réagit en conséquence en démarrant, arrêtant ou
effectuant un arrêt d'urgence de la machine.

Figure 42 : Câblage partie supervision machine

62
2.2. Diagramme des cas d’utilisation du Sprint 5
La figure 40 illustre le diagramme de cas d’utilisation initiale du sprint 5. L’utilisateur aura
l'accréditation d’accéder à la plateforme en utilisant un login et un mot de passe pour visualiser la
performance de machine

Figure 43 : Câblage partie supervision machine

 Description textuelle du cas d’utilisation « Superviser performance produit »

Le tableau suivant présente une description textuelle du cas d'utilisation "Superviser


performance produit" :

Tableau 29:Description textuelle de « Superviser performance produit»


Titre Consulter les données

Acteurs Utilisateur

Précondition

L’utilisateur consulte les performances de produit

Scénario nominal

 L’Utilisateur consulte son espace de produit


 L’Utilisateur clique sur Dashboard « produit».
 Le système affiche les données

2.2.1. Analyse de partie matériel de supervision performance machine :

Ce montage permet une supervision à distance pratique et en temps réel de la performance de


produit, offrant une flexibilité accrue et une réactivité rapide aux opérations de contrôle. Il facilite

63
également la surveillance de la machine depuis n'importe quel endroit équipé d'une connexion Wi-
Fi, ce qui peut être utile dans des scénarios où l'opérateur ne peut pas être physiquement présent à
l’état de produit si le produit ok la led verte s’allume si le produit non ok la led rouge s’allume

Figure 44 : Câblage partie supervision performance produit

3. Conception
Dans cette partie nous allons présenter les diagrammes de séquence des deux sprint 4 et 5 ainsi
que le diagramme de classe

3.1. Diagramme de séquence superviser machine


Ce diagramme de séquence modifié inclut la communication entre l'opérateur ou l'appareil
mobile et la carte ESP32, qui agit comme un intermédiaire entre l'appareil mobile et le système de
contrôle de la machine. L'opérateur se connecte à la carte ESP32 via une connexion Wi-Fi et envoie
une demande de supervision de la machine. La carte ESP32 traite la demande, récupère les données
de la machine en temps réel et les transmet à l'application mobile pour affichage. L'opérateur utilise
ensuite les boutons de l'application pour envoyer des commandes à la carte ESP32, qui les transmet
au système de contrôle de la machine. Le système de contrôle réagit en conséquence aux
commandes reçues.

64
Figure 45 : Diagramme de séquence « superviser machine »

3.2. Diagramme de séquence superviser performance produit


Ce diagramme de séquence représente les interactions entre l'utilisateur ou le responsable de
supervision et le système de supervision lors de la surveillance des performances d'un produit.
L'utilisateur accède à l'interface de supervision, sélectionne le produit à superviser, puis demande les
données de performance du produit sélectionné. Le système de supervision récupère les données de
performance du produit à partir des capteurs ou du système de suivi, puis les analyse. Ensuite, le
système affiche les résultats de l'analyse à l'utilisateur.

65
Figure 46 : Diagramme de séquence « superviser performance produit »

66
3.3. Diagramme de classe

3.4. Simulation isis


Cette interface présente la simulation isis

Figure 47:Simulation ISIS

67
4. Réalisation
Dans cette partie nous allons présenter les interfaces de l’application mobile et le prototype
réel

Figure 48:Prototype Réel

Figure 49:Interface machine

68
5. Conclusion
Tout à long de ce chapitre, nous avons réussi à réaliser notre deuxièmerelease l’analysé et pu
développer. Dans le prochain chapitre, notre effort sera focalisé sur la réalisation de notre troisième
sprint

69
Chapitre 6 : Réalise III « produit en Stockage »
1. Introduction
Le troisiè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 est la supervision de
l’environnement de stockage de produitet le sprint pour la consultation d’historique
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.

2. Analyse de la réalise 1
La figure suivante présente le diagramme global du réalise3 :

Tableau 30:Description recevoir une notification »


Titre Consulter une notification

Acteurs Utilisateur

Précondition

L’Utilisateur consulte la notification

Scénario nominal

 L’Utilisateur choisi l’environnement puis clique sur le « Dashboard ».


 Le système demande la confirmation de la liste de notification
 Le système fait la mise à jour et affiche notification.

70
3.1. Test matérielles des:
Dans cette partie, nous allons mettre le code Arduino du capteur de température DHT11

 Câblage dht11 et esp32

Figure 50:DHT11+ESP32
Dans cette figure nous allons montrer le code Arduino qui nous allons utiliser pour la test
de dht11

71
Figure 51:Code Arduino DHT11
Le figure ce dissous représente le résultat du capteur d’environnement de température et
humidité DHT11 Arduino

Figure 52:Résultats du DHT11

Dans la partie suivante, nous allons présenter la partie communication entre la carte Esp32 et
MQ2 pour la détection de fuite de gaz.

Figure 53:Test Esp32 et mq2


Cette interface est l’affichage des valeurs de gaz de notre capteur Mq2 dans le moniteur série

72
Figure 54:Resultats Mq2

 En cas de fuite de gaz :

Figure 55:Résultat de fuite de gaz

Figure 56: montage réel

73
L’interface suivante représente l’environnement de notre application mobile

Figure 57: Interface de l’environnement

4. Conclusion :
Dans ce chapitre on a dividé le rrealise en deux sprints , ensuite, nous avons détaillé les sprints
avec Product backlog spécifique avec l’expression des besoins, la conception et les interfaces
réalisées.

74
CONCLUSION GENERALE
Notre projet se concentre principalement sur la conception et la réalisation d'un système
de contrôle de fonctionnement d’un robot de contrôle et de supervision commandé à distance.
Ce système doit être capable de collecter des informations physiques via un capteur, de traiter
les données récupérées par un microcontrôleur, d'envoyer ces données à d'autres appareils via
un protocole réseau IoT.

L'utilisateur à la fin peut visualiser les données sur une application mobile. Selon cette
vision, notre projet se divise en trois parties principales :

Le premier a été consacré à l'étude et à la recherche détaillée de la technologie de


l'Internet des objets, nous avons décrit l'architecture de base d'un modèle IoT, ainsi que les
composants nécessaires à cette architecture et les couches de ce modèle, une bonne étude pour
conduire à la création d'un cahier des charges détaillé et à la détermination des problèmes à
résoudre.

Le second est le traitement du cahier des charges en commençant par l'étude du matériel
nécessaire avec les aspects techniques et fonctionnels de chaque matériau.

La troisième phase est la réalisation du projet.

Nous avons commencé par la mise en place des protocoles réseau pour connecter les
appareils et transférer les données récupérées du capteur vers …… ??

Enfin, nous nous concentrons sur la visualisation des informations depuis notre
application mobile. Bien sûr, de futures améliorations peuvent être apportées à ce projet pour
le rendre plus polyvalent, fiable et adaptable. En perspective, nous pourrons :

 Ajouter d'autres capteurs pour collecter plus de données et d'informations.

 Ajouter une fonction de prévision basée sur l'intelligence artificielle à notre système afin
qu'il puisse estimer les événements futurs.

75
Annexe

#define OK 7
#define NOTOK 5

unsigned long demarrage, arret, temps;


boolean comptant;
boolean buttonWasUp = true;
boolean ledEnabled = false;
int ld=12;
int etatActuel=0; // on enregistre l'état actuel du BP
int etatUltime=0; //on enregistre le dernier état du BP
int compteur=0; //on enregistre le nombre de fois qu'on appui le BP
int etatActuel1=0;
int etatUltime1=0;
int compteur1=0;
void setup() {
Serial.begin(9600);
pinMode(ld,OUTPUT); // la led nous indique le décompte
pinMode(11, INPUT); // bouton de démarrage
digitalWrite(11, HIGH); // on active la résistance pull up
pinMode(10, INPUT); // bouton d'arrêt
digitalWrite(10, HIGH); // on active la résistance pull up

Serial.println ("Bouton 1 pour démarrage et 2 pour arrêt");


comptant = false;
pinMode(13, OUTPUT);
pinMode(9, INPUT_PULLUP);
pinMode(8,OUTPUT); //pin où est branché la led configuré comme sortie

A
pinMode(OK,INPUT); //pin où est branché le BP configuré comme entrée
pinMode(6,OUTPUT); //pin où est branché la led configuré comme sortie
pinMode(NOTOK,INPUT); //pin où est branché le BP configuré comme entrée

void resultats(){
float h, m, s, ms;
unsigned long over;
temps = arret - demarrage;
h = int(temps / 3600000);
over = temps % 360000;
m = int(over / 60000);
over = over % 60000;
s = int(over / 1000);
ms = over % 1000;
Serial.print("Temps ecoule en milis: ");
Serial.println(temps);
Serial.print("Temps ecoule: ");
Serial.print(h, 0);
Serial.print("h ");
Serial.print(m, 0);
Serial.print("m ");
Serial.print(s, 0);
Serial.print("s ");
Serial.print(ms, 0);
Serial.println("ms ");
Serial.println();
}

void loop() {
if(digitalRead(11) == 1){ // attention nous sommes en PULL-UP

B
if(comptant){
Serial.println("On commence ");

digitalWrite(12,HIGH);
}else{
comptant = true;
demarrage = millis();
delay(200); // pour être rassurés
Serial.println("On y va...");
}
}
if(digitalRead(10) ==1){ // attention nous sommes en PULL-UP
if(comptant){
digitalWrite(12,LOW);
comptant = false;
arret = millis();
delay(200); // pour être rassurés
resultats();
}

else{
Serial.println("Presser pour recommencer...");
}
}
boolean buttonIsUp = digitalRead(9);
if (buttonWasUp && !buttonIsUp) {
delay(10);
buttonIsUp = digitalRead(9);
if (!buttonIsUp) {
ledEnabled = !ledEnabled;
digitalWrite(13, ledEnabled);

C
digitalWrite(12, !ledEnabled);
}

}
buttonWasUp = buttonIsUp;
etatActuel=digitalRead(NOTOK);
//Si cet état actuel est différent du dernier état alors change…
if (etatActuel != etatUltime){
/* il faut vérifier que el changement soit une pression et pas une
libération. Si, par contre, on configure une résistance pull-up la
valeur à vérifier dans "etatActuel" serait LOW */
if (etatActuel == HIGH) {
compteur = compteur + 1;
Serial.print ("NOT OK!");
Serial.println(compteur);
}
}
//on enregistre l'état actuel pour la suivante vérification
etatUltime= etatActuel;
/*on change l'état de la diode en comptant les fois qu'on a appuyé le
bouton, alternativement (nombre pair = LED éteinte, nombre impair =
LED allumée) On ne compte pas les relâchement seulement les pression!!)*/
if (compteur % 2 == 0 ) {
digitalWrite(6, LOW);
} else {
digitalWrite(6, HIGH);
}
//on lit l'état actuel du BP
etatActuel1=digitalRead(OK);
//Si cet état actuel est différent du dernier état alors change…
if (etatActuel1 != etatUltime1){
/* il faut vérifier que el changement soit une pression et pas une

D
libération. Si, par contre, on configure une résistance pull-up la
valeur à vérifier dans "etatActuel" serait LOW */
if (etatActuel1 == HIGH) {
compteur1 = compteur1 + 1;
Serial.print ("OK");
Serial.println(compteur1);
}
}
//on enregistre l'état actuel pour la suivante vérification
etatUltime1= etatActuel1;
/*on change l'état de la diode en comptant les fois qu'on a appuyé le
bouton, alternativement (nombre pair = LED éteinte, nombre impair =
LED allumée) On ne compte pas les relâchement seulement les pression!!)*/
if (compteur1 % 2 == 0 ) {
digitalWrite(8, LOW);
} else {
digitalWrite(8, HIGH);
}
}

Vous aimerez peut-être aussi