Forum général.cherche-logiciel Cherche gestionnaire de contenu simple mais pas tant que ça

2
24
mai
2020

Moules,

Ma chère et tendre ayant une collection assez imposante de recettes de cuisine, disséminées comme il se doit dans des cahiers, classeurs, feuilles plus ou moins volantes, magazines et livres plus traditionnels, elle a récemment décidé de rationaliser tout ça et de les indexer sur ordinateur (je n'ai pas dit "numériser", juste indexer).

L'objectif en deux mots est assez évident mais consiste à pouvoir retrouver plus facilement une recette par mot-clé, mais également de pouvoir les filtrer en n'affichant par exemple que les recettes végétariennes, ou celles contenant un ou plusieurs ingrédients.

Bien sûr, la phase de saisie va être longue et laborieuse, mais c'est assumé.

Au départ elle a commencé sur Libreoffice Calc, qu'elle maîtrise déjà en partie, mais en y regardant de plus près j'ai vite vu que ce n'était pas la solution la plus adaptée, ni surtout la plus évolutive et maintenable.

Je cherche donc un genre de CMS qui permettrait de définir la structure de la "base" directement depuis une GUI, de même que d'y ajouter/modifier/supprimer des données.

J'ai trouvé Cockpit qui est franchement pas mal et qui pourrait presque faire le job via l'interface admin mais il manque la recherche fulltext et les filtres complexes (type "toutes les recettes contenant les ingrédients X et Y").

En gros il faudrait quelque chose qui permette depuis une interface (web de préférence) de créer une structure EAV et de la remplir. Puis évidemment de l'interroger.

Aurais-tu un soft intéressant qui pourrait répondre à ce besoin ?

(Note que là ce sont des recettes, mais c'est finalement un genre de gestionnaire de collections assez générique que je cherche, qu'on adaptera. Et non, les gestionnaires de collections que j'ai trouvés ne font pas du tout le job.)

  • # Recherche fulltext

    Posté par  . Évalué à 1. Dernière modification le 24 mai 2020 à 18:12.

    Salut,

    Alors d'abord, bon courage pour la partie saisie :)

    Ensuite, vu comme ça, j'aurais dis "bin c'est un job pour elasticsearch ça !".

    (Attention, la partie sécurisation est plus hard, mais si c'est dans le foyer… who cares? ;) )

    Matricule 23415

    • [^] # Re: Recherche fulltext

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      Alors oui tout à fait, ou MongoDB ou même n'importe quelle base de données relationnelle.

      Mais en plus du moteur interne ce qu'il me faudrait c'est surtout une interface "simple" qui permette de gérer la structure (entités/champs/relations), la saisie les données à proprement parler, et leur consultation.

      Cockpit gère magnifiquement bien la partie structure, et plutôt bien la partie saisie (même si ça peut vite être encore plus laborieux que ça ne pourrait être dans mon cas). Par contre pour la consultation… il faut monter une appli qui interroge l'API REST mise à disposition (normal hein, c'est son but à la base).

      • [^] # Re: Recherche fulltext

        Posté par  . Évalué à 1. Dernière modification le 24 mai 2020 à 18:49.

        Salut,

        Bin oui mais non, elasticsearch est justement pas relationnel… et c'est ça son pouvoir "magique"

        Il se construit un indexe inversé des termes utilisés, donc la recherche devient hyper simplifiée quand il s'agit de chercher.

        Tu met tout plus ou moins en vrac et il se dépatouille avec tout ça :)

        A nouveau par contre, même si j'ai bien aimé la partie facilité d'usage, la partie sécurisation, là… j'ai perdu quelques dents. Mais si c'est interne… bof, on s'en fout.

        Matricule 23415

        • [^] # Re: Recherche fulltext

          Posté par  (site web personnel, Mastodon) . Évalué à 1.

          Oui je vois ce que tu veux dire. Je ne sais malgré tout pas comment gérer la saisie dans ce cas, pour que par exemple l'ingrédient X d'un recette R1 fasse bien référence à une donnée précise (utilisée par un autre recette R2), qui pourrait éventuellement être enrichie plus tard (type, etc.).

          • [^] # Re: Recherche fulltext

            Posté par  . Évalué à 1. Dernière modification le 25 mai 2020 à 07:37.

            Salut,

            Je n'ai peut-être pas bien compris le problème.

            Tu rentre les recettes R1, R2, R3… Rn avec leur composition, ça c'est la partie "création", si on veut. Et quand tu as ingrédientA, ingrédientZ, ingrédientG, en une petite requète de "sélection", ça te sort toutes les recettes qui contiennent ces ingrédients.

            Ce n'est pas ça ce que tu veux ?

            Matricule 23415

          • [^] # Re: Recherche fulltext

            Posté par  . Évalué à 1.

            Re,

            Ah j'ai peut-être compris au final.

            Il faut laisser elastic se charger de tout ça. C'est le but de l'index inversé. Il n'y a juste rien à faire ;)

            Matricule 23415

            • [^] # Re: Recherche fulltext

              Posté par  (site web personnel, Mastodon) . Évalué à 1.

              Oui je crois comprendre, mais je ne saisis malgré tout pas quelle GUI va me proposer - par exemple - la liste déroulante des ingrédients quand je crée une recette. À moins que je ne la code moi-même (ce que j'essayais d'éviter jusque-là puisque je supposais que ce genre de besoin générique existe bien quelque part).

              • [^] # Re: Recherche fulltext

                Posté par  . Évalué à 2.

                Salut,

                Ah non, faut pas bosser comme ça avec elastic.

                Selon ton niveau de compétences en dev, je dirais :

                • tu fais un bête formulaire où ta compagne saisis ses trucs. Un champ par grand thème : nom de la recette/ingrédients/recette/trucs particuliers (vegan ou pas par exemple)/autre… (là faut lui demander),
                • A chaque fois qu'elle va cliquer sur "ajouter" ça fera un insert ou update (à toi de voir), mais pas de liste déroulante, rien de pénible, juste un champ ou elle rentre les ingrédients de la recette, un autre où elle décrit la préparation, bref, du texte complètement libre,
                • ensuite à cette étape, tu n'as rien à faire, elasticsearch va se charger tout seul comme un grand de faire la partie NLP : mettre en correspondance des mots avec des documents,
                • Peut-être le plus dur, faire une autre page pour "chercher". Là, oui, ça demande probablement un peu plus de boulot si tu veux un truc bien "customisé" à vos besoins, mais dans une version 1, tu peux faire "comme google" : tape tes mots, je te dis où ils ont été écrits.

                Voilà. Effectivement, il y a un peu de dev à faire pour rendre ça "à sa sauce" (si je puis dire ;) ). Mais rien qui ne me semble insurmontable.

                Matricule 23415

                • [^] # Re: Recherche fulltext

                  Posté par  (site web personnel, Mastodon) . Évalué à 1.

                  Oui je vois, effectivement c'est peut-être une méthode plus efficace. Faut que je me documente un peu plus sur ES à ce sujet.

                  • [^] # Re: Recherche fulltext

                    Posté par  . Évalué à 1.

                    Salut,

                    Dès fois, la simplicité pour l'utilisateur est meilleure que de le forcer à faire des trucs qu'il n'a pas super envie de faire, genre cliquer sur plein de boutons.

                    Si à chaque ingrédient qu'elle n'a pas saisi au préalable, il faut qu'elle aille dans un menu spécial pour ajouter ses nouveaux ingrédients (et donc potentiellement perdre toute sa saisie de recette)… Tu risque de vite être au pain et à l'eau ;)

                    Mon idée, c'est que tu fais un truc super basique de chez basique, quelques champs texte libre, tu délègue tout le reste au moteur. C'est son boulot de savoir dans quelle partie d'un document est écrit un mot, c'est fait pour.

                    ES va se baser sur lucene pour découper en petits mots tous les paragraphes écrits, il va mettre ça dans son index inversé, et au moment de la requète, selon ce que tu lui demande, il va retrouver les documents.

                    Matricule 23415

  • # Tellico

    Posté par  . Évalué à 5. Dernière modification le 24 mai 2020 à 19:14.

    Essaie tellico, c'est un gestionnaire de collections.
    Il y a des types de collections pré-définis (livres, vins, jeux, …) auxquels on peut ajouter des champs personnalisés, vori vaire son type sur mesure.
    On peut ensuite faire des recherches, ou des tris, sur base des différent champs.

    • [^] # Re: Tellico

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Je l'ai vu passer mais j'avais deux problèmes avec ce soft : c'est du KDE (ok c'est réducteur, mais j'ai pas envie d'installer 36 libs KDE sur les PC), et c'est une appli lourde.

      Merci quand même, je vais quand même y jeter un oeil plus précis !

      • [^] # Re: Tellico

        Posté par  . Évalué à 4.

        Je le trouve plutôt léger à l'usage, mais c'est vrai que je suis en bureau plasma.
        Si tu préfère GTK, il y a gcstar dans le même genre.

        • [^] # Re: Tellico

          Posté par  . Évalué à 5.

          et c'est une appli lourde.

          Je le trouve plutôt léger à l'usage

          je penses qu'il parlait du fait que c'est une application sur la machine et non une application WEB/CMS qui serait sur un serveur est accessible peut importe l'appareil de la maison (tablette, smartphone, ordi)

    • [^] # Re: Tellico

      Posté par  (site web personnel) . Évalué à 3.

      J'ajoute qu'avec Tellico, il est possible d'exporter les données au format HTML pour avoir un petit site statique.

      Il y a aussi https://github.com/thinkle/gourmet (dernier commit il y a 11 jours)

      Trouvé via ce lien.
      https://opensource.com/life/15/11/organize-your-cooking-open-source-recipe-manager

      Inside, you'll find much of the same functionality as the other two recipe managers we highlight, with a few additonal tools, including a built-in timer and unit converter, the ability to import recipes from a variety of different formats, a webpage import feature, and even the ability to search your recipes using regular expressions, which might come in handy if you've got a really big collection.

      Je ne sais pas si il peut exporter facilement par contre.

      Krecipes et OpenEats ont l'air abandonné.

  • # Pour faire ça tu peux utiliser zim par exemple

    Posté par  . Évalué à 1. Dernière modification le 24 mai 2020 à 23:28.

    zim permet de saisir du texte de le classé dans une arborescence que tu définis et permet de faire des recherche full text ou par mots clef dans ton arborescence de fichier.

    Il écrit ses fichiers au format texte dans un répertoire.

    Perso je l'utilise pour gérer mes prises de note dans tous les domaines et ça fait du volume.

    il est disponible dans toute bonne distribution et même sous windows

    pour te faire une idée

    http://www.zim-wiki.org

    • [^] # Re: Pour faire ça tu peux utiliser zim par exemple

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      Définitivement un soft intéressant que je vais garder sous le coude, mais pas assez structuré pour mon besoin très "database-oriented".

      Merci quand même !

      • [^] # Re: Pour faire ça tu peux utiliser zim par exemple

        Posté par  . Évalué à 1.

        Justement, à l'heure du full-text, de l'index inverse, le "Database oriented" c'est pas un peu dépassé ?

        Tu fais un fichier par recette, puis le moteur du wiki va savoir chercher dans toutes les fiches les mots "farine de châtaigne" "jambon de parme"

        pour trouver une recette de bruschetta avec du pain de châtaigne et des tranches de jambons.

        maintenant si tu veux faire des trucs plus complexe comme composer un menu à partir de ce que tu as dans le frigo, peut-être faudra-t-il une base relationnelle avec les proportions d'ingrédients de chaque recette, et un beau formulaire pour saisir les recettes en cliquant sur des boutons (ce qui va etre long et fastidieux)

      • [^] # Re: Pour faire ça tu peux utiliser zim par exemple

        Posté par  . Évalué à 1.

        Dans ton cas d'utilisation pourquoi un besoin "database orientied"?

        • [^] # Re: Pour faire ça tu peux utiliser zim par exemple

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          Notamment pour gérer le cas des données complexes (emplacements, ingrédients, etc.) et pour pouvoir gérer les filtres de types :
          - "recettes avec X et Y sans Z"
          - "recettes avec X mais sans Y"
          - "recettes végétariennes dans l'emplacement E"

          Mais peut-être que je n'ai pas une vision suffisamment large de ce qu'il est possible de faire sans SGBD, je suis un peu trop dedans au quotidien pour être objectif ;)

          • [^] # Re: Pour faire ça tu peux utiliser zim par exemple

            Posté par  . Évalué à 1.

            Les recettes de cuisine c'est assez complexe car la recherche impose de l'inférence. C'est même un exemple célèbre des implémentations Prolog. Tu confies Prolog à ta compagne et elle s'en sortira sans bloatware.

Suivre le flux des commentaires

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