ForHosting KIT · Maison, cuisine et loisirs

Adaptez la recette à l’ingrédient disponible

Si la recette demande 500 g de farine et qu'il ne vous en reste que 200 g, toutes les quantités sont multipliées par 0,4 : le beurre passe de 250 g à 100 g et rien ne manque. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Quantités
500, 250, 2, 100
Disponible
200
Indice limitant
0
Noms
flour (g), butter (g), eggs, sugar (g)
Vous obtenez
Mis à l'échelle
200, 100, 0,8, 40
Facteur
0,4
Nom du facteur limitant
flour (g)
Quantité de la recette
500

Quand le placard est à moitié vide, la bonne question n’est pas « combien de portions ? » mais « il ne me reste que cette farine — comment réécrire toute la fiche sans manquer ? Les ratios restent fixes : la moitié de farine va toujours avec la moitié de beurre et la moitié d’œufs. Les unités ne sont pas converties — les grammes restent des grammes —, gardez donc la même unité sur le stock et sur la fiche.

Ce que signifie l’échelle sur restes et comment le facteur se construit

Cuisiniers amateurs, planificateurs de meal-prep et cuisines d’essai font souvent face à un placard partiel : la fiche demande cinq cents grammes de farine, mais le sachet n’en contient que deux cents. Mettre à l’échelle depuis le stock restant répond directement à cette contrainte. Vous listez chaque quantité scalable dans l’ordre de la recette, marquez quelle ligne est limitante — en général le staple rare — et indiquez combien de ce staple il vous reste.

Si la fiche indiquait cinq cents grammes de farine et deux cent cinquante de beurre, et que vous n’avez que deux cents grammes de farine, le facteur est deux cents sur cinq cents, soit 0.4, donc le beurre devient cent grammes et chaque autre ligne se réduit de même. Les libellés de nom optionnels restent alignés sur chaque quantité pour que la réponse puisse renvoyer farine, beurre et œufs à côté des nouveaux chiffres et signaler quelle ligne était limitante.

Cela diffère d’un multiplicateur de portions : vous ne choisissez pas d’abord un nombre de convives ; le stock d’un ingrédient choisit la taille du lot pour vous.

Meal-prep avec un placard partiel

Lorsqu’il ne reste qu’un staple en vrac, mettez à l’échelle toute la formule de prep pour épuiser ce staple et garder les autres lignes en proportion.

En quoi cela diffère-t-il d’un scaleur par portions ou multiplicateur ?

Le mode portions choisit d’abord le nombre de convives.

Le scaleur de recettes sur restes est-il gratuit ?

L’outil navigateur est gratuit et s’exécute en local.

Comment adapter une recette à la farine qu'il me reste ?

Saisissez les quantités dans l'ordre de la recette, désignez la farine comme ingrédient limitant et indiquez ce que vous avez. Avec 200 g sur les 500 g demandés, le facteur est de 0,4 et s'applique à toutes les autres lignes.

Faut-il la même unité pour le stock et pour la recette ?

Oui. Aucune unité n'est convertie : si la recette donne la farine en grammes, indiquez aussi en grammes ce qu'il vous reste. Mélanger tasses et grammes fausse le facteur de tous les ingrédients.

Quel ingrédient faut-il désigner comme limitant ?

