# Momix **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. Dans 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 bien 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. L'app est minimaliste et le code frontend fonctionne sans Javascript, uniquement du HTML et du CSS. ## Prérequis - [Deno](https://deno.land/) - [Token API Mistral](https://docs.mistral.ai/getting-started/quickstart) ## Configuration Afin 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). Pour configurer l'outil, créez un fichier `.env` à la racine du projet avec le contenu suivant : ``` MISTRAL_APIKEY=mistral_api_key ``` ## Webapp Pour lancer la webapp, exécutez la commande suivante : ```bash deno task web ``` Le serveur se lance en écoute sur le port `8000`. ### Authentification Par défaut, les pages sont publiquement accessibles. Il est possible de mettre une authentification HTTP basic en ajoutant les variables suivantes dans le fichier `.env` : ``` HTTP_USER=user HTTP_PASS=pass ``` ## CLI Pour lancer la CLI, exécutez la commande suivante : ```bash deno task cli ``` Exemples d'utilisation : ```bash # Enregistrer une nouvelle recette deno task cli store https://cookidoo.fr/recipes/recipe/fr-FR/r80783 # Lister les recettes enregistrées deno task cli list # Sélectionner des recettes pour créer une liste de course deno task cli grocery ```