Roue de Décision
Laissez la roue décider pour vous, adieu l'indécision
Aucun enregistrement — lancez la roue !
Qu'est-ce qu'une Roue de Décision ?
La roue de décision choisit aléatoirement une option dans une liste et transforme un petit choix en processus visible et partagé. Elle sert en classe, activités d’équipe, choix de repas, ordre de présentation, petits tirages, brainstorming et situations où plusieurs options sont acceptables. Son intérêt est de réduire la fatigue décisionnelle et de rendre la sélection transparente. Elle ne remplace pas le jugement lorsque les options ont des risques, coûts, règles d’équité ou responsabilités différents. Pour des tirages sérieux, liste des participants, pondération, exclusions et traçabilité doivent être définies avant de lancer la roue afin que le résultat reste explicable. Elle convient surtout aux décisions à faible enjeu.
Comment utiliser
Comment utiliser
- Saisissez un nom d'option dans la zone de saisie, appuyez sur Entrée ou cliquez sur Ajouter
- Ajoutez plusieurs options (jusqu'à 15), chaque option limitée à 20 caractères
- Cliquez sur le bouton central « TOURNER », la roue commence à tourner
- Attendez que la roue s'arrête pour voir le résultat sélectionné au hasard
Conseils d'équité
- Gardez les options courtes et comparables pour que la roue soit facilement lisible par tous avant de tourner.
- Pour les décisions importantes, convenez de la liste d'options avant de tourner et évitez de modifier les entrées après avoir obtenu un résultat défavorable.
Cas d’utilisation
Principe technique
La roue est un dessin Canvas 2D combiné à un tirage aléatoire déterministe. Chaque segment est rendu avec ctx.beginPath(); ctx.moveTo(cx, cy); ctx.arc(cx, cy, r, startAngle, endAngle); ctx.fill() où N options égales occupent chacune un arc de 2π/N radians — quinze segments donnent donc 24° d'arc chacun, ce qui explique aussi que la saisie soit limitée à 15 pour garder les libellés lisibles. Le segment gagnant est déterminé AVANT l'animation : un entier non signé 32 bits est tiré avec crypto.getRandomValues(new Uint32Array(1))[0], réduit modulo N, et cet entier constitue la réponse. L'animation calcule ensuite une rotation cible de fullSpins × 2π + (2π − winnerIndex × sliceAngle − sliceAngle/2) pour que le pointeur en haut du canvas se retrouve aligné sur le centre du segment choisi, puis effectue une interpolation dans requestAnimationFrame avec une courbe d'assouplissement telle que easeOutCubic, f(t) = 1 − (1−t)³, ou easeOutBack pour le léger dépassement qui imite une roue physique ralentissant. crypto.getRandomValues est le CSPRNG de Web Crypto (spécifié dans l'API Web Crypto), alimenté par le pool d'entropie du système, donc contrairement à Math.random le tirage ne peut pas être prédit en lisant l'état de la page. Les variantes pondérées construisent un tableau de probabilités cumulées de longueur N et effectuent une recherche binaire du tirage aléatoire en O(log N). Les sorties sont entièrement visuelles et éphémères — rien n'est journalisé, donc toute piste d'audit (horodatage, liste d'options, capture d'écran) doit être saisie en externe avant le rafraîchissement de la page.
- Rendu Canvas : chaque segment est ctx.arc(cx, cy, r, startAngle, endAngle) avec sliceAngle = 2π / N — 15 options donnent 24° par segment, ce qui est le plafond pratique de lisibilité.
- Le tirage du gagnant utilise crypto.getRandomValues(new Uint32Array(1))[0] % N — CSPRNG Web Crypto, alimenté par l'entropie du système, adapté aux tirages uniques équitables mais PAS aux loteries reproductibles (pas de piste d'audit).
- L'animation s'exécute dans requestAnimationFrame au taux de rafraîchissement de l'écran (typiquement 60 Hz) avec easeOutCubic f(t) = 1 − (1−t)³ ou easeOutBack pour un léger dépassement — la courbe est cosmétique, le gagnant est déjà choisi.
- La rotation finale est targetRotation = fullSpins × 2π + (2π − winnerIndex × sliceAngle − sliceAngle/2) pour que le pointeur supérieur atterrisse sur le centre du segment, pas sur son bord.
- Le mode options pondérées construit un tableau de sommes préfixées des poids et utilise la recherche binaire pour mapper un nombre uniforme aléatoire à un segment en O(log N) — équivalent à un échantillonnage par inverse-CDF.
- Le biais de modulo est négligeable lorsque N ≤ 15 et que le tirage couvre 2³² valeurs (biais ≈ N / (2 × 2³²) ≈ 1,7×10⁻⁹), donc aucune boucle de rejet-échantillonnage n'est nécessaire.
- Chaque tour est i.i.d. — des tours consécutifs peuvent répéter la même option et c'est un comportement uniforme correct, pas un bug ; la déduplication entre tours nécessite un enregistrement externe.
Exemples
Choix du déjeuner
Options : Pizza, Sushi, Burgers, Tacos, Salade → Tourner → Résultat : SushiActivité d'équipe
Options : Bowling, Karaoké, Escape Room, Mini Golf → Tourner → Résultat : Escape RoomSoirée cinéma
Options : Action, Comédie, Horreur, Romance, Sci-Fi → Tourner → Résultat : ComédieFAQ
La rotation de la roue est-elle vraiment aléatoire ?
Oui. Le segment retenu est tiré par crypto.getRandomValues, puis la roue s'anime jusqu'à atterrir dessus. La rotation visuelle n'est que de la mise en scène — le résultat est décidé en amont. Chaque tirage est indépendant des précédents.
Tous les segments ont-ils la même probabilité ?
Oui. Chaque option occupe une part de taille égale et chaque part a la même probabilité. Il n'existe pas de mode pondéré ou biaisé — toutes les options ont les mêmes chances d'être sélectionnées.
L'animation de la rotation influence-t-elle le résultat ?
Non. L'animation est décorative — le résultat est calculé en premier, puis la roue tourne pour le révéler. Même si vous arrêtez l'animation prématurément, le segment choisi reste le même.
Puis-je sauvegarder la roue d'une session à l'autre ?
Non. Les options ne sont conservées que pendant la session en cours. Fermer l'onglet ou rafraîchir la page perd la liste. Copiez vos options avant de fermer si vous voulez les réutiliser.
Devrais-je l'utiliser pour des décisions importantes ?
Utilisez-la pour des choix de groupe à faibles enjeux (déjeuner, ordre de présentation, choix de tirage) où n'importe quelle option convient et où l'aléatoire visible évite les rancœurs. Ne déléguez pas des décisions où les conséquences diffèrent fortement entre options — la roue ne sait pas peser des compromis.
Pourquoi tire-t-elle parfois deux fois la même option d'affilée ?
Chaque tirage est indépendant. Avec trois options, la probabilité de deux tirages identiques de suite est 1/3 ≈ 33 %. Avec dix options, c'est 10 %. La répétition surprend, mais elle est mathématiquement attendue dans une sélection véritablement aléatoire.
Ma liste d'options est-elle téléversée ?
Non. La roue tourne entièrement dans votre navigateur. Les options ne sont enregistrées localement que si vous le choisissez ; rien n'est transmis.