URL: https://linuxfr.org/news/gestion-de-jardin-garden-party Title: Gestion de jardin : Garden party Authors: mtancoigne Ysabeau đŸ§¶ et Pierre Jarillon Date: 2020ćčŽ12月23æ—„T01:28:38+01:00 License: CC By-SA Tags: jardin, vuejs, openlayers et garden_party Score: 61 Cette dĂ©pĂȘche concerne Garden Party, une application web opensource de gestion de jardin. ## Contexte LassĂ©s de la ville et de ses sirĂšnes, nous avons cette annĂ©e cherchĂ© Ă  nous en Ă©loigner. AprĂšs plusieurs visites et quelques concessions, nous avons trouvĂ© quelque chose dans nos moyens. Environ 1 700m2 de terrain contenant dĂ©jĂ  quelques arbres, oĂč nous allons nous mettre Ă  jardiner. L’objectif est encore flou, mais il est question de rĂ©silience. Et pour apprendre, j’aime faire. En attendant la vente, nous avons commencĂ© Ă  rĂ©flĂ©chir Ă  notre futur jardin : quoi planter et oĂč ? ---- [Instance active](https://garden-party.experimentslabs.com/) [Sources](https://gitlab.com/experimentslabs/garden-party) [Manuel utilisateur](https://doc.garden-party.experimentslabs.com/) [Chat Matrix](https://matrix.to/#/!fROsPDUgtYILajhMWg:matrix.org) [Liste de diffusion](https://framalistes.org/sympa/subscribe/garden-party) [Blog](https://blog.garden-party.experimentslabs.com/) ---- La carte du jardin ------------------ Nous avons donc commencĂ© Ă  dessiner notre jardin, d’abord Ă  partir de calques rĂ©alisĂ©s sur des vues aĂ©riennes, puis en utilisant [Inkscape](https://www.inkscape.org). En quelques heures, nous sommes arrivĂ©s cette carte-ci : ![Terrain vide](https://blog.garden-party.experimentslabs.com/assets/images/20201216_carte_vide.svg) Puis nous l'avons peuplĂ©e : ![Terrain complet](https://blog.garden-party.experimentslabs.com/assets/images/20201216_carte_arbres.svg) En gros, nous avons remis les arbres et arbustes, colorĂ©s par genre, la taille reprĂ©sentant grosso-modo leur Ăąge. Les points reprĂ©sentent les zones qui d’aprĂšs nous seront principalement ombragĂ©es. Et la carte a Ă©voluĂ©, avec diffĂ©rents essais, pour arriver, Ă  son apogĂ©e, Ă  un ensemble totalement surrĂ©aliste et ingĂ©rable pour des dĂ©butants : ![Terrain, licornes](https://blog.garden-party.experimentslabs.com/assets/images/20201216_carte_parcelles.svg) Il faut gĂ©rer tout ça... ## Naissance de Garden Party En attendant la vente, nous trĂ©pignons. Les quelques travaux concernant la maison sont chiffrĂ©s, reste l’inconnue : le jardin. La carte est jolie mais ne permet pas de suivi, car... c’est une carte. Donc l’idĂ©e germe, au fil de nuits Ă  me demander par oĂč commencer, comment garder une trace de ce qui sera fait, de crĂ©er une application. Son but sera simple pour commencer : pouvoir recrĂ©er la carte que nous avions imaginĂ©e et assurer un suivi de la vie de ces Ă©lĂ©ments, tout en planifiant les actions Ă  mener, plant, taille, rĂ©colte... Le confinement de novembre liĂ© Ă  la COVID19 a donnĂ© un peu de temps pour dĂ©velopper une application qui rĂ©pond Ă  ce cahier des charges. C’est donc avec un code opensource (licence MIT), que Garden Party voit le jour. ![Interface principale](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_interface-1000-32329000a.png) ## Maturation et publication Au cours des quelques semaines de dĂ©veloppement initial, il a Ă©tĂ© proposĂ© de pouvoir utiliser les cartes OpenStreetMap directement en fond de plan, en plus des images tĂ©lĂ©versĂ©es et c’est maintenant possible. ![Carte OSM](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_osm-1000-05f3429f3.png) De plus, il a fallu crĂ©er une bibliothĂšque de plantes, ce qui a menĂ© Ă  ces diffĂ©rents points : - le _genre_ des plantes ? (la _famille_ aurait peut-ĂȘtre Ă©tĂ© plus pertinente, Ă  discuter...) ; - les relations avec d’autres plantes ? (les tomates ont une bonne relation avec les Ɠillets d’inde) ; - une description ? (OK, on les a pompĂ©es sur Wikipedia, mais du coup, il fallait une _source_ pour l'indiquer) ![Librairie](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_librairie-1000-0cd41ac2c.png) Chaque plante « appartient » Ă  un des niveaux que l’on retrouve dans les concepts de forĂȘt-jardin (du sou-sol Ă  la canopĂ©e), ce qui permet de filtrer l’affichage sur la carte. On peut planter des Ă©lĂ©ments « seuls », comme des arbres, ou crĂ©er des parcelles contenant plusieurs Ă©lĂ©ments. Il est possible d’ajouter des animaux sur les cartes, car oui, ~~ce sont des plantes~~ ils ont leur place dans les jardins. Bon, la bibliothĂšque en est exempte pour le moment. Un Ă©lĂ©ment (animal ou vĂ©gĂ©tal) a une sorte de cycle de vie: _planifiĂ©_ (on veut/va en mettre), _mis en place_ (on l’a plantĂ©/mis en libertĂ©) ou _retirĂ©_ (le plant est mort, on l’a coupĂ©, l’animal \*n’est plus lĂ \*). ![Cycles de vie](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_actions-863-09cfb2190.png) Chaque action est planifiable et pour les plus courantes, on les retrouve dans une liste de « trucs Ă  faire » ![Liste de tĂąches](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_todo-996-fd61ff4c5.png) Chaque Ă©lĂ©ment a son historique d’actions. [Historique](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_historique-988-16f271336.png) Une vue d’ensemble affiche tous les diffĂ©rents Ă©lĂ©ments. ![Vue d’ensemble](https://blog.garden-party.experimentslabs.com/generated/assets/images/20201216_gp_vue_d_ensemble-1000-29d5b7814.png) ### Techniquement parlant... C’est une application Ruby on Rails (web, donc) avec, pour l’_application_, un frontend en VueJS et des cartes affichĂ©es grĂące Ă  OpenLayers. Pour l’administration, des vues « standard » Ruby on Rails. Une API REST est disponible pour les utilisateurs inscrits (Ă  voir s’il ne faudrait pas l’ouvrir en partie pour la librairie). Une documentation Swagger est disponible aussi, pour un petit confort non nĂ©gligeable si vous voulez crĂ©er votre client. Le code est testĂ©, au moins sur le _backend_ (droits, retours d’API, comportement des actions...), et les tests pourraient ĂȘtre amĂ©liorĂ©s sur le _frontend_. Le support multi-langue est implĂ©mentĂ© ; l’ensemble de l’application est traduit en français/anglais (mis Ă  part les donnĂ©es : c’est en français) Pour les devs Rails + Vue, il y a des trucs potentiellement intĂ©ressants: des tĂąches Rake pour gĂ©nĂ©rer les **stores VueX** et des simili-modĂšles en JS; des **_templates_ de _scaffolding_** modifiĂ©s pour les contrĂŽleurs, vues d’administrations et tests de requĂȘte ; une gem qui **teste les retours API avec RSpec** et gĂ©nĂšre la doc Swagger (elle aurait bien besoin d’amour, cette gem) ; les traductions `vue-i18n` sont gĂ©rĂ©es par Rails \o/... ## Futur de Garden Party Le projet est jeune mais a un potentiel d’évolution intĂ©ressant ; hormis le fait qu’il soit libre, quelques idĂ©es font partie de la feuille de route aujourd’hui, et seront dĂ©veloppĂ©es si une communautĂ© se forme autours de ce logiciel : - intĂ©gration de donnĂ©es gĂ©ographiques ; - statistiques gĂ©ographiques (qu’est-ce qui est plantĂ© quand et oĂč ?) ; - partage d’agencements fonctionnels (tel plant marche bien avec tel plant, plantĂ©s de telle maniĂšre) ; - intĂ©gration de donnĂ©es mĂ©tĂ©orologiques ; - sauvegarde de photos des plants ; - partage de donnĂ©es inter-instances : bibliothĂšque de plantes, de statistiques, etc. (ActivityPub ?). ## ÉcosystĂšme Si on peut parler d’écosystĂšme, on a [une instance qui tourne](https://garden-party.experimentslabs.com), un semblant de [manuel utilisateur](https://doc.garden-party.experimentslabs.com) et ce blog. Ah, et un [chat matrix](https://matrix.to/#/!fROsPDUgtYILajhMWg:matrix.org), une [liste de diffusion](https://framalistes.org/sympa/subscribe/garden-party) et [un blog](https://blog.garden-party.experimentslabs.com) avec application dans la vie rĂ©elle. ## Vous voulez participer ? - Vous ĂȘtes dev VueJS et que vous aimez Ă©crire des tests, bah... plus que bienvenue, on en manque cruellement (tests avec `vue-test-utils` et `Jest`) - Vous avez utilisĂ© l’application mais l’interface vous rebute, on en discute, elle rĂ©pond au besoin de ses devs pour le moment... Ce qui est trĂšs bien, mais pas assez pour ĂȘtre utilisĂ© par d’autres. - Les pictos d’élĂ©ments sont gĂ©nĂ©rĂ©s (SVG) et peu diffĂ©renciables : un _Poirier_ et un _Pommier_ auront exactement le mĂȘme picto (mĂȘme _niveau_, mĂȘme premiĂšre lettre). Ce serait top d’avoir des pictos par famille (forme par famille, lettre par Ă©lĂ©ment, par exemple). - Vous voulez plus de contenu dans la bibliothĂšque, proposez ! - Heu... On est des quiches en jardinage... les termes ne collent pas ? On veut apprendre ! Dites-nous tout ! - Il manque des actions... Si vous voulez nous dire merci, c’est gentil. Et si vous nous dites que c’est tout pourri, sans explication... → `/dev/null` Une nouvelle aventure commence !

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /