Besoin de désigner une personne gagnante pour un concours, d'interroger quelqu'un dans la classe ou de décider qui fera la vaisselle ? Ce générateur de tirage au sort en ligne choisit de manière impartiale à partir de n'importe quelle liste. Placez vos éléments dans la zone « Éléments » — un par ligne, ou séparés par des virgules —, indiquez combien vous en voulez dans « Quantité » et cliquez sur « Générer ». Une liste nécessite au moins deux éléments et peut en contenir jusqu'à 1000, avec un maximum de 200 caractères chacun.
Chaque tirage s'effectue directement dans le navigateur à l'aide de la Web Crypto API (crypto.getRandomValues), qui fournit des valeurs aléatoires d'une sécurité cryptographique issues du système. Votre liste n'est jamais envoyée vers un serveur, jamais enregistrée et nous ne la voyons jamais. C'est particulièrement important ici, car les personnes utilisent souvent des listes de clientèle, des registres d'élèves ou des noms de collègues. Le bouton « Charger à partir d'un fichier » tient la même promesse : votre navigateur lit le fichier et remplit la zone localement, sans rien télécharger nulle part.
Les options sont conçues pour les listes que l'on utilise au quotidien. Le « Séparateur » est réglé sur « Automatique », ce qui détecte les sauts de ligne et les virgules pour déterminer le format. Ainsi, une liste copiée depuis un tableur, un message ou un document fonctionne sans modification. Fixez-le sur « Un par ligne », « Virgule » ou « Espace » lorsque vos données mélangent les formats. Notez que choisir « Espace » est toujours une décision manuelle et jamais automatique, car des éléments tels que des noms complets contiennent eux-mêmes des espaces et les séparer par défaut gâcherait la plupart des listes. La « Quantité » décide du nombre d'éléments à tirer, de 1 à 100. Vous tirez au sort trois lots pour 200 personnes participantes ? Collez la liste, réglez la « Quantité » sur 3 et cliquez sur « Générer ». Deux options ne s'appliquent que lorsque la quantité est de 2 ou plus et restent grisées jusque-là : « Sans doublons », qui décide si le même élément peut être tiré deux fois, et le « Format du résultat », qui définit comment les choix sont séparés (« Un par ligne », « Séparés par des espaces » ou « Séparés par des virgules »).
Une rangée de boutons dans la zone « Éléments » effectue les modifications que vous feriez autrement ailleurs. « Charger à partir d'un fichier » extrait une liste directement d'un fichier texte ou CSV. « Mélanger » réorganise les éléments dans la zone, « Trier » les classe par ordre alphabétique (les nombres sont triés naturellement et un deuxième clic inverse l'ordre) et « Effacer » vide la zone. « Remplir avec des exemples de données » insère une courte liste type pour essayer l'outil en un clic, tandis que « Agrandir pour s'adapter au contenu » déploie la zone pour afficher une longue liste en entier et « Réduire à la taille par défaut » la replie. Sous le résultat, « Tout copier » place chaque tirage dans votre presse-papiers, « Enregistrer dans un fichier » le télécharge et l'« Historique » conserve vos 10 derniers tirages dans votre navigateur, pour retrouver un résultat précédent en un seul clic.
Comment le choix est-il réellement effectué ? Lorsque vous cliquez sur « Générer », la page demande au navigateur des valeurs aléatoires via crypto.getRandomValues et les utilise pour choisir des positions dans votre liste, au lieu de passer par une fonction pseudo-aléatoire JavaScript comme Math.random(). La conversion d'une valeur brute de 32 bits en une position est souvent la faille de nombreux outils : prendre le modulo de la valeur par la longueur de la liste est l'approche évidente, mais elle est biaisée. À moins que la longueur de la liste ne divise exactement 2^32, les éléments situés près du début de la liste ressortent un peu plus souvent (biais modulo). Cet outil écarte à la place toute valeur dépassant le plus grand multiple exact de la longueur de la liste et effectue un nouveau tirage. C'est une technique appelée méthode du rejet (rejection sampling). Elle coûte quelques tirages supplémentaires mais offre une garantie mathématique exacte. La position dans la liste ne change rien : le premier et le dernier élément ont la même probabilité à chaque tirage.
L'option « Sans doublons » sépare deux types de tirages fondamentalement différents, que les statistiques nomment précisément. Lorsqu'elle est activée, l'outil mélange une copie de votre liste avec l'algorithme de Fisher-Yates et prélève les éléments par le haut — exactement comme si l'on tirait des papiers d'un chapeau sans les y remettre. Ainsi, personne n'est tiré deux fois et chaque groupe de cette taille a la même probabilité d'apparaître. Il s'agit d'un tirage sans remise (sampling without replacement), idéal pour les remises de prix, les équipes et l'ordre de passage. Lorsqu'elle est désactivée, chaque choix s'effectue indépendamment dans l'ensemble de la liste, le même élément pouvant donc sortir plusieurs fois : c'est le tirage avec remise (sampling with replacement), utile lorsque tout le monde reste éligible à chaque tour. Aucune des deux méthodes n'est plus juste que l'autre ; elles répondent à des besoins différents.
Aux yeux d'un humain, un tirage parfaitement juste n'a tout simplement pas l'air juste. Si vous tirez cinq noms sur dix, vous verrez régulièrement deux choix qui se trouvaient l'un à côté de l'autre dans la liste d'origine, ou le même nom deux fois de suite si les doublons sont autorisés, et tout cela est parfaitement ordinaire. Chaque tirage est indépendant : les choix précédents n'ont absolument aucune influence sur les suivants, et personne n'est jamais censé gagner parce que son tour serait « dû ». L'instinct qui affirme le contraire est l'erreur du parieur (gambler's fallacy), et c'est ce même instinct qui nous rend si mauvais pour choisir au hasard nous-mêmes : si on nous le demande, nous évitons le premier et le dernier élément, nous évitons de répéter un nom, et nous répartissons nos choix de manière bien plus uniforme que le hasard ne le fait jamais. Un résultat qui semble étrangement parfait porte l'empreinte d'un être humain ; le véritable hasard produit des regroupements.
Pourquoi choisir ce tirage au sort ?
- Fonctionnement dans le navigateur : la liste est lue sur votre appareil sans être envoyée
- Aléatoire de la Web Crypto API : sécurité cryptographique, pas de Math.random()
- Aucun biais modulo : la méthode du rejet donne la même chance à chaque élément
- Tout type de liste : par ligne, par virgule ou par espace, sans reformatage
- Mode « Sans doublons » : formez des équipes ou tirez sans répétition
- Jusqu'à 1000 éléments et jusqu'à 100 choix en un seul tirage
- Outils intégrés : charger un fichier, mélanger, trier, effacer, exemples
- Historique et enregistrement : gardez une trace d'un tirage que vous devez justifier
- Illimité et gratuit : aucune inscription, aucune limite d'utilisation, rien sur nos serveurs
Le tirage au sort intervient chaque fois qu'un choix doit survivre à une contestation. Dans l'enseignement, le corps professoral interroge la classe sans favoritisme et répartit les élèves en groupes de projet. Sur internet ou en marketing, on distribue des récompenses devant un public qui doit avoir confiance dans le résultat. Au bureau, les équipes déterminent l'ordre des présentations ou répartissent les tâches dont personne ne veut. Dans la recherche, on extrait un échantillon aléatoire de dossiers pour un audit. En famille, cela met fin aux disputes sur le film à regarder ou le restaurant à choisir. Le point commun est une sélection que n'importe qui peut expliquer par la suite : l'outil utilise un caractère aléatoire cryptographique, il s'exécute entièrement sur votre appareil, et l'« Historique » conserve le résultat si quelqu'un pose des questions plus tard.
Cet outil possède quelques limites techniques honnêtes qu'il convient de connaître. Il ne peut pas tirer plus d'éléments distincts que n'en contient la liste (trois prix nécessitent au moins trois noms) et il s'arrête à 1000 éléments de 200 caractères chacun, avec un maximum de 100 choix en un seul tirage. « Mélanger » et « Trier » fonctionnent ligne par ligne, donc une liste séparée par des virgules et collée sur une seule ligne ne sera réorganisée que lorsqu'il y aura un élément par ligne. De plus, ces deux boutons réarrangent la zone et non le tirage, qui est tout aussi juste quel que soit l'ordre de vos éléments. Chaque élément a également exactement le même poids par conception, donc un tirage où un nom doit compter double nécessite que ce nom soit listé deux fois. Dans le cadre de ces limites, la garantie est solide : chaque élément de votre liste a exactement la même chance, à chaque tirage.