PK Systems PK Systems
Générateurs

Générateur de nombres aléatoires

Tirez des nombres dans n'importe quelle plage — avec ou sans doublons, triés ou mélangés, prêts à copier-coller.

Générateur de nombres aléatoires

Résultat

Ce que fait cet outil

Génère des entiers aléatoires dans la plage de votre choix, en quantité de 1 à 10 000. Choisissez si les doublons sont autorisés (off pour un tirage unique façon loterie, on pour simuler des dés ou pile/face), choisissez de trier croissant ou de laisser mélangé, et choisissez le format — un nombre par ligne, séparés par virgule pour les tableurs, par espace pour un collage CLI rapide, ou en tableau JavaScript pour le code. L'aléa est correctement uniforme : nous utilisons crypto.getRandomValues() avec un échantillonnage par rejet pour retirer le biais modulo qu'introduit Math.random() % range. Pour les tirages uniques sur des plages denses, on utilise un Fisher-Yates partiel ; pour les plages éparses, un hash-set avec retries. Tout tourne localement — pas d'envoi, pas de log, pas de rate limit.

Comment l'utiliser

Réglez un min et un max — ils peuvent être négatifs, zéro ou tout ce qui se trouve entre. Réglez combien de nombres il vous faut. Décidez d'autoriser les doublons (off pour les tirages au sort, on pour les jets répétés). Décidez de trier la sortie croissant. Choisissez un format : lignes, virgule, espace ou tableau. Cliquez sur Générer. Le résultat apparaît dans le panneau ; si vous avez demandé un seul nombre, il s'affiche en grand ; pour plusieurs, dans un bloc de code défilant. Cliquez sur Copier pour tout pousser dans le presse-papiers. Relancer avec les mêmes réglages produit un nouveau tirage à chaque fois — il n'y a pas de seed.

Comment l'aléa marche

Chaque tirage échantillonne un entier 32 bits via crypto.getRandomValues() et rejette tout tirage au-dessus de floor(2^32 / range) * range. Le tirage accepté modulo range plus min est votre nombre — uniforme prouvé sur toute la plage. Pour les tirages uniques, on utilise une de deux stratégies : quand la plage est assez dense (≤ 200 000 valeurs), on matérialise tout le pool et on Fisher-Yates partiellement les count premières entrées — c'est O(count), pas O(range). Quand la plage est éparse et grande, on utilise un hash-set avec retries — borné par la limite count à 10 000 pour que les retries n'explosent jamais. Le tri (si activé) est une passe finale croissante.

Réglages courants

Quelques combinaisons d'exemple pour commencer.

Usage Réglages
Numéros de loto (5/49)Min 1, max 49, count 5, doublons off, tri on
Séquence pile/face (10 lancers)Min 0, max 1, count 10, doublons on
Octet de couleur aléatoireMin 0, max 255, nombre 1
Tirer 3 gagnants sur 100Min 1, max 100, count 3, doublons off

Questions fréquentes

Est-ce vraiment aléatoire ?
Oui — uniforme prouvé. Nous utilisons crypto.getRandomValues() avec échantillonnage par rejet, l'approche CSPRNG standard pour des plages d'entiers non biaisées.
Pourquoi demander plus d'uniques que la plage n'autorise ?
L'outil le détecte et affiche une erreur — impossible de tirer 10 nombres uniques dans une plage de 5. Soit activez les doublons, soit élargissez la plage.
Puis-je seeder le RNG ?
Non. Les CSPRNG ne peuvent pas être seedés par conception pour la reproductibilité — cela casserait la garantie de sécurité. Si vous avez besoin d'une sortie « aléatoire » reproductible pour des tests, utilisez une librairie PRNG seedée dans le code.
Quelle est la quantité maximale ?
10 000 par lancement. Au-delà, la sortie devient ingérable dans le navigateur ; pour de plus gros tirages, lancez l'outil plusieurs fois ou générez côté serveur.
Fonctionne-t-il avec des nombres négatifs ?
Oui. Min et max peuvent être tout entier, positif ou négatif. La plage est max − min + 1, donc assurez-vous que max ≥ min.
Quelque chose est-il envoyé sur le réseau ?
Non. La génération tourne dans votre navigateur. La sortie reste locale jusqu'à ce que vous la copiiez.