fixmint
FR

Tirage au sort de concours : comment le rendre équitable et vérifiable

Par · · mis à jour le 8 novembre 2026 · Lecture : 4 min

Pour tirer un gagnant équitablement, utilisez un générateur conçu pour la sécurité, donnez à chaque participation la même chance, et permettez aux gens de vérifier le résultat ensuite. La plupart des injustices d'un tirage au sort simple viennent de l'une de ces deux sources : une source d'aléa faible, ou une petite erreur de calcul appelée biais modulo. Les deux se corrigent. Une liste publiée des participations et un enregistrement du tirage sont la meilleure preuve que personne n'a choisi le gagnant.

Tirage au sortDésigner un gagnant équitablementEssayer gratuitement

Aléa vrai et pseudo-aléatoire

Une source d'aléa vrai tire son imprévisibilité d'un phénomène physique, comme le bruit électronique. Un générateur pseudo-aléatoire, lui, est une formule. Il part d'une graine, applique des étapes déterministes et produit une suite qui ressemble à du hasard. Cette suite est entièrement déterminée par la graine : quiconque connaît la graine et la formule peut prévoir chaque nombre.

La plupart des logiciels utilisent des générateurs pseudo-aléatoires, et c'est parfaitement adapté pour mélanger une playlist ou aléatoiriser un niveau de jeu. Pour un tirage où les participants ont quelque chose à gagner, la question est de savoir si quelqu'un pourrait prédire ou influencer le résultat. Un générateur rapide mais prévisible n'est pas le bon outil.

Utilisez le générateur cryptographique du navigateur

En JavaScript, Math.random() est un générateur pseudo-aléatoire rapide. Sa documentation indique qu'il ne convient pas à la cryptographie, et un tirage au sort avec un lot en jeu est un choix sensible du point de vue de la sécurité. La fonction Web Crypto crypto.getRandomValues() remplit un tableau avec des valeurs issues de la source d'aléa cryptographique du système d'exploitation. C'est celle qu'il faut utiliser. Le tirage au sort s'en sert pour chaque tirage, y compris les pièces et les dés. Un outil qui ne précise pas ce qu'il utilise est plus difficile à croire, alors demandez-le avant de vous y fier.

Biais modulo, avec un exemple

Supposons que votre source fournisse un octet aléatoire, c'est-à-dire un entier de 0 à 255, et que vous vouliez choisir une entrée parmi trois. La méthode simple consiste à prendre le reste de la division par 3. Cela semble équitable, mais 256 ne se répartit pas exactement en groupes de trois.

  • Les valeurs 0, 3, 6 et ainsi de suite jusqu'à 255 donnent un reste de 0. Il y en a 86.
  • Les valeurs qui donnent un reste de 1 sont au nombre de 85, et celles qui donnent un reste de 2 sont aussi au nombre de 85.

Ainsi, l'entrée 0 sort 86 fois sur 256, soit environ 33,6 %, tandis que les entrées 1 et 2 sortent chacune 85 fois, soit environ 33,2 %. L'écart est faible, mais il est réel, et il augmente lorsque le nombre d'entrées devient grand par rapport à l'étendue de la source.

La solution est l'échantillonnage par rejet. Tirez une valeur et, si elle tombe dans la partie restante non uniforme, tirez à nouveau. Dans l'exemple de l'octet, vous rejetez 255 et n'acceptez que les valeurs de 0 à 254, qui se répartissent exactement en groupes de trois. Avec un nombre aléatoire sur 32 bits, le reste ne représente qu'environ une valeur sur 4,3 milliards : le biais est négligeable pour un concours. Un tirage soigné en tient quand même compte, car la même erreur s'aggrave à mesure que l'étendue diminue.

Tirages sans doublons

Si vous avez besoin de plusieurs gagnants, tirer trois fois un indice aléatoire peut désigner deux fois la même entrée. Deux méthodes propres évitent ce problème :

  1. Retirez chaque gagnant de la liste, puis tirez à nouveau parmi les autres.
  2. Mélangez toute la liste une fois avec la méthode de Fisher-Yates, puis prenez les gagnants en haut de la liste.

La méthode de Fisher-Yates parcourt la liste depuis la fin, échange chaque position avec une position choisie au hasard parmi celles qui se trouvent au même endroit ou avant elle, et produit chaque ordre avec la même probabilité lorsque les choix aléatoires sont équitables. Elle est courte, bien connue et facile à expliquer aux participants. Les options Retirer les gagnants et Pas de répétitions du tirage au sort couvrent ces deux méthodes.

Rendez le tirage vérifiable

Un tirage équitable est un tirage que n'importe qui peut vérifier. Avant le tirage :

  • Publiez les participations sous forme de liste numérotée, avec les règles d'éligibilité.
  • Publiez une empreinte SHA-256 de cette liste. Tout outil SHA-256 peut en produire une, par exemple le générateur de hash. Une empreinte change complètement si une seule participation est modifiée, donc la liste ne peut pas être discrètement retouchée après coup. La même vérification permet de contrôler les téléchargements ; comment vérifier la somme de contrôle SHA-256 d'un téléchargement en explique les étapes.

Pendant et après le tirage :

  • Enregistrez l'écran depuis le moment où vous lancez le tirage jusqu'au résultat affiché.
  • Publiez la liste finale avec le numéro gagnant, pour que chacun puisse recalculer l'empreinte et confirmer que rien n'a changé.
  • Indiquez comment le gagnant a été désigné, par exemple « choisi avec un outil de tirage dans le navigateur qui utilise la source d'aléa cryptographique du système d'exploitation ».

Les règles des concours varient selon les plateformes, et les tirages au sort peuvent être soumis à des exigences légales qui dépendent de votre lieu de résidence. Consultez les règles de promotion de la plateforme et la loi applicable localement avant d'organiser un concours. Ce sont des conseils généraux, pas un avis juridique. Lorsque vous êtes prêt, tirez un gagnant avec le tirage au sort.

Mode d'emploi avec fixmint

  1. Choisissez Noms, puis collez les participations dans Noms, un par ligne.
  2. Réglez Gagnants sur le nombre de lots. Cochez Retirer les gagnants de la liste pour qu'une même personne ne puisse pas gagner deux fois.
  3. Pour un tirage numéroté, choisissez Nombre, réglez Plus petit et Plus grand, et cochez Pas de répétitions si chaque numéro ne peut gagner qu'une fois.
  4. Cliquez sur Tirer les gagnants, l'enregistrement de votre écran ayant déjà démarré depuis le début.
  5. Publiez les participations numérotées, l'empreinte SHA-256, la participation gagnante et la façon dont l'outil de tirage a été utilisé.

Réponses rapides

Math.random() convient-il pour un concours ?

Il convient pour des jeux et des mélanges, mais pas pour un tirage que les gens vont vérifier, car son résultat peut être prévu. Utilisez une source cryptographique.

Pourquoi ne pas simplement prendre un nombre aléatoire modulo le nombre de participations ?

Lorsque l'étendue ne se répartit pas exactement, le reste n'est pas uniforme, donc certaines entrées sont légèrement plus probables. L'échantillonnage par rejet supprime ce biais.

Puis-je désigner plusieurs gagnants lors d'un même tirage ?

Oui. Retirez chaque gagnant avant le tirage suivant, ou mélangez une fois et prenez les premières entrées. Dans les deux cas, aucune participation ne peut gagner deux fois.

Traduit de Version originale anglaise avec l’aide de l’IA.

Commentaires

    Aucun commentaire pour l’instant. Soyez le premier.

    Votre note (facultatif)

    Votre e-mail n’est jamais affiché ni conservé.

    Couverture de The Paperoom Game Night KitThe Paperoom Game Night Kit

    Une soirée jeux à imprimer de 52 pages : bingo de fête, énigmes, jeux de société et batailles au crayon, avec agenda et tableaux de score.

    $7.00Acheter sur GumroadEn anglais