Générateur de nombres aléatoires
Générez des entiers ou des décimaux aléatoires uniformes, des valeurs suivant une loi normale (gaussienne) ou une séquence reproductible à partir d’une graine — grâce à la source aléatoire cryptographiquement sûre de votre navigateur, avec contrôle des doublons et tri.
Rédigé par Suhaib Hassan. Notre méthodologie.
Les tirages d’entiers, de décimaux et gaussiens utilisent crypto.getRandomValues (un CSPRNG) pour un aléa issu du navigateur ; le mode à graine utilise un PRNG déterministe (mulberry32), de sorte qu’une même graine reproduit toujours la même séquence.
Rien ne quitte votre navigateur — aucun nombre n’est enregistré ni envoyé ailleurs, et une exécution avec graine est entièrement reproductible pour les tests.
—
Distribution de l’échantillon
Où se situe chaque valeur dans sa plage.
Calcul étape par étape
—
Comment chaque mode génère les nombres
- Entier / Décimal : utilise
crypto.getRandomValues, la même source cryptographiquement sûre que celle utilisée par les navigateurs pour les jetons de sécurité — une qualité bien supérieure àMath.random(). - Gaussienne : combine deux tirages uniformes CSPRNG avec la transformation de Box–Muller pour produire des valeurs de loi normale ayant la moyenne et l’écart type de votre choix.
- Avec graine : utilise l’algorithme déterministe mulberry32 — une même graine produit toujours la même séquence, ce qui est utile pour les tests et simulations reproductibles (pas pour la sécurité).
Par Suhaib Hassan · Vérifié le 29 septembre 2026 · Comment CalculatePilot vérifie ses formules →
Sources
- Box, G. E. P., & Muller, M. E. (1958). A note on the generation of random normal deviates. Annals of Mathematical Statistics 29(2), 610–611.
- W3C (2017). Web Cryptography API — spécification de
Crypto.getRandomValues().
Questions fréquentes
Est-ce adapté à la génération de clés cryptographiques ?
Les modes Entier et Décimal s’appuient sur crypto.getRandomValues, le générateur cryptographiquement sûr du navigateur ; l’aléa brut est donc adapté. Pour de véritables clés, utilisez une bibliothèque de cryptographie dédiée qui gère correctement l’encodage et les formats de clés — cet outil est destiné aux nombres aléatoires d’usage général.
Que signifie « sans doublons » ?
Il s’agit d’un tirage sans remise — comme tirer des boules de loto sans les remettre — de sorte que chaque valeur obtenue est distincte. La plage doit contenir au moins autant de valeurs que le nombre demandé.
Pourquoi utiliser un générateur à graine plutôt qu’un aléa véritable ?
Un générateur à graine (déterministe) permet de reproduire plus tard exactement la même séquence « aléatoire » — indispensable pour déboguer des simulations, partager des exemples reproductibles ou écrire des tests dont le résultat est prévisible.
Comment la transformation de Box–Muller produit-elle une loi normale ?
Elle prend deux nombres aléatoires uniformes indépendants et applique √(−2 ln u₁)·cos(2πu₂) (ainsi qu’une variante avec le sinus), ce qui, mathématiquement, produit exactement des valeurs de loi normale centrée réduite N(0,1) — ensuite mises à l’échelle par σ et décalées de μ.
Pourquoi Math.random() n’est-il pas utilisé ici ?
Math.random() n’est pas défini comme cryptographiquement sûr et son algorithme varie selon les navigateurs. crypto.getRandomValues() est un standard du web spécialement conçu pour fournir un aléa imprévisible et de haute qualité.
Calculateurs associés
Poursuivez avec les statistiques.