Générateur d'équipes aléatoires avec graine et groupes équilibrés
Ce générateur d'équipes aléatoires avec graine transforme une liste de noms en groupes équilibrés que vous pourrez reproduire ultérieurement.
Lancer gratuitement
Saisissez les participants, choisissez le nombre d'équipes et fournissez un texte comme graine. La même liste, le même nombre d'équipes et la même graine produisent toujours la même répartition, ce qui facilite son audit, son partage et sa répétition. Chaque personne est affectée une fois, les tailles diffèrent d'une personne au maximum et la requête est refusée si les équipes sont plus nombreuses que les participants.
Préparez la liste et choisissez une graine utile
Commencez par une entrée pour chaque personne qui doit participer. Les noms sont conservés exactement, y compris les majuscules et les espaces. Vous pouvez donc employer des noms d'affichage, des initiales, des identifiants de personnel ou toute autre référence lisible. Chaque entrée doit comporter du texte autre que des espaces. Les doublons sont acceptés, car deux personnes peuvent porter le même nom, mais il est préférable d'ajouter un identifiant si la répartition finale doit les distinguer. Choisissez ensuite un nombre d'équipes compris entre un et le nombre de noms fournis. La graine peut être n'importe quel texte non vide, par exemple le nom d'un événement, une date retenue par votre organisation ou le libellé public d'un tirage. Une graine descriptive permet de reproduire la répartition sans conserver d'état supplémentaire. Pour un processus équitable, convenez de la graine ou publiez-la avant d'examiner les équipes. La modification d'un seul caractère peut changer le mélange, tandis qu'une entrée strictement identique recrée strictement le même résultat. L'outil accepte jusqu'à dix mille noms par requête et convient aux classes, ateliers, ligues et grands événements internes.
Fonctionnement du mélange déterministe et de l'équilibrage
Le générateur convertit la graine en un état numérique stable, puis s'en sert pour piloter le mélange déterministe d'une copie de la liste. Il n'utilise ni aléa du système, ni heure actuelle, ni données réseau, ni état de session enregistré. Après le mélange, il distribue les noms à tour de rôle : le premier va dans l'équipe un, le suivant dans l'équipe deux, et ainsi de suite, avant de revenir à la première après la dernière équipe. Cette règle garantit que le plus grand et le plus petit groupe ne diffèrent jamais de plus d'une personne. Lorsque le nombre de noms ne se divise pas exactement, les équipes portant les premiers numéros reçoivent un membre supplémentaire. Chaque position d'entrée apparaît exactement une fois dans la sortie ; les noms d'affichage identiques restent donc des entrées distinctes au lieu d'être fusionnés silencieusement. Le déterminisme garantit la reproductibilité, pas l'imprévisibilité cryptographique : toute personne connaissant l'entrée complète et la graine peut recalculer la même répartition. Si les participants peuvent influencer stratégiquement une graine publique, choisissez-la selon une procédure convenue après la clôture de la liste, puis archivez la liste et la graine avec le résultat.
Reproduisez, comparez et automatisez les répartitions
Conservez l'ordre initial des noms, le nombre d'équipes demandé et la graine chaque fois que vous devez recréer une répartition. Ces trois éléments interviennent dans le calcul : réordonner la liste, corriger un nom, ajouter un retardataire, retirer une personne, changer le nombre d'équipes ou modifier la graine produit un autre mélange. Cette sensibilité empêche un ancien résultat de sembler valable après une modification de l'effectif, mais elle impose aussi de considérer la requête complète comme le procès-verbal du tirage. La réponse renvoie la graine, le nombre d'équipes et des groupes numérotés avec leurs membres, dans une structure facile à copier dans un planning ou à exploiter dans un flux automatisé. Utilisez l'exécution dans le navigateur pour une classe ou un atelier ponctuel, et l'API lorsqu'une application doit créer des groupes reproductibles sans maintenir son propre code de tirage. Une requête API coûte $0.002 ; l'exécution dans le navigateur est disponible sur cette page. La validation interrompt rapidement les demandes impossibles ou ambiguës : nom vide, graine absente, nombre non entier ou équipes plus nombreuses que les participants.
Cas d’usage
Former des groupes pour un atelier
Publiez une graine de session et créez des groupes équilibrés que les animateurs pourront reproduire.
Répartir les projets d'une classe
Divisez un effectif équitablement tout en conservant la liste, la graine et la répartition exactes.
Automatiser les tirages d'événements récurrents
Produisez des équipes déterministes dans une application sans enregistrer l'état d'un générateur aléatoire.
Questions fréquentes
La même graine crée-t-elle toujours les mêmes équipes ?
Oui, si les noms restent dans le même ordre et si le nombre d'équipes ne change pas. Toute modification de ces données peut changer le résultat.
Dans quelle mesure la répartition est-elle équilibrée ?
Chaque personne est affectée une fois et la plus grande équipe compte au maximum un membre de plus que la plus petite.
Que se passe-t-il s'il y a plus d'équipes que de noms ?
La requête renvoie une erreur d'entrée non valide, car chaque équipe demandée doit recevoir au moins une personne.
Deux personnes peuvent-elles porter le même nom ?
Oui. Les chaînes identiques restent des entrées distinctes, mais l'ajout d'un identifiant permet de les différencier.
Cet outil convient-il à une loterie exigeant une forte sécurité ?
Non. L'algorithme est transparent et reproductible, mais il ne constitue pas un tirage secret ou cryptographiquement sûr.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. Vous pouvez aussi exécuter cette capacité dans votre navigateur sur cette page.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/game/team-shuffle-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}'const res = await fetch("https://api.kit.forhosting.com/game/team-shuffle-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/team-shuffle-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/team-shuffle-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/team-shuffle-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.team_shuffle_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_items | 10000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |