Répartissez une classe en groupes d'étude équilibrés
Dix élèves avec une cible de trois forment quatre groupes de 3, 3, 2 et 2, et non trois trios et un élève seul. Collez la liste dans l'ordre voulu et choisissez la taille des groupes ; les noms gardent leur ordre. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taille de groupe visée
- 3
- Taille de la liste
- 10
- Nombre de groupes
- 4
Transformez une liste de classe en groupes d'étude pratiques et équilibrés, sans compter les noms ni corriger manuellement un dernier groupe trop petit. Indiquez la liste ordonnée et l'effectif que vous préférez. Le calculateur détermine le nombre de groupes nécessaire, attribue chaque élève une seule fois et limite à une personne l'écart entre le plus grand et le plus petit groupe. Le résultat présente clairement chaque groupe numéroté, son effectif et ses membres, prêt à être intégré à un cours, un message ou un système de gestion pédagogique.
Préparez la liste et choisissez un effectif adapté
Saisissez un nom d'élève par élément et placez les noms dans l'ordre que l'attribution doit suivre. L'outil conserve cet ordre : il ne mélange pas les personnes, ne les classe pas et ne déduit aucune information les concernant. Le résultat reste ainsi prévisible lorsque vous avez déjà organisé la liste par ordre alphabétique ou selon un projet pédagogique distinct.
Indiquez ensuite le nombre d'élèves souhaité par groupe. Considérez cette valeur comme un objectif plutôt que comme une garantie absolue. L'effectif total n'est pas toujours divisible par la valeur demandée ; certains groupes peuvent donc être légèrement plus petits afin que l'ensemble demeure équilibré.
La valeur doit être un entier positif et ne peut pas dépasser l'effectif de la liste. Vérifiez qu'aucune entrée n'est vide, puisque chacune représente une place réelle. Les homonymes sont volontairement conservés ; ajoutez une initiale ou un autre repère respectueux si une distinction est nécessaire.
Comprenez le calcul des effectifs équilibrés
Le calculateur divise d'abord le nombre d'élèves par l'effectif cible, puis arrondit au nombre supérieur pour déterminer combien de groupes sont nécessaires. Il répartit ensuite toute la liste entre ces groupes de la manière la plus uniforme possible. Les groupes les plus grands figurent en premier et l'écart entre deux groupes ne dépasse jamais un élève.
Par exemple, une liste de dix personnes avec une cible de trois nécessite quatre groupes. Au lieu de produire trois groupes de trois et un dernier groupe d'une seule personne, l'outil crée des groupes de trois, trois, deux et deux. Les membres sont prélevés successivement dans la liste fournie et chaque nom apparaît exactement une fois.
La réponse précise l'effectif initial, la cible demandée, le nombre réel de groupes et une liste numérotée indiquant l'effectif et les membres de chacun. Cette structure explicite simplifie le contrôle et permet à un autre système d'exploiter le résultat sans analyser un texte mis en forme.
Employez le résultat avec discernement
Copiez les groupes numérotés dans un plan de cours, une classe virtuelle, un programme de salles de discussion ou une fiche imprimée. Comme l'opération est déterministe, la même liste et la même cible donnent toujours le même résultat, ce qui facilite la vérification ou la reproduction d'une organisation. L'outil résout le calcul des effectifs équilibrés, mais il n'évalue ni les besoins éducatifs, ni les affinités, ni l'accessibilité, ni la maîtrise linguistique, ni l'assiduité, ni les objectifs d'apprentissage.
Vous devez donc examiner la proposition et effectuer des ajustements réfléchis lorsque ces facteurs comptent. Après une modification manuelle, vérifiez que chaque élève apparaît toujours une seule fois et que les effectifs restent adaptés. Pour un cours récurrent, décidez si l'ordre de la liste doit être conservé ; si vous souhaitez renouveler les groupes, réorganisez la liste selon une procédure approuvée avant le calcul.
Aucun service réseau, hasard ou horaire actuel n'influence le résultat.
Cas d’usage
Préparer une activité en classe
Transformez la liste de présence en groupes équilibrés pour une discussion, un laboratoire ou un exercice collectif.
Organiser des salles de discussion
Produisez une liste structurée de groupes réguliers à reporter dans le programme d'un cours en ligne.
Automatiser la gestion du cours
Envoyez des listes depuis un processus pédagogique et recevez des attributions prévisibles dans un format exploitable.
Questions fréquentes
Que se passe-t-il si la liste ne se divise pas exactement ?
L'outil crée le nombre de groupes requis et répartit les élèves afin que le plus grand et le plus petit diffèrent au maximum d'une personne.
L'outil mélange-t-il les noms ?
Non. Il conserve l'ordre de la liste et attribue des noms consécutifs à chaque groupe numéroté.
Les noms en double sont-ils acceptés ?
Oui. Les entrées sont conservées à l'identique, doublons compris. Ajoutez une initiale ou un repère respectueux en cas d'ambiguïté.
Combien de groupes sont formés ?
Le nombre d'élèves divisé par la taille cible, arrondi à l'unité supérieure. Dix élèves avec une cible de trois demandent quatre groupes, et le résultat présente chaque groupe numéroté avec sa taille et ses membres.
La taille des groupes peut-elle dépasser l'effectif de la classe ?
Non. La taille souhaitée doit être un nombre entier positif et ne peut pas dépasser le nombre d'élèves de la liste. Voyez-la comme une cible : certains groupes peuvent compter un élève de moins pour garder l'équilibre.
Outils associés
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/edu/study-group-size-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"roster":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace","Hugo","Iris","Jonah"],"target_group_size":3}'const res = await fetch("https://api.kit.forhosting.com/edu/study-group-size-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"roster": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace",
"Hugo",
"Iris",
"Jonah"
],
"target_group_size": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/study-group-size-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"roster": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace",
"Hugo",
"Iris",
"Jonah"
],
"target_group_size": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/study-group-size-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"roster":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace","Hugo","Iris","Jonah"],"target_group_size":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"roster":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace","Hugo","Iris","Jonah"],"target_group_size":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/study-group-size-split", 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
{
"roster": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace",
"Hugo",
"Iris",
"Jonah"
],
"target_group_size": 3
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.study_group_size_split",
"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. |
Notes techniques
Employez le résultat avec discernement
Le navigateur convient à un usage ponctuel, tandis que l'API à $0.002 par requête permet des processus administratifs répétables.
Questions techniques
La cible peut-elle dépasser l'effectif de la classe ?
Non. Cette saisie renvoie une erreur invalid_input, car l'effectif cible ne peut pas dépasser celui de la liste.
Quel est le prix d'une requête API ?
Chaque requête API coûte $0.002. Vous pouvez aussi exécuter gratuitement le même calcul déterministe dans le navigateur.