Aller au contenu
Outil du Jour
Ajoutez en favorisCtrl+D

Blog · Numérique

Un tirage au sort en ligne est-il vraiment équitable ?

Tombola entre collègues, répartition des corvées, désignation d'un gagnant entre amis : dès qu'un tirage au sort compte vraiment, la question revient. Un générateur « aléatoire » trouvé en ligne peut-il être truqué, ou biaisé sans même le vouloir ?

Le hasard « à la main » est moins neutre qu'il n'y paraît

Demandez à plusieurs personnes de choisir un nombre entre 1 et 10 « au hasard » : le 7 sort très largement en tête, et les extrêmes (1, 10) presque jamais. Même chose pour piocher un nom dans un chapeau ou désigner quelqu'un du doigt dans un cercle : la main hésite inconsciemment, évite certains papiers pliés d'une certaine façon, ou s'arrête plus volontiers sur une personne du milieu du groupe. Ce ne sont pas des tricheurs, ce sont des cerveaux humains qui ont du mal à produire du vrai hasard.

Ce que fait réellement un générateur informatique

Un ordinateur, lui, ne « préfère » rien. Les navigateurs modernes intègrent une fonction dédiée au hasard de qualité cryptographique, crypto.getRandomValues, qui puise dans des sources physiques imprévisibles (bruit matériel, timing du système) plutôt que dans un calcul simple et potentiellement prévisible comme peut l'être un générateur basique de type Math.random() selon les navigateurs. C'est ce type de source cryptographique qu'utilise le générateur de nombres aléatoires d'Outil du Jour lorsqu'aucune seed n'est renseignée : chaque tirage est indépendant des précédents et personne, pas même l'éditeur du site, ne peut prédire ou reproduire le résultat à l'avance.

À quoi sert une seed

Une seed (littéralement une « graine ») est une valeur de départ — un mot, un numéro de concours, une date — qui initialise un algorithme de tirage déterministe. Avec la même seed et les mêmes paramètres (même plage, même quantité), on obtient toujours exactement le même résultat. Cela paraît contre-intuitif pour un outil censé produire du hasard, mais c'est justement ce qui permet la vérification après coup : si vous annoncez à l'avance la seed que vous allez utiliser pour un tirage au sort, personne ne peut ensuite vous accuser d'avoir changé le résultat, puisque n'importe qui peut refaire le calcul de son côté et retomber sur les mêmes nombres. Sans seed, chaque tirage est unique et imprévisible, ce qui convient très bien à un usage ponctuel sans besoin de preuve.

L'équité, c'est aussi la transparence du processus

Éliminer les biais inconscients d'un tirage à la main est déjà un progrès en soi. Mais la confiance complète vient d'un cran supplémentaire : la possibilité de vérifier ou de reproduire le tirage. C'est pour cela qu'un outil qui affiche clairement ses paramètres (plage, quantité, exclusions éventuelles, seed) et qui les intègre dans une URL partageable est plus rassurant qu'une boîte noire qui se contente d'afficher un résultat. Pour un tirage entre amis ou une petite tombola, publier à l'avance la seed et les paramètres choisis suffit à couper court à tout soupçon de manipulation.

Pourquoi tous les « générateurs aléatoires » ne se valent pas

Tous les générateurs de hasard informatiques ne reposent pas sur la même technique, et la différence compte. La plupart des langages de programmation proposent par défaut un générateur dit « pseudo-aléatoire » : un algorithme purement mathématique qui produit une longue suite de nombres ayant toutes les apparences du hasard, mais entièrement déterminée par une valeur de départ interne. Ce type de générateur est rapide et suffisant pour un jeu vidéo ou une simulation, mais il est théoriquement prévisible si l'on connaît son état interne, ce qui le rend impropre à un tirage où de l'argent, un prix ou une décision importante sont en jeu.

Les générateurs de qualité cryptographique, comme crypto.getRandomValues, résolvent ce problème en puisant dans de véritables sources d'imprévisibilité physique : le bruit électronique d'un composant, les micro-variations de latence entre plusieurs opérations système, ou d'autres phénomènes impossibles à reconstituer après coup. La distinction n'est pas qu'une question de vocabulaire technique : c'est elle qui garantit qu'aucune personne, pas même celle qui a écrit le logiciel, ne peut reconstituer ou anticiper un tirage donné, contrairement à un simple générateur pseudo-aléatoire mal utilisé.

Un repère simple pour juger de la fiabilité d'un outil de tirage en ligne : plus l'enjeu est important (tombola avec un lot de valeur, tirage au sort ayant une portée officielle), plus il est légitime de vérifier, ou de demander, que l'outil utilisé s'appuie sur une source aléatoire cryptographique plutôt que sur un générateur standard non conçu pour résister à une tentative de prédiction.

À retenir

  • Un tirage manuel est biaisé par des tendances humaines inconscientes, même sans mauvaise intention.
  • Un générateur informatique de qualité utilise une source aléatoire cryptographique, sans préférence ni mémoire des tirages précédents.
  • Une seed rend un tirage reproductible : utile pour prouver après coup qu'il n'a pas été modifié, ou pour refaire exactement le même tirage.
  • Sans seed, chaque tirage est différent et totalement imprévisible.

Pour aller plus loin