Journal Votre potager a (encore) besoin de Tomate

Posté par . Licence CC by-sa
29
27
mar.
2015

Je vous parlais l'année dernière de Tomate, un logiciel pour planifier et suivre les cultures au potager.

Le code source est disponible ici: https://github.com/MickaelG/tomate_cpp

Pas de révolution pour cette année, mais pas mal de corrections de bogues, un changement de l'organisation de l'écran, et surtout la possibilité de placer chaque culture dynamiquement dans la planche, au lieu des subdivisions fixes de la première version.

Pour le futur:

  • Une version Windows
  • La possibilité de spécifier les positions des cultures graphiquement au lieu de donner les coordonnées
  • Une vue "calendrier" avec l'ensemble des travaux (faits ou prévus) dans le temps
  • Une aide à la planification, en prenant en comptes les périodes et durées de culture des différentes plantes
  • Le port vers Qt5
  • Et plus encore…

N'hésitez pas à faire part de vos remarques ou suggestions, celles de l'année dernière m'ont été fort utiles (et j'en profite pour remercier leurs auteurs).

  • # Petit test...

    Posté par . Évalué à 4.

    Merci de me faire découvrir ton logiciel, l'annonce précédente m'ayant échappé !

    L'installation s'est effectuée en 2 minutes sur ma ubuntu 14.04, alors que je n'ai jamais réussi à le faire avec Ekylibre ou Agritux…

    Un bon point :)

    Petit bug d'affichage cependant, sur l'écran de mon portable, la résolution horizontale est trop faible pour afficher la fenêtre de Tomate en entier :

    bug d'affichage

    Avec une résolution plus élevée, pas de soucis…

    Pour la partie « agricole » de tomate, rien à ajouter pour le moment, il faut que je le montre à nos deux paysans pour savoir si ils le trouveront utilisable & utile ;)

    Enfin avant, penses-tu que Tomate puissent convenir à une petite exploitation maraîchère bio d'environ 2HA ?

    Une version Windows seraient bienvenue aussi : dans le monde agricole, quasi tous les logiciels métiers sont propriétaires et tournent sur Win exclusivement, et certains sont même imposés sournoisement par les organismes officiels, sans quoi impossible d'obtenir certaines subventions !

    La possibilité d'utiliser une BDD mysql ou postgresql afin de partager les données entre plusieurs postes seraient bien utile également.

    Penses-tu ajouter aussi un module de gestion d'animaux ? Pour les poules pondeuses ça nous serait bien utile… mais rien ne presse : maître goupil ayant décimer tout notre cheptel, c'est pas les quatre cocottes restantes qui posent des difficultés de gestion ;) Mais on finira bien pas en remettre.

    • [^] # Re: Petit test...

      Posté par . Évalué à 2.

      Petit bug d'affichage cependant, sur l'écran de mon portable, la résolution horizontale est trop faible pour afficher la fenêtre de Tomate en entier

      Merci pour ce retour, je vais regarder ça.

      Enfin avant, penses-tu que Tomate puissent convenir à une petite exploitation maraîchère bio d'environ 2HA ?

      Je n'en ai aucune idée. Par contre ton retour sur ce point m'intéresse.

      _Une version Windows seraient bienvenue aussi

      Elle arrive !

      La possibilité d'utiliser une BDD mysql ou postgresql afin de partager les données entre plusieurs postes seraient bien utile également.

      C'est une idée. Je vais y penser.

      Penses-tu ajouter aussi un module de gestion d'animaux ?

      Ça c'est pas prévu. J'ai déjà pas mal de boulot sur la partie culture.

  • # faille galactique?

    Posté par . Évalué à 8.

    Pas de révolution pour cette année.

    La terre n'a pas tourné autour du soleil cette année?

  • # HTML 5

    Posté par . Évalué à 3.

    Une version Windows

    Pourquoi ne pas faire une version HTML 5 ? Au moins il n'y aurait pas de problème de portabilité ou d'installation.

    • [^] # Re: HTML 5

      Posté par . Évalué à 1.

      Ce serait une bonne idée, parce que je n'ai pas les librairies demandées sous Mageia :
      # urpmi libqt4-dev libboost-date-time-dev libboost-filesystem libboost-test-dev
      Pas de paquetage nommé libqt4-dev
      Pas de paquetage nommé libboost-date-time-dev
      Pas de paquetage nommé libboost-filesystem
      Pas de paquetage nommé libboost-test-dev

      • [^] # Re: HTML 5

        Posté par (page perso) . Évalué à 2.

        joel : moi c'est passé, le cmake a accepté les librairies que j'avais.

        par contre, ça merdoie à la compil.

        • [^] # Re: HTML 5

          Posté par . Évalué à 0.

          Merci djibb.

          J'ai donc tenté l'installation, mais cmake échoue :
          ```
          $ cmake -G 'Unix Makefiles'
          -- The C compiler identification is GNU 4.9.2
          -- The CXX compiler identification is unknown
          -- Check for working C compiler: /usr/bin/cc
          -- Check for working C compiler: /usr/bin/cc—works
          -- Detecting C compiler ABI info
          -- Detecting C compiler ABI info - done
          CMake Error at CMakeLists.txt:4 (project):
          No CMAKE_CXX_COMPILER could be found.

          Tell CMake where to find the compiler by setting either the environment
          variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
          to the compiler, or to the compiler name if it is in the PATH.

          -- Configuring incomplete, errors occurred!
          See also "/documents/download/tomate_cpp-master/tomate_cpp/CMakeFiles/CMakeOutput.log".
          See also "/documents/download/tomate_cpp-master/tomate_cpp/CMakeFiles/CMakeError.log".

          • [^] # Re: HTML 5

            Posté par . Évalué à 1. Dernière modification le 30/03/15 à 11:21.

            Salut,

            à priori, il te manque le compilateur c++, il te faut l'installer:

            Avec fedora:

            yum install gcc-c++

            Avec mageia, je suppose qu'il faut taper ce qui suit:

            urpmi gcc-c++

            • [^] # Re: HTML 5

              Posté par . Évalué à 0.

              Bien vu, chla : urpmi gcc-c++ m'as permis d'avancer, mais ça ne suffit pas :
              $ cmake -G 'Unix Makefiles'
              —The CXX compiler identification is GNU 4.9.2
              —Check for working CXX compiler: /usr/bin/c++
              —Check for working CXX compiler: /usr/bin/c++—works
              —Detecting CXX compiler ABI info
              —Detecting CXX compiler ABI info - done
              CMake Error at /usr/share/cmake/Modules/FindBoost.cmake:1179 (message):
              Unable to find the requested Boost libraries.

                Unable to find the Boost header files.  Please set BOOST_ROOT to the root
                directory containing Boost or BOOST_INCLUDEDIR to the directory containing
                Boost's headers.
              Call Stack (most recent call first):
                CMakeLists.txt:17 (find_package)
              
              
              -- Found unsuitable Qt version "" from NOTFOUND
              Qt QTGUI library not found.
              Qt QTCORE library not found.
              CMake Error at CMakeLists.txt:29 (QT4_WRAP_UI):
                Unknown CMake command "QT4_WRAP_UI".
              
              
              -- Configuring incomplete, errors occurred!
              See also "/documents/download/tomate_cpp-master/tomate_cpp/CMakeFiles/CMakeOutput.log".
              See also "/documents/download/tomate_cpp-master/tomate_cpp/CMakeFiles/CMakeError.log".
              

              J'ai tenté :
              # urpmi boost
              Afin de satisfaire les dépendances de « lib64boost_serialization1.55.0|lib64boost_date_time1.55.0|lib64boost_locale1.55.0|lib64boost_signals1.55.0|lib64boost_chrono1.55.0|lib64boost_context1.55.0|lib64boost_log1.55.0|lib64boost_wserialization1.55.0|lib64boost_mpi1.55.0|lib64boost_unit_test_framework1.55.0|lib64boost_iostreams1.55.0|lib64boost_coroutine1.55.0|lib64boost_random1.55.0|lib64boost_program_options1.55.0|lib64boost_thread1.55.0|lib64boost_system1.55.0|lib64boost_timer1.55.0|lib64boost_graph1.55.0|lib64boost_atomic1.55.0|lib64boost_regex1.55.0|lib64boost_filesystem1.55.0|lib64boost_wave1.55.0|lib64boost_python1.55.0|lib64boost_math1.55.0|lib64boost_prg_exec_monitor1.55.0 », un des paquetages suivants est nécessaire :
              1- lib64boost_atomic1.55.0-1.55.0-8.mga5.x86_64 : Boost atomic shared library (à installer)
              2- lib64boost_chrono1.55.0-1.55.0-8.mga5.x86_64 : Boost chrono shared library (à installer)
              3- lib64boost_context1.55.0-1.55.0-8.mga5.x86_64 : Boost context shared library (à installer)
              4- lib64boost_coroutine1.55.0-1.55.0-8.mga5.x86_64 : Boost coroutine shared library (à installer)
              5- lib64boost_graph1.55.0-1.55.0-8.mga5.x86_64 : Boost graph shared library (à installer)
              6- lib64boost_locale1.55.0-1.55.0-8.mga5.x86_64 : Boost locale shared library (à installer)
              7- lib64boost_log1.55.0-1.55.0-8.mga5.x86_64 : Boost log shared library (à installer)
              8- lib64boost_math1.55.0-1.55.0-8.mga5.x86_64 : Boost math shared library (à installer)
              9- lib64boost_mpi1.55.0-1.55.0-8.mga5.x86_64 : Boost mpi shared library (à installer)
              10- lib64boost_prg_exec_monitor1.55.0-1.55.0-8.mga5.x86_64 : Boost prg_exec_monitor shared library (à installer)
              11- lib64boost_python1.55.0-1.55.0-8.mga5.x86_64 : Boost python shared library (à installer)
              12- lib64boost_random1.55.0-1.55.0-8.mga5.x86_64 : Boost random shared library (à installer)
              13- lib64boost_serialization1.55.0-1.55.0-8.mga5.x86_64 : Boost serialization shared library (à installer)
              14- lib64boost_timer1.55.0-1.55.0-8.mga5.x86_64 : Boost timer shared library (à installer)
              15- lib64boost_unit_test_framework1.55.0-1.55.0-8.mga5.x86_64 : Boost unit_test_framework shared library (à installer)
              16- lib64boost_wave1.55.0-1.55.0-8.mga5.x86_64 : Boost wave shared library (à installer)
              17- lib64boost_wserialization1.55.0-1.55.0-8.mga5.x86_64 : Boost wserialization shared library (à installer)
              Que choisissez-vous ? (1-17) 11

              mais ça n'as rien changé.
              Peut-être aurai-je dû en choisir un autre ?

              • [^] # Re: HTML 5

                Posté par . Évalué à 1.

                Salut joel,

                il te faut la librairie de développement de boost: lib64boost-devel sur mageia

                A priori il te manque également la partie dév de qt4 : lib64qt4-devel

                Installe ces 2 lib et regarde si cela corrige ton problème.

                urpmi lib64boost-devel lib64qt4-devel

                PS: je suis sous Fedora, les noms des librairies mageia sont peut-être incorrects…

                • [^] # Re: HTML 5

                  Posté par . Évalué à 1.

                  Merci beaucoup, chla, c'était bien ça.
                  Après quoi, j'ai pu aller jusqu'au bout de l'installation.

                  Et j'ai fait cet alias :
                  alias tomate="/documents/download/tomate_cpp-master/tomate_cpp/tomate_gui"

                  • [^] # Re: HTML 5

                    Posté par . Évalué à 0.

                    Heureux d'avoir rendu service.

                    A bientôt.

                  • [^] # Re: HTML 5

                    Posté par . Évalué à 0.

                    Bon, c'est plutôt instable :

                    1 [02-04-2015 12:40] joel@localhost: /documents/download/tomate_cpp-master/tomate_cpp $ tomate
                    Qt has caught an exception thrown from an event handler. Throwing
                    exceptions from an event handler is not supported in Qt. You must
                    reimplement QApplication::notify() and catch all exceptions there.

                    terminate called after throwing an instance of 'std::invalid_argument'
                    what(): Plot already exists in plot list
                    Abandon
                    2 [02-04-2015 19:10] joel@localhost: /documents/download/tomate_cpp-master/tomate_cpp $ tomate
                    Qt has caught an exception thrown from an event handler. Throwing
                    exceptions from an event handler is not supported in Qt. You must
                    reimplement QApplication::notify() and catch all exceptions there.

                    terminate called after throwing an instance of 'std::invalid_argument'
                    what(): Plot already exists in plot list
                    Abandon
                    3 [02-04-2015 19:11] joel@localhost: /documents/download/tomate_cpp-master/tomate_cpp $ tomate
                    Qt has caught an exception thrown from an event handler. Throwing
                    exceptions from an event handler is not supported in Qt. You must
                    reimplement QApplication::notify() and catch all exceptions there.

                    terminate called after throwing an instance of 'std::invalid_argument'
                    what(): Plot already exists in plot list
                    Abandon
                    4 [02-04-2015 19:17] joel@localhost: /documents/download/tomate_cpp-master/tomate_cpp $ tomate
                    Qt has caught an exception thrown from an event handler. Throwing
                    exceptions from an event handler is not supported in Qt. You must
                    reimplement QApplication::notify() and catch all exceptions there.

                    terminate called after throwing an instance of 'std::invalid_argument'
                    what(): Plot already exists in plot list
                    Abandon
                    5 [02-04-2015 19:21] joel@localhost: /documents/download/tomate_cpp-master/tomate_cpp $

                    Parfois suite à l'ajout de la deuxième planche de culture, parfois je peux aller un peu plus loin, jusqu'à l'ajout d'une sixième planche…

        • [^] # Re: HTML 5

          Posté par . Évalué à 1.

          Sous fedora 20 …

          # yum install boost-devel
          

          qt4 est déjà présent sur ma machine ainsi que boost-date-time boost-filesystem

          $ cd tomate_cpp
          $ cmake -G 'Unix Makefiles'
          $ export PATH=$PATH:/usr/lib64/qt4/bin  ==> pour utiliser 'lrelease' qui n'est pas dans le PATH par défaut.
          $ make tomate_gui
          $ ./tomate_gui
          

          ATTENTION: il ne faut pas faire "make clean" car cela détruit le fichier tomate.qrc et il n'est pas regénéré !
          Je l'ai refais à la main par copier/coller depuis github.

  • # Problème à l'installation

    Posté par . Évalué à 1.

    Bonjour,
    Merci pour l'initiative de ce logiciel !
    Cependant, je ne parviens pas à l'installer.
    Je suis sous Ubuntu 10.04 en 32bits.
    Lors de l'installation j'ai le message d'erreur suivant à l'étape de cmake :

    -- The CXX compiler identification is unknown
    CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set >CMAKE_CXX_COMPILER to a valid compiler path or name.
    -- Boost version: 1.54.0
    -- Found the following Boost libraries:
    -- date_time
    -- filesystem
    -- system
    -- unit_test_framework
    -- Configuring incomplete, errors occurred!

    Je ne suis pas (encore…) très doué en linux, et là je cale…
    Une idée ?
    Merci !
    Max

    • [^] # Re: Problème à l'installation

      Posté par (page perso) . Évalué à 3.

      Il faut installer un compilateur C++ apparemment. Dans la liste de paquets, installer le paquet g++.

      • [^] # Re: Problème à l'installation

        Posté par . Évalué à 0.

        Yep, c'est bon ce coup-ci ! Par contre j'ai dû tout virer, réinstaller CMake et recommencer la procédure du début pour que ça marche. Bon, j'ai déjà vu plus simple comme méthode d'installation ; mais l'initiative du logiciel répare tous les défauts constatés ; merci Mickael (je me sens moins seul comme geek-jardinier) et merci Benoît.
        Par contre deux remarques/questions :
        - Y'a pas moyen de faire un raccourci pour ne pas avoir à passer par le terminal pour lancer le logiciel à chaque fois ?
        - Mon écran est petit, et le logiciel ne tient pas dans la largeur ; et pas moyen de le réduire… c'est dommage.
        Il ne me reste plus qu'à le tester plus en profondeur maintenant !
        Max

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.