all repos — momix @ 9f32f2cdcf6da96968a218122ffa5a5a9150d36a

A CLI tool to manage recipes for Thermomix

README.md (view raw)

 1# Momix
 2
 3**Momix** est une webapp et un outil en ligne de commande permettant d'enregistrer des recettes de cuisine et de générer des listes de course à partir de celles-ci.
 4Dans cette première version, il a été développé pour une utilisation avec un Thermomix® ainsi que le site [Cookidoo](https://cookidoo.fr/) pour la récupération des recettes
 5bien que la logique fonctionne pour tout site de recette proposant un [format de recette standardisé (schema JSON-LD)](https://schema.org/Recipe) facilement accessible dans la page HTML.
 6
 7L'app est minimaliste et le code frontend fonctionne sans Javascript, uniquement du HTML et du CSS.
 8
 9## Prérequis
10
11- [Deno](https://deno.land/)
12- [Token API Mistral](https://docs.mistral.ai/getting-started/quickstart)
13
14## Configuration
15
16Afin de structurer correctement les ingrédients, l'outil utilise un LLM (Large Language Model) pour analyser les ingrédients et les convertir en un format structuré en séparant le nom, la quantité et l'unité. Actuellement, seul Mistral est supporté (l'offre gratuite est suffisante).
17
18Pour configurer l'outil, créez un fichier `.env` à la racine du projet avec le contenu suivant :
19
20```
21MISTRAL_APIKEY=mistral_api_key
22```
23
24## Webapp
25
26Pour lancer la webapp, exécutez la commande suivante :
27
28```bash
29deno task web
30```
31
32Le serveur se lance en écoute sur le port `8000`.
33
34### Authentification
35
36Par défaut, les pages sont publiquement accessibles.
37Il est possible de mettre une authentification HTTP basic en ajoutant les variables suivantes dans le fichier `.env` :
38
39```
40HTTP_USER=user
41HTTP_PASS=pass
42```
43
44## CLI
45
46Pour lancer la CLI, exécutez la commande suivante :
47
48```bash
49deno task cli
50```
51
52Exemples d'utilisation :
53
54```bash
55# Enregistrer une nouvelle recette
56deno task cli store https://cookidoo.fr/recipes/recipe/fr-FR/r80783
57
58# Lister les recettes enregistrées
59deno task cli list
60
61# Sélectionner des recettes pour créer une liste de course
62deno task cli grocery
63```