Mélangeur de Lignes & Mots

Mélangez aléatoirement les lignes ou les mots de n'importe quelle liste collée — aléatoire cryptographique, un clic pour un nouvel ordre à chaque fois.

1 157 vues

Comment ça fonctionne

Collez une liste (un élément par ligne) ou un bloc de texte, choisissez de mélanger par ligne ou par mot, et l'outil exécute un mélange de Fisher-Yates alimenté par crypto.getRandomValues — la même source d'aléatoire cryptographiquement forte, avec la même prévention du biais modulo, utilisée par le lanceur de dés, le générateur de nombres aléatoires et l'outil de tirage au sort de ce site. Fisher-Yates travaille depuis le dernier élément vers l'arrière : pour chaque position, il choisit un indice aléatoire parmi les éléments restants et l'échange avec la position courante, de sorte que chaque ordre possible de la liste soit également probable, sans biais envers aucune position.

Ce détail de prévention du biais compte plus qu'il n'y paraît. Un indice aléatoire naïf généré par Math.random() * n, ou pire, un entier aléatoire cryptographique réduit avec % n, n'est pas parfaitement uniforme lorsque n ne divise pas exactement la plage du générateur — certaines positions reviennent très légèrement plus souvent que d'autres. Sur une poignée de mélanges, personne ne le remarquerait ; sur une plateforme de quiz exécutant des milliers de mélanges par jour, un léger biais dans l'ordre des questions ou des participants à un tirage est un vrai problème d'équité. Cet outil rejette et retire les valeurs hors plage plutôt que de les réduire par modulo, de sorte que chaque mélange reste non biaisé quelle que soit la longueur de la liste.

C'est exactement le même principe de mélange qui alimente le lanceur de dés et les outils de nombres aléatoires de ce site, simplement appliqué à un tableau de lignes ou de mots plutôt qu'à un seul nombre : choisir uniformément parmi les éléments encore non mélangés, le placer, et répéter jusqu'à ce qu'il n'en reste plus. Cette garantie — chaque permutation de l'entrée est également accessible — est ce qui distingue un mélange de niveau équitable d'un mélange qui semble simplement brouillé mais favorise discrètement certains arrangements.

Ce qu'il faut savoir

  • Le mode ligne traite chaque ligne comme une unité à mélanger — idéal pour randomiser une liste de noms, un ordre de lecture, ou un jeu de questions de quiz.
  • Le mode mot découpe sur les espaces, mélange les mots, puis les rassemble — pratique pour brouiller une seule phrase ou une courte expression.
  • Véritablement aléatoire, pas seulement en apparence : la source cryptographique utilisée ici appartient à la même classe d'aléatoire que celle des clés cryptographiques, pas la fonction aléatoire par défaut, plus faible, intégrée à la plupart des langages.
  • Rien n'est stocké : le mélange s'exécute entièrement dans votre navigateur et produit un ordre nouveau et indépendant à chaque clic — rafraîchir la page donne un résultat différent, jamais une répétition.

Questions fréquentes

Le mélange est-il vraiment aléatoire ?

Oui — il utilise un mélange de Fisher-Yates non biaisé, piloté par crypto.getRandomValues et non Math.random(), avec rejet des tirages hors plage plutôt qu'une réduction par modulo, donc chaque ordre est également probable quelle que soit la longueur de la liste.

Puis-je mélanger les mots d'une seule phrase ?

Oui — passez en mode mot ; il découpe le texte sur les espaces, mélange les mots, puis les rassemble avec un espace unique.

Pourquoi ne pas simplement utiliser Math.random() ?

Math.random() est un générateur pseudo-aléatoire rapide conçu pour les graphismes et les animations, pas pour une sélection sensible à l'équité, et réduire naïvement sa sortie à une plage par modulo introduit un léger biais statistique. crypto.getRandomValues est une source cryptographiquement forte, conçue précisément pour ce type de choix aléatoire non biaisé.

Pour quelles tâches concrètes cet outil est-il utile ?

Randomiser l'ordre des questions d'un quiz ou d'un examen, mélanger une liste de noms avant une attribution de tâche ou de place, brasser une liste de participants avant un tirage au sort, ou remettre une liste de lecture dans un ordre neuf à chaque fois.

Mélanger deux fois la même liste donne-t-il le même ordre ?

Non — chaque mélange tire de nouvelles valeurs aléatoires, donc deux exécutions sur la même entrée produisent des ordres indépendants, généralement différents, exactement comme battre deux fois un jeu de cartes physique.

Commentaires

Pas encore de commentaires — soyez le premier à en écrire un !

Outils similaires