Oui ou non
Saisissez une question fermée et obtenez un seul mot, identique pour la même formulation : « Should I take the new job? » reçoit non à chaque fois. Ni hasard ni horloge, et l'empreinte du texte s'affiche à côté de la réponse. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Should I take the new job?
- Réponse
- no
- Question
- Should I take the new job?
- Hash
- 05a2886f
- Bit
- 1
Une question oui ou non demande souvent un verdict binaire net, non un paragraphe de conseil. On écrit dois-je accepter le poste, lance-t-on vendredi ou est-ce le bon moment, et l'on veut un seul mot avec lequel vivre l'heure suivante. Cet outil ne consulte ni un modèle de langue, ni une horloge, ni un générateur aléatoire. Il calcule le résumé FNV-1a de trente-deux bits du texte de la question et associe le bit de poids faible à yes ou no, de sorte que le même libellé renvoie toujours la même réponse.
Comment un résumé transforme une question en oui ou non
Un pile ou face semble aléatoire parce qu'il dépend d'une physique que vous ne pouvez pas rejouer. Un modèle de langue semble sage parce qu'il échantillonne des jetons que vous ne pouvez pas figer. Cette capacité occupe une troisième catégorie : c'est un oracle dont tout le comportement est un résumé publié de la chaîne de la question.
Les espaces en tête et en queue sont rognés. Si le résultat est une chaîne vide, la tâche échoue ; il n'y a ni no silencieux par défaut, ni yes inventé. Lorsque la question rognée est présente, le moteur l'encode en octets UTF-8 et exécute le résumé FNV-1a de trente-deux bits de Fowler–Noll–Vo : la base de décalage est la constante 2166136261, chaque octet est combiné par ou exclusif au digest en cours, et le digest est multiplié par le premier 16777619 modulo deux puissance trente-deux.
Le bit de poids faible de ce digest non signé devient le verdict. Le bit zéro correspond au mot yes ; le bit un, au mot no. Le digest hexadécimal de huit chiffres est renvoyé à côté de la réponse afin que quiconque puisse recalculer la même valeur FNV-1a et confirmer la parité.
Comme la carte est une fonction de la suite exacte de caractères, ajouter une lettre, changer une espace ou inverser la casse produit un digest différent et peut inverser le résultat. C'est le produit, non un défaut : la question que vous avez tapée est la graine, et la graine reste visible.
Où un oracle déterministe oui ou non trouve son utilité
Les jeux de soirée, les brise-glace de classe et les expériences produit légères ont besoin d'une réponse binaire que deux clients peuvent rejouer sans partager une graine aléatoire. Un devoir sur les résumés peut demander aux élèves de prédire la parité de FNV-1a sur une phrase courte puis de vérifier leur travail contre cette extrémité. Les sites de contenu qui visent la requête oui ou non bénéficient d'un outil vivant dont le chemin gratuit du navigateur coïncide octet pour octet avec l'automatisation payante.
L'échec de validation ne consomme pas le solde. Gardez les questions courtes, figez les réponses attendues dans les tests, et vous obtenez un oracle reproductible pour les jeux, les leçons et les workers de bordure sans dresser un modèle ni une horloge. Cette page ne remplace ni le jugement, ni un conseil juridique, ni un avis médical ; c'est une carte déterministe d'une chaîne vers deux mots.
Cas d’usage
Jeux de soirée et brise-glace
Posez à une salle la même question et obtenez un oui ou non partagé que chacun peut rejouer en tapant le libellé identique.
Démonstrations de résumé en classe
Demandez aux élèves de calculer la parité FNV-1a d'une phrase, puis de confirmer le bit de poids faible face au hash et à la réponse renvoyés.
Questions fréquentes
Comment l'outil oui ou non choisit-il une réponse ?
Il résume la question rognée avec FNV-1a 32 bits sur des octets UTF-8 et associe le bit de poids faible à yes (bit 0) ou no (bit 1). Le digest hexadécimal est renvoyé pour que vous recalculiez la même parité.
Que se passe-t-il si la question est une chaîne vide ?
Les questions vides ou uniquement composées d'espaces sont rejetées afin que le silence ne compte jamais comme un oui ou non réussi.
La même question reçoit-elle toujours la même réponse ?
Oui. La carte est une fonction pure de la suite exacte de caractères. Changez une lettre, une espace ou la casse et le digest — éventuellement la réponse — changera.
S'agit-il d'un pile ou face aléatoire ?
Non. Il n'y a ni horloge ni générateur aléatoire. C'est un résumé publié de votre texte. Ce n'est pas non plus un conseil, une prévision ni un substitut au jugement.
Pourquoi la réponse a-t-elle changé quand j'ai corrigé une faute de frappe ?
Parce que la réponse dépend des caractères exacts que vous avez saisis. Ajouter une lettre, modifier une espace au milieu ou passer des majuscules aux minuscules peut l'inverser, mais les espaces au début et à la fin sont ignorées.
Outils associés
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/life/yes-or-no \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Should I take the new job?"}'const res = await fetch("https://api.kit.forhosting.com/life/yes-or-no", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Should I take the new job?"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/yes-or-no",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Should I take the new job?"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/yes-or-no", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Should I take the new job?"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Should I take the new job?"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/yes-or-no", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "Should I take the new job?"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.yes_or_no",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 10000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Une chaîne vide est rejetée avec invalid_input plutôt que de feindre que le silence est une décision. Les appels API réussis sont facturés à $0.002 ; l'échec de validation n'est pas facturé.
Comment un résumé transforme une question en oui ou non
Le moteur exige d'abord un champ chaîne nommé text ; les alias question, q, input, content et body sont acceptés par le même analyseur.
Contrat d'entrée, erreurs de chaîne vide et champs de réponse
Une fois le champ présent, le moteur rogne les espaces en tête et en queue. Les chaînes de plus de dix mille caractères sont rejetées pour qu'un collage massif ne fasse pas exploser l'isolat. Associez la réponse à votre propre interface : un yes ou no grand, le digest hexadécimal en note de bas de page, et un rappel que ceci est un résumé du texte, non un conseil. Ne traitez pas un yes comme une permission ni un no comme une prévision. Envoyez un corps JSON avec le champ obligatoire text contenant la question oui ou non à trancher. L'analyseur accepte aussi question, q, input, content et body afin que les formulaires et enveloppes anciens n'aient pas à renommer le champ. La valeur doit être une chaîne ; nombres, objets, tableaux et booléens échouent avec invalid_input qui nomme text. Une chaîne vide, y compris une chaîne faite seulement d'espaces ou de tabulations, est rejetée avec invalid_input et n'est pas facturée : une entrée vide n'est pas une décision. En cas de succès le corps inclut answer, le mot minuscule yes ou no ; yes, un booléen vrai seulement lorsque la réponse est yes ; question, la source rognée qui a été résumée ; hash, le digest hexadécimal FNV-1a minuscule de huit chiffres ; bit, le bit de poids faible utilisé comme pièce, zéro ou un ; et method, toujours fnv1a32_parity pour distinguer ce contrat d'un algorithme ultérieur. Le même libellé produit toujours le même JSON.
Où un oracle déterministe oui ou non trouve son utilité
Comme l'implémentation est un parse pur de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant.
Cas d'intégration
Branches de formulaire et expériences légères
Scindez un flux sur un oui ou non déterministe, sans Math.random, horloge ni modèle, afin que deux workers ne se contredisent jamais.
Questions techniques
Que coûte l'outil oui ou non ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.