← Tous les outils Utility

Générateur de Nombres Aléatoires

Nombres aléatoires cryptographiques, instantanément dans votre navigateur.

Comment Fonctionne la Génération de Nombres Aléatoires

La vraie aléatoire est étonnamment difficile à obtenir en logiciel. Les anciens générateurs pseudo-aléatoires (PRNG) comme le générateur congruentiel linéaire produisent des séquences qui semblent aléatoires mais sont entièrement déterminées par une graine initiale. Connaître la graine suffit à reproduire chaque résultat — utile pour les simulations reproductibles, mais inadapté quand l'imprévisibilité compte.

Cet outil utilise la fonction `crypto.getRandomValues()` de l'API Web Crypto, qui puise de l'entropie dans le PRNG cryptographiquement sécurisé (CSPRNG) de votre système d'exploitation. Sous Linux et macOS, cela correspond à `/dev/urandom`, alimenté par des sources d'entropie matérielles incluant la gigue de temporisation du processeur et, sur les puces modernes, une instruction HRNG dédiée (Intel RDSEED/RDRAND, ARM RNDRRS). Le résultat est indiscernable d'une vraie aléatoire pour toutes les applications pratiques.

Chaque nombre est généré directement dans votre navigateur. Aucune valeur n'est envoyée à un serveur. La plage que vous spécifiez est inclusive aux deux extrémités : entrer 1–6 simule fidèlement un dé à six faces.

Entiers, Flottants et Plages

Le mode entier renvoie un nombre entier dans la plage choisie. L'algorithme mappe la sortie du CSPRNG sur l'intervalle entier exact sans biais : il rejette les échantillons tombant dans la queue d'un mappage modulaire inégal, garantissant que chaque valeur de la plage est équiprobable. C'est la même approche par rejet utilisée dans la génération de clés cryptographiques.

Le mode flottant renvoie un nombre avec jusqu'à 10 décimales, couvrant l'intervalle semi-ouvert [min, max). Les flottants sont idéaux pour les simulations de probabilité, les méthodes de Monte Carlo ou tout scénario nécessitant une distribution uniforme continue. Pour un usage scientifique, notez que `Math.random()` de JavaScript est délibérément évité ici ; `crypto.getRandomValues()` remplit un buffer entier 32 bits ensuite mis à l'échelle de la plage souhaitée.

Besoin de plusieurs nombres à la fois ? Vous pouvez générer une liste de N valeurs en un seul clic. Pour des valeurs uniques (tirage sans remise), l'outil bascule automatiquement vers un mélange de Fisher–Yates sur le pool de la plage, garantissant l'absence de doublons.

Cas d'Usage Pratiques

Les jeux et simulations sont les plus évidents : jets de dés, tirages de cartes, graines de cartes aléatoires, tables de butin. Comme la sortie est cryptographiquement robuste, elle convient également à la sélection de gagnants de loteries ou de tirages au sort — aucun participant ne peut prédire ou rétro-ingénier le résultat.

Les statistiques et la data science nécessitent fréquemment des échantillons aléatoires. Que vous sélectionniez un échantillon aléatoire dans une liste numérotée, affectiez des sujets à des groupes traitement et contrôle, ou réalisiez un bootstrap d'un jeu de données, un CSPRNG rapide dans le navigateur élimine la friction de lancer Python ou R juste pour obtenir un index aléatoire.

L'éducation en bénéficie aussi : les enseignants utilisent des sélecteurs aléatoires pour interroger des élèves au hasard, répartir en groupes ou générer des exercices avec des paramètres aléatoires. Tout s'exécutant localement, la confidentialité en classe est préservée — aucune donnée d'élève ne quitte l'appareil.

FAQ

Est-ce vraiment aléatoire ou pseudo-aléatoire ?

L'outil utilise l'API Web Crypto (`crypto.getRandomValues()`), un PRNG cryptographiquement sécurisé alimenté par l'entropie du système d'exploitation. Pour toutes les applications pratiques — y compris cryptographiques — le résultat est considéré comme véritablement aléatoire.

Puis-je reproduire un résultat en utilisant la même graine ?

Non. Contrairement aux PRNG à graine, `crypto.getRandomValues()` n'expose pas de paramètre de graine. Chaque appel puise de l'entropie fraîche du système d'exploitation, rendant les résultats impossibles à reproduire ou prédire.

Cet outil envoie-t-il mes nombres à un serveur ?

Non. Tout le traitement s'effectue entièrement dans votre navigateur. Aucune donnée n'est transmise.

Quelle est la plage maximale utilisable ?

L'outil prend en charge la plage entière sécurisée de JavaScript : −9 007 199 254 740 991 à 9 007 199 254 740 991. Pour la plupart des usages pratiques, toute plage dans les milliards fonctionne sans problème.

Puis-je générer des nombres uniques (sans répétition) ?

Oui. Activez l'option « unique » pour tirer sans remise. L'outil utilise un mélange de Fisher–Yates sur le pool d'entiers, garantissant que chaque nombre demandé est distinct.

Outils similaires