ForHosting KIT · Outils pour développeurs

Tirage au sort pondéré et reproductible avec graine

Ce sélecteur de gagnant avec graine choisit un nom dans une liste ordonnée et fournit toujours le même résultat tant que la liste, les poids et la graine restent inchangés.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Accordez une participation à chacun ou augmentez ce nombre pour représenter des actions bonus, des lots de billets ou d'autres règles publiées. Comme le calcul n'utilise ni horloge ni source aléatoire cachée, vous pouvez conserver la graine et les données avec le résultat, refaire le tirage plus tard et montrer précisément comment la personne gagnante a été désignée.

Préparez une liste ordonnée avec des poids fidèles

Commencez par une ligne par participant et conservez un ordre intentionnel et stable. Chaque ligne doit comporter un nom non vide. La valeur facultative entries est un entier positif : omettez-la pour attribuer une participation, indiquez deux pour doubler le poids de sélection, et ainsi de suite. Une personne disposant de cinq participations occupe cinq positions dans la réserve théorique de billets, tandis qu'une personne n'en ayant qu'une occupe une position. L'outil ne fusionne pas les noms en double, car ils peuvent correspondre à des enregistrements distincts légitimes et leur regroupement silencieux modifierait les probabilités annoncées. Si votre source peut contenir des doublons, décidez avant le tirage s'il faut les consolider et consignez cette décision. Figez également la liste ordonnée définitive avant d'annoncer la graine. Trier, ajouter ou supprimer une ligne, renommer quelqu'un ou changer un nombre de participations modifie les plages pondérées et peut donc changer le gagnant. Le calcul accepte jusqu'à 10,000 lignes et valide chaque poids sans arrondir les fractions ni accepter de ligne de poids nul. Ainsi, toute ligne transmise participe réellement et chaque quantité déclarée contribue directement à ses chances.

Employez une graine pour reproduire le tirage

Une graine est un texte non vide choisi pour le tirage, par exemple l'identifiant d'une campagne associé à une mention de sa date de clôture. Le sélecteur convertit ce texte exact en une valeur fixe non signée de 32 bits grâce à un hash documenté, puis associe cette valeur à une position dans la plage totale des participations pondérées. Il parcourt les participants dans l'ordre fourni et renvoie la ligne dont la plage cumulée contient cette position. Une graine, un ordre, des noms et des quantités identiques produisent toujours la même sortie dans l'API comme dans le navigateur. La casse, les espaces et la ponctuation comptent : enregistrez donc la chaîne d'origine exacte plutôt que de la ressaisir. Pour un processus public, prévoyez d'annoncer avant la clôture la méthode d'obtention de la graine, par exemple une valeur externe clairement définie et publiée après l'échéance. Cet outil est déterministe et non cryptographiquement aléatoire : il sert à rendre la sélection répétable et facile à contrôler, pas à fabriquer un secret imprévisible. Ne révélez pas trop tôt une graine librement choisie si la liste peut encore être adaptée au résultat anticipé.

Consignez et vérifiez le résultat gagnant

Le résultat contient le nom du gagnant, l'indice de sa ligne à partir de zéro, la position pondérée choisie également à partir de zéro, le nombre total de participations et le hash numérique issu de la graine. Conservez les données complètes avec ces champs dans le dossier du concours. Une autre personne pourra soumettre les mêmes lignes ordonnées et la même graine, confirmer le total et obtenir le même gagnant sans devoir croire une capture d'écran ou un bouton aléatoire inexpliqué. L'indice distingue aussi deux enregistrements affichant le même nom, tandis que la position pondérée montre où le choix se situe dans la réserve théorique. Si une nouvelle exécution diffère, comparez les données enregistrées caractère par caractère : même un nom nettoyé, une ligne déplacée, un poids ajusté ou une casse différente dans la graine définit un autre tirage. La version navigateur convient à une sélection manuelle transparente ; l'API coûte $0.002 par requête lorsque vous souhaitez automatiser la procédure dans un logiciel de campagne ou une piste d'audit. Dans les deux canaux, l'algorithme n'utilise ni réseau, ni heure courante, ni état mutable : l'environnement et la date d'exécution ne changent donc pas la réponse.

Tirer au sort un lot sur les réseaux sociaux

Figez les noms admissibles après l'échéance, publiez ou archivez la graine, puis désignez un gagnant reproductible.

Respecter les règles de participations bonus

Attribuez des quantités supérieures aux actions admissibles tout en gardant une sélection proportionnelle aux poids consignés.

Auditer la sélection d'une campagne

Conservez l'entrée ordonnée et les données de hash renvoyées afin qu'une autre personne puisse reproduire le résultat annoncé.

Quel est le coût d'un tirage ?

Le tarif de l'API est de $0.002 par requête. Le même calcul déterministe peut aussi être exécuté gratuitement dans votre navigateur.

Que se passe-t-il si le nombre de participations est omis ?

La personne reçoit une participation. Les poids explicites doivent être des entiers positifs.

Une même graine désigne-t-elle toujours le même gagnant ?

Oui, à condition que la graine et toute la liste ordonnée, noms et quantités compris, soient identiques.

Le changement d'ordre des participants a-t-il un effet ?

Oui. L'ordre définit la plage de chacun dans l'ensemble pondéré ; déplacer les lignes crée donc une autre entrée de tirage.

Ce tirage est-il cryptographiquement aléatoire ?

Non. Il s'agit d'un sélecteur déterministe et transparent conçu pour être reproductible. Si l'imprévisibilité compte, choisissez une source de graine impossible à manipuler.

Pourquoi les noms en double restent-ils séparés ?

L'outil respecte chaque ligne reçue, car les doublons peuvent être intentionnels. L'indice renvoyé désigne précisément la ligne gagnante.

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/game/giveaway-winner-pick

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/game/giveaway-winner-pick \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"entrants":[{"name":"Avery","entries":1},{"name":"Blake","entries":3},{"name":"Casey"}],"seed":"spring-campaign-2026"}'
{
  "entrants": [
    {
      "name": "Avery",
      "entries": 1
    },
    {
      "name": "Blake",
      "entries": 3
    },
    {
      "name": "Casey"
    }
  ],
  "seed": "spring-campaign-2026"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "game.giveaway_winner_pick",
  "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.

max_items10000
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.

Consulter la documentation complète du KIT →