Pile ou face

Lancez une pièce virtuelle — équitable, rapide, avec compteur pile/face en direct.

Comment ça marche

Une pièce numérique pour trancher les questions binaires, choisir qui commence ou départager quand personne ne cède. Le widget tire un bit aléatoire depuis `crypto.getRandomValues` (le même générateur que les navigateurs utilisent pour les jetons de sécurité), donc le résultat est strictement 50/50 — pas de raccourci biaisé avec Math.random. Une brève animation donne un retour visuel, puis le résultat se fixe. La barre d'historique garde les 30 derniers lancers et le compteur se met à jour à chaque tirage — pratique pour prouver l'équité ou expliquer la loi des grands nombres.

La formule

bit ← crypto.getRandomValues(Uint8Array(1))[0] & 1 résultat ← bit == 0 ? Pile : Face

crypto.getRandomValues remplit un buffer d'octets aléatoires cryptographiquement sûrs issus d'un CSPRNG amorcé par le système d'exploitation. Le masque `& 1` ne garde que le bit de poids faible, uniformément 0 ou 1 — soit exactement 50/50. Math.random aurait donné la même équité statistique, mais getRandomValues permet de dire « équitable » sans nuance.

Exemple de calcul

  • Appuyez sur « Lancer la pièce ».
  • Un octet aléatoire est lu ; son bit de poids faible décide du résultat.
  • Bit = 0 → Pile. Bit = 1 → Face.
  • Au bout de nombreux lancers, le ratio pile/face tend vers 50/50 — la loi des grands nombres à l'œuvre.

Questions fréquentes

Est-ce vraiment équitable ou biaisé ?

Réellement 50/50. Chaque lancer tire un nouvel octet depuis le RNG cryptographique du navigateur et en utilise le bit de poids faible. Pas d'état caché, pas de « correction de série », pas de logique « c'est au tour de face ». Sur un petit échantillon (10–20 lancers), il est fréquent de voir des séries de 4–6 piles ou faces d'affilée — c'est de l'aléatoire normal, pas un biais. Lancez 1 000 fois et le compte tombera à quelques % de 500/500.

Pourquoi la pièce « tourne » avant de montrer le résultat ?

Pur confort UX. Le résultat est décidé à l'instant où vous tapez le bouton — le bit est tiré et stocké — mais une animation de 480 ms laisse le temps au cerveau de constater qu'il s'est passé quelque chose. Afficher la réponse instantanément donne une impression de bug (« ça a vraiment été lancé ? ») et au-delà d'une demi-seconde ça paraît lent. 480 ms correspond grosso modo à la durée d'un lancer réel.

Puis-je faire confiance au résultat pour des décisions importantes ?

Statistiquement, oui — la mécanique est saine. Mais la vraie question est de savoir si vous devriez tirer à pile ou face pour cette décision. Si c'est parce que vous êtes vraiment indifférent (où aller déjeuner, qui choisit le prochain film), la pièce convient. Si c'est parce que deux options paraissent à égalité mais que vous en préférez secrètement une, observez votre réaction quand la pièce tombe — cette réaction est plus informative que le tirage lui-même.

Peut-on faire « meilleur sur 3 » ou « meilleur sur 5 » ?

Pas en mode intégré — mais le compteur en direct et l'historique font le même travail. Lancez trois fois, regardez le compte, gardez le côté qui a au moins 2 victoires. Cela dit, « best of N » ne change pas vraiment les probabilités : si un seul lancer 50/50 vous convient, trois lancers avec règle majoritaire le sont aussi. On y a recours pour donner l'illusion d'une délibération plus poussée — ce qui signale souvent que la décision mérite une autre méthode, pas plus de lancers.

Calculatrices associées