Aller au contenu principal
TirageAuSort.io
Comprendre le hasard

Comment nos tirages sont équitables

Comment nos tirages au sort en ligne sont conçus pour être fiables : Math.random vs crypto, équité vérifiable et code transparent, expliqué simplement.

6 min Rédaction TirageAuSort.io

Sous le capot de TirageAuSort.io : comment nos tirages sont équitables

Vous lancez Pile ou Face sur le site. Vous voyez la pièce tourner, atterrir, afficher Pile. Mais qu’est-ce qui s’est vraiment passé entre votre clic et ce résultat ? Et surtout : pourquoi devriez-vous nous faire confiance pour un tirage au sort en ligne fiable ?

Cet article ouvre le capot. Pas pour faire le malin, ni pour noyer le sujet sous du jargon — au contraire : pour qu’à la fin de votre lecture, vous puissiez vérifier vous-même que tout est en ordre. La transparence n’est pas un slogan ; c’est une démarche concrète. Voici comment nos tirages sont conçus, ce qui garantit leur équité, et les gestes simples qui vous permettent de le vérifier sans être développeur.

Comment un ordinateur « tire au sort »

Premier point d’honnêteté : un ordinateur ne sait pas faire du hasard pur. Il fait du hasard calculé. La différence est subtile mais elle compte.

Quand vous lancez une vraie pièce, le résultat dépend de mille facteurs imprévisibles : la force de votre pouce, la résistance de l’air, l’irrégularité de la pièce, le sol où elle retombe. Quand vous cliquez sur notre bouton, l’ordinateur fait à la place un calcul mathématique conçu pour produire des suites de chiffres tellement irrégulières qu’on ne peut pas, en pratique, les prédire. Ce calcul porte un nom : un générateur de nombres pseudo-aléatoires.

Concrètement, votre navigateur (Chrome, Firefox, Safari, Edge) embarque deux outils différents :

  • Math.random() — la fonction généraliste. Elle est rapide, distribuée uniformément, et largement suffisante pour tirer une pièce, lancer un dé ou choisir un nom dans une liste. Les navigateurs modernes l’implémentent avec un algorithme appelé xorshift128+, qui produit des séquences difficiles à distinguer du vrai hasard à l’œil nu.
  • crypto.getRandomValues() — la version cryptographique. Plus lente mais imprévisible même pour un attaquant qui observerait des milliers de résultats précédents. C’est l’outil standard pour générer des mots de passe ou des clés de sécurité.

Sur TirageAuSort.io, nous utilisons le premier pour la grande majorité des jeux (Pile ou Face, Dés Virtuels, Roue de la Fortune, tirages de cartes) et le second pour les outils sensibles : Générateur de mot de passe, Couleur aléatoire, Date aléatoire. Le bon outil au bon endroit. C’est une décision technique consciente, pas un choix par défaut.

Les quatre garanties d’équité

Choisir le bon générateur ne suffit pas. Un tirage peut rester biaisé s’il est mal codé autour. Quatre règles encadrent chaque jeu du site.

Une distribution uniforme

Sur Pile ou Face, Pile doit tomber 50 % du temps et Face 50 % — pas 49/51. Sur le Générateur de Nombre entre 1 et 100, chaque entier doit avoir exactement 1 % de chances. Cela paraît évident, mais une erreur classique consiste à utiliser l’opérateur modulo (le reste d’une division) sur la sortie brute du générateur, ce qui introduit un biais minuscule mais réel sur certaines plages. Nous évitons ce piège avec la méthode standard recommandée par la documentation Web officielle : multiplier le résultat par la borne supérieure et arrondir vers le bas. Résultat : sur 10 000 tirages, l’écart entre les valeurs reste statistiquement insignifiant.

Aucune mémoire entre les tirages

Chaque clic est un événement indépendant. Le site ne mémorise pas vos résultats précédents pour « équilibrer » les suivants — ce serait précisément le biais du joueur appliqué au code, et nous y consacrons d’ailleurs un article entier. Si vous tirez sept Piles d’affilée, le huitième tirage a toujours 50 % de chances d’être Pile. C’est désagréable pour l’intuition, mais c’est rigoureusement ce que produit notre code.

Tout se passe dans votre navigateur

C’est sans doute le point le plus important. TirageAuSort.io est un site statique : il n’y a pas de serveur qui « décide » de votre résultat. Quand vous cliquez, le calcul s’exécute sur votre propre machine, dans le code JavaScript que vous avez téléchargé en arrivant sur la page. Cela rend toute manipulation côté serveur techniquement impossible — il n’y en a pas. Cela rend aussi le code consultable, ce qui nous amène au point suivant.

Le bon outil pour le bon usage

Reprenons l’exemple du mot de passe. Si nous utilisions Math.random() pour générer une clé de 16 caractères, deux personnes qui visiteraient le site dans la même milliseconde pourraient, théoriquement, obtenir des mots de passe partiellement prévisibles. Avec crypto.getRandomValues(), ce risque disparaît : le générateur s’alimente directement aux sources d’entropie du système d’exploitation (mouvements souris, frappes clavier, événements réseau), conformément aux recommandations du NIST en matière de sécurité. Là où la qualité du hasard a des conséquences, nous montons d’un cran.

Comment vérifier vous-même

Voici la partie qui rend cet article différent : vous n’avez pas à nous croire sur parole.

Test n° 1 — Lire le code. Sur n’importe quelle page du site, tapez la touche F12. Une fenêtre s’ouvre : ce sont les outils de développement, intégrés à votre navigateur depuis des années. Cherchez l’onglet « Sources » ou « Débogueur ». Vous y trouverez le JavaScript exécuté sur la page, en clair. Cherchez les mots Math.random ou crypto.getRandomValues : vous lirez littéralement la ligne qui produit votre résultat. Aucune obfuscation, aucun appel à un service tiers caché.

Test n° 2 — La distribution. Lancez Pile ou Face cent fois de suite. Notez les résultats. Vous devriez tomber autour de 50/50, avec un écart possible de plus ou moins une dizaine. Si vous voulez être plus rigoureux, ouvrez la console du navigateur (toujours par F12, onglet « Console ») et tapez : let p = 0; for (let i = 0; i < 10000; i++) if (Math.random() < 0.5) p++; p — vous verrez s’afficher un nombre entre 4 900 et 5 100. C’est le hasard mathématique, sans mise en scène.

Test n° 3 — La cohérence. Le site est un projet francophone indépendant, sans investisseur ni régie publicitaire qui auraient intérêt à fausser les tirages. Le seul actif que nous protégeons, c’est la confiance que vous accordez à un outil utilisé pour départager une décision réelle. Une triche serait économiquement absurde, techniquement détectable, et éthiquement disqualifiante pour la suite du projet.

Le hasard, c’est nul comme produit marketing

Beaucoup de sites parlent de « tirages certifiés » sans préciser par qui ni avec quelle méthode. Notre approche est l’inverse : pas de label, pas de promesse vague — juste deux fonctions standardisées du Web, utilisées correctement, exécutées localement, et lisibles par quiconque ouvre les outils de développement. Si demain quelqu’un identifie une erreur dans notre code, elle sera publique par construction et corrigée. C’est la définition pratique d’un tirage au sort en ligne fiable : pas un argument commercial, mais un contrat technique que vous pouvez auditer.

Pour creuser le sujet, vous pouvez lire nos articles sur le retrait des jeux de casino, sur les signes du jeu problématique, et sur les vraies probabilités du Pile ou Face — le test pratique de cette équité sur 10 000 lancers, avec l’écart-type et la formule log₂(N) pour comprendre pourquoi 13 piles consécutives n’ont rien d’exceptionnel. La transparence du moteur est la première étape ; comprendre ce qui se joue dans votre tête en est la suite logique.

Questions fréquentes

Mes résultats sont-ils vraiment aléatoires ?

Oui, dans la mesure où un ordinateur peut l'être. Pour les jeux décisionnels (Pile ou Face, Dés, Roue de la Fortune), nous utilisons l'algorithme aléatoire intégré du navigateur, qui produit une distribution uniforme : sur 10 000 lancers de pièce, vous obtiendrez entre 4 900 et 5 100 piles. Pour les outils sensibles comme le Générateur de mot de passe, nous utilisons un générateur cryptographique plus fort. Aucun tirage n'est pondéré, mémorisé ou rejoué : le résultat est calculé localement, dans votre navigateur, à l'instant où vous cliquez.

Vendez-vous mes données personnelles ?

Non. Les tirages se font entièrement dans votre navigateur — rien n'est envoyé à un serveur, et il n'y a donc rien à revendre. Le site ne demande ni inscription, ni adresse e-mail, ni profil. Les seules traces collectées concernent l'audience anonymisée (nombre de visiteurs, pages vues, pays) via les outils analytiques standards. La politique de confidentialité détaille tout cela en clair.

Pourquoi je ne vois jamais sortir mon nombre fétiche ?

Parce que la mémoire humaine retient les résultats marquants et oublie les autres. Sur le Générateur de Nombre entre 1 et 100, votre chiffre fétiche a exactement 1 % de chances de tomber à chaque tirage — ni plus, ni moins. Si vous avez l'impression qu'il « ne sort jamais », c'est presque toujours un effet de perception : vous remarquez les fois où il manque, pas les fois où il tombe. C'est ce qu'on appelle le biais de confirmation, et c'est un voisin proche du biais du joueur.

Le code est-il vraiment vérifiable par n'importe qui ?

Oui. TirageAuSort.io est un site frontend statique : tout le code qui calcule un tirage est exécuté dans votre navigateur, donc téléchargé en clair sur votre machine. Un clic droit puis « Afficher le code source » ou l'ouverture des outils de développement (touche F12) suffit à voir les fonctions à l'œuvre. Vous pouvez littéralement lire la ligne qui appelle Math.random() ou crypto.getRandomValues(). Aucune partie du tirage n'est cachée derrière une boîte noire serveur.

Pour essayer

Articles liés

— Sources

  1. Math.random() — MDN Web Docs
  2. Crypto.getRandomValues() — MDN Web Docs
  3. There's Math.random(), and then there's Math.random() — V8 Engine Blog
  4. NIST SP 800-90A Rev. 1 — Recommendation for Random Number Generation Using Deterministic Random Bit Generators