Département : Informatique
1. INTRODUCTION .......................................................................................................... 2
2. PRESENTATION DE L’ORGANISME D’ACCUEIL ................................................. 2
3. DESCRIPTION DU PROJET ........................................................................................ 2
4. SPECIFICATIONS DES BESOINS .............................................................................. 3
4.1. Besoins fonctionnels .............................................................................................. 3
4.2. Besoins non fonctionnels ....................................................................................... 3
5. CONCLUSION .............................................................................................................. 4
1. INTRODUCTION .......................................................................................................... 5
2. LANGAGE DE MODELISATION ............................................................................... 5
2.1. Langage UML ........................................................................................................ 5
3. LOGICIEL DE MODELISATION ................................................................................ 6
4. IDENTIFICATION DES ACTEURS ET DES CAS D’UTILISATION ....................... 6
4.1. Diagramme de cas d’utilisation .............................................................................. 6
5. DIAGRAMME DE CLASSE DU SYSTEME............................................................... 7
6. REALISATION DE LA BASE DE DONNEES DU SYSTEME.................................. 8
7. ARCHITECTURE GLOBALE DU SYSTEME .......................................................... 10
8. CONCLUSION ............................................................................................................ 11
1. INTRODUCTION ........................................................................................................ 12
2. ENVIRONNEMENT LOGICIEL ................................................................................ 12
2.1. Langages utilisés .................................................................................................. 12
2.2. Framework et bibliothèques utilisés ..................................................................... 14
2.3. Environnements de développement utilisés ......................................................... 15
3. PRESENTATION DES INTERFACES DE L’APPLICATION ................................. 16
3.1. Interface d’authentification .................................................................................. 16
3.2. Interface d’inscription .......................................................................................... 17
3.3. Interface de l’ensemble des ruches ....................................................................... 18
3.4. Interface de statistiques ........................................................................................ 18
3.5. Interface pour gérer les ruches ............................................................................. 19
3.6. Interface d’ajout des nouvelles ruches ................................................................. 20
4. CONCLUSION ............................................................................................................ 20
Introduction générale
Le stage que j’ai effectué est une occasion de découverte de l’IoT dans l’apiculture.
L’objectif de mon stage dans cet établissement est de réaliser une solution IoT pour sauver
les abeilles, améliorer la production du miel et suivi l’état des ruches.
Dans ce cadre, le stage sera présenté selon les trois chapitres suivants :
➢ Le deuxième chapitre met l’accent sur les différents diagrammes développés afin
de concevoir la solution ;
1
Chapitre 1 : Cadre et description du projet
1. Introduction
Ce chapitre traite d’abord la présentation de l’organisme d’accueil ESPRIT, ensuite le sujet
et l’objectif principal du projet et enfin l’ensemble des besoins fonctionnels et non
fonctionnels liés à notre application ainsi que la gestion des tâches du projet.
ESPRIT-Tech est le point focal où les équipes RDI, à travers diverses disciplines et
domaines de recherche, se réunissent pour collaborer sur divers projets de recherche
interdisciplinaires.
3. Description du projet
➢ Titre du projet : Sauver les abeilles grâce à l’IoT ;
2
Chapitre 1 : Cadre et description du projet
Les besoins fonctionnels expriment une action que doit effectuer le système en réponse à
une demande (sorties qui sont produites pour un ensemble de données d’entrée). L’application
doit permettre à l’utilisateur de :
➢ S’authentifier ;
➢ Créer un compte ;
Les besoins non fonctionnels sont des besoins qui peuvent avoir un aspect visible pour
l’utilisateur, mais qui ne sont pas reliés directement au comportement du système. Ils
présentent les exigences internes primordiales pour le système tel que les contraintes liées à
l’environnement et à l’implémentation et les exigences en matière de performances,
d’extensibilité et de fiabilité.
La sécurité ;
3
Chapitre 1 : Cadre et description du projet
La fiabilité.
5. Conclusion
À travers ce chapitre, j’ai présenté le cadre du projet, l’entreprise et la spécification des
besoins fonctionnels et non fonctionnels du système. En outre, j’ai mis l’accent sur la manière
d’organiser et d’élaborer les tâches afin de respecter les délais de développement.
Dans le contexte du projet, je vais entamer le chapitre suivant intitulé étude préalable du
projet.
4
Chapitre 2 : Conception
Chapitre 2 : Conception
1. Introduction
La conception a comme objectif de constituer une présentation claire et cohérente des
fonctionnalités et autres exigences du système en développement.
2. Langage de modélisation
UML (en anglais Unified Modeling Language ou langage de modélisation unifié) est un
langage de modélisation graphique à base de pictogrammes. Il est apparu dans le domaine du
génie logiciel dans le cadre de la « conception orientée objet » [5].
Couramment utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de
systèmes ne se limitant pas au domaine informatique. Les 14 diagrammes UML (version 2.3)
sont dépendants hiérarchiquement et se complètent de façon à permettre la modélisation d'un
projet tout au long de son cycle de vie. Ces diagrammes sont typés comme suit :
5
Chapitre 2 : Conception
• Diagramme de séquence ;
• Diagramme de communication ;
• Diagramme global d'interaction ;
• Diagramme de temps.
3. Logiciel de modélisation
Il existe plusieurs logiciels de modélisations UML tels que : AgroUML, MagicDraw,
Microsoft Visio, BOUML, StarUML, Visual Paradigm etc.
J’ai utilisé le logiciel drawio pour élaborer les différents diagrammes UML du projet car
c’est une application gratuite, rapide et facile de l’utiliser.
6
Chapitre 2 : Conception
Le diagramme schématisé ci-dessous synthétise les classes du système ainsi les relations
entre eux :
8
Chapitre 2 : Conception
➢ Table « User » :
Au niveau de la table User, on trouve les informations des utilisateurs qui sont enregistrées
lors de la création du compte pour pouvoir se connecter.
➢ Table « Beehive » :
La table Beehive contient les informations sur les ruches comme ses numéros, ses nombres
de cadres dedans, la nature du miel et la localisation de chaque ruche.
9
Chapitre 2 : Conception
➢ Table « Sensors » :
Dans la table Sensors, on trouve les données issues du nœud capteur comme la
température, l’humidité, la lumière etc.
10
Chapitre 2 : Conception
8. Conclusion
Ce chapitre a mis l’accent sur le diagramme de cas d’utilisation et le diagramme de classe
pour montrer les interactions entre l’acteur et le système. Puis j’ai présenté l’architecture
physique du système afin de comprendre la liaison entre les principaux composants.
Le prochain chapitre traitera des explications et des clarifications de plusieurs concepts en
rapport avec le contexte de mon travail.
11
Chapitre 3 : Réalisation
Chapitre 3 : Réalisation
1. Introduction
Ce chapitre illustre sur le plan pratique les concepts théoriques précédents en présentant
d’abord l’environnement de réalisation sur le plan logiciel et ensuite les interfaces de
l’application web/mobile.
2. Environnement logiciel
Durant notre stage, nous avons utilisé les langages de programmation suivants :
➢ HTML [14] : (HyperText Markup Language) c'est le langage universel utilisé sur les
pages Web lisibles par tous les Navigateurs Web (Internet Explorer, Netscape,
Mozilla, etc..). Ce langage fonctionne suivant l'assemblage et la combinaison de
balises permettant de structurer et de donner l'apparence voulue aux données textes,
images et multimédias suivant la mise en page voulue.
➢ CSS [15] : (Cascading Style Sheets) est un langage de feuille de style utilisé pour
décrire une présentation d'un document écrit en HTML ou en XML (on inclut ici les
langages basés sur XML comme SVG ou XHTML). Le CSS décrit la façon dont les
éléments doivent être affichés sur l'écran ou sur d'autres périphériques.
12
Chapitre 3 : Réalisation
13
Chapitre 3 : Réalisation
Durant mon stage, J’ai utilisé les Framework et les bibliothèques suivants :
➢ Bootstrap [20] : C’est une collection d'outils utiles à la création du design (graphique,
animation et interactions avec la page dans le navigateur, etc.), de sites et
d'applications web. C'est un ensemble qui contient des codes HTML et CSS, des
formulaires, des boutons, des outils de navigation et d’autres éléments interactifs ainsi
que des extensions JavaScript en option.
➢ JQuery [21] : C’est une bibliothèque JavaScript libre et multiplateforme créée pour
simplifier et faciliter considérablement la navigation et la manipulation des documents
HTML, la gestion d'événements, l'animation et l’Ajax grâce à une API simple à
utiliser qui fonctionne sur une multitude de navigateurs.
14
Chapitre 3 : Réalisation
➢ VS Code [22] : (Visual Studio Code) c’est un éditeur de code cross platform, libre et
gratuit, supportant une dizaine de langages, développé par Microsoft.
15
Chapitre 3 : Réalisation
Node-RED fournit un éditeur de flux basé sur un navigateur Web, qui peut être utilisé pour
créer des fonctions JavaScript. Des éléments d'applications peuvent être sauvegardés ou
partagés sur Node-RED pour être réutilisés. Le runtime est construit sur Node.js et les flux
créés dans Node-RED sont stockés à l'aide de JSON.
16
Chapitre 3 : Réalisation
Cette interface permet à l’utilisateur de se connecter en saisissant son email et son mot de
passe pour à accéder aux différents services de l’application.
Cette interface permet à l’utilisateur de créer un compte pour qu’il puisse s’authentifier en
remplissant tous les champs.
17
Chapitre 3 : Réalisation
Cette interface permet à l’utilisateur de voir ses différentes ruches et d’y accéder pour
passer à l’interface suivantes qui est l’interface de statistique.
Cette interface permet à l’utilisateur de consulter l’état actuel de sa ruche en regardant les
différentes valeurs envoyées par le nœud capteur.
18
Chapitre 3 : Réalisation
Cette interface permet à l’utilisateur de savoir l’évolution des données issues des capteurs
qui peuvent affecter la production du miel.
19
Chapitre 3 : Réalisation
4. Conclusion
Dans ce chapitre j’ai procédé d’une part à la description des caractéristiques de
l’environnement du travail et j’ai décrit la plateforme logicielle sur laquelle j’ai construit mon
application. D’autre part, j’ai présenté les différentes interfaces développées tout au long de
l’application.
20
Conclusion générale
Conclusion générale
Le stage d’ingénieur est une occasion pour améliorer la formation des étudiants. De ma
part, j’ai eu l’occasion d’être un stagiaire en RDI, ESPRIT Tech, dirigé par Mme. Feten
TEBER qui m’a donné l’opportunité de travailler sur un projet très innovant où l’IoT et le
développement se combinent.
Ce stage m’a offert une opportunité pour confronter mes connaissances théoriques avec la
vie professionnelle et d’enrichir bien mon expérience surtout en matière de développement
hybride et d’effectuer les recherches, les études et les comparaisons sur les technologies qui
sont les plus adéquates aux besoins lors de la réalisation de l’application de gestion des PC à
réparer.
Je conclus que ce type de stage est très intéressant dans le parcours de nos études car il me
donne des idées et une image sur notre stage final PFE.
21
Références Netographiques et Bibliographiques
forme-que-microsoft-vient-de-racheter_5309488_4408996.html
[3] : https://www.sparxsystems.fr/resources/uml2_tutorial/uml2_classdiagram.html
22