{"id":9074,"date":"2024-01-15T15:36:28","date_gmt":"2024-01-15T14:36:28","guid":{"rendered":"https:\/\/telefab.fr\/?p=9074"},"modified":"2026-04-30T17:33:30","modified_gmt":"2026-04-30T15:33:30","slug":"jardin-partage-solution-technique","status":"publish","type":"post","link":"https:\/\/hub.imt-atlantique.fr\/fablab\/jardin-partage-solution-technique\/","title":{"rendered":"Jardin Partag\u00e9 &#8211; Solution Technique"},"content":{"rendered":"<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/10\/logoBlog.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8618\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/10\/logoBlog-300x79.png\" alt=\"\" width=\"420\" height=\"110\" \/><\/a><\/p>\n<p><span style=\"font-size: 18pt;\">Les auteurs<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"author-shortcodes\">\n<div class=\"author-inner\">\n<div class=\"author-image\">\n<div class=\"author-overlay\"><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/10\/KANGOUTE.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8660\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/10\/KANGOUTE-233x300.png\" alt=\"\" width=\"233\" height=\"300\" \/><\/a><\/div>\n<\/div>\n<p><!-- .author-image --><\/p>\n<div class=\"author-info\">Je suis Souleymane KANGOUTE, \u00e9l\u00e8ve ing\u00e9nieur en FISE A2 \u00e0 IMT Atlantique par ailleurs \u00e9tudiant\u00a0 de la th\u00e9matique d&rsquo;Approfondissement (TAF) Conception d\u2019Objets Communicants, appel\u00e9e CoOC.<\/div>\n<p><!-- .author-info --><\/p>\n<\/div>\n<p><!-- .author-inner --><\/p>\n<\/div>\n<p><!-- .author-shortcodes --><\/p>\n<div class=\"author-shortcodes\">\n<div class=\"author-inner\">\n<div class=\"author-image\">\n<div class=\"author-overlay\"><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/10\/Camilo.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-8661\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/10\/Camilo-200x300.jpg\" alt=\"\" width=\"200\" height=\"300\" \/><\/a><\/div>\n<\/div>\n<p><!-- .author-image --><\/p>\n<div class=\"author-info\">Je suis Cristian QUEVEDO, \u00e9l\u00e8ve ing\u00e9nieur en FISE A2 \u00e0 IMT Atlantique. Par ailleurs, \u00e9tudiant\u00a0 de la th\u00e9matique d&rsquo;Approfondissement (TAF) Conception d\u2019Objets Communicants, appel\u00e9e CoOC.<\/div>\n<p><!-- .author-info --><\/p>\n<\/div>\n<p><!-- .author-inner --><\/p>\n<\/div>\n<p><!-- .author-shortcodes --><\/p>\n<div class=\"author-shortcodes\">\n<div class=\"author-inner\">\n<div class=\"author-image\">\n<p><img alt=\"\" \/><\/p>\n<div class=\"author-overlay\"><\/div>\n<\/div>\n<p><!-- .author-image --><\/p>\n<div class=\"author-info\">Je suis Ma\u00eblys CHEVRIER, \u00e9l\u00e8ve ing\u00e9nieure en FISE A3 \u00e0 IMT Atlantique. Par ailleurs, \u00e9tudiante de la th\u00e9matique d&rsquo;Approfondissement (TAF) Conception d\u2019Objets Communicants, appel\u00e9e CoOC.<\/div>\n<p><!-- .author-info --><\/p>\n<\/div>\n<p><!-- .author-inner --><\/p>\n<\/div>\n<p><!-- .author-shortcodes --><\/p>\n<div class=\"author-shortcodes\">\n<div class=\"author-inner\">\n<div class=\"author-image\">\n<p><img alt=\"\" \/><\/p>\n<div class=\"author-overlay\"><\/div>\n<\/div>\n<p><!-- .author-image --><\/p>\n<div class=\"author-info\">Je suis A\u00efna DIROU, \u00e9l\u00e8ve ing\u00e9nieure en FIP A3 \u00e0 IMT Atlantique. Par ailleurs, \u00e9tudiante de la th\u00e9matique d&rsquo;Approfondissement (TAF) Conception d\u2019Objets Communicants, appel\u00e9e CoOC.<\/div>\n<p><!-- .author-info --><\/p>\n<\/div>\n<p><!-- .author-inner --><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1><span style=\"font-weight: 400; font-size: 24pt;\">Pr\u00e9sentation de notre solution technique<\/span><\/h1>\n<p>&nbsp;<\/p>\n<p><a href=\"\/fablab\/#1\"><span style=\"font-weight: 400; font-size: 14pt;\">Pr\u00e9sentation du projet<\/span><\/a><\/p>\n<p><a href=\"\/fablab\/#2\"><span style=\"font-weight: 400; font-size: 14pt;\">R\u00e9alisation du projet<\/span><\/a><\/p>\n<p><a href=\"\/fablab\/#3\"><span style=\"font-weight: 400; font-size: 14pt;\">Perspectives<\/span><\/a><\/p>\n<p><a href=\"\/fablab\/#4\"><span style=\"font-size: 14pt;\">Conclusion<\/span><\/a><\/p>\n<p><a href=\"\/fablab\/#5\"><span style=\"font-size: 14pt;\">Annexes<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<h1 id=\"1\"><span style=\"font-weight: 400;\">Pr\u00e9sentation du projet<\/span><\/h1>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9081\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image1.png\" alt=\"\" width=\"777\" height=\"212\" \/><\/a><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/2024\/01\/ArchitectureGlobale.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9150\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/2024\/01\/ArchitectureGlobale.png\" alt=\"\" width=\"606\" height=\"336\" \/><\/a><\/p>\n<p style=\"text-align: center;\">Architecture globale du syst\u00e8me<\/p>\n<h2><span style=\"font-weight: 400;\">Contexte<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Un jardin partag\u00e9 est un jardin communautaire de quartier dont l\u2019objectif global est ax\u00e9 sur le social et le partage. Ces jardins sont, pour la majorit\u00e9, \u00e0 l\u2019initiative des citoyens. Malgr\u00e9 tout, il arrive parfois que leur cr\u00e9ation soit \u00e0 l\u2019initiative de collectivit\u00e9s. Dans ces cas, il peut \u00eatre difficile de f\u00e9d\u00e9rer les citoyens, ce qui a des cons\u00e9quences sur l\u2019organisation et l\u2019animation du jardin. De fa\u00e7on g\u00e9n\u00e9rale, les jardins poss\u00e8dent un ou plusieurs r\u00e9f\u00e9rents qui vont g\u00e9rer l\u2019organisation, le fonctionnement et l\u2019animation. Ces r\u00e9f\u00e9rents peuvent \u00eatre animateur technique, b\u00e9n\u00e9vole du jardin ou animateur de mairie de quartier.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lorsqu\u2019aucun r\u00e9f\u00e9rent ne ressort des membres actifs du jardin, des r\u00e9percussions peuvent \u00eatre observ\u00e9es sur la planification \u00e0 long terme, l&rsquo;organisation et l\u2019animation du jardin. Cela peut engendrer une perte de motivation chez les b\u00e9n\u00e9voles et donc conduire \u00e0 une perte du nombre d\u2019adh\u00e9rent.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour rem\u00e9dier \u00e0 cette situation, nous proposons une solution qui permet \u00e0 chaque membre du jardin de savoir quelles sont les t\u00e2ches \u00e0 faire au moment de sa visite. \u00c9galement, afin de faciliter la prise de d\u00e9cision, notre application web est connect\u00e9e \u00e0 des capteurs qui permettent une supervision du jardin.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ce projet se nomme Smart Garden et vise \u00e0 am\u00e9liorer et faciliter l\u2019organisation au sein des jardins partag\u00e9s de fa\u00e7on \u00e0 ce que m\u00eame les jardins sans r\u00e9f\u00e9rent puissent remplir leurs objectifs et avoir une vision sur le long terme. Nous avons recherch\u00e9 la simplicit\u00e9 et l\u2019accessibilit\u00e9 en d\u00e9veloppant une interface web afin que cet outil soit accessible par tous les utilisateurs.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Solution<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">La solution que nous avons d\u00e9velopp\u00e9e est un bo\u00eetier dans lequel est install\u00e9 un syst\u00e8me de capteurs. Cet ensemble est reli\u00e9 \u00e0 une base de donn\u00e9es dont les informations sont affich\u00e9es sur une interface web.<\/span><\/p>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" title=\"D\u00e9monstration - SmartGarden\" src=\"https:\/\/imtcast.imt.fr\/video\/5375-demonstration-smartgarden\/?is_iframe=true#?secret=9OHkjaQIK5\" data-secret=\"9OHkjaQIK5\" width=\"640\" height=\"360\"><\/iframe><\/p>\n<p><a href=\"https:\/\/imtcast.imt.fr\/video\/5375-demonstration-smartgarden\/\"><span style=\"font-weight: 400;\">[Lien de la vid\u00e9o]<\/span><\/a><\/p>\n<h1 id=\"2\"><span style=\"font-weight: 400;\">R\u00e9alisation du projet<\/span><\/h1>\n<p><span style=\"font-weight: 400;\">Diff\u00e9rents outils nous ont \u00e9t\u00e9 utiles dans la r\u00e9alisation de ce projet. Afin de suivre l\u2019avancement de notre projet, nous avons utilis\u00e9 Ta\u00efga qui est un outil de gestion de projet agile. C\u2019est gr\u00e2ce \u00e0 cet outil que nous avons mis en place la m\u00e9thode SCRUM. Dans le but de g\u00e9rer les versions et la centralisation du code nous avons utilis\u00e9 GIT, un syst\u00e8me de contr\u00f4le de version open source et GitLab, une plateforme de d\u00e9veloppement collaborative open source.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Front-end<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Le front-end a \u00e9t\u00e9 fait avec la biblioth\u00e8que Javascript libre React. Notre choix s\u2019est port\u00e9 sur cette technologie car un des membres du groupe la connaissait.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/accueil-site.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-9076 size-large\" title=\"Page d\u2019accueil du site web\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/accueil-site-1024x489.jpg\" alt=\"\" width=\"1024\" height=\"489\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">\u00a0Page d\u2019accueil du site web<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">La page web est d\u2019abord compos\u00e9e d\u2019une ent\u00eate incluant une barre de navigation permettant de passer d\u2019une page \u00e0 l\u2019autre. Nous disposons ainsi de 3 pages : Accueil, T\u00e2ches et Fiches.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">La page d&rsquo;accueil<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Cette page r\u00e9cup\u00e8re avec deux requ\u00eates GET les informations relatives aux jardins et aux relev\u00e9s des capteurs afin de les afficher. Pour ce faire, nous utilisons les hooks useState et useEffect. UseState permet de stocker la donn\u00e9e localement et de la modifier, nous cr\u00e9ons alors un \u00e9tat local. UseEffect permet de lancer des \u00e9v\u00e8nements et d\u2019en choisir les d\u00e9clencheurs. Dans notre cas, UseEffect nous permet de d\u00e9clencher l\u2019appel des API lors du premier rendu de la page, soit lors de son chargement avant l\u2019affichage. Quant \u00e0 useState, il nous permet de stocker les donn\u00e9es renvoy\u00e9es par le back localement afin de les exploiter. Dans notre cas, nous nous en servons uniquement pour les afficher.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Les Fiches<\/span><\/h3>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9083\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image3.png\" alt=\"\" width=\"762\" height=\"327\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Onglet Fiches<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cet onglet permet \u00e0 l\u2019utilisateur de visualiser les fiches informatives sur diff\u00e9rents plants. Les fiches sont r\u00e9cup\u00e9r\u00e9es avec un appel d\u2019API comme pr\u00e9sent\u00e9 dans la partie pr\u00e9c\u00e9dente. L\u2019image est dans notre cas par d\u00e9faut. Sur cette page, plusieurs interactions sont possibles et exploitent chacune diff\u00e9rentes requ\u00eates HTTP :<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Nous pouvons visualiser le d\u00e9tail d\u2019une t\u00e2che pour obtenir les informations de la base de donn\u00e9es concernant la fiche. Lorsque nous cliquons sur le bouton <\/span><i><span style=\"font-weight: 400;\">D\u00e9tails<\/span><\/i><span style=\"font-weight: 400;\">, un popup recouvre la page donnant plus d&rsquo;informations.<a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9084\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image4.png\" alt=\"\" width=\"481\" height=\"187\" \/><\/a><\/span><\/li>\n<\/ol>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">D\u00e9tails d\u2019une fiche<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0 \u00a0 2. Nous pouvons ajouter une t\u00e2che en cliquant sur le bouton <\/span><i><span style=\"font-weight: 400;\">Ajouter<\/span><\/i><span style=\"font-weight: 400;\"> et en remplissant le formulaire qui appara\u00eet, dont tous les champs sont requis.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9085\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image5.png\" alt=\"\" width=\"476\" height=\"371\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Formulaire d\u2019ajout de fiche\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">\u00a0 \u00a0 3. Nous pouvons supprimer une t\u00e2che en cliquant sur l\u2019ic\u00f4ne Poubelle. Une demande de confirmation permet de limiter les risques de mauvaises manipulations.<\/span><\/p>\n<p>4. L&rsquo;ic\u00f4ne \u00e0 droite du nom de chaque fiche, indique la pr\u00e9sence ou non de la plante dans le jardin. Ainsi, les t\u00e2ches associ\u00e9es \u00e0 une fiche seront affich\u00e9es ou non en fonction de si la plante est s\u00e9lectionn\u00e9e. Il est possible de modifier cette s\u00e9lection via le bouton d\u00e9di\u00e9. Une fen\u00eatre appara\u00eet et nous pouvons modifier, s\u00e9lectionner ou d\u00e9s\u00e9lectionner les plantes avec des boutons switch. La modification n\u2019est possible qu\u2019apr\u00e8s avoir cliqu\u00e9 sur le bouton <i>Modifier la s\u00e9lection <\/i>pour \u00e9viter de mauvaises manipulations.<\/p>\n<p><span style=\"font-weight: 400;\">Sur cette page, la liste des fiches est mise \u00e0 jour syst\u00e9matiquement \u00e0 chaque modification.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Les T\u00e2ches<\/span><\/h3>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9086\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image6.png\" alt=\"\" width=\"773\" height=\"226\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Onglet T\u00e2ches<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Dans cet onglet, nous visualisons les t\u00e2ches semaine par semaine. Elles sont de plus filtr\u00e9es pour ne laisser appara\u00eetre que les t\u00e2ches des fiches s\u00e9lectionn\u00e9es ainsi que les t\u00e2ches g\u00e9n\u00e9rales. Ainsi, s\u2019il n\u2019y a pas de carotte dans le jardin, aucune t\u00e2che concernant les carottes n\u2019appara\u00eetra.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Il est possible de naviguer d\u2019une semaine \u00e0 l\u2019autre via les boutons <\/span><i><span style=\"font-weight: 400;\">Pr\u00e9c\u00e9dent <\/span><\/i><span style=\"font-weight: 400;\">et <\/span><i><span style=\"font-weight: 400;\">Suivant<\/span><\/i><span style=\"font-weight: 400;\">, qui modifie de +\/- 7 jours la date affich\u00e9e. Il est \u00e9galement possible de modifier directement la date en l\u2019\u00e9crivant manuellement dans l\u2019encadr\u00e9 central ou en choisissant la date en cliquant sur le calendrier.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9087\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image7.png\" alt=\"\" width=\"417\" height=\"263\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Modification de la date via le calendrier<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Comme d\u00e9crit en amont pour les fiches, nous pouvons cr\u00e9er et supprimer des t\u00e2ches. Lorsque nous ajoutons une t\u00e2che, elle s\u2019affiche n\u00e9cessairement sans \u00eatre associ\u00e9e \u00e0 une fiche. Ainsi, un r\u00e9f\u00e9rent de jardin partag\u00e9 peut g\u00e9rer les t\u00e2ches comme il le souhaite.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Il est finalement possible de valider ou d\u2019invalider une t\u00e2che pour savoir ce qui a \u00e9t\u00e9 fait au sein du jardin.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Style<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Le style de l\u2019interface est dynamique afin de faciliter son utilisation. Ainsi lorsqu\u2019un \u00e9l\u00e9ment comme un bouton ou un onglet est survol\u00e9 ou s\u00e9lectionn\u00e9, son style \u00e9volue pour mettre en valeur l\u2019interaction possible.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le style global se veut minimaliste pour ne pas perdre l\u2019utilisateur, \u00e9tant donn\u00e9 que nous avions \u00e9tabli que nos utilisateurs n\u2019\u00e9taient pas tous \u00e0 l\u2019aise avec la technologie. Par ailleurs, l\u2019utilisation d\u2019un panel de vert renvoie \u00e9videmment aux v\u00e9g\u00e9taux.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Back-end<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Le back-end de l\u2019application se compose de trois \u00e9l\u00e9ments essentiels : le syst\u00e8me d&rsquo;exploitation, la base de donn\u00e9es, et l&rsquo;interface de programmation (API).<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Syst\u00e8me d\u2019exploitation<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Le c\u0153ur du syst\u00e8me d&rsquo;exploitation repose sur Docker. Docker est une plateforme qui permet de lancer des applications dans des conteneurs. L\u2019objectif d\u2019un conteneur est d\u2019h\u00e9berger des services sur un m\u00eame serveur physique (dans notre cas nos machines personnelles) tout en les isolant les uns des autres.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cette plateforme nous offre \u00e9galement un environnement uniforme pour tous les membres du projet. Cette uniformit\u00e9 facilite l\u2019int\u00e9gration et le regroupement des diff\u00e9rentes composantes d\u00e9velopp\u00e9es par chacun des contributeurs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le fonctionnement des conteneurs Docker au sein de notre infrastructure Smart Garden repose sur l&rsquo;utilisation de deux composants essentiels : Docker Compose et les fichiers Dockerfile. Cette approche garantit une configuration simplifi\u00e9e et une mise en \u0153uvre efficace de l&rsquo;environnement de d\u00e9veloppement.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le fichier docker-compose.yml d\u00e9finit l&rsquo;ensemble des services et des param\u00e8tres n\u00e9cessaires \u00e0 notre application. Chaque service, tel que la base de donn\u00e9es MariaDB, l&rsquo;interface PHPMyAdmin, le front-end, le back-end et le service de capteurs, est configur\u00e9 de mani\u00e8re \u00e0 interagir au sein du r\u00e9seau d\u00e9di\u00e9 smartgarden-network. Des volumes sont utilis\u00e9s pour assurer la persistance des donn\u00e9es de la base de donn\u00e9es, tandis que les d\u00e9pendances entre les services sont g\u00e9r\u00e9es avec l&rsquo;instruction depends_on, garantissant un d\u00e9marrage ordonn\u00e9.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Les fichiers Dockerfile, situ\u00e9s dans les r\u00e9pertoires .\/frontend, .\/backend, et .\/sensor, d\u00e9finissent les instructions n\u00e9cessaires pour construire les images Docker correspondantes. Chacun de ces fichiers permet de d\u00e9crire l&rsquo;environnement d&rsquo;ex\u00e9cution, les d\u00e9pendances et les \u00e9tapes sp\u00e9cifiques \u00e0 chaque composant de l&rsquo;application. Ces fichiers Dockerfile sont int\u00e9gr\u00e9s dans le fichier docker-compose.yml pour assurer une coh\u00e9rence lors du d\u00e9ploiement de l&rsquo;ensemble de l&rsquo;application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une fois l\u2019application d\u00e9ploy\u00e9e dans Docker, il est possible d\u2019acc\u00e9der au front-end, \u00e0 PHPMyAdmin (pour g\u00e9rer et visualiser la base de donn\u00e9es) et \u00e0 la page de l\u2019API depuis l\u2019adresse du localhost en s\u00e9lectionnant des ports d\u00e9di\u00e9s. Ces ports sont configur\u00e9s dans le fichier docker-compose.yml, les fichiers Dockerfile et parfois les fichiers de configuration des services.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Base de donn\u00e9es<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Pour la gestion des donn\u00e9es, nous avons opt\u00e9 pour MariaDB, un syst\u00e8me de gestion de base de donn\u00e9es relationnelles. Cette solution est compl\u00e9t\u00e9e par l&rsquo;utilisation de PHPMyAdmin, une interface web qui simplifie la manipulation et la visualisation des donn\u00e9es stock\u00e9es.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">PHPMyAdmin nous a principalement \u00e9t\u00e9 utile au d\u00e9but du projet afin de mettre en place les premi\u00e8res versions des bases de donn\u00e9es. Cet outil nous a permis de faire de nombreux tests avant que l\u2019API ne soit disponible dans l\u2019application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Dans ce projet nous avons pens\u00e9 \u00e0 une base de donn\u00e9es simple. Voici le sch\u00e9ma de la base de donn\u00e9es :\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9088\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image8.png\" alt=\"\" width=\"785\" height=\"308\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Diagramme UML de la base de donn\u00e9es<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">API<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">L&rsquo;interface de programmation (API) repose sur FastAPI, un framework Python moderne et performant. Le serveur Python s&rsquo;interface avec la base de donn\u00e9es et expose des points d&rsquo;acc\u00e8s pour la gestion des diff\u00e9rents \u00e9l\u00e9ments n\u00e9cessaires dans le site web (front-end).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">FastAPI utilise la librairie Pydantic pour d\u00e9finir les mod\u00e8les de donn\u00e9es, facilitant ainsi la validation des donn\u00e9es entrantes et sortantes. Chaque point d&rsquo;acc\u00e8s est d\u00e9fini comme une fonction asynchrone associ\u00e9e \u00e0 une route particuli\u00e8re. Chaque entit\u00e9 (Jardin, Parcelle, Action, etc.) dispose de points d&rsquo;acc\u00e8s sp\u00e9cifiques pour la cr\u00e9ation, la lecture, la mise \u00e0 jour et la suppression des donn\u00e9es.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En r\u00e9sum\u00e9, notre API FastAPI offre un ensemble de points d&rsquo;acc\u00e8s structur\u00e9s pour la gestion des donn\u00e9es de notre application Smart Garden et les mod\u00e8les Pydantic garantissent la validit\u00e9 des donn\u00e9es.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Un serveur Python fonctionne en parall\u00e8le avec un script Python d\u00e9di\u00e9 \u00e0 la r\u00e9cup\u00e9ration des relev\u00e9s des capteurs \u00e0 partir du protocole MQTT. Ces donn\u00e9es sont ensuite int\u00e9gr\u00e9es de mani\u00e8re transparente dans la base de donn\u00e9es, assurant ainsi une mise \u00e0 jour constante et en temps r\u00e9el.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9089\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image9.png\" alt=\"\" width=\"747\" height=\"471\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><span style=\"font-weight: 400;\">Sch\u00e9ma repr\u00e9sentant les interactions entre les services<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Capteur<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Cette partie est d\u00e9di\u00e9e \u00e0 la mise en place du module \u00e9lectronique qui va permettre de pr\u00e9lever les donn\u00e9es du jardin en temps r\u00e9el. Le traitement de ces donn\u00e9es en aval du syst\u00e8me \u00e9lectronique va permettre de g\u00e9n\u00e9rer les t\u00e2ches \u00e0 effectuer dans le jardin.\u00a0\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pour cela, nous allons d\u2019abord pr\u00e9senter l\u2019objet lui-m\u00eame et les \u00e9l\u00e9ments intervenants \u00e0 sa mise en place. Puis nous allons pr\u00e9senter l\u2019architecture globale assurant la communication entre cet objet et la partie Back-end du projet.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Mat\u00e9riels utilis\u00e9s<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Divers mat\u00e9riels et\/ou mat\u00e9riaux ont \u00e9t\u00e9 utilis\u00e9s dans la r\u00e9alisation du projet:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Une carte \u00e9lectronique Lopy 4<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Une antenne<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">2 capteurs d&rsquo;humidit\u00e9 du sol Funduino\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Un capteur de temp\u00e9rature DHT11<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Des c\u00e2bles m\u00e2les-femelles et m\u00e2les-males<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Une batterie portable de 5 volts<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">10 cm de plastique thermor\u00e9tractable<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">1 Planche de bois 3 cm x 20 cm<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">2 Vis pour fixer la capteur de temp\u00e9rature \u00e0 la planche<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">1 R\u00e9cipient en plastique rempli de terre<\/span><\/li>\n<\/ul>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9090\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image10.png\" alt=\"\" width=\"463\" height=\"352\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"font-weight: 400;\">Conception du bo\u00eetier\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Nous avons choisi de concevoir le bo\u00eetier qui abritera notre dispositif \u00e9lectronique \u00e0 l\u2019aide du logiciel Tinkercad. Les dimensions de cette bo\u00eete d\u00e9pendent de la largeur de la carte Lopy 4 et de la longueur de la batterie connect\u00e9e \u00e0 l\u2019int\u00e9rieur. La bo\u00eete aura des dimensions de 20&#215;14 cm et incorpore un couvercle coulissant avec des ar\u00eates diagonales pour obtenir une fermeture quasi-parfaite et fournir une protection efficace.<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9091\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image11.png\" alt=\"\" width=\"458\" height=\"340\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.tinkercad.com\/things\/1d1kyvkIsUZ-boite-2-smart-garden\"><span style=\"font-weight: 400;\">Le fichier de conception Tinkercad<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Une fois que le bo\u00eetier a \u00e9t\u00e9 imprim\u00e9 gr\u00e2ce \u00e0 l&rsquo;imprimante 3D du FabLab, nous sommes pass\u00e9s \u00e0 la phase de post-production pour assurer la fonctionnalit\u00e9 et la connectivit\u00e9 optimale du dispositif. \u00c0 cet effet, diff\u00e9rents outils sp\u00e9cialis\u00e9s ont \u00e9t\u00e9 utilis\u00e9s afin de r\u00e9aliser des perforations pr\u00e9cises dans le bo\u00eetier. Ces perforations ont \u00e9t\u00e9 effectu\u00e9es de mani\u00e8re strat\u00e9gique pour loger et connecter l&rsquo;antenne, garantissant ainsi une r\u00e9ception de signal efficace. De plus, des ouvertures sp\u00e9cifiques ont \u00e9t\u00e9 cr\u00e9\u00e9es pour faciliter l&rsquo;exposition des capteurs d&rsquo;humidit\u00e9 du sol et du capteur de temp\u00e9rature DHT11 \u00e0 l&rsquo;environnement ext\u00e9rieur.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Sch\u00e9ma \u00e9lectrique du c\u00e2blage<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">La connexion entre la carte Lopy 4 et les capteurs s&rsquo;\u00e9tablit comme suit :<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0 <a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9092\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image12.png\" alt=\"\" width=\"762\" height=\"371\" \/><\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Les capteurs d&rsquo;humidit\u00e9 du sol, de temp\u00e9rature et d&rsquo;humidit\u00e9 relative de l&rsquo;air sont des composants essentiels dans une solution IoT (Internet des objets) con\u00e7ue pour la surveillance des espaces verts. Ces capteurs jouent des r\u00f4les cl\u00e9s en fournissant des donn\u00e9es environnementales permettant une gestion efficace et durable des espaces verts, que ce soit dans des jardins partag\u00e9s, des parcs urbains ou des espaces communautaires.<\/span><\/p>\n<p><b>\u2013 Capteur d&rsquo;humidit\u00e9 du sol :<\/b><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9093\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image13.png\" alt=\"\" width=\"400\" height=\"262\" \/><\/a><\/p>\n<p><b>Description :<\/b><span style=\"font-weight: 400;\"> Ce capteur mesure l\u2019humidit\u00e9 du sol, indiquant la quantit\u00e9 d&rsquo;eau pr\u00e9sente dans la zone de culture.<\/span><\/p>\n<p><b>Importance :<\/b><span style=\"font-weight: 400;\"> Il facilite la surveillance de l&rsquo;humidit\u00e9 du sol, permettant des ajustements pr\u00e9cis dans l&rsquo;irrigation. Un niveau optimal d&rsquo;humidit\u00e9 est essentiel pour la croissance saine des plantes et des cultures.<\/span><\/p>\n<p><b>Avantages IoT :<\/b><span style=\"font-weight: 400;\"> L&rsquo;int\u00e9gration de ce capteur dans une solution IoT permet la surveillance \u00e0 distance et en temps r\u00e9el de l&rsquo;\u00e9tat du sol.\u00a0<\/span><\/p>\n<p><b>\u2013 Capteur de temp\u00e9rature et d&rsquo;humidit\u00e9 relative de l&rsquo;air :<\/b><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9094\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image14.png\" alt=\"\" width=\"226\" height=\"190\" \/><\/a><\/p>\n<p><b>Description :<\/b><span style=\"font-weight: 400;\"> Ce capteur mesure \u00e0 la fois la temp\u00e9rature ambiante et l&rsquo;humidit\u00e9 relative de l&rsquo;air environnant.<\/span><\/p>\n<p><b>Importance :<\/b><span style=\"font-weight: 400;\"> Il fournit des donn\u00e9es cruciales sur les conditions climatiques, qui sont fondamentales pour la croissance et le d\u00e9veloppement des plantes. Il aide \u00e9galement \u00e0 identifier des situations qui pourraient affecter la sant\u00e9 de la v\u00e9g\u00e9tation.<\/span><\/p>\n<p><b>Avantages IoT :<\/b><span style=\"font-weight: 400;\"> La connexion IoT permet la collecte et l&rsquo;analyse continue des donn\u00e9es climatiques. Cela permet la mise en \u0153uvre de strat\u00e9gies proactives, telles que des alertes automatiques en cas de conditions climatiques extr\u00eames.<\/span><\/p>\n<p><b>\u2013 Communication entre la lopy 4 et les capteurs<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Pour assurer la communication avec les diff\u00e9rents capteurs, nous avons \u00e9labor\u00e9 un script python qui est disponible depuis le d\u00e9p\u00f4t GitLab [<a href=\"https:\/\/gitlab.imt-atlantique.fr\/m20chevr\/smartgarden\/-\/blob\/f8db38ba42e7c0c2b1c256bc161711888b786554\/lopy\/lopy.py\">lien du code<\/a>].\u00a0\u00a0\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Architecture globale de la communication\u00a0<\/span><\/h3>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9095\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image15.png\" alt=\"\" width=\"738\" height=\"256\" \/><\/a><\/p>\n<p><b>\u2013Communication via LoRa\u00a0<\/b><\/p>\n<p><span style=\"font-weight: 400;\">LoRa, acronyme de Long Range, est un protocole de communication sans fil qui se distingue par sa capacit\u00e9 \u00e0 transmettre des petits paquets de donn\u00e9es (0,3 kbps \u00e0 5,5 kbps) \u00e0 un r\u00e9cepteur sur de longues distances avec une consommation d&rsquo;\u00e9nergie remarquablement basse depuis un \u00e9metteur (<\/span><b>node<\/b><span style=\"font-weight: 400;\">) . La couverture LoRa peut s&rsquo;\u00e9tendre sur plusieurs kilom\u00e8tres, s&rsquo;adaptant aux environnements urbains et ruraux.\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9096\" src=\"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-content\/uploads\/archives\/2023\/12\/image16.png\" alt=\"\" width=\"491\" height=\"267\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Les donn\u00e9es \u00e9mises par les capteurs sont transmises \u00e0 la passerelle (<\/span><b>gateway<\/b><span style=\"font-weight: 400;\">) LoRa qui peut g\u00e9rer des centaines de n\u0153uds LoRa en m\u00eame temps. Dans notre cas, nous nous sommes servis de la passerelle Indoor (Rayon de 100m)\u00a0 du Fablab de l\u2019IMT Atlantique.<\/span><\/p>\n<p><b>\u2013Communication via WiFi<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Le protocole WiFi sera utilis\u00e9 pour la transmission des donn\u00e9es entre la passerelle LoRa et le serveur d\u2019application contenu dans la plateforme The Things Network (TTN).\u00a0 <\/span><span style=\"font-weight: 400;\">Il faut noter que la passerelle LoRa est aliment\u00e9e par le secteur et connect\u00e9e \u00e0 internet via le r\u00e9seau 4G\/5G. Dans notre cas, la passerelle \u00e9tait connect\u00e9e au r\u00e9seau local, lui-m\u00eame connect\u00e9 \u00e0 internet.<\/span><\/p>\n<p><b>\u2013Communication via MQTT<\/b><\/p>\n<p><span style=\"font-weight: 400;\">MQTT est un protocole adapt\u00e9 aux objets contraints qui fonctionnent selon l\u2019architecture publish and subscribe. Cette architecture est orchestr\u00e9e par un broker (MQTT broker) qui est d\u00e9j\u00e0 impl\u00e9ment\u00e9 sur la plateforme TTN. Nous avons impl\u00e9ment\u00e9 le client MQTT via le langage de programmation python en utilisant la librairie paho-mqtt [<a href=\"https:\/\/gitlab.imt-atlantique.fr\/m20chevr\/smartgarden\/-\/tree\/f8db38ba42e7c0c2b1c256bc161711888b786554\/lopy\">Lien du code d\u2019impl\u00e9mentation<\/a>]. C\u2019est ce client qui va se connecter au cloud TTN afin de r\u00e9cup\u00e9rer les donn\u00e9es de nos capteurs en souscrivant au n\u0153ud LoRa ad\u00e9quat et en choisissant la QoS (qualit\u00e9 de service) appropri\u00e9e selon le projet.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Avant d\u2019utiliser la librairie paho-mqtt de python, nous avons d\u2019abord tent\u00e9 d\u2019utiliser Node-RED, un outil d&rsquo;automation de flux permettant de contr\u00f4ler et d\u2019interconnecter des services cloud ou des objets connect\u00e9s entre eux. La connexion \u00e0 la plateforme TTN via le protocole MQTT et l\u2019extraction des donn\u00e9es s\u2019est faite sans probl\u00e8me. Mais, comme nous avions h\u00e9berg\u00e9 Node-RED sur Docker, pour un travail plus collaboratif, la cr\u00e9ation ou la modification d\u2019un flux sur Node-RED n\u2019\u00e9tait pas mis \u00e0 jour chez tous les membres du groupe. Cela nous obligeait \u00e0 mettre \u00e0 disposition un ordinateur central faisant tourner le script. Par cons\u00e9quent, nous nous sommes tourn\u00e9s vers l\u2019\u00e9laboration d\u2019un script python. Il nous a permis de connecter le client MQTT au broker de la plateforme TTN afin de r\u00e9cup\u00e9rer et d\u2019envoyer les donn\u00e9es \u00e0 la base de donn\u00e9es. Rendant ainsi le code accessible \u00e0 tous via GIT.<\/span><\/p>\n<h1 id=\"3\"><span style=\"font-weight: 400;\">Perspectives<\/span><\/h1>\n<p><span style=\"font-weight: 400;\">De nombreuses am\u00e9liorations sont possibles pour notre solution. La principale est d\u2019int\u00e9grer le script des capteurs dans Docker, c\u2019est-\u00e0-dire, faire le lien entre le backend (API) et la plateforme TTN pour exploiter les donn\u00e9es relev\u00e9es. Actuellement, le script n\u2019\u00e9tant pas inclus dans le container Docker, il fonctionne ind\u00e9pendamment du projet.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">De plus, la g\u00e9n\u00e9ration automatique de t\u00e2che, en exploitant les donn\u00e9es des relev\u00e9s de capteurs, apporterait de la valeur aux utilisateurs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">D\u2019autres am\u00e9liorations mineures optimiseraient l\u2019exp\u00e9rience utilisateur :\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">G\u00e9rer l\u2019authentification des jardins<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Ajouter une vue calendaire offrirait une vision long terme pour les utilisateurs<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Personnaliser les fiches avec l\u2019ajout d\u2019image et le stockage dans la base de donn\u00e9e<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Am\u00e9liorer les formulaires (pour permettre d\u2019associer les t\u00e2ches aux fiches\u00a0 par exemple)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Ajouter des donn\u00e9es m\u00e9t\u00e9orologique afin de les comparer aux t\u00e2ches (la pluie influant sur le besoin en arrosage par exemple)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Am\u00e9liorer le design du bo\u00eetier de sorte \u00e0 le rendre plus ergonomique en ajoutant des trous pour indiquer l\u2019\u00e9tat du fonctionnement de notre dispositif (marche, arr\u00eat, \u00e9tat de chargement de la batterie).<\/span><\/li>\n<\/ul>\n<h1 id=\"4\"><span style=\"font-weight: 400;\">Conclusion<\/span><\/h1>\n<p><span style=\"font-weight: 400;\">Le projet Smart Garden repr\u00e9sente une r\u00e9ponse innovante et technologique aux d\u00e9fis rencontr\u00e9s par les jardins partag\u00e9s, notamment en l&rsquo;absence de r\u00e9f\u00e9rents. Nous avons ainsi mis en place une solution compl\u00e8te, allant d\u2019une interface web simplifi\u00e9e \u00e0 la cr\u00e9ation d\u2019un syst\u00e8me de capteurs, dans le but de d\u2019am\u00e9liorer la gestion quotidienne des espaces communautaires.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Bien que de nombreuses fonctionnalit\u00e9s soient d\u00e9j\u00e0 op\u00e9rationnelles, notre solution pourrait \u00eatre approfondie en int\u00e9grant notamment l\u2019automatisation de la g\u00e9n\u00e9ration de t\u00e2che, en particulier en exploitant les donn\u00e9es des capteurs.<\/span><\/p>\n<h1 id=\"5\"><span style=\"font-weight: 400;\">Annexes<\/span><\/h1>\n<p><span style=\"font-weight: 400;\">Lien vers le d\u00e9p\u00f4t GitLab : <\/span><a href=\"https:\/\/gitlab.imt-atlantique.fr\/m20chevr\/smartgarden\"><span style=\"font-weight: 400;\">ici\u00a0<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Lien vers la vid\u00e9o de d\u00e9monstration : <\/span><a href=\"https:\/\/imtcast.imt.fr\/video\/5375-demonstration-smartgarden\/\"><span style=\"font-weight: 400;\">ici<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les auteurs &nbsp; Je suis Souleymane KANGOUTE, \u00e9l\u00e8ve ing\u00e9nieur en FISE A2 \u00e0 IMT Atlantique par ailleurs \u00e9tudiant\u00a0 de la th\u00e9matique d&rsquo;Approfondissement (TAF) Conception d\u2019Objets Communicants, appel\u00e9e CoOC. Je suis Cristian QUEVEDO, \u00e9l\u00e8ve ing\u00e9nieur en FISE A2 \u00e0 IMT Atlantique. Par ailleurs, \u00e9tudiant\u00a0 de la th\u00e9matique d&rsquo;Approfondissement (TAF) Conception d\u2019Objets Communicants, appel\u00e9e CoOC. Je suis [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9090,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[113],"tags":[],"class_list":["post-9074","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couad"],"acf":{"article_projet":[10659]},"_links":{"self":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts\/9074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/comments?post=9074"}],"version-history":[{"count":2,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts\/9074\/revisions"}],"predecessor-version":[{"id":10661,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/posts\/9074\/revisions\/10661"}],"acf:post":[{"embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/projet\/10659"}],"wp:attachment":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/media?parent=9074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/categories?post=9074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/tags?post=9074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}