GreenMine application web accueil

Application web

GreenMine est une application web PHP Symfony disposant d'une base de donnée PostgreSQL. L'application est orientée services et dispose d'une API REST. GreenMine fait appel à des API REST externes et internes : Arduino et RaspberryPi , GreenMine central, Info climat, Mapbox.

L'application Symfony inclue les bundles suivantes :

  • FOSUser : gestion des utilisateurs
  • FOSRest : API REST
  • LiipImagine : cache médias
  • VichUploader : gestion upload médias
  • LexikJWT : API REST Authentification JWT
  • LinkValueMobileNotification : Notifications push APNS iOS

Les collecteurs désignent les Arduino et RaspberryPi disposant de sondes. Les actionneurs désignent les Arduino et RaspberryPi disposant de relais qui pilotent des électrovannes, caméra, etc...

Le back-end web sert de proxy pour communiquer avec les collecteurs et actionneurs.

L'application Symfony dispose d'une interface d'administration web et d'un espace public.

L'interface d'administration donne accès à l'ensemble des données, à l'exception de certaines tables descriptions ne disposant pas d'interface CRUD.

Une instance fonctionne en auto-hébergement sur RaspBerryPi 3 / 4 en version de base. On viendra y ajouter des collecteurs et actionneurs sur le LAN [Arduino et RaspberryPi]. Il est possible de rendre publique son instance et de permettre à des invités d'en visiter la partie publique. L'exposition publique nécessitera un durcissement de la configuration du serveur.

Les instances de GreenMine peuvent se connecter entre elles, via leur API REST, afin de former des communautés d'utilisateurs.

Des tâches cron déclenchent les actions suivantes :

  • Chronophotographie
  • Exécution des arrosages planifiés
  • Import valeurs sondes climats
  • Import valeurs prévision météo API infoclimat.fr
  • Scheduling notification action jardinage

Espace administration

L'espace d'administration propose la gestion de l'ensemble des paramètres du jardin. La gestion de ce dernier commence par les variétés de plantes. Cette rubrique permet de constituer une base de données des variétés employées dans ses cultures. Il est possible d'importer des variétés de plantes depuis l'instance GreenMine centrale.

La rubrique plantes permet de créer et modifier les propriétés des plantes en cours de culture.

Les actions de jardinage vont permettre de comptabiliser, planifier et historiser les différentes phases de travail effectuées dans le jardin. Dans cette rubrique on va créer, éditer et supprimer ces actions et visualiser les activités planifiées à venir.

La rubrique climat va centraliser les informations météos et présenter différents indicateurs et graphiques de l'évolution du climat.

La rubrique arrosage automatique prend en charge la planification des arrosages automatiques et affiche un graphique de l'historique des consommations en eau.

La rubrique jardin centralise les informations géographiques et de localisation des plantes. Un jardin représente une instance géolocalisée par des coordonnées GPS. Un jardin est découpé en zone de culture et les zones de cultures sont découpées en sous-zone de cultures. Une plante est affectée à une zone de culture. Une gestion des pots et affectation par plante permet une identification rapide avec les tags NFC.

La rubrique utilisateurs permet d'ajouter des utilisateurs à son instance et de se connecter aux d'autres instances.

La rubrique paramètres permet d'ajouter des sondes et créer / éditer / supprimer des actions de jardinage.

Espace public

L'espace public affiche sous forme d'un mini site, l'évolution des plantes en cultures et un résumé des conditions climatiques actuelles.

Un espace public peut être référencé sur GreenMine Central.