Page 1 sur 2

Pybeeryaml

Publié : 18 avr. 2018 14:04
par joack
Bonjour à tous,

Un petit post pour partager mon petit logiciel tout simple pour partager la bière.

Ca s'adresse en premier lieu à un profil geek j'avoue donc si git, yaml et python sont inconnus pour vous passez votre chemin ... :wink:

Développeur de métier j'ai bien essayé de me mettre à beerxml mais je le trouvais vraiment trop verbeux. Trop de champs obligatoires pour juste renseigner une recette de bière que je voulais le plus lisible possible.

Du coup je me suis penché sur le truc et ait créé un parser yaml pour les recettes de bières :

http://pybeeryaml.readthedocs.io

Le code est libre, vous pouvez l'utiliser pour ce que bon vous semble.

Quel intérêt, me direz-vous. Et bien ça me permet d'écrire simplement mes recettes de bières dans un format, que je trouve, plus lisible que le xml et avec un petit traitement de faire des trucs comme ça :

Image
https://j0ack.github.io/beers/anarky.html

Je suis ouvert à toutes discussions sur le sujet alors n'hésitez pas à me faire des retours.

Exemple de recette:

Code : Tout sélectionner

name: Anarky
date: 02 Apr 2018
brewer: TROUVERIE Joachim
type: All Grain
batch_size: 10L
boil_size: 15L
boil_time: 80min
abv: 8.1%
ibu: 21
style: Belgian-Style Blonde Ale
primary_age: 4 days to 1 week
primary_temp: 22°C
secondary_age: 1 week
secondary_temp: 22°C
tertiary_age: 2-3 weeks
tertiary_temp: 15°C
bottled_sugar: 7g/L


hops:
  styrian goldings:
    amount: 18g
    use: boil
    time: 80min
    alpha: 3.7%
  saaz:
    amount: 15g
    use: boil
    time: 80min
    alpha: 3.5%
  saaz:
    amount: 10g
    use: boil
    time: 10min
    alpha: 3.5%

fermentables:
  pale ale:
    type: Grain
    amount: 2500g
    color: 7 EBC
    yield: 78.0
  munich:
    type: Grain
    amount: 500g
    color: 15 EBC
    yield: 70.0
  candy (clear):
    type: sugar
    amount: 250g
    color: 1 EBC
    yield: 78.3

yeasts:
  Safbrew Fermentis T-58:
    type: ale
    amount: 1/2 pk
    form: dry
  Safbrew Fermentis S-33:
    type: ale
    amount: 1/2 pk
    form: dry

mash:
  name: Full body
  grain_temp: 25°C
  mash_steps:
    proteic:
      type: infusion
      step_temp: 50°C
      step_time: 15min
    saccharifying:
      type: temperature
      step_temp: 62°C
      step_time: 30min
    saccharifying:
      type: temperature
      step_temp: 72°C
      step_time: 40min
    mash out:
      type: temperature
      step_temp: 78°C
      step_time: 10min

Re: Pybeeryaml

Publié : 18 avr. 2018 19:20
par Jean-Luc
C'est joli.
Pour le beerxml ce n'est pas juste un format d'enregistrement mais un format d'échange comme tout xml.
Il se doit donc d'intégrer des données sensées à l'origine permettre à différents logiciels de retrouver les informations utiles pour générer ou régénérer les calculs de la recette, avec plus ou moins de détail.
Si le but est simplement d'afficher les informations de base de la recette sans souci de les partager effectivement il y a plus simple.

Re: Pybeeryaml

Publié : 18 avr. 2018 20:06
par joack
C'est pour ça que le format permet également d'exporter le résultat sous le format beerxml.

Je reprends les mêmes clés que pour le XML j'ai juste essayé de rendre ça plus lisible pour un humain :D

Re: Pybeeryaml

Publié : 18 avr. 2018 20:47
par Ememix
J'avoue que ça serai sympa de pouvoir modifier les fiches de recette de beersmith qui ne sont pas très conviviales. Pouvoir ajouter des images, des logos, ou supprimer des infos qu'on se sert pas....
Je suis pas un pro de l'informatique, et j'ai pas compris ton truc, surtout que c'est tout in english.
C'est un truc à télécharger ou c'est en ligne?
Ca s'adresse en premier lieu à un profil geek j'avoue donc si git, yaml et python sont inconnus pour vous passez votre chemin ...
Donc, je passe mon tour pour cette fois!!!

Re: Pybeeryaml

Publié : 19 avr. 2018 9:50
par Penn-Maen
@Ememix : les modèles de fiches de recettes de BS sont (étaient ?) en html/CSS. Tu peux (pouvais?) modifier le modèle pour l'adapter à tes besoins ;)

En format d'échange, on a aussi le simple JSON (j'ai vu passer des projets divers...). En tout cas, c'est bien que des gens se casse le baigneur à nous proposer des trucs nouveaux (et simples/KISS : si quelqu'un propose un soft de recette pouvant être installé sur n'importe quel espace perso avec juste PHP et MySql :whistle: )

Re: Pybeeryaml

Publié : 19 avr. 2018 12:35
par joack
Merci des retours déjà !
Ememix a écrit :J'avoue que ça serai sympa de pouvoir modifier les fiches de recette de beersmith qui ne sont pas très conviviales. Pouvoir ajouter des images, des logos, ou supprimer des infos qu'on se sert pas....
Je suis pas un pro de l'informatique, et j'ai pas compris ton truc, surtout que c'est tout in english.
C'est le but premier du truc, on peut pas se passer des champs obligatoires du beerxml mais on peut alléger le tout et faire tenir une recette en quelques lignes.
Ememix a écrit :C'est un truc à télécharger ou c'est en ligne?
J'ai un peu présenté ça pelle même j'avoue.
En gros c'est un nouveau type de fichier pour stocker les recettes (je suis en train de bosser sur une doc sur le format uniquement) et le code posté est juste une biliothèque Python qui permet de ressortir la recette correspondante.

Vu qu'on se base sur le format beerxml de base le but est de pouvoir convertir de l'un à l'autre sans difficulté avec des outils qui vont bien.

Pour le moment c'est brut de décoffrage mais à terme une webapp clé en main est éventuellement à envisager :D

Re: Pybeeryaml

Publié : 19 avr. 2018 12:53
par Catuvolcos
joack a écrit :J'ai un peu présenté ça pelle même j'avoue.
J'aime beaucoup :mrgreen:

Joli travail. C'est sûr qu'une interface web faciliterait grandement son adoption :)

Re: Pybeeryaml

Publié : 19 avr. 2018 13:56
par Penn-Maen
le but est de pouvoir convertir de l'un à l'autre
attention quand même, la conversion de ton format vers Bxml ne fournira pas autant d'infos que le fichier de base. Une sorte de compression avec pertes. Ceci dit, il y a plein d'infos dont l'amateur se fiche un peu en général ;)

Pour faciliter son adoption, il faut le vendre à Brad Smith :lol:

Re: Pybeeryaml

Publié : 20 avr. 2018 11:01
par Ememix
En tout cas, c'est une tres bonne idee. Et je vais suivre de pres le développement de cet outil jusqu'à ce que ça devienne compréhensible pour moi.

Re: Pybeeryaml

Publié : 20 avr. 2018 18:17
par joack
J'ai mis à jour la doc et en ai mise une en ligne correspondant uniquement au format

http://beeryaml.rtfd.io
http://pybeeryaml.rtfd.io