Celui qui vous manque, en général un produit de base rare comme la farine. Vous pouvez le choisir par sa position dans la liste ou par son nom ; si vous donnez les deux, le nom l'emporte.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/cook/leftover-scale

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/cook/leftover-scale \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amounts":[500,250,2,100],"on_hand":200}'
{
  "amounts": [
    500,
    250,
    2,
    100
  ],
  "on_hand": 200
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "cook.leftover_scale",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

». Ce scaleur de recettes sur restes prend chaque quantité numérique de votre liste d’ingrédients, choisit une ligne limitante (par index ou par nom) et multiplie la liste entière par on_hand divisé par la quantité de cette ligne sur la recette. Les quantités non positives et un stock on_hand non positif sont rejetés avec invalid_input au lieu d’inventer un plat à zéro. Le chemin est une arithmétique pure déterministe avec arrondi décimal fixe, si bien que l’exécuteur gratuit du navigateur et l’API prépayée renvoient le même JSON à chaque appel.

Ce que signifie l’échelle sur restes et comment le facteur se construit

Le solveur calcule un unique facteur partagé égal à on_hand divisé par la quantité de recette de la ligne limitante, puis multiplie chaque quantité par ce facteur pour que les ratios relatifs restent constants. Les unités ne sont volontairement pas converties ici — mettez des grammes ou des tasses dans la quantité de recette et dans on_hand pour que le ratio soit sans dimension — et les convertisseurs cook frères peuvent normaliser tasses en grammes avant l’échelle. Les fiches de classe et les coding kata peuvent affirmer le même JSON arrondi car l’arithmétique ne dépend jamais de l’horloge ni de données externes.

Comment appeler l’API : champs, forme de la réponse et erreurs

Envoyez un corps JSON avec amounts comme tableau obligatoire de nombres finis positifs — ou une chaîne séparée par des virgules sur les formulaires texte — plus on_hand comme quantité positive de l’ingrédient limitant dont vous disposez vraiment. Choisissez la ligne limitante avec limiting_index (base zéro, défaut zéro si omis) ou limiting_name, apparié sans casse à la liste optionnelle names ; lorsque les deux sont fournis, le nom l’emporte pour que les scripts identifient la farine sans figer les positions. Names (alias labels, ingredients) sont des libellés parallèles optionnels complétés ou tronqués au nombre d’amounts. Les valeurs absolues restent dans la limite publiée d’un billion (échelle courte américaine), et la longueur de liste est plafonnée pour qu’un Worker finisse vite. En succès la réponse renvoie amounts arrondis, scaled, factor, on_hand, limiting_index, limiting_name, recipe_amount de cette ligne, count, names, lignes ingredients avec drapeau is_limiting, formula, message et steps ordonnés. Une validation échouée — amounts vides, nombres non finis, quantité de recette non positive, on_hand non positif, index hors plage ou limiting_name sans correspondance — renvoie invalid_input et n’est jamais facturée. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item. Préférez des nombres plutôt que des chaînes d’unité dans amounts ; placez les unités dans names pour que deux cent cinquante et flour (g) restent séparés et lisibles dans le tableau ingredients.

Conseils pratiques, recherches associées et quand utiliser un autre outil

Les valeurs quasi nulles et négatives sont rejetées à dessein car un stock ou une ligne de recette non positifs ne définissent pas une échelle utile. Cette landing vise qui cherche à adapter une recette selon l’ingrédient disponible, un calculateur de restes limitants ou une échelle depuis le placard ; ce n’est ni un convertisseur d’unités, ni un estimateur nutritionnel, ni le scaleur par portions ou multiplicateur quand vous connaissez déjà le nombre de convives. Préférez le scaleur de recettes frère pour un facteur deux en double fournée, et les outils tasses vers grammes quand la fiche et le sachet n’utilisent pas la même mesure. Gardez toujours on_hand et la quantité de recette limitante dans la même unité avant l’envoi ; mélanger des tasses de farine avec des grammes de stock produit un facteur mathématiquement valide mais culinirement faux. Préférez limiting_name lorsque votre liste est stable et limiting_index lorsque vous construisez amounts par programme sans libellés. Si plusieurs ingrédients manquent, choisissez le vrai goulot — la ligne au plus petit rapport on_hand sur quantité de recette — ou lancez le calculateur une fois par candidat et prenez le lot mis à l’échelle minimal. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui garde les scripts exploratoires peu coûteux lorsque les apprenants envoient volontairement un stock zéro. Les contrôles aller-retour sont simples : recalculez à la main on_hand divisé par la quantité de recette limitante, multipliez chaque ligne et confirmez que les entrées scaled publiées coïncident dans l’arrondi à douze décimales, y compris que la valeur scaled de la ligne limitante égale on_hand après arrondi.

Finir un demi-sachet de farine ou de sucre

Collez les quantités de la fiche, fixez limiting_name à flour (g) et on_hand à ce que le sachet contient encore, puis faites courses ou mise en place avec la liste mise à l’échelle.

Tests unitaires pour applications de cuisine

Générez des tableaux scaled de référence et des rejets délibérés d’on_hand non positif pour tests de contrat et valeurs attendues de coding kata.

Comment fonctionne l’adaptation d’une recette selon un ingrédient disponible ?

Fournissez amounts, on_hand pour la ligne rare, et limiting_index ou limiting_name. Facteur = on_hand ÷ cette quantité de recette ; chaque ligne est multipliée par le même facteur.

Que se passe-t-il si on_hand ou une quantité de recette est nulle ou négative ?

L’outil renvoie invalid_input. Les quantités non positives ne définissent pas une échelle sur restes et sont rejetées à dessein.

Cela convertit-il les tasses en grammes ?

Non. Gardez des unités cohérentes sur la ligne limitante et on_hand, ou convertissez d’abord avec un outil dédié, puis mettez les nombres à l’échelle ici.

Consulter la documentation complète du KIT →