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.