Une tombola scolaire à organiser, un tirage au sort pour le hockey mineur, ou simplement besoin d'un nombre au hasard ? Ce générateur de nombres aléatoires en ligne pour le Canada est gratuit et tire un nombre – ou une liste entière de nombres – dans n'importe quelle plage que vous choisissez, d'un simple 1 à 10 à des plages qui se comptent en milliards. Indiquez les valeurs minimale et maximale dans « Min » et « Max », choisissez combien de nombres vous voulez avec « Quantité », puis cliquez sur « Générer ». Les deux bornes sont incluses : une plage de 1 à 10 peut donc renvoyer aussi bien 1 que 10.
Chaque résultat est produit directement dans votre navigateur grâce à la Web Crypto API (crypto.getRandomValues), qui s'appuie sur une source d'aléa cryptographiquement sûre fournie par le système. Rien n'est envoyé à un serveur, rien n'est enregistré, et nous ne voyons jamais vos nombres. La génération est instantanée, privée, et continue de fonctionner sur une connexion lente une fois la page chargée.
Les options couvrent la façon dont on tire vraiment des nombres. Activez « Sans doublons » pour qu'aucun nombre ne revienne deux fois – exactement ce qu'il faut pour une tombola, un tirage au sort ou pour répartir des personnes en groupes sans répétition. Besoin de tirer au sort 20 personnes parmi les 500 inscrites ? Réglez « Min » sur 1 et « Max » sur 500, activez « Sans doublons », mettez « Quantité » à 20, puis cliquez sur « Générer ». L'« Ordre de tri » classe le résultat en ordre croissant ou décroissant, et un bouton copie toute la liste. En faisant passer le « Format du résultat » de « Un par ligne » à « Séparés par des espaces » ou « Séparés par des virgules », le champ « Nombre de séries » apparaît : plusieurs tirages indépendants en une fois – par exemple vingt séries de 3 nombres pour vingt manches de tombola – et « Autoriser les doublons entre séries » décide si un même nombre peut ressortir dans plus d'une série.
Comment l'aléa est-il vraiment généré ? L'aléa du navigateur provient de la source cryptographiquement sûre de votre système d'exploitation, jamais de JavaScript lui-même. Quand vous cliquez sur « Générer », le JavaScript de la page demande au navigateur des valeurs brutes de 32 bits via crypto.getRandomValues et les ramène dans la plage que vous avez définie. Il n'y a aucune valeur d'amorçage à deviner, aucun raccourci algorithmique à rejouer, et aucune requête réseau à aucune étape.
Faire correspondre une valeur brute à votre plage est l'endroit où les générateurs se trompent en silence, et ça mérite un paragraphe à part. Prendre la valeur modulo la taille de la plage semble la solution évidente – c'est aussi celle qui introduit un biais : à moins que la plage ne divise exactement 2^32, les nombres les plus bas reviennent légèrement plus souvent que les autres. Ce défaut s'appelle le biais de modulo (modulo bias), et il est mesurable, pas seulement théorique. Ce générateur rejette au contraire toute valeur au-delà du plus grand multiple exact de la plage et en génère une nouvelle – une technique appelée échantillonnage par rejet (rejection sampling). Cela coûte quelques tirages supplémentaires et offre en échange une garantie exacte : chaque nombre entre « Min » et « Max » a exactement la même probabilité, pas seulement à peu près la même.
Qu'est-ce qui rend un nombre vraiment aléatoire ? Un nombre est suffisamment aléatoire quand les résultats précédents ne révèlent rien sur le suivant – et dans la pratique, on peut distinguer trois niveaux d'aléa. Une fonction pseudo-aléatoire ordinaire comme Math.random() suit un algorithme déterministe : quiconque connaît son état interne peut reconstituer toute la séquence – parfait pour mélanger un diaporama, inadapté à tout ce dont le résultat ne doit pas être prévisible. Un générateur cryptographiquement sûr – le niveau qu'utilise cet outil – est lui aussi un algorithme, mais il s'appuie sur une source d'entropie fournie par le système et est conçu pour qu'observer sa sortie ne révèle rien sur ce qui vient ensuite. L'aléa physique, issu par exemple du bruit atmosphérique ou de la désintégration radioactive, se situe au-dessus des deux – même si, pour tirer un nombre dans une plage, la différence pratique disparaît. C'est exactement pour cela que les navigateurs proposent une API crypto séparée plutôt que d'améliorer Math.random() : les deux résolvent des problèmes différents, et un seul des deux est sûr quand le résultat compte vraiment pour quelqu'un.
Une séquence aléatoire n'est pas censée paraître aléatoire aux yeux d'un humain. Tirez dix nombres entre 1 et 10, et vous verrez régulièrement une répétition, une quasi-paire comme 7, 7, 8, ou une courte série qui reste en haut – et chacun de ces cas est parfaitement normal. L'aléa véritable est imprévisible et une séquence aléatoire ne paraît pas nécessairement bien répartie : chaque tirage est indépendant, les nombres précédents n'ont strictement aucune influence sur les suivants, et aucun nombre ne devient jamais « en retard ». L'instinct qui prétend le contraire, c'est le sophisme du joueur – et c'est ce même instinct qui fait de nous de mauvais générateurs de hasard : quand on nous demande d'inventer une séquence aléatoire, on évite les répétitions et on répartit les valeurs bien plus régulièrement que ne le fait jamais le hasard. Un résultat qui paraît étrangement bien rangé porte la signature d'un humain ; l'aléa véritable produit des amas.
Pourquoi choisir ce générateur de nombres aléatoires ?
- Génération 100 % dans le navigateur : les nombres sont tirés sur votre appareil et ne sont jamais envoyés nulle part
- Aléa Web Crypto API : cryptographiquement sûr, pas Math.random()
- Aucun biais de modulo : l'échantillonnage par rejet garde chaque nombre de la plage également probable
- N'importe quelle plage : de 1 à 10 à des valeurs en milliards, bornes incluses
- Mode « Sans doublons » : une liste sans répétition pour une tombola scolaire ou un tirage de la ligue de hockey mineur
- Séries multiples : plusieurs tirages indépendants en un clic
- Tri et formats de sortie : croissant ou décroissant, nouvelle ligne, espaces ou virgules
- Historique et sauvegarde : gardez une trace d'un tirage que vous devrez peut-être justifier
- Illimité et gratuit : sans inscription, sans limite d'utilisation, rien sur nos serveurs
Au Canada, un nombre aléatoire dépanne à plus d'endroits qu'on ne le pense. Le personnel enseignant interroge les élèves sans favoritisme. Les streamers et les équipes marketing tirent au sort les gagnants de concours et de tombolas devant un public qui doit pouvoir croire au résultat. Dans une ligue de hockey mineur, un nombre aléatoire remplace un dé perdu, détermine qui commence une partie, ou fixe l'ordre de sélection au repêchage. Les équipes de recherche des universités canadiennes choisissent un échantillon aléatoire pour que leurs résultats puissent être généralisés au-delà des volontaires. Les équipes de développement génèrent des données de test, initialisent des simulations et choisissent des identifiants pendant la QA. Le point commun : un processus équitable que l'on peut expliquer et justifier après coup – parce que le tirage repose sur la Web Crypto API et une source d'aléa cryptographiquement sûre que personne, pas même nous, ne peut influencer ni prévoir, le résultat reste défendable si quelqu'un le remet en question.
Comme tout outil honnête, ce générateur de nombres aléatoires a ses limites, et cela vaut la peine de les connaître. Le mode « Sans doublons » ne peut pas tirer plus de nombres que la plage n'en contient : 20 valeurs uniques entre 1 et 10, ça n'existe tout simplement pas. Les résultats précédents n'influencent pas les tirages suivants, donc recharger la page ne remet rien à zéro – il n'y a pas de cycle dans lequel rester coincé. Et même si les nombres sont cryptographiquement solides, un tirage ici reste un choix équitable, pas une prédiction : que ce soit pour le Lotto Max ou le Lotto 6/49, le tirage officiel se fait sur son propre matériel certifié, sans le moindre lien avec ce qui tourne dans votre navigateur. Dans ces limites, la garantie tient : chaque nombre de votre plage a exactement la même chance, à chaque tirage.