1 points par GN⁺ 2023-08-15 | 1 commentaires | Partager sur WhatsApp
  • OpenFarm était une base de données ouverte gratuite et une application web où chacun pouvait partager des connaissances en agriculture et en horticulture, avec un modèle visant à retrouver et utiliser les informations de culture des plantes comme des recettes
  • Les serveurs ont été arrêtés en avril 2025 ; les raisons directes étaient l’arrêt de la maintenance de la base de code et la fin prévue, en mai 2025, des mises à jour de sécurité de l’infrastructure serveur
  • Le contenu central, les Growing Guides, regroupait des informations structurées nécessaires à la culture, comme l’espacement des graines, la profondeur de plantation, l’arrosage, la composition du sol, les plantes compagnes et les conditions d’ensoleillement ou d’ombre
  • Les développeurs pouvaient mettre en place un environnement local via une installation simple basée sur Vagrant et VirtualBox, ou via une installation directe de Ruby, Rails, ElasticSearch v6.5.0 et MongoDB
  • Le logiciel était publié sous MIT License, et la base de données sous Public Domain(CC0), mais le service est arrêté pour une durée indéfinie et seul le dépôt GitHub reste disponible comme archive publique

Arrêt des serveurs en avril 2025

  • Les serveurs OpenFarm ont été arrêtés en avril 2025 après un peu plus de 10 ans d’exploitation
  • Deux raisons principales ont motivé cette fermeture
    • la base de code n’était plus maintenue
    • l’infrastructure serveur devait cesser de recevoir des mises à jour de sécurité à partir de mai 2025
  • Compte tenu aussi de la baisse de fréquentation du site ces dernières années, la décision a été prise de mettre fin aux serveurs pour une durée indéfinie et d’archiver publiquement le dépôt GitHub
  • OpenFarm n’a pas atteint un niveau d’usage suffisant pour devenir le « Wikipédia de la culture des plantes », mais a apporté de la valeur pendant plus de 10 ans aux utilisateurs de l’API et aux visiteurs du site web

Objectif d’OpenFarm et modèle de contenu

  • OpenFarm était une base de données ouverte gratuite et une application web dédiée aux connaissances en agriculture et en horticulture
  • L’objectif se rapprochait d’un Wikipédia de la culture des plantes, mais l’usage réel était plus proche d’un site de recettes de cuisine
  • Le contenu principal était constitué des Growing Guides
    • des documents créatifs, participatifs et attribués à un auteur unique
    • contenant des informations structurées nécessaires à la culture des plantes
    • couvrant l’espacement des graines, la profondeur de plantation, l’arrosage, la composition de sol recommandée, les plantes compagnes et les conditions d’ensoleillement ou d’ombre
  • Les jardiniers pouvaient y trouver la réponse à des questions comme « Comment cultiver des tomates ? »

Communauté de contributeurs et modes de participation

  • Les participants étaient invités à rejoindre le Slack room pour échanger avec les contributeurs principaux d’OpenFarm
  • Les questions sur la contribution pouvaient être orientées vers la FAQ, où figuraient aussi Angular, l’issue tracker et le canal IRC
  • Les éléments nécessitant du travail étaient gérés sous forme de liste de priorités dans OpenFarm Projects
  • Les contributions au code étaient réparties entre front-end et back-end via GitHub Projects
  • La traduction du site web pouvait se faire via Transifex

Principes de contribution inclusifs

  • OpenFarm accueillait la participation des membres techniques comme non techniques, ainsi que des débutants et des experts en horticulture
  • La communauté avait adopté un Code of Conduct afin de favoriser la diversité et un espace sûr et inclusif
  • La manière d’aborder la résolution des problèmes reposait sur trois principes
    • consacrer du temps à documenter, poser des questions et y répondre afin de laisser une trace transparente des raisons derrière les actions
    • privilégier le fait de terminer plutôt que la perfection, et découper le travail en petites tâches pour permettre à chacun de contribuer même sur un temps court
    • chercher le chemin le plus clair et le plus court pour améliorer l’utilisabilité et implémenter des fonctionnalités

Mise en place de l’environnement de développement

  • La méthode d’installation simple recommandait l’usage de Vagrant et VirtualBox
  • Après configuration de Vagrant, il était possible de lancer le serveur Rails avec vagrant ssh, cd /vagrant, puis rails s
  • En local, l’accès se faisait via http://localhost:3000 et, si la configuration était correcte, on pouvait utiliser la base de données de démonstration ainsi que le compte par défaut admin@admin.com / admin123
  • La méthode d’installation directe nécessitait Ruby, Rails, ElasticSearch v6.5.0 et MongoDB
  • La procédure d’exécution directe comprenait le clonage du dépôt, bundle install, rake db:setup, la création d’un fichier de variables d’environnement, puis l’exécution de rails s
  • Certains utilisateurs Linux rencontraient des problèmes à l’installation d’ElasticSearch, et une solution de contournement consistant à lancer elasticsearch:6.5.0 et mongo avec Docker était proposée
  • En cas de problème lors de l’installation des bundles ou de l’exécution, il était recommandé de consulter la Common Issues Page

Règles des contributeurs principaux et licence

  • Un contributeur ayant créé deux PR pouvait être ajouté comme core contributor
  • Les règles applicables aux principaux contributeurs au code étaient les suivantes
    • interdiction de push --force ou de modifier l’historique Git
    • utiliser une branche, et non master, pour les travaux en cours
    • demander des retours via une pull request interne pour les changements d’API externes et les corrections importantes
    • recommander aussi une pull request interne pour les contributions, sauf changements mineurs
    • s’efforcer de suivre le style de code existant
  • Les véritables contributeurs au code sur GitHub pouvaient être consultés dans GitHub contributors
  • Des personnes ont aussi contribué en dehors de GitHub, par un soutien financier, la rédaction de contenus horticoles pour le site web ou l’amélioration de la visibilité d’OpenFarm
  • Le logiciel était distribué sous MIT License
  • Toutes les données de la base OpenFarm.cc étaient fournies sous Public Domain(CC0)

1 commentaires

 
GN⁺ 2023-08-15
Avis sur Hacker News
  • J’ai été surpris de voir ça en première page de HN. Quand j’étais chez FarmBot, j’étais l’un des principaux mainteneurs d’OpenFarm et, comme plusieurs l’ont déjà dit, ce projet n’est malheureusement plus maintenu activement.
    Cela dit, il est encore utilisé au sein de FarmBot pour gérer les informations sur les cultures, donc je ne le considère pas comme un projet mort.
    Ce dont il a le plus besoin aujourd’hui, avant tout, c’est d’une mise à niveau des dépendances. Il tourne sur de vieilles versions de Rails/Mongoid/Angular 1.x. Toute personne qui souhaite relancer ce projet devrait vraiment contacter les mainteneurs actuels ; pour ma part, je n’y suis plus impliqué.

    • Angular 1, rien que ça !
      https://github.com/openfarmcc/OpenFarm/blob/mainline/app/ass...
      $scope.$watch(), ça rappelle des souvenirs. Vue serait sans doute un bon choix.
    • Moi et mon entreprise avons proposé d’assumer le rôle de mainteneurs. C’est un domaine qui nous passionne vraiment.
    • Y aurait-il moyen d’obtenir une copie de la base de données des cultures/plantes ? Je développe une petite appli pour un usage domestique, et j’ai eu du mal à trouver des données structurées ou une API.
  • J’ai essayé d’envoyer un e-mail à l’adresse de contact et j’ai reçu cette réponse :
    « Bonjour, OpenFarm n’a pas été maintenu ni travaillé depuis plusieurs années, et le groupe Slack n’est plus actif. Si vous souhaitez devenir mainteneur du projet OpenFarm, veuillez prendre contact via le dépôt GitHub d’OpenFarm. Notez également que cette adresse e-mail n’est plus consultée régulièrement. Cette réponse est un message d’absence automatique. Merci de votre compréhension. »

    • Vu qu’il y a une adresse @farmbot.io dans le README GitHub, il est probable qu’au moins au début, des employés de FarmBot assuraient la maintenance. C’est peut-être encore le cas, et il semble qu’il y ait au moins quelqu’un qui maintienne un minimum le projet en vie, par exemple en fusionnant des PR Dependabot.
      C’est une ressource précieuse ; j’espère que la visibilité sur HN incitera quelqu’un à reprendre la maintenance.
    • C’est vraiment dommage.
      Le dépôt https://github.com/openfarmcc/OpenFarm semble contenir toutes les informations, mais honnêtement, cela n’a pas forcément besoin d’être un site web. Un ensemble de fichiers Markdown liés entre eux et hébergés sur GitHub serait probablement bien plus facile à maintenir et à faire évoluer. Si l’on veut quelque chose d’un peu plus présentable, Jekyll ferait l’affaire.
      Ce serait un projet propre, tout à fait adapté à un hackathon de week-end pour des étudiants ou un groupe similaire.
  • J’ai déjà participé à un projet semblable, et un point que l’on sous-estime facilement est que, surtout pour les petites exploitations, beaucoup de choses sont très fortement liées à l’emplacement et aux variétés de plantes.
    Les dates de taille peuvent varier de plus d’un mois en se déplaçant seulement de quelques centaines de kilomètres, les conditions du sol aussi, et elles peuvent même changer en allant simplement dans la ferme voisine. Je ne sais pas vraiment s’il est possible de collecter et diffuser ce type d’informations de façon systématique sans que cela devienne extrêmement complexe.

    • C’est possible. C’est précisément pour cela qu’il existe des encyclopédies des plantes et des informations botaniques.
      La botanique est une science, et les informations existent déjà. Il suffit d’aller à la bibliothèque locale et de regarder.
      Ce qui me déplaît, c’est l’attitude des tech bros de San Francisco qui veulent résoudre avec de la high-tech un problème déjà résolu. J’ai vu des collègues installer FarmBot, alors qu’une personne aurait pu faire la même chose en quelques heures avec un simple transplantoir. En réalité, le gestionnaire de l’immeuble passait une fois par jour avec un tuyau pour arroser les plantes.
  • Ma mère pourrait beaucoup contribuer à ce projet, mais le fait de devoir configurer Vagrant et git constitue une barrière à l’entrée beaucoup trop élevée pour des personnes ordinaires comme elle.
    C’est dommage. Le partage de connaissances en jardinage a beaucoup de sens, et a peut-être même fait partie de la manière dont notre civilisation est apparue.

  • Un projet plus ou moins similaire dans le domaine des soins aux animaux de refuge, assez méticuleux :
    https://opensanctuary.org/

  • L’idée est excellente, mais les connaissances nécessaires pour réussir une culture ne se résument pas facilement à un simple format de guide pratique.
    Il y a des variables comme : veut-on faire du bio, a-t-on analysé le sol, quels ravageurs sont présents localement, combien d’heures de soleil la parcelle reçoit-elle par jour, etc.
    Au final, il existe beaucoup de techniques communes, mais il faut aussi beaucoup de connaissances locales.

  • Il faudrait ajouter un filtre anti-spam au site. La plupart des guides ou des publications sont vides ou inutilisables.

  • Ce projet pourrait peut-être être repris par la Wikimedia Foundation. L’idéal serait de fournir une interface web pratique permettant aux contributeurs d’ajouter des variétés et des connaissances, puis de stocker ces données dans le graphe de connaissances Wikidata.

    • Pitié, non. Je n’ai pas envie qu’un projet communautaire soit encore davantage marginalisé par des suppressionnistes ennuyeux qui récitent une liste opaque de politiques wiki truffées d’acronymes.
  • Le site web est inaccessible de mon côté. Il a été submergé par le trafic de HN ?

  • https://agritech.tnau.ac.in
    Couvre davantage d’informations. Ce n’est pas à jour, mais cela reste pertinent.