Vous êtes sur la page 1sur 95

REPUBLIQUE TUNISIENNE UNIVERSITE DE SFAX

FACULTE DES SCIENCES DE SFAX


***********
MINISTERE DE L'ENSEIGNEMENT ***********
SUPERIEUR ET DE LA RECHERCHE DEPARTEMENT D’INFORMATIQUE
SCIENTIFIQUE ET DES COMMUNICATIONS

MEMOIRE DE FIN D’ETUDES


Présenté à

La Faculté des Sciences de Sfax


En vue de l’obtention du

DIPLOME DE LICENCE EN

INGENIERIE DES SYSTEMES INFORMATIQUES


Par

Fejjari Mohamed Amine

Système d'irrigation automatique intelligent

Soutenu le 6 Juin 2023, devant le jury composé de :

M. Boulbaba Ben Ammar Président

Mme. Hajer Maraoui Examinateur

Mme. Fatma Krichen Encadrant Académique

M. Aymen Zoghlemi Encadrant Industriel

Stage réalisé à «DBEX»

Année Universitaire : 2022 – 2023 Code : LISI - IOT


DEDICATION

C’est grâce à Dieu que tout a commencé, et c’est à lui que je rends grâce.
Le reste n’est que dédicace.

À ceux qui ont sacrifié leur vie pour mon aisance et mon confort a ceux que leur présence et
leur support me valent la vie à ceux qui m’ont élevé avec amour et tendresse Je dédie ce
modeste travail
À mes parents Habib et khadija.
À mes chers frères Chawki, Chokri, Issam et Youssef.
À ma belle sœur Zeineb.
À la femme de mon frère Rawdha.
À tous mes chers amis.
Qui m’ont tant motivé et soutenu pour effectuer ce travail. Merci pour votre amour,
encouragement et soutien moral.

À tous mes professeurs d’enseignement primaire, secondaire et supérieur,


À Àtous ceux que j’aime et tous ceux qui ont cru en moi et en mes compétences, Je leur
dédie ce modeste travail.

,
.
Mohamedamine Fejjari

FSS SFAX Page i


REMERCIEMENT

Je remercie Dieu, tout puissant, de m’avoir donné la santé et la volonté d’entamer et de


terminer ce travail.
Au début, je souhaite adresser mes remerciements les plus sincères aux personnes qui m’ont
apporté leur aide et qui ont contribué à l’élaboration de ce rapport.

Je tiens à exprimer ma profonde gratitude envers ma précieuse encadrante Madame FATMA


KRICHEN pour sa guidance inestimable tout au long de mon projet de fin d’études. Sa présence
bienveillante, son expertise et ses conseils avisés ont été d’une importance capitale dans la
réussite de ce travail.

J’exprime ma profonde gratitude et mon respectueux reconnaissance à mon encadrant


industriel M. AYMEN ZOGHLAMI pour sa bonne volonté d’accepter de m’encadrer et pour
tous les conseils qu’il m’a prodigués.

Mes remerciements s’adressent à M. BOULBABA BEN AMMAR pour l’intérêt qu’il


a porté à ce travail en acceptant de me faire l’honneur de présider le jury de ma soutenance.
J’exprime ma profonde gratitude à Mme HAJER MARAOUI d’avoir accepté d’être rapporteuse
de ce projet. Enfin, je tiens à exprimer mes vifs remerciements à tous les enseignants de la
Faculté des Sciences de Sfax pour la formation de qualité qu’ils m’ont prodiguée tout au long
de mon cursus universitaire au sein de cette prestigieuse université.

FSS SFAX Page ii


Table des matières

INTRODUCTION GÉNÉRALE 1

1 Présentation du Projet 3

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Cadre du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Présentation de la société . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.6 Travail demandé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.7 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.7.1 Plateforme d’irrigation intelligente Rachio . . . . . . . . . . . . . . . 7

1.7.2 Système d’irrigation intelligent Gro . . . . . . . . . . . . . . . . . . . 8

1.7.3 Système d’irrigation CropX . . . . . . . . . . . . . . . . . . . . . . . 9

1.7.4 Système d’irrigation AquaSpy . . . . . . . . . . . . . . . . . . . . . . 11

1.7.5 Étude comparative . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.8 Expression des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.8.1 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.8.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . 14

FSS SFAX Page iii


TABLE DES MATIÈRES

1.9 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.10 Définition des concepts de base du projet . . . . . . . . . . . . . . . . . . . . . 16

1.10.1 IOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.10.2 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.11 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Analyse et conception 20

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2 Choix du langage de modélisation et de méthodologie de développement . . . . 20

2.2.1 UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2.2 Méthodologie de conception RUP . . . . . . . . . . . . . . . . . . . . 21

2.3 Analyse et conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3.1 Identification des acteurs et des cas d’utilisation . . . . . . . . . . . . . 22

2.3.1.1 Acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.1.2 Cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3.2 Description détaillée de quelques cas d’utilisation : . . . . . . . . . . . 25

2.3.2.1 Cas d’utilisation « S’authentifier » . . . . . . . . . . . . . . 25

2.3.2.2 Cas d’utilisation « Gérer les clients » . . . . . . . . . . . . . 28

2.3.2.3 Cas d’utilisation « Gérer les plantes » . . . . . . . . . . . . . 31

2.3.2.4 Cas d’utilisation « Consulter tableau de bord » . . . . . . . . 34

2.3.2.5 Cas d’utilisation « Recevoir des notifications » . . . . . . . . 36

2.3.3 Diagrammes d’activités . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.3.3.1 Cas d’utilisation «Gérer les clients» . . . . . . . . . . . . . 38

2.3.3.2 Cas d’utilisation «Gérer les plantes» . . . . . . . . . . . . . 39

FSS SFAX Page iv


TABLE DES MATIÈRES

2.3.3.3 Cas d’utilisation «Recevoir des notifications» . . . . . . . . 39

2.3.3.4 Cas d’utilisation «Consulter le tableau de bord» . . . . . . . 41

2.3.4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.3.5 Conception de la base de données . . . . . . . . . . . . . . . . . . . . 43

2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3 Installation du système 44

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2 Architecture matérielle du système . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3 Description du système d’irrigation intelligent par smart Olla et de ses composants 45

3.4 Outils matériels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4.1 ESP32 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4.1.1 Présentation générale : . . . . . . . . . . . . . . . . . . . . . 45

3.4.1.2 Caractéristique de la carte Arduino : . . . . . . . . . . . . . 46

3.4.2 Capteur d’humidité de sol : . . . . . . . . . . . . . . . . . . . . . . . 47

3.4.2.1 Présentation générale : . . . . . . . . . . . . . . . . . . . . . 47

3.4.2.2 Caractéristique : . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.3 Capteur De Niveau D’eau (OKD-1052) : . . . . . . . . . . . . . . . . 49

3.4.3.1 Présentation générale : . . . . . . . . . . . . . . . . . . . . . 49

3.4.3.2 Caractéristiques : . . . . . . . . . . . . . . . . . . . . . . . 49

3.4.4 Capteur de Température et d’humidité DHT11 : . . . . . . . . . . . . . 50

3.4.4.1 Présentation générale : . . . . . . . . . . . . . . . . . . . . . 50

3.4.4.2 Caractéristiques : . . . . . . . . . . . . . . . . . . . . . . . 50

3.4.5 Relais (JQC-3FF-S-Z) : . . . . . . . . . . . . . . . . . . . . . . . . . 51

FSS SFAX Page v


TABLE DES MATIÈRES

3.4.5.1 Présentation générale : . . . . . . . . . . . . . . . . . . . . . 51

3.4.5.2 Caractéristique : . . . . . . . . . . . . . . . . . . . . . . . . 51

3.4.6 Pompe : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.4.6.1 Présentation générale : . . . . . . . . . . . . . . . . . . . . . 52

3.4.6.2 Caractéristiques : . . . . . . . . . . . . . . . . . . . . . . . 53

3.5 Logiciels utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.5.1 Environnement de la programmation (Thonny) . . . . . . . . . . . . . 53

3.5.2 Fritzing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.6 Conception et réalisation de tout le système avec ESP32 . . . . . . . . . . . . 54

3.6.1 Schéma de câblage (Circuit du branchement) : . . . . . . . . . . . . . 54

3.6.2 Test pratique : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.7 Envoi des notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.7.1 Création de notification . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.7.2 Réception de notification . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4 Réalisation 60

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.2 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.3 Étude technologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.3.1 Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.3.1.1 Microsoft Visual Studio Code . . . . . . . . . . . . . . . . . 62

4.3.1.2 XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.3.2 Langages de développement . . . . . . . . . . . . . . . . . . . . . . . 63

FSS SFAX Page vi


TABLE DES MATIÈRES

4.3.2.1 HTML 5 (HyperText Markup Language) . . . . . . . . . . . 63

4.3.2.2 CSS 3 (Cascading Style Sheets) . . . . . . . . . . . . . . . 64

4.3.2.3 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.3.2.4 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.4 Réalisation de l’application web . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.4.1 Interface d’authentification . . . . . . . . . . . . . . . . . . . . . . . . 65

4.4.2 Interface de ré-initialisation du mot de passe . . . . . . . . . . . . . . 67

4.4.3 Interface de gestion des clients . . . . . . . . . . . . . . . . . . . . . . 68

4.4.4 Interface d’accueil pour un client . . . . . . . . . . . . . . . . . . . . 70

4.4.5 Interface de gestion des plantes . . . . . . . . . . . . . . . . . . . . . 70

4.4.6 Interface de gestion des ollas (jarres en argile) . . . . . . . . . . . . . . 72

4.4.7 Interface de gestion des capteurs . . . . . . . . . . . . . . . . . . . . . 74

4.4.8 Interface des données d’irrigation . . . . . . . . . . . . . . . . . . . . 76

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

CONCLUSION GÉNÉRALE 79

BIBLIOGRAPHIE 80

BIBLIOGRAPHIE 82

FSS SFAX Page vii


Table des figures

1.1 Logo de "DBEX" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Dispositifs d’arrosage intelligents “Rachio” . . . . . . . . . . . . . . . . . . . 8

1.3 Contrôleur de zone de Scotts “Gro 7” . . . . . . . . . . . . . . . . . . . . . . 9

1.4 Capteur d’humidité du sol “CropX” . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Surveillance de l’humidité du sol “AquaSpy” . . . . . . . . . . . . . . . . . . 12

1.6 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.7 Internet des objets[6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.8 Cloud Computing [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2 Diagramme de séquence «S’authentifier» . . . . . . . . . . . . . . . . . . . . 27

2.3 Diagramme de séquence «Gérer les clients» . . . . . . . . . . . . . . . . . . . 30

2.4 Diagramme de séquence «Gérer les plantes» . . . . . . . . . . . . . . . . . . . 33

2.5 Diagramme de séquence « Consulter tableau de bord » . . . . . . . . . . . . . 35

2.6 Diagramme de séquence «Recevoir des notifications» . . . . . . . . . . . . . . 37

2.7 Diagramme d’activité de gestion des clients . . . . . . . . . . . . . . . . . . . 38

2.8 Diagramme d’activité de gestion des plantes . . . . . . . . . . . . . . . . . . 39

2.9 Diagramme d’activité de recevoir des notifications . . . . . . . . . . . . . . . 40

FSS SFAX Page viii


TABLE DES FIGURES

2.10 Diagramme d’activité de consulter le tableau de bord . . . . . . . . . . . . . . 41

2.11 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1 Architecture matérielle du système . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2 Carte ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.3 composant de la carte ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.4 Capteur d’humidité du sol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.5 Capteur De Niveau D’eau OKD-1052. . . . . . . . . . . . . . . . . . . . . . . 49

3.6 Capteur de Température et d’humidité DHT11 . . . . . . . . . . . . . . . . . 50

3.7 Relais JQC-3FF-S-Z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.8 Pompe d’eau R385 12V 3M. . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.9 Logo de "Thonny" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.10 Logo de "Fritzing" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.11 Schéma de câblage de notre système avec l’ESP32 . . . . . . . . . . . . . . . 55

3.12 Système réalisé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.13 Test avec cloud "Ubidots" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.14 Création de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.15 Conditions de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.16 Envoi de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.17 Réception de notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.1 Interactions entre le modèle, la vue et le contrôleur . . . . . . . . . . . . . . . 61

4.2 Logo de "Visual Studio Code" . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.3 Logo de "DBEX" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.4 Logo de "HTML 5 " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

FSS SFAX Page ix


TABLE DES FIGURES

4.5 Logo de "CSS" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.6 Logo de "JavaScript" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.7 Logo de "PHP" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.8 Interface d’authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.9 Champs obligatoires d’authentification . . . . . . . . . . . . . . . . . . . . . 66

4.10 Champs invalides d’authentification . . . . . . . . . . . . . . . . . . . . . . . 67

4.11 Interface de ré-initialisation du mot de passe . . . . . . . . . . . . . . . . . . 67

4.12 Interface d’ajout de client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.13 Liste des clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.14 Modifier un client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.15 Interface d’accueil pour un client . . . . . . . . . . . . . . . . . . . . . . . . 70

4.16 Ajouter une plante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.17 liste des plantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.18 Modifier une plante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.19 Ajouter une olla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.20 Liste des ollas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.21 Modifier une olla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.22 Ajouter un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.23 Liste des capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.24 Modifier un capteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

4.25 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.26 Historique sous forme d’une courbe . . . . . . . . . . . . . . . . . . . . . . . 77

4.27 Dernières valeurs collectées . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

FSS SFAX Page x


LISTE DES TABLEAUX

Liste des tableaux

1.1 Étude comparative entre les travaux étudiés . . . . . . . . . . . . . . . . . . . 13

2.1 Tableau descriptif des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . 25

FSS SFAX Page xi


INTRODUCTION GÉNÉRALE

La technologie a joué un rôle révolutionnaire dans de nombreux domaines, et l’agriculture


ne fait pas exception. Un domaine en particulier où la technologie a apporté des changements
significatifs est l’Internet des objets (Ido), qui a ouvert de nouvelles possibilités dans le secteur
agricole. L’IdO implique la connexion de dispositifs physiques à Internet, permettant ainsi la
collecte, l’analyse et le partage de données en temps réel.

Cependant, malgré ces avancées technologiques, l’irrigation reste l’un des aspects clés
de l’agriculture qui nécessite une attention particulière. L’eau est une ressource précieuse et
limitée, et son utilisation efficace et rationnelle est essentielle pour garantir une production
agricole durable et optimale.

C’est là que le projet de l’irrigation par Smart Olla entre en jeu. Ce projet propose
une solution innovante en réalisant un système intelligent assurant l’irrigation d’une manière
automatique et sans intervention humaine. Ce système est constitué d’un ensemble de jarraes
en argiles intelligentes (Smart Ollas). Ces Smart Ollas sont conçues pour fournir de l’eau d’une
manière automatisée et précise aux plantes, en s’adaptant aux besoins spécifiques de chaque
culture.

Le présent document expose en détail l’évolution du projet s’étalant sur quatre chapitres
définis comme suit. Le premier chapitre, présentation du projet, nous permet de situer le projet
dans son contexte général à travers une présentation de l’organisme d’accueil, des concepts de
base nécessaires pour notre projet ainsi qu’une étude de l’existant et une analyse des besoins
fonctionnels et non fonctionnels du système à réaliser avec une architecture de notre application.

FSS SFAX Page 1


INTRODUCTION GÉNÉRALE

Le second chapitre, intitulé analyse et conception, contient la conception générale et détaillée


du système. Le troisième chapitre, intitulé "Installation du système", nous permet de situer
le projet dans son contexte spécifique en fournissant une architecture matérielle détaillée du
système, une description approfondie de ses composants, ainsi que les outils et logiciels utilisés
pour sa réalisation. Plus particulièrement, ce chapitre se concentre sur la mise en place du
système d’irrigation par Smart Olla et l’implémentation de la fonctionnalité d’envoi de notificat-
ions.Dans le dernier chapitre, nous passerons à la réalisation web. D’abord, nous présenterons
l’architecture de l’application et l’environnement de développement logiciel. Nous décrirons
ensuite quelques interfaces réalisées dans l’application web.

Ce rapport se clôture par une conclusion générale et quelques perspectives comme une
extension à ce travail.

FSS SFAX Page 2


PRÉSENTATION DU PROJET

Chapitre

1
Présentation du Projet

1.1 Introduction

La présentation du cahier du charge d’un projet constitue une étape préliminaire pour
la réalisation correcte d’une application. En effet, ce cahier permet d’analyser, d’évaluer et
de critiquer l’existant afin de produire des solutions plus efficaces. Dans ce chapitre, nous
présenterons, tout d’abord, le cadre du projet et la société accueillante. Ensuite, nous définirons
les notions de base sur lesquelles s’appuie notre projet. Par ailleurs, nous exposerons une étude
de l’existant qui permet de décortiquer les fonctionnalités des systèmes existants et leurs limites
et qui nous amène à dégager la spécification des besoins fonctionnels et non-fonctionnels de la
société.

1.2 Cadre du projet

Ce projet s’englobe dans le cadre d’un projet de fin d’études au sein de la Faculté des
Sciences de Sfax pour l’obtention du diplôme de Licence en ingénierie des systèmes Informatiq-
ues :

systèmes embarqués et internet des objets. Il a été réalisé au sein de la société DBEX.

FSS SFAX Page 3


PRÉSENTATION DU PROJET

1.3 Présentation de la société

DBEX [1] propose une offre de conseils, de formations et de coaching aux entreprises qui
souhaitent initier ou optimiser les chances de succès de leurs transformations agile. DBEX
mise sur la complémentarité de ses expertises issues du terrain (delivery agile, digital et big
data) pour accompagner les PME/PMI et les grandes organisations dans leurs chantiers de
transformation et pour faire émerger de nouveaux modes de collaboration et de nouvelles
manières de produire et/ou de vendre. Les consultants et coachs de DBEX ont déjà conduit
de nombreux projets de transformations auprès de clients prestigieux. Leurs connaissances des
Framework d’entreprise Lean et Agile (SAFe®, LeSS, Nexus, SSwS, DaD, RAGE, eScrum,. . .)
permettent aux consultants et coachs de DBEX de proposer à leurs clients un accompagnement
personnalisé en fonction de l’objectif prioritaire visé et du contexte organisationnel tout en
évaluant régulièrement l’atteinte des objectifs :

— Réduction des coûts de développements IT.

— Amélioration du time to market.

— Intégration continue du feedback du client permettant l’amélioration,).

— Optimisation des processus de développements IT.

— Accélération de la prise de décision.

— Amélioration de la collaboration.

— Délégation et responsabilisation des équipes.

— Amélioration de la qualité des produits livrés.

La figure 1.1 représente le logo de la société.

FSS SFAX Page 4


PRÉSENTATION DU PROJET

F IGURE 1.1 – Logo de "DBEX"

1.4 Présentation du projet

Notre projet consiste à concevoir et réaliser un système d’irrigation intelligent et automatique


assurant à la fois la surveillance et l’irrigation automatique des plantes dans une zone équipée
par des ollas (jarres en argile) intelligentes sans intervention humaine.

L’irrigation par Smart ollas (jarres en argile) assistée par une station de surveillance
intelligente peut être une solution efficace pour arroser les arbres. Les stations de surveillance
intelligentes peuvent être connectées aux ollas (jarres en argile) pour surveiller en continu le
niveau d’eau dans les ollas (jarres en argile) et les besoins en eau des plantes. Les données
recueillies peuvent être utilisées pour ajuster automatiquement la quantité d’eau qui est libérée
dans le sol, en fonction des besoins réels de la plante.

Cela peut aider à éviter l’arrosage excessif ou insuffisant, et donc économiser de l’eau tout
en maintenant une hydratation adéquate des racines des arbres. Cette technologie permet de
surveiller les plantes à distance, nous donnant la possibilité de surveiller l’état de notre jardin
même lorsque nous ne sommes pas chez nous.

FSS SFAX Page 5


PRÉSENTATION DU PROJET

1.5 Problématique

L’irrigation par des ollas (jarres en argile) peut présenter des inconvénients en ce qui
concerne la gestion de l’eau, tels que la difficulté à mesurer la quantité exacte d’eau fournie
aux plantes et à réguler l’irrigation en fonction des conditions météorologiques. De plus, cette
technique peut nécessiter une expertise et un temps considérable pour sa mise en place. La
régulation de l’eau représente particulièrement une problématique, car l’eau est directement
fournie aux racines des plantes à partir des jarres en argile, rendant difficile la mesure précise
de la quantité d’eau reçue par chaque plante. Cela peut entraîner un gaspillage d’eau et une
croissance excessive des plantes, qui peuvent finalement affecter leur santé. Cependant, avec
l’avancée des technologies, des systèmes d’irrigation automatisés, tels que ceux utilisant des
capteurs intelligents, peuvent désormais être utilisés pour assurer une irrigation automatique
sans intervention humaine.

1.6 Travail demandé

En considérant les inconvénients des systèmes d’irrigation intelligente existantes, la société


DBEX a proposé de concevoir son propre système d’irrigation par des SMART OLLAS (jarres
en argile).

Dans ce cadre, nous sommes appelés à réaliser ce système avec ses services d’irrigation en
l’ajoutant un assistant virtuel embarqué et une application web/mobile. Ce système permet aux
utilisateurs de mieux gérer leurs besoins en leur procurant ces avantages :

— Réduire la consommation d’eau pour l’irrigation des plantes.

— Assurer une irrigation automatique sans intervention humaine.

— Améliorer la santé des plantes grâce à une irrigation précise et régulée.

— Réduire les coûts de maintenance pour l’irrigation des plantes.

Pour atteindre ces objectifs, notre projet à réaliser doit englober les fonctionnalités suivantes :

FSS SFAX Page 6


PRÉSENTATION DU PROJET

— Mesure de l’humidité du sol à l’aide de capteurs électroniques.

— Régulation de l’irrigation en temps réel pour chaque plante en fonction des données
collectées par les capteurs.

— Dashboard web et mobile pour la surveillance à distance de l’irrigation et la régulation


manuelle si nécessaire.

— Notification en temps réel en cas de problème avec l’irrigation des plantes.

1.7 Étude de l’existant

1.7.1 Plateforme d’irrigation intelligente Rachio

Rachio [2] est une entreprise qui a développé une plateforme d’irrigation intelligente pour
les pelouses et les jardins. La plateforme utilise des données météorologiques en temps réel
pour adapter l’irrigation aux conditions locales, en veillant à ce que les plantes ne soient pas
sur ou sous-arrosées.

La plateforme Rachio est équipée de capteurs qui mesurent l’humidité et température du


sol , ainsi qu’un système de prévisions météorologiques pour ajuster l’arrosage en fonction des
conditions locales. Les utilisateurs peuvent également programmer l’arrosage en fonction de
leurs préférences et suivre les données d’arrosage à l’aide de l’application mobile de Rachio.

La plateforme Rachio est conçue pour être facile à utiliser et à installer, et elle peut être
intégrée à d’autres systèmes de maison intelligente tels que Alexa d’Amazon et Google Home
pour une commande vocale pratique. En utilisant la plateforme Rachio, les utilisateurs peuvent
économiser de l’eau et de l’argent tout en ayant un jardin plus sain et plus vert.

Bien que la plateforme d’irrigation intelligente Rachio présente de nombreux avantages, il


y a également quelques inconvénients potentiels à considérer :

— Coût initial élevé : Le coût initial de la plateforme Rachio peut être élevé par rapport à
d’autres systèmes d’arrosage plus simples.

FSS SFAX Page 7


PRÉSENTATION DU PROJET

— Dépendance à la météo : La plateforme Rachio s’appuie sur des données météorologiques


pour ajuster l’arrosage, ce qui peut entraîner des problèmes si les prévisions
météorologiques sont inexactes ou si les capteurs de la plateforme ne fonctionnent pas
correctement.

La figure 1.2 représente Dispositifs d’arrosage intelligents “Rachio”

F IGURE 1.2 – Dispositifs d’arrosage intelligents “Rachio”

1.7.2 Système d’irrigation intelligent Gro

Le système d’irrigation intelligent Gro [3] est un système d’irrigation automatique pour les
jardins et les pelouses qui utilise la technologie pour aider les plantes à rester en bonne santé
tout en économisant l’eau. Ce système utilise des capteurs de sol et de météo pour déterminer
les besoins en eau des plantes et ajuster automatiquement l’arrosage en conséquence. Il peut
également être contrôlé à distance via une application mobile.

Le système Gro comprend un hub qui se connecte à Internet et communique avec les
différents capteurs et vannes d’arrosage. Les capteurs de sol mesurent l’humidité du sol et la
température du sol, tandis que les capteurs météorologiques mesurent la température, l’humidité
et la pluviométrie. Le système utilise ces informations pour déterminer si les plantes ont besoin
d’eau et ajuster automatiquement la durée et la fréquence de l’arrosage en conséquence.

Le système Gro est facile à installer et peut être configuré en quelques minutes. Il est
également compatible avec la plupart des systèmes d’arrosage existants, ce qui facilite la mise
à niveau vers un système intelligent. Le système est conçu pour économiser de l’eau en arrosant

FSS SFAX Page 8


PRÉSENTATION DU PROJET

uniquement lorsque cela est nécessaire, ce qui peut aider à réduire la consommation d’eau et à
préserver les ressources naturelles.

Mais, il y a quelques inconvénients potentiels à considérer :

— Limitations de la taille de la zone d’arrosage : Le système Gro peut ne pas être adapté
aux grandes zones d’arrosage, car il a une capacité limitée en termes de zones couvertes
et de débits d’eau.

— Difficulté à installer : L’installation du système d’irrigation intelligent Gro peut être plus
complexe que les systèmes d’irrigation traditionnels.

La figure 1.3 représente Contrôleur de zone de Scotts “Gro 7”

F IGURE 1.3 – Contrôleur de zone de Scotts “Gro 7”

1.7.3 Système d’irrigation CropX

En plus du capteur de sol intelligent, CropX [4] propose également un système d’irrigation
intelligent qui utilise les données collectées par les capteurs pour optimiser l’arrosage des
cultures. Le système d’irrigation CropX est conçu pour être facile à installer et à utiliser, et
il est compatible avec une grande variété de systèmes d’irrigation existants.

Le système d’irrigation CropX utilise des algorithmes sophistiqués pour analyser les données
des capteurs de sol et de météo et déterminer les besoins en eau des cultures. Il peut ensuite
ajuster automatiquement les paramètres d’irrigation pour fournir la quantité d’eau nécessaire
tout en minimisant les pertes d’eau et les coûts énergétiques.

FSS SFAX Page 9


PRÉSENTATION DU PROJET

Le système d’irrigation CropX est également doté de fonctionnalités de contrôle à distance,


ce qui permet aux agriculteurs de surveiller et de contrôler leurs systèmes d’irrigation à partir
de n’importe quel appareil connecté à Internet, y compris leurs smartphones ou leurs tablettes.

Mais le système d’irrigation CropX peut présenter quelques inconvénients :

— Limitation des types de sols considérés : Le système CropX est conçu pour fonctionner
avec des sols spécifiques et peut ne pas fonctionner de manière optimale avec d’autres
types de sols, ce qui peut limiter sa capacité à améliorer l’efficacité de l’irrigation.

— Limitation des régions concernées : Le système CropX est conçu pour fonctionner dans
des conditions environnementales spécifiques et peut ne pas être efficace dans toutes les
régions. Les utilisateurs doivent vérifier que le système fonctionnera correctement dans
leur région avant d’investir dans le système.

— Coût initial élevé : Le coût initial élevé du système CropX peut ne pas être rentable pour
les petites exploitations agricoles ou les propriétaires de maison avec des jardins plus
petits.

— Nécessite une formation : Le système CropX nécessite une formation pour l’installer et
l’utiliser correctement, ce qui peut être difficile pour certains utilisateurs.

La figure 1.4 représente Capteur d’humidité du sol “CropX”

F IGURE 1.4 – Capteur d’humidité du sol “CropX”

FSS SFAX Page 10


PRÉSENTATION DU PROJET

1.7.4 Système d’irrigation AquaSpy

AquaSpy [5] est un système d’irrigation intelligent qui utilise des capteurs de sol pour
surveiller l’humidité, la température et la conductivité électrique du sol en temps réel. Les
données collectées par les capteurs sont envoyées à une plateforme en ligne où les agriculteurs
peuvent visualiser et analyser les informations pour prendre des décisions éclairées sur

l’irrigation.

Le système AquaSpy utilise des capteurs sans fil qui sont installés dans le sol pour mesurer
les niveaux d’humidité, la température et la conductivité électrique à différentes profondeurs.
Ces données sont ensuite transmises à une passerelle sans fil qui les envoie à une plateforme
en ligne. Les agriculteurs peuvent accéder à la plateforme en ligne à partir de n’importe quel
appareil connecté à Internet pour surveiller l’état de l’humidité du sol et déterminer le moment
optimal pour arroser les cultures.

Les avantages du système d’irrigation AquaSpy sont nombreux, notamment :

— Optimisation de l’irrigation : Le système AquaSpy aide les agriculteurs à optimiser leurs


irrigations en fournissant des données précises sur les besoins en eau des cultures.

— Économie d’eau : En utilisant les données collectées par les capteurs de sol, le système
AquaSpy peut aider les agriculteurs à économiser de l’eau en évitant une irrigation
excessive ou insuffisante.

— Réduction des coûts : Le système AquaSpy peut aider les agriculteurs à réduire leurs
coûts en évitant l’arrosage excessif et en optimisant l’utilisation des ressources.

— Surveillance à distance : Le système AquaSpy permet aux agriculteurs de surveiller l’état


de l’humidité du sol à distance, ce qui peut aider à réduire le temps et les coûts associés
aux inspections manuelles.

Cependant, il y a également quelques inconvénients potentiels à considérer, tels que :

— Coûts de remplacement des capteurs : Si les capteurs du système AquaSpy sont

FSS SFAX Page 11


PRÉSENTATION DU PROJET

endommagés ou doivent être remplacés pour une raison quelconque, les coûts peuvent
être élevés. Cela peut être un problème pour les agriculteurs disposant de budgets limités.

— Difficulté de mise en place : La mise en place initiale du système AquaSpy peut être
difficile et nécessiter une expertise technique.

— Limitations en termes de portée : Le système AquaSpy utilise des capteurs sans fil pour
mesurer les niveaux d’humidité du sol, mais leur portée est limitée.

La figure 1.5 représente la Surveillance de l’humidité du sol “AquaSpy”

F IGURE 1.5 – Surveillance de l’humidité du sol “AquaSpy”

1.7.5 Étude comparative

Le tableau 1.1 représente une comparaison entre les différents travaux déjà étudiés dans la
section précédente.

FSS SFAX Page 12


PRÉSENTATION DU PROJET

Fonctionnalités Gro Rachio CropX AquaSpy


Types de Humidité du Humidité du Humidité du Humidité du
capteurs sol, sol, sol, sol,
température, température, température, température,
luminosité précipitations conductivité conductivité
électrique électrique
Connectivité Wi-Fi Wi-Fi, Zigbee LoRaWAN GSM, GPRS
Modèles de Oui Oui Oui Non
prévisions
Possibilité de Oui Oui Oui Oui
personnalisation
Intégration avec Oui Oui Ouis Oui
d’autres
systèmes
Coût initial Élevé Élevé Élevé Élevé
Installation Expertise Facile à Expertise Expertise
technique installer pour technique technique
requise les utilisateurs requise requise
moyens
Précision Très précis Précis Précis Précis
Compatibilité Oui Oui Oui, mais peut Oui, mais peut
avec plusieurs avoir des avoir des
types de sols limites limites

TABLE 1.1 – Étude comparative entre les travaux étudiés

FSS SFAX Page 13


PRÉSENTATION DU PROJET

1.8 Expression des besoins


L’étude de l’existant dans la section précédente nous a permis de mieux comprendre et cerner
les différentes fonctionnalités du système à réaliser. Dans ce qui suit, nous exposons l’ensemble
des besoins fonctionnels et non fonctionnels auxquels devrait répondre impérativement notre
système.

1.8.1 Besoins fonctionnels

1. Administrateur :

— Ajouter, supprimer ou modifier des clients.


2. Client :

— Ajouter, supprimer ou modifier les plantes pour le client.

— Ajouter, supprimer ou modifier les jarres en argile (OLLAS) pour chaque plante.

— Ajouter, supprimer ou modifier des capteurs pour chaque plante.

— Consulter les données de la température et de l’humidité. . ..

— Consulter l’historique d’irrigation pour chaque plante

— Notifier le client en cas de panne

1.8.2 Besoins non fonctionnels

1. Sécurité : L’application doit être développée en prenant en compte les aspects de sécurité
des données, y compris la confidentialité, l’intégrité et la disponibilité des données.
2. Fiabilité : L’application doit être conçue pour garantir une disponibilité maximale,
minimiser les temps d’arrêt et éviter la perte de données.
3. Scalabilité : L’application doit être conçue pour permettre une évolutivité facile et une
augmentation de la capacité en cas de besoin.
4. Interface utilisateur : L’application doit offrir une interface utilisateur intuitive, facile à
utiliser et accessible pour les utilisateurs avec des besoins différents.

FSS SFAX Page 14


PRÉSENTATION DU PROJET

5. Documentation : L’application doit être accompagnée d’une documentation détaillée


qui décrit les différentes fonctionnalités et leurs utilisations, ainsi que les instructions
d’installation et de configuration.

En respectant ces critères non fonctionnels, l’application de gestion de Smart Ollas (jarres
en argile) pourra offrir une expérience utilisateur optimale, une sécurité renforcée, des
performances élevées, une fiabilité accrue et une évolutivité facile pour répondre aux besoins
des utilisateurs tout en étant compatible avec différents environnements et plates- formes.

1.9 Architecture de l’application


L’architecture d’une application est la fondation d’un système. Car une bonne architecture
dépend entièrement du fait qu’un système soit évolutif, extensible et maintenable. Dans notre
cas, notre architecture présentée dans la figure 1.6 montre comment notre système fonctionne.
Le projet Smart Ollas (jarres en argile) utilise les technologies de l’Internet des objets (IoT)
pour surveiller et réguler l’irrigation des plantes de manière précise et efficace. Les jarres en
argile sont équipées de capteurs électroniques qui collectent des données telles que l’humidité
du sol et la température. Les données sont transmises à un backend connecté via des API et
MQTT (Message Queuing Telemetry Transport), qui utilise des algorithmes pour déterminer
la quantité d’eau nécessaire pour chaque plante et réguler l’irrigation en temps réel. Le MQTT
est une méthode de communication qui permet de transmettre des données de manière fiable et
efficace à des appareils IoT. Il est particulièrement adapté aux environnements à faible bande
passante, ce qui en fait une solution idéale pour l’irrigation des plantes. Le microcontrôleur
ESP32 peut également être utilisé pour activer des pompes à eau ou des vannes d’irrigation pour
réguler l’irrigation en fonction des données collectées. Les données collectées par les capteurs
sont donc traitées et analysées en temps réel pour optimiser l’irrigation. Le backend, qui est un
système informatique connecté via des API et MQTT, utilise les données collectées pour fournir
des informations en temps réel sur l’irrigation des plantes. Les utilisateurs peuvent accéder à
ces informations via un Dashboard web, qui permet de surveiller l’irrigation à distance. Les
données collectées peuvent également être utilisées pour générer des rapports d’analyse pour

FSS SFAX Page 15


PRÉSENTATION DU PROJET

aider les agriculteurs à prendre des décisions éclairées en matière d’irrigation. En somme, le
projet Smart Ollas (jarres en argile) utilise les technologies IoT, les capteurs électroniques, les
microcontrôleurs, MQTT pour fournir une solution innovante et pratique pour la gestion de
l’irrigation. Le système de communication MQTT permet une transmission de données fiable
et efficace, tandis que le Dashboard web offre une interface utilisateur conviviale pour surveiller
l’irrigation à distance.
La figure 1.6 représente l’architecture de l’application.

F IGURE 1.6 – Architecture de l’application

1.10 Définition des concepts de base du projet


Dans cette section, nous définissons quelques notions de base concernant le concept d’IOT,
Cloud Computing.

1.10.1 IOT

IoT signifie « Internet of Things » ou en français « Internet des objets ». Il permet d’accéder
et de contrôler les équipements et les appareils utilisables au quotidien via Internet.

FSS SFAX Page 16


PRÉSENTATION DU PROJET

Selon l’Union Internationale des Télécommunications (UIT), L’Internet of Things (IoT) est
«une infrastructure mondiale pour la société de l’information, qui permet de disposer de
services évolués en interconnectant des objets (physiques ou virtuels) grâce aux technologies
de l’information et de la communication interopérables existantes ou en évolution» [6] . L’IoT
peut se définir aussi comme étant «un réseau qui relie et combine les objets avec l’Internet, en
suivant les protocoles qui assurent leur communication et leur échange d’informations à travers
une variété de dispositifs»
Autrement, l’IOT est un système avancé d’automatisation et d’analyse qui traite de
l’intelligence artificielle, des capteurs, des réseaux, de l’électronique, de la messagerie cloud,
etc. Le système créé par l’IoT offre une transparence, un contrôle et des performances.
La figure 1.7 représente les avantages de l’internet des objets

F IGURE 1.7 – Internet des objets[6]

1.10.2 Cloud Computing

De nos jours, de plus en plus d’entreprises ont recours au Cloud Computing afin de
se décharger des informations stockées sur leurs postes de travail et de la complexité de
l’infrastructure matérielle. Ce nouveau concept informatique consiste à proposer les services

FSS SFAX Page 17


PRÉSENTATION DU PROJET

à la demande accessibles à n’importe quel ordinateur avec accès d’Internet. Il se base sur le
principe de centralisation du stockage, des traitements et la bande passante en utilisant des
serveurs distants. De ce fait, les entreprises n’ont plus besoin de serveurs propres, mais elles
confient cette ressource à une entreprise qui leur garantit une puissance de calcul et de stockage
à la demande.
Nous distinguons trois formes de Cloud Computing : les clouds privés, les clouds publics et les
clouds hybrides.
Chacun de ces types englobe trois classes de services [7] :

— Software as a Service (SaaS) :C’est un modèle qui met à la disposition des utilisateurs des
solutions exposées sous forme de services disponibles sur Internet à travers une interface
homme-machine (navigateur, Smartphone).

— Plateforme as a Service (PaaS) :Ce service propose à l’utilisateur, en plus d’un


service d’utilisation de logiciel à distance, d’avoir accès à une véritable plate-forme de
développement, équipée d’un langage de programmation, d’outils de développements,
de modules. L’utilisateur bénéficie donc d’un environnement de développement managé,
hébergé, maintenu par un prestataire, basé sur une infrastructure externe à son entreprise.
Il aura donc la possibilité de développer des outils uniques pour son activité.

— Infrastructure as a Service ( IaaS ) : C’est le service de plus bas qui consiste à offrir
un accès à un parc informatique virtualisé : des machines virtuelles sur lesquelles
le consommateur peut installer un système d’exploitation et des applications. Le
consommateur est ainsi dispensé du coût d’achat de matériel informatique.

La figure 1.8 représente les différentes formes ainsi que les services offerts par le cloud
computing.

FSS SFAX Page 18


PRÉSENTATION DU PROJET

F IGURE 1.8 – Cloud Computing [7]

1.11 Conclusion
Ce chapitre présente une étude préliminaire du projet où nous avons tout d’abord exposé le
cadre de notre projet. Puis nous avons étudié et critiqué quelques travaux excitants. Ensuite,
nous avons défini la spécification des besoins fonctionnels et non-fonctionnels de notre
application. Nous avons ainsi clôturé ce chapitre par la définition des concepts de base qui
constituent l’environnement du projet.
Dans le chapitre suivant, nous allons entamer la phase de conception de notre système.

FSS SFAX Page 19


ANALYSE ET CONCEPTION

Chapitre

2
Analyse et conception

2.1 Introduction
La conception présente une phase primordial pour la facilité du développement et l’efficacité
de l’application.
Ainsi, nous détaillerons dans ce chapitre la conception par l’identification des acteurs et des
cas d’utilisation et la présentation des diagrammes de séquences, d’activités et de classes.
Nous justifierons tout d’abord le choix du langage de modélisation et de la méthodologie de
développement

2.2 Choix du langage de modélisation et de méthodologie de


développement
Nous avons choisi l’UML2 comme langage de modélisation et RUP comme méthodologie
de conception pour plusieurs raisons.

2.2.1 UML

UML “Unified Modeling Language” [8] est un langage de modélisation standardisé par
l’OMG (Object Management Group) en 1997. Le choix de l’UML n’était pas arbitraire. Il
est justifié par le fait qu’il est devenu le standard en termes de modélisation objet. Par ailleurs,
il est indépendant du langage de programmation et facilite la compréhension de représentations
abstraites complexes.

FSS SFAX Page 20


ANALYSE ET CONCEPTION

Nous utiliserons le logiciel Diagrams [9] comme un outil d’analyse et de conception UML pour
son utilité simple et facile, son interface intuitive et conviviale et pour sa puissance. Ce logiciel
couvre toutes les fonctionnalités nécessaires pour notre conception. Il supporte l’UML2.

2.2.2 Méthodologie de conception RUP

Le choix du processus unifié (RUP, eng.Rational Unified Process) [10] est le résultat d’une
contrainte majeure qui est la complexité et le volume important des fonctionnalités du système
à mettre en place. Donc, un processus piloté par les cas d’utilisation sera le bon choix. RUP est
un processus de développement logiciel utilisé conjointement avec UML et défini par Rational
Software (IBM).
Ce processus est :

— Itératif et incrémental : Le projet est décomposé en plusieurs itérations de courte durée.


Chaque itération prend en compte un certain nombre de cas d’utilisation et donne lieu à
un incrément et produit une nouvelle version exécutable.

— Guidé par les risques : Les risques majeurs du projet sont traités en priorité.

— Centré sur l’architecture : RUP vise la conception d’une architecture stable du système
dès les premiers incréments.

— Piloté par les cas d’utilisation : Le développement d’un logiciel doit être centré sur
l’utilisateur et ses besoins. Les cas d’utilisation permettent d’exprimer ces besoins.

2.3 Analyse et conception


Dans cette section, nous présentons les cas d’utilisation du projet et nous détaillons quelques
cas.

FSS SFAX Page 21


ANALYSE ET CONCEPTION

2.3.1 Identification des acteurs et des cas d’utilisation

2.3.1.1 Acteurs

Client
Cet acteur est l’utilisateur ou le propriétaire du système d’irrigation. Il a l’accès aux modules
suivants :

— S’authentifier.

— Gérer les plantes.

— Gérer les jarres en argile (OLLAS) pour chaque plante.

— Gérer les capteurs pour chaque plante.

— Recevoir des alertes.

— Consulter le tableau de bord.

Administrateur
Cet acteur est responsable de la gestion des clients et de la maintenance du système :

— Gestion des clients

2.3.1.2 Cas d’utilisation

La figure 2.1 suivante présente le diagramme des cas d’utilisation qui regroupe les différents
modules de notre application.
Chaque cas d’utilisation est détaillé dans le tableau 2.1.

FSS SFAX Page 22


ANALYSE ET CONCEPTION

F IGURE 2.1 – Diagramme de cas d’utilisation

FSS SFAX Page 23


ANALYSE ET CONCEPTION

Cas d’utilisation Détails Accessible via


S’authentifier Ce cas d’utilisation autorise l’utilisateur à Web
se connecter et à accéder aux différentes
fonctionnalités du système.
Gérer les Clients Ce cas d’utilisation permet à Web
l’administrateur de :

— Ajouter un client.

— Supprimer un client.

— Modifier un client.

— Consulter la liste des clients.

Consulter le tableau de bord Ce cas d’utilisation permet de : Web

— Consulter la température et l’humidité


du sol.

— Visualiser les données d’irrigation.

Recevoir des notifications Ce cas d’utilisation permet de : Android

— Recevoir une alerte du niveau


d’humidité ou de température du sol
trop bas ou élevée.

— Recevoir une alerte si le niveau d’eau


est trop bas dans la jarre.

— Recevoir une notification en cas de


panne.

FSS SFAX Page 24


ANALYSE ET CONCEPTION

Gérer les plantes Ce cas d’utilisation permet de : Web

— Ajouter une plante.

— Supprimer une plante.

— Modifier une plante.

— Consulter la liste des plantes.

Gérer les ollas Ce cas d’utilisation permet de : Web

— Ajouter un olla.

— Supprimer un olla.

— Modifier un olla.

— Consulter la liste des ollas.

Gérer les capteurs Ce cas d’utilisation permet de : Web

— Ajouter un capteur.

— Supprimer un capteur.

— Modifier un capteur.

— Consulter la liste des capteurs.

TABLE 2.1 – Tableau descriptif des cas d’utilisation

2.3.2 Description détaillée de quelques cas d’utilisation :

2.3.2.1 Cas d’utilisation « S’authentifier »

Description textuelle
Ce cas d’utilisation permet à un utilisateur de s’authentifier au système afin d’accéder à ses
différentes fonctionnalités.

FSS SFAX Page 25


ANALYSE ET CONCEPTION

— Acteurs : Client ou Administrateur.

— Pré condition : L’utilisateur a déjà un compte.

— Scénario nominal :

1. L’utilisateur saisit ses paramètres de connexion (Login et mot de passe).


2. Le système décrypte le mot de passe.
3. Le système vérifie les informations saisies.
4. L’utilisateur accède au système.

— Scénario alternatif :
* A1 : Le mot de passe ou le login est invalide.
L’enchainement A1 démarre au point 3 du scénario nominal.

5. Le système indique à l’utilisateur que le mot de passe ou le login est invalide.


6. L’utilisateur saisit de nouveau son login et son mot de passe.

Scénario nominal reprend du point 2.


* A2 : Récupération du mot de passe, l’enchaînement A2 démarre au point 3 du scénario
nominal.

7. Le système indique à l’utilisateur que le mot de passe ou le login est invalide.


8. L’utilisateur choisit de récupérer son mot de passe.
9. Le système redirige l’utilisateur vers une page de récupération de mot de passe.
10. l’utilisateur saisit son adresse email.
11. Le système vérifie l’email.
12. Le système envoie un email de récupération de mot de passe.

Scénario nominal reprend du point 1.


Diagramme de séquence :
La figure 2.2 représente le diagramme de séquence qui décrit le cas d’utilisation
«S’authentifier».

FSS SFAX Page 26


ANALYSE ET CONCEPTION

F IGURE 2.2 – Diagramme de séquence «S’authentifier»

FSS SFAX Page 27


ANALYSE ET CONCEPTION

2.3.2.2 Cas d’utilisation « Gérer les clients »

Description textuelle
Ce cas d’utilisation permet à un administrateur de gérer les clients. Il comporte les cas
suivants :

a. Ajouter un client

— Titre : Ajouter un client.

— Acteur : Administrateur.

— Pré condition : L’administrateur doit être authentifié.

— Scénario nominal :

1. L’administrateur saisit les différentes informations concernant le client.


2. Le système vérifie que tous les champs obligatoires sont renseignés et valides.
3. L’administrateur confirme l’ajout.
4. Le système effectue l’ajout d’un nouveau client.

— Scénario alternatif
* A1 : Les informations obligatoires sont erronées. L’enchaînement A1 démarre au
point 2 du scénario nominal.

5. Le système indique à l’administrateur que les informations saisies sont


erronées ou non valables.
6. L’administrateur saisit de nouveau les informations.
Scénario nominal reprend au Point 2.

b. Modifier un client

— Titre : Modifier les informations concernant un client.

— Acteur : Administrateur.

— Pré condition :

* L’administrateur est déjà connecté au système.

* le client est déjà enregistré.

— Scénario nominal :

FSS SFAX Page 28


ANALYSE ET CONCEPTION

1. L’administrateur saisit les nouvelles informations concernant le client.


2. Le système vérifie que tous les champs obligatoires sont renseignés et valides.
3. Le système enregistre et met à jour les informations.

— Scénario alternatif
* A1 : Les informations obligatoires sont erronées. L’enchaînement A1 démarre au
point 2 du scénario nominal.

4. Le système indique à l’administrateur que les informations saisies sont


erronées ou non valables.
5. L’administrateur saisit de nouveau les informations.
Scénario nominal reprend du point 2.

c. Supprimer un client

— Titre : Supprimer un client.

— Acteur : Administrateur.

— Pré condition :

* L’administrateur est déjà connecté au système.

* Un client est déjà enregistré.

— Scénario nominal :

1. L’administrateur demande la suppression d’un client au système.


2. Le système demande la confirmation de suppression.
3. L’administrateur confirme la suppression.
4. Le système supprime le client.

— Scénario alternatif
* A1 : L’administrateur annule la suppression.
L’enchainement A1 démarre au point 3 du scénario nominal.

3. L’administrateur annule la suppression.


Scénario nominal reprend du point 1.

Diagramme de séquence :
La figure 2.3 représente le diagramme de séquence qui décrit le cas d’utilisation «Gérer les
clients».

FSS SFAX Page 29


ANALYSE ET CONCEPTION

F IGURE 2.3 – Diagramme de séquence «Gérer les clients»

FSS SFAX Page 30


ANALYSE ET CONCEPTION

2.3.2.3 Cas d’utilisation « Gérer les plantes »

Description textuelle
Ce cas d’utilisation permet à un client de gérer les plantes. Il comporte les cas suivants :

a. Ajouter une plante

— Titre : Ajouter une plante.

— Acteur : client.

— Pré condition : Le client doit être authentifié.

— Scénario nominal :

1. Le client saisit les différentes informations concernant la plante.


2. Le système vérifie que tous les champs obligatoires sont renseignés et valides.
3. Le client confirme l’ajout.
4. Le système effectue l’ajout d’une nouvelle plante.

— Scénario alternatif
* A1 : Les informations obligatoires sont erronées. L’enchaînement A1 démarre au
point 2 du scénario nominal.

5. Le système indique au client que les informations saisies sont erronées ou non
valables.
6. Le client saisit de nouveau les informations.
Scénario nominal reprend au Point 2.

b. Modifier une plante

— Titre : Modifier les informations concernant une plante.

— Acteur : client.

— Pré condition :

* Le client est déjà connecté au système.

* la plante est déjà enregistrée.

— Scénario nominal :

1. Le client saisit les nouvelles informations concernant la plante.

FSS SFAX Page 31


ANALYSE ET CONCEPTION

2. Le système vérifie que tous les champs obligatoires sont renseignés et valides.
3. Le système enregistre et met à jour les informations.

— Scénario alternatif
* A1 : Les informations obligatoires sont erronées. L’enchaînement A1 démarre au
point 2 du scénario nominal.

4. Le système indique au client que les informations saisies sont erronées ou non
valables.
5. Le client saisit de nouveau les informations.
Scénario nominal reprend du point 2.

c. Supprimer une plante

— Titre : Supprimer une plante.

— Acteur : Client.

— Pré condition :

* Le client est déjà connecté au système.

* Une plante est déjà enregistrée.

— Scénario nominal :

1. Le client demande la suppression d’une plante au système.


2. Le système demande la confirmation de suppression.
3. Le client confirme la suppression.
4. Le système supprime la plante.

— Scénario alternatif
* A1 : Le client annule la suppression.
L’enchaînement A1 démarre au point 3 du scénario nominal.

3. Le client annule la suppression.


Scénario nominal reprend du point 1.

Diagramme de séquence :
La figure 2.4 représente le diagramme de séquence qui décrit le cas d’utilisation «Gérer les
plantes».

FSS SFAX Page 32


ANALYSE ET CONCEPTION

F IGURE 2.4 – Diagramme de séquence «Gérer les plantes»

FSS SFAX Page 33


ANALYSE ET CONCEPTION

2.3.2.4 Cas d’utilisation « Consulter tableau de bord »

Description textuelle
Ce cas d’utilisation permet à un client de consulter son tableau de bord.

— Titre : consulter le tableau de bord.

— Acteur : client.

— Pré-condition : Le client est déjà connecté.

— Scénario nominal :

1. le client choisit d’afficher le tableau de bord.


2. le système cherche les états suivants :

— niveau d’eau.

— état température du sol.

— état humidité du sol.


3. Le système vérifie toutes les valeurs.
4. Le système affiche le dashboard.

Diagramme de séquence :
La figure 2.5 représente le diagramme de séquence qui décrit le cas d’utilisation « Consulter
tableau de bord ».

FSS SFAX Page 34


ANALYSE ET CONCEPTION

F IGURE 2.5 – Diagramme de séquence « Consulter tableau de bord »

FSS SFAX Page 35


ANALYSE ET CONCEPTION

2.3.2.5 Cas d’utilisation « Recevoir des notifications »

Description textuelle
Ce cas d’utilisation permet à un client de recevoir des notifications.

— Titre : Recevoir des notifications.

— Acteur : client.

— Pré-condition : Le client est déjà connecté.

— Scénario nominal :

1. Le système vérifie toujours les valeurs reçues des capteurs.


2. Le système trouve une ou plusieurs valeurs inattendues.
3. Le client reçoit une ou plusieurs alertes pour les différents cas suivants :

— En cas Le niveau d’eau est bas.

— En cas d’une température du sol élevée.

— En cas d’une humidité du sol élevée.

Diagramme de séquence :
La figure 2.6 représente le diagramme de séquence qui décrit le cas d’utilisation « Recevoir
des notifications ».
Les cas d’utilisation "Gérer les Ollas" et "Gérer les capteurs" se réalisent de la même manière
que celui de "Gérer les plantes".

FSS SFAX Page 36


ANALYSE ET CONCEPTION

F IGURE 2.6 – Diagramme de séquence «Recevoir des notifications»

FSS SFAX Page 37


ANALYSE ET CONCEPTION

2.3.3 Diagrammes d’activités

Le diagramme d’activités permet de mettre l’accent sur les traitements. Il permet ainsi de
représenter le déroulement d’un cas d’utilisation.

2.3.3.1 Cas d’utilisation «Gérer les clients»

La figure 2.7 décrit les différentes transitions de la gestion des clients.

F IGURE 2.7 – Diagramme d’activité de gestion des clients

FSS SFAX Page 38


ANALYSE ET CONCEPTION

2.3.3.2 Cas d’utilisation «Gérer les plantes»

La figure 2.8 décrit les différentes transitions de la gestion des plantes.

F IGURE 2.8 – Diagramme d’activité de gestion des plantes

2.3.3.3 Cas d’utilisation «Recevoir des notifications»

La figure 2.9 représente le diagramme d’activités du cas d’utilisation «Recevoir des


notifications».

FSS SFAX Page 39


ANALYSE ET CONCEPTION

F IGURE 2.9 – Diagramme d’activité de recevoir des notifications

FSS SFAX Page 40


ANALYSE ET CONCEPTION

2.3.3.4 Cas d’utilisation «Consulter le tableau de bord»

La figure 2.10 représente le diagramme d’activités du cas d’utilisation «Consulter le tableau


de bord».

F IGURE 2.10 – Diagramme d’activité de consulter le tableau de bord

2.3.4 Diagramme de classes

La figure 2.11 identifie la structure des classes de notre système, y compris les attributs et les
méthodes de chaque classe.

FSS SFAX Page 41


ANALYSE ET CONCEPTION

F IGURE 2.11 – Diagramme de classes

FSS SFAX Page 42


ANALYSE ET CONCEPTION

2.3.5 Conception de la base de données

Dans cette section, nous présentons la conception de notre base de données. Le modèle
relationnel de la base de données du système est le suivant :

— Client(id_client, nom, mot_de_passe, prénom, email, téléphone, cin)

— Plante(id_plante, nom, type, Forme, longitude, latitude, #id_client))

— Olla(id_olla, taille, capacité, etat_nozzle_sortie , etat_nozzle_entree ,#id_plante)

— Capteur(id_capteur, nom, type ,#id_olla)

— Notification(id_notif ,date,temps,notification ,#id_plante)

— Irrigation (id_irrigation ,date, heure ,#id_plante)

2.4 Conclusion
Dans ce chapitre, nous avons abordé la conception de notre application à l’aide des
diagrammes de cas d’utilisations, de séquences, d’activités et de classes. L’objectif du chapitre
suivant est de présenter la réalisation de notre projet.

FSS SFAX Page 43


INSTALLATION DU SYSTÈME

Chapitre

3
Installation du système

3.1 Introduction
Dans ce chapitre, nous aborderons les différentes étapes nécessaires à l’installation pratique
de notre système d’irrigation par smart olla.

3.2 Architecture matérielle du système


L’architecture matérielle du système d’irrigation par Smart Olla repose sur plusieurs
composants clés. Ces composants sont soigneusement sélectionnés et intégrés pour assurer
un fonctionnement fluide et efficace du système.
La figure 3.1 identifie l’architecture matérielle du système.

F IGURE 3.1 – Architecture matérielle du système

FSS SFAX Page 44


INSTALLATION DU SYSTÈME

3.3 Description du système d’irrigation intelligent par smart


Olla et de ses composants
Notre système d’irrigation par smart Olla (jarre en argile) est basé sur une carte ESP32
connectée à certains capteurs qui sont contrôlés à distance par un système intelligent basé sur
module wifi et un téléphone utilisant un site.
Pour la réalisation de notre système, nous avons besoin des éléments suivants :

— ESP32.

— Les capteurs :

* Capteur d’humidité de sol.

* Capteur de niveau d’eau.

* Capteur de Température et d’humidité DHT11.

— Relai électromécanique.

— Les actionneurs :

* deux Pompes à eau.

— Olla (jarre en argile).

3.4 Outils matériels

3.4.1 ESP32 :

3.4.1.1 Présentation générale :

L’ESP32 est un microcontrôleur à faible consommation d’énergie et à haut rendement conçu


spécifiquement pour les applications Internet des objets (IoT). Il est largement utilisé dans de
nombreux projets d’électronique et de développement de systèmes intelligents en raison de ses
fonctionnalités avancées et de sa connectivité sans fil intégrée.

FSS SFAX Page 45


INSTALLATION DU SYSTÈME

La figure 3.2 représente la carte ESP32

F IGURE 3.2 – Carte ESP32

3.4.1.2 Caractéristique de la carte Arduino :

— Architecture à double cœur : L’ESP32 dispose de deux cœurs de processeur, ce qui


permet une exécution simultanée de tâches et une meilleure performance globale.

— Connectivité sans fil intégrée : L’ESP32 prend en charge le Wi-Fi 802.11 b/g/n, ce qui
permet une connexion rapide et stable aux réseaux sans fil. Il est également compatible
avec le Bluetooth 4.2 et 5.0, offrant ainsi une connectivité sans fil fiable pour les appareils
et les accessoires.

— Faible consommation d’énergie : L’ESP32 est conçu pour une consommation d’énergie
optimisée, ce qui le rend idéal pour les applications alimentées par batterie ou nécessitant
une efficacité énergétique.

— Sécurité : L’ESP32 offre des fonctionnalités de sécurité intégrées telles que le support de
la sécurité WPA/WPA2 pour les connexions Wi-Fi et la prise en charge du chiffrement
matériel.

— Grande capacité de stockage : L’ESP32 dispose d’une mémoire flash intégrée qui peut
être utilisée pour le stockage du programme et des données.

FSS SFAX Page 46


INSTALLATION DU SYSTÈME

Ces caractéristiques font de l’ESP32 un choix polyvalent et puissant pour la réalisation de


projets IoT, y compris les systèmes d’irrigation. Il offre une connectivité sans fil, une puissance
de traitement, une flexibilité de programmation et une efficacité énergétique, ce qui en fait un
microcontrôleur très apprécié des développeurs.
La figure 3.3 représente les composants de la carte ESP32.

F IGURE 3.3 – composant de la carte ESP32

3.4.2 Capteur d’humidité de sol :

3.4.2.1 Présentation générale :

Ce module de capteur d’humidité du sol est utilisé pour détecter l’humidité du sol. Il mesure
le contenu volumétrique de l’eau dans le sol et nous donne le niveau d’humidité comme sortie.
Le module dispose de sorties numériques et analogiques et d’un potentiomètre pour ajuster le
niveau du seuil.
Ce module de détection d’humidité est composé d’un capteur d’humidité, de résistances, d’un
condensateur, d’un potentiomètre, d’un comparateur LM393 IC, d’une LED d’alimentation et
d’état dans un circuit intégré.
La figure 3.4 représente le capteur d’humidité du sol.

FSS SFAX Page 47


INSTALLATION DU SYSTÈME

F IGURE 3.4 – Capteur d’humidité du sol.

3.4.2.2 Caractéristique :

— Tension de fonctionnement : 3.3V à 5V DC.

— Courant de fonctionnement : 15mA.

— Sortie numérique - 0V à 5V, niveau de déclenchement réglable à partir d’une valeur


prédéfinie.

— Sortie analogique - 0V à 5V basée sur le rayonnement infrarouge de la flamme du feu


tombant sur le capteur.

— LEDs indiquant la sortie et l’alimentation.

— Taille du circuit imprimé : 3.2cm x 1.4cm.

— Conception basée sur LM393.

— Facile à utiliser avec des microcontrôleurs ou même avec un circuit intégré


numérique/analogique normal. Petit, bon marché et facilement disponible.

FSS SFAX Page 48


INSTALLATION DU SYSTÈME

3.4.3 Capteur De Niveau D’eau (OKD-1052) :

3.4.3.1 Présentation générale :

Un capteur de niveau d’eau est un dispositif utilisé pour mesurer et indiquer le niveau d’eau
dans un réservoir, une cuve ou tout autre conteneur. Ces capteurs peuvent être utilisés dans de
nombreux domaines, tels que l’agriculture, l’industrie, les systèmes de gestion de l’eau, etc.
La figure 3.5 représente le capteur de niveau d’eau.

F IGURE 3.5 – Capteur De Niveau D’eau OKD-1052.

3.4.3.2 Caractéristiques :

— Tension de commutation : 110VDC.

— Courant de commutation : 0.5A.

— Tension de panne : 220VDC.

— Courant de transport : 1.0A.

— Résistance de contrat : 100 OHM.

— Température nominale : -30 + 125CelsiusDegré.

— Longueur du câble : 400MM.

FSS SFAX Page 49


INSTALLATION DU SYSTÈME

3.4.4 Capteur de Température et d’humidité DHT11 :

3.4.4.1 Présentation générale :

Le capteur DHT11 est un composant abordable et largement utilisé pour mesurer l’humidité
relative et la température ambiante. Sa facilité d’utilisation, son interface simple et sa
précision acceptable en font un choix populaire pour les projets nécessitant une surveillance
de l’environnement et le contrôle de l’humidité et de la température.
La figure 3.6 représente le capteur de Température et d’humidité.

F IGURE 3.6 – Capteur de Température et d’humidité DHT11

3.4.4.2 Caractéristiques :

— Interface à un seul fil : Le capteur DHT11 utilise une interface à un seul fil pour la
communication de données. Cela signifie qu’il utilise un seul fil pour l’alimentation et
la transmission des données, ce qui simplifie le câblage et facilite l’intégration dans les
projets.

— Alimentation : Le capteur DHT11 fonctionne avec une tension d’alimentation de 3,3 V


à 5 V, ce qui le rend compatible avec la plupart des microcontrôleurs et des cartes de
développement.

FSS SFAX Page 50


INSTALLATION DU SYSTÈME

— Faible consommation d’énergie : Le capteur DHT11 est conçu pour une consommation
d’énergie minimale, ce qui le rend adapté aux applications alimentées par batterie ou
nécessitant une efficacité énergétique.

— Sortie numérique : Le capteur DHT11 émet des données de mesure sous forme de
signal numérique. Il utilise un protocole de communication simple où les données sont
transmises en série à l’aide d’un signal de démarrage, suivi de bits de données et d’un bit
de parité.

3.4.5 Relais (JQC-3FF-S-Z) :

3.4.5.1 Présentation générale :

Un relais est un interrupteur à commande électrique qui peut être activé ou désactivé, laissant
passer ou non le courant, et qui peut être contrôlé avec de faibles tensions, comme les 5V fournis
par les broches Arduino.
La figure 3.7 représente le relais.

F IGURE 3.7 – Relais JQC-3FF-S-Z.

3.4.5.2 Caractéristique :

— Charge maximale : courant alternative 250V/10A, courant continue 30V/10A.

— Courant de déclenchement : 5mA.

FSS SFAX Page 51


INSTALLATION DU SYSTÈME

— Tension de fonctionnement : 5V/12V.

— Taille du Module : 50x26x18.5mm (L x L x H).

— Cc + : alimentation positive (VCC).

— Cc- : alimentation négative (GND).

— IN : peut-être un relais de contrôle de niveau haut ou bas.

— Non : interface de relais normalement ouverte.

— COM : relais d’interface communs.

— NC : interface de relais normalement fermée.

3.4.6 Pompe :

3.4.6.1 Présentation générale :

"R385 12V 3M DC Diaphragm Pump Micro Small Tank Aquarium Fish Bar" est
principalement utilisé dans l’aquarium, modèle expérimental, piscine gonflable, lavage de
voiture, arrosage, calendrier de remplissage d’eau minérale, etc.
La figure 3.8 représente la pompe.

F IGURE 3.8 – Pompe d’eau R385 12V 3M.

FSS SFAX Page 52


INSTALLATION DU SYSTÈME

3.4.6.2 Caractéristiques :

— Tension de fonctionnement : 6-12V DC.

— Courant de fonctionnement de charge : 0,5-0,7A.

— Débit maximal : 1-3L/Min.

— Tête maximale : 3 m.

— Plage d’aspiration maximale : 2 m.

— Température : 80.

— Durée de vie : 2500 Heure.

— Diamètre du tuyau d’entrée : 6mm.

— Dimensions : 86 x 43 m.

3.5 Logiciels utilisés


Lors de notre réalisation, nous nous sommes basés sur différents logiciels et environnements,
Thonny, Fritzing . Le premier nous a servi à programmer et configurer notre carte ESP32 pour
le bon fonctionnement de notre système.Fritzing nous a servi à une plateforme d’essais et de
tests avant l’entame sur la plateforme réelle.

3.5.1 Environnement de la programmation (Thonny)

Thonny [11] est un logiciel de programmation de la carte ESP32 de code (Python). Une fois,
le programme tapé ou modifié au clavier, il sera transféré et mémorisé dans la carte travers
de la liaison USB. Le câble USB alimenté à la fois en énergie la carte et transporte aussi
l’information, ce programme appelé Thonny.
Le logiciel Thonny est un environnement de développement (IDE) open source et gratuit.
La figure 3.9 représente le logo de logiciel "Thonny".

FSS SFAX Page 53


INSTALLATION DU SYSTÈME

F IGURE 3.9 – Logo de "Thonny"

3.5.2 Fritzing

Fritzing [12] est un logiciel Open Source développé par l’université de Postdam aux
Pays-Bas. Ce logiciel permet de :

— Réaliser des schémas de câblage sur une platine d’essai.

— Saisir des schémas structurels.

— Dessiner des typons.

— Editer des programmes et télécharger sur la carte.

La figure 3.10 représente le logo de logiciel "Fritzing".

F IGURE 3.10 – Logo de "Fritzing"

3.6 Conception et réalisation de tout le système avec ESP32

3.6.1 Schéma de câblage (Circuit du branchement) :

— Capteur d’humidité du sol se brancher avec l’ESP32 par GPIO36,5V,GND.

— Capteur de niveau d’eau se brancher avec l’ESP32 par GPIO19,5V.

FSS SFAX Page 54


INSTALLATION DU SYSTÈME

— Relai de pompe se brancher avec l’ESP32 par GPIO21, 5V, GND.

— Capteur DHT11 se brancher avec l’ESP32 par GPIO23,5V,GND.

La figure 3.11 représente le schéma explicatif par Fritzing de montage qui nous montre la
connexion entres les différents modules avec la carte ESP32 .

F IGURE 3.11 – Schéma de câblage de notre système avec l’ESP32

3.6.2 Test pratique :

Après avoir présenté dans la section précédente les outils utilisés pour réaliser notre projet,
nous allons décrire les étapes de la réalisation de notre système. Tout d’abord, chaque capteur
est monté et testé séparément. Ensuite, après avoir expérimenté les composants selon le schéma
de la figure précédente, nous les avons réalisés et testés.
Les figures 3.12 et 3.13 illustrent le système d’irrigation par smart Olla (jarre en argile) réalisé.

FSS SFAX Page 55


INSTALLATION DU SYSTÈME

F IGURE 3.12 – Système réalisé.

F IGURE 3.13 – Test avec cloud "Ubidots"

FSS SFAX Page 56


INSTALLATION DU SYSTÈME

3.7 Envoi des notifications


L’envoi de notifications est une partie essentielle de notre système d’irrigation par smart Olla.
Elle concerne la fonctionnalité qui permet d’envoyer des notifications au client concernant l’état
de l’irrigation, les niveaux d’eau, les conditions du sol ou tout autre événement important lié
au système.

3.7.1 Création de notification

La création de notifications dans les systèmes d’irrigation par Smart Olla peut être réalisée
à l’aide de plateformes telles qu’Ubidots. Ubidots est une plateforme Internet des objets (IoT)
qui permet de collecter, visualiser et analyser les données provenant de capteurs et d’appareils
connectés.
les figures 3.14 et 3.15 représentent le processus de création de notification d’état d’irrigation.

F IGURE 3.14 – Création de notification

FSS SFAX Page 57


INSTALLATION DU SYSTÈME

F IGURE 3.15 – Conditions de notification

3.7.2 Réception de notification

Après la création de notifications, les utilisateurs peuvent profiter de nombreux avantages


dans les systèmes d’irrigation par Smart Olla. Lorsqu’ils reçoivent des notifications, ils sont
informés en temps réel de l’état de l’irrigation de leurs plantes.
Les figures 3.16 et 3.17 montrent la réception d’une notification d’état d’irrigation.

F IGURE 3.16 – Envoi de notification

FSS SFAX Page 58


INSTALLATION DU SYSTÈME

F IGURE 3.17 – Réception de notification

3.8 Conclusion
Dans ce chapitre, nous avons entamé notre réalisation pratique. Pour cela, nous avons essayé
de raconter les procédures et les étapes que nous avons menées afin d’arrivé à notre but.

FSS SFAX Page 59


RÉALISATION

Chapitre

4
Réalisation

4.1 Introduction
Après avoir achevé la phase de conception de l’application, nous entamons dans ce chapitre
la phase de la réalisation. Elle consiste à réaliser une application englobant les besoins
fonctionnels mentionnés dans le premier chapitre et qui est accessible depuis un navigateur
web.

4.2 Architecture MVC


Le choix de l’architecture de notre système est une étape très importante. Ce choix n’est
pas une décision délibérée, mais imposée par les besoins techniques de notre application en
terme d’organisation et de clarté de développement et de simplicité de maintenance. Dans ce
cadre, l’architecture multi couches s’avère de plus en plus intéressante, d’où le choix du modèle
d’architecture MVC (en abrégé MVC, de l’anglais Model-View-Controller).
Le pattern MVC [13] permet de bien organiser son code source. Il va nous aider à savoir
quels fichiers créer, mais surtout à définir leurs rôles. Le but de MVC est justement de séparer
la logique du code en trois parties que l’on retrouve dans des fichiers distincts.

— Modèle : Cette partie gère les données de notre site. Son rôle est de récupérer les
informations brutes dans la base de données, de les organiser et de les assembler pour
qu’elles puissent ensuite être traitées par le contrôleur. On y trouve donc entre autres les
requêtes SQL.

— Vue : Cette partie se concentre sur l’affichage. Elle ne fait presque aucun calcul et se
contente de récupérer des variables pour savoir ce qu’elle doit afficher. On y trouve

FSS SFAX Page 60


RÉALISATION

essentiellement du code HTML mais aussi quelques boucles et conditions en TypeScript


très simples, pour afficher par exemple une liste de messages.

— Contrôleur : Cette partie gère la logique du code qui prend des décisions. C’est en quelque
sorte l’intermédiaire entre le modèle et la vue : le contrôleur va demander au modèle
les données, les analyser, prendre des décisions et renvoyer le texte à afficher à la vue.
Lecontrôleur contient exclusivement du TypeScript. C’est notamment lui qui détermine
si le visiteur a le droit d’accéder à la page ou non (gestion des droits d’accès).

La figure 4.1 représente une description de l’architecture MVC.

F IGURE 4.1 – Interactions entre le modèle, la vue et le contrôleur

Avantages du MVC [14] :

— Une conception claire est efficace grâce à la séparation des données de la vue et du
contrôleur.

— Un gain de temps de maintenance et d’évolution du site.

— Une plus grande souplesse pour organiser le développement du site entre différents
développeurs (indépendance des données, de l’affichage (webdesign)).

Inconvénients du MVC :

FSS SFAX Page 61


RÉALISATION

L’inconvénient majeur du modèle MVC n’est visible que dans la réalisation de petits projets,
de sites internet de faible envergure. En effet, la séparation des différentes couches nécessite la
création de plus de fichiers (3 fois plus exactement) :

— Un fichier pour le modèle.

— Un fichier pour le contrôleur.

— Un fichier pour la vue.

Il n’est donc pas très intéressant de recourir à ce système dans ce cas là.

4.3 Étude technologique

4.3.1 Outils de développement

4.3.1.1 Microsoft Visual Studio Code

Visual Studio Code [15] est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et macOS. Il peut être utilisé avec une variété de langages de programmation,
notamment Python, Java, JavaScript et C++.
La figure 4.2 représente le logo de Visual Studio Code.

F IGURE 4.2 – Logo de "Visual Studio Code"

4.3.1.2 XAMPP

XAMPP [16], multi-plateforme (X pour cross), Apache (A), MariaDB (M), PHP (P) et Perl
PHP (P), est une application Apache légère permettant aux développeurs de créer un serveur

FSS SFAX Page 62


RÉALISATION

Web local ou un serveur FTP à des fins de test et de déploiement. Il prend en charge les
serveurs d’applications, les bases de données et le langage de script afin d’exécuter littéralement
la plupart des sites Web et des applications Web directement à partir du logiciel. XAMPP
comprend le serveur Web Apache, PHP, MySQL, Perl, le serveur FTP et phpMyAdmin, le
serveur de messagerie Mercury et le serveur JSP Tomcat.
La figure 4.3 représente le logo de "XAMPP".

F IGURE 4.3 – Logo de "DBEX"

4.3.2 Langages de développement

4.3.2.1 HTML 5 (HyperText Markup Language)

HTML5 [17] est la dernière version du langage de représentation web HTML. Il correspond
à l’évolution du HTML4 et du XHTML. Son choix n’était pas arbitraire. En effet, ce langage
apporte une souplesse de développement et offre plusieurs avantages notamment des effets
d’animation ,une gestion de vidéos (sans passer par des plugins externes comme flash),une
optimisation sur le temps de chargement des pages (moins d’images, moins de codes, moins de
fichiers flash, etc).
La figure 4.4 représente le logo de HTML 5.

FSS SFAX Page 63


RÉALISATION

F IGURE 4.4 – Logo de "HTML 5 "

4.3.2.2 CSS 3 (Cascading Style Sheets)

Le CSS [18] est un langage informatique utilisé sur l’internet pour mettre en forme
les fichiers HTML ou XML. Ainsi, les feuilles de style, aussi appelées les fichiers CSS,
comprennent du code qui permet de gérer le design d’une page en HTML.
La figure 4.5 représente le logo de CSS.

F IGURE 4.5 – Logo de "CSS"

4.3.2.3 JavaScript

JavaScript [19] est un langage de programmation de scripts principalement employé dans


les pages web interactives et à ce titre est une partie essentielle des applications web. Avec les
langages HTML et CSS, JavaScript est au cœur des langages utilisés par les développeurs web.
Une grande majorité des sites web l’utilisent, et la majorité des navigateurs web disposent d’un
moteur JavaScript pour l’interpréter.
La figure 4.6 représente le logo de JavaScript.

FSS SFAX Page 64


RÉALISATION

F IGURE 4.6 – Logo de "JavaScript"

4.3.2.4 PHP

PHP [20] (Hypertext Preprocessor) est un langage de script côté serveur très populaire
et largement utilisé pour le développement web. Il est conçu spécifiquement pour le
développement d’applications web dynamiques et interactives.
La figure 4.7 représente le logo de PHP.

F IGURE 4.7 – Logo de "PHP"

4.4 Réalisation de l’application web


Dans cette partie, nous allons présenter quelques interfaces de notre application web.

4.4.1 Interface d’authentification

La figure 4.8 représente l’interface d’authentification qui permet l’accès aux différentes
fonctionnalités pour l’administrateur ou le client. Quant à la figure 4.9 représente les
messages d’erreurs possibles si on passe au bouton "Se connecter" sans remplir les champs

FSS SFAX Page 65


RÉALISATION

d’authentification obligatoires. La figure 4.10 représente ainsi les messages d’erreurs possibles
en cas où les champs à remplir sont invalides.

F IGURE 4.8 – Interface d’authentification

F IGURE 4.9 – Champs obligatoires d’authentification

FSS SFAX Page 66


RÉALISATION

F IGURE 4.10 – Champs invalides d’authentification

4.4.2 Interface de ré-initialisation du mot de passe

La figure 4.11 représente l’interface de ré-initialisation du mot de passe. Après avoir cliquer
sur "Mot de passe oublié ?" dans l’interface d’authentification, une nouvelle interface s’affiche
pour donner à l’utilisateur l’accès d’écrire son adresse mail puis il clique sur le boutton
"Envoyer". Il faut ensuite recevoir un mail afin de changer son mot de passe et enfin de
l’enregistrer. Maintenant, il peut s’authentifier avec le nouveau mot de passe

F IGURE 4.11 – Interface de ré-initialisation du mot de passe

FSS SFAX Page 67


RÉALISATION

4.4.3 Interface de gestion des clients

En passant de l’interface d’authentification en tant qu’administrateur vers l’interface de


gestion des clients. Dans cette interface, l’administrateur dispose de fonctionnalités telles que
l’ajout, la suppression et la modification des clients.
Dans la figure 4.12, l’administrateur peut utiliser le formulaire d’ajout de client pour saisir les
informations d’un nouveau client. Les champs tels que le nom, le prénom, l’email, le mot de
passe, le téléphone et le CIN doivent être remplis. En soumettant le formulaire, le nouveau
client sera ajouté à la liste des clients.

F IGURE 4.12 – Interface d’ajout de client

La figure 4.13 présente la liste des clients existants. L’administrateur peut visualiser les
informations de chaque client, et a la possibilité de supprimer un client en cliquant sur le bouton
"Supprimer" correspondant à ce client.

FSS SFAX Page 68


RÉALISATION

F IGURE 4.13 – Liste des clients

Lorsque l’administrateur clique sur le bouton "Modifier" d’un client spécifique dans la liste
(figure 4.13), il accède au formulaire de modification du client (figure 4.14). L’administrateur
peut alors apporter les modifications nécessaires aux champs tels que le nom, le prénom et le
téléphone du client. Une fois les modifications terminées, l’administrateur peut enregistrer les
nouvelles informations du client.

F IGURE 4.14 – Modifier un client

FSS SFAX Page 69


RÉALISATION

4.4.4 Interface d’accueil pour un client

Lorsque le client se connecte à l’interface d’accueil après l’authentification en tant que client,
il est accueilli avec un message de bienvenue personnalisé. L’accueil offre une expérience
conviviale et propose quatre boutons permettant au client de gérer différentes fonctionnalités.
Ces fonctionnalités comprennent la gestion des plantes, la gestion des jarres, la gestion des
capteurs et la consultation des données d’irrigation. Chaque bouton représente une action
spécifique que le client peut effectuer pour interagir avec le système Smart Olla et gérer ses
paramètres selon ses besoins.
La figure 4.15 représente l’Interface du tableau de bord pour un client

F IGURE 4.15 – Interface d’accueil pour un client

4.4.5 Interface de gestion des plantes

Lorsque le client clique sur le bouton "Gérer les plantes" dans l’interface d’accueil, il est
redirigé vers l’interface de gestion des plantes, le client dispose de fonctionnalités telles que
l’ajout, la suppression et la modification des plantes.
Dans la figure 4.16, le client peut utiliser le formulaire d’ajout de plante pour saisir les
informations d’une nouvelle plante. Les champs tels que le nom de la plante, type de la plante,

FSS SFAX Page 70


RÉALISATION

forme, longitude et latitude doivent être remplis. En soumettant le formulaire, la nouvelle plante
sera ajoutée à la liste des plantes.

F IGURE 4.16 – Ajouter une plante

La figure 4.17 présente la liste des plantes existantes. Le client peut visualiser les
informations de chaque plante et a la possibilité de supprimer une plante en cliquant sur le
bouton "Supprimer" correspondant à cette plante.

F IGURE 4.17 – liste des plantes

Lorsque le client clique sur le bouton "Modifier" d’une plante spécifique dans la liste (figure
4.17), il accède au formulaire de modification de la plante (figure 4.18). Le client peut alors

FSS SFAX Page 71


RÉALISATION

apporter les modifications nécessaires aux champs. Une fois les modifications terminées, le
client peut enregistrer les nouvelles informations de la plante.

F IGURE 4.18 – Modifier une plante

4.4.6 Interface de gestion des ollas (jarres en argile)

Lorsque le client clique sur le bouton "Gérer les ollas" dans l’interface d’accueil, il est
redirigé vers l’interface de gestion des ollas, le client dispose de plusieurs fonctionnalités pour
gérer ses ollas.
Dans la figure 4.19, le client peut utiliser le formulaire d’ajout d’olla pour saisir les informations
d’une nouvelle olla. Les champs tels que la taille d’olla et capacité de l’olla doivent être remplis.
En soumettant le formulaire, la nouvelle plante sera ajoutée à la liste des ollas.

FSS SFAX Page 72


RÉALISATION

F IGURE 4.19 – Ajouter une olla

La figure 4.20 présente la liste des ollas existantes. Le client peut visualiser les informations
de chaque olla et a la possibilité de supprimer une olla en cliquant sur le bouton "Supprimer"
correspondant à cette olla.

F IGURE 4.20 – Liste des ollas

Lorsque le client clique sur le bouton "Modifier" d’une olla spécifique dans la liste (figure
4.20), il accède au formulaire de modification de l’olla (figure 4.21). Le client peut alors

FSS SFAX Page 73


RÉALISATION

apporter les modifications nécessaires aux champs. Une fois les modifications terminées, le
client peut enregistrer les nouvelles informations de l’olla.

F IGURE 4.21 – Modifier une olla

4.4.7 Interface de gestion des capteurs

Lorsque le client clique sur le bouton "Gérer les capteurs" dans l’interface d’accueil , il est
redirigé vers l’interface de gestion des capteurs, le client dispose de fonctionnalités telles que
l’ajout, la suppression et la modification des capteurs.
Dans la figure 4.22, le client peut utiliser le formulaire d’ajout capteur pour saisir les
informations d’un nouvelle capteur. Les champs tels que le nom de capteur et type de capteur
doivent être remplis. En soumettant le formulaire, le nouveau capteur sera ajoutée à la liste des
capteurs.

FSS SFAX Page 74


RÉALISATION

F IGURE 4.22 – Ajouter un capteur

La figure 4.23 présente la liste des capteurs existants. Le client peut visualiser les
informations de chaque capteur et a la possibilité de supprimer un capteur en cliquant sur le
bouton "Supprimer" correspondant à ce capteur.

F IGURE 4.23 – Liste des capteurs

Lorsque le client clique sur le bouton "Modifier" d’un capteur spécifique dans la liste (figure
4.23), il accède au formulaire de modification de capteur (figure 4.24). Le client peut alors

FSS SFAX Page 75


RÉALISATION

apporter les modifications nécessaires aux champs. Une fois les modifications terminées, le
client peut enregistrer les nouvelles informations de capteur.

F IGURE 4.24 – Modifier un capteur

4.4.8 Interface des données d’irrigation

Lorsque le client clique sur le bouton "Consulter les données d’irrigation" dans l’interface
d’accueil , il est redirigé vers le cloud "ubidots", Le client dispose de la fonctionnalité de
consultation des données d’irrigation.

La figure 4.25 représente l’historique de l’humidité du sol.

FSS SFAX Page 76


RÉALISATION

F IGURE 4.25 – Historique

La figure 4.26 représente l’historique de l’humidité du sol sous forme d’une courbe.

F IGURE 4.26 – Historique sous forme d’une courbe

La figure 4.27 représente les dernières valeurs collectées.

FSS SFAX Page 77


RÉALISATION

F IGURE 4.27 – Dernières valeurs collectées

4.5 Conclusion
Dans ce chapitre, nous avons décrit, en premier lieu, l’architecture de l’application et les
technologies utilisées dans notre projet. La deuxième partie a été dédiée à la présentation de
notre travail moyennant des captures d’écran et une description des fonctionnalités offertes par
les différentes interfaces de l’application développée.

FSS SFAX Page 78


CONCLUSION GÉNÉRALE

Le travail réalisé dans le cadre de ce projet concerne une nouvelle thématique sur les réseaux
à internet des objets et la réalisation d’un système d’irrigation par smart ollas (des jarres en
argile).
Nous avons pris plaisir à travailler sur ce thème, parce que ce projet est une idée extraordinaire
qui nous aide dans notre vie quotidienne et surtout pour les agriculteurs, ce système est un
élément nécessaire qui peut aider à améliorer l’économie du pays par une série de réparations au
niveau de l’agriculture qui permet d’éviter la dépendance et de réaliser la sécurité alimentaire.
Nous avons commencé, dans le premier chapitre, par une présentation générale mettant en
œuvre le cadre et les concepts de base de notre projet. Nous avons entamé par la suite une
étude des besoins fonctionnels et non fonctionnels. Cette dernière a été couronnée, dans le
deuxième chapitre, par une conception générale et détaillée de l’application de notre système
en présentant des diagrammes UML tel que le diagramme de cas d’utilisation, les diagrammes
de séquence, les diagrammes d’activités et le diagramme de classes. Le troisième chapitre,
intitulé "Installation du système", nous permet de situer le projet dans son contexte spécifique
en fournissant une architecture matérielle détaillée du système, une description approfondie
de ses composants, ainsi que les outils et logiciels utilisés pour sa réalisation. Le dernier
chapitre, nous avons passé à la réalisation web. D’abord, nous avons présenté l’architecture de
l’application et l’environnement de développement logiciel. Nous avons ensuite décrit quelques
interfaces réalisées dans l’application web.
En termes de perspectives, et à court terme, il est essentiel de fournir une formation et un
soutien continu aux agriculteurs pour les aider à comprendre et à adopter le système d’irrigation
par Smart Olla, ou encore améliorer l’efficacité énergétique du notre système en utilisant

FSS SFAX Page 79


CONCLUSION GÉNÉRALE

des technologies telles que l’énergie solaire pour alimenter les dispositifs, en optimisant
la consommation d’énergie et en réduisant les coûts opérationnels. Aussi, et à long terme,
des perspectives d’extension et d’amélioration sont envisageables, telles que l’intégration de
capteurs supplémentaires, l’utilisation de modèles d’intelligence artificielle pour une irrigation
prédictive, ou encore la mise en place de systèmes de gestion plus complexes.

FSS SFAX Page 80


BIBLIOGRAPHIE

[1] DBEX. Disponible sur :


http ://www.dbex.fr/

[2] Rachio. Disponible sur :


https ://rachio.com/

[3] Le système d’irrigation intelligent Gro. Disponible sur :


https ://www.gro.com/smart-irrigation//

[4] CropX. Disponible sur :


https ://cropx.com/

[5] AquaSpy. Disponible sur :


https ://aquaspy.com/

[6] IoT.UIT-T, “Présentation générale de l’Internet des objets,” Sect. LA Norm. DES
Telecommun. L’UIT, no. 1, p. 24, 2012.

[7] Cloud Computing. Disponible sur :


https ://www.javatpoint.com/cloud-computing-architecture

[8] UML . Disponible sur :


https ://www.uml.org/

[9] Diagrams . Disponible sur :


https ://app.diagrams.net/

FSS SFAX Page 81


[10] RUP . Disponible sur :
https ://www.nutcache.com/fr/blog/methode-rup/

[11] Thonny . Disponible sur :


https ://thonny.org/

[12] Fritzing . Disponible sur :


https ://fritzing.org/

[13] Architecture MVC . Disponible sur :


https ://www.irif.fr/ carton/Enseignement/InterfacesGraphiques/Cours/Swing/mvc.html

[14] Avantages et inconvénients de l’architecture MVC. Disponible sur :


https ://commentouvrir.com/tech/utilisation-de-larchitecture-mvc-avantages-et-inconvenients/

[15] Visual Studio Code . Disponible sur :


https ://code.visualstudio.com/

[16] XAMPP . Disponible sur :


https ://www.apachefriends.org/fr/index.html

[17] HTML5 . Disponible sur :


https ://www.ionos.fr/digitalguide/sites-internet/developpement-web/html5-cest-quoi/

[18] CSS . Disponible sur :


https ://developer.mozilla.org/fr/docs/

[19] JavaScript . Disponible sur :


https ://developer.mozilla.org/fr/docs/Web/JavaScript

[20] PHP . Disponible sur :


https ://www.php.net/

FSS SFAX Page 82

Vous aimerez peut-être aussi