Courbe de notes d’examen
Le calculateur de courbe applique un ajustement uniforme à toute une liste de notes brutes.
Lancer gratuitement
Vous pouvez ajouter des points fixes, étalonner la meilleure note sur le maximum ou choisir une racine carrée qui favorise proportionnellement les résultats faibles. La réponse conserve l’ordre initial, plafonne les valeurs au maximum choisi et arrondit à deux décimales. Le calcul reste ainsi transparent et reproductible, tandis que la décision pédagogique appartient toujours à l’enseignant responsable.
Choisissez une méthode adaptée à votre politique
Une courbe relève d’abord d’une décision d’évaluation. L’ajout de points accorde la même hausse à chaque étudiant et conserve les écarts absolus, sauf au niveau du plafond. L’étalonnage multiplie toutes les notes par un facteur commun afin que la meilleure atteigne le maximum; il convient lorsqu’une épreuve était plus difficile que prévu. La racine carrée améliore proportionnellement davantage les résultats faibles et modifie donc plus fortement les écarts. Vous devez respecter le règlement annoncé du cours et expliquer clairement votre choix, plutôt que de retenir une formule uniquement parce que son résultat paraît plus favorable.
Saisissez les notes et interprétez le résultat
Fournissez une liste non vide de nombres finis et positifs ou nuls, puis sélectionnez une méthode. Pour l’ajout fixe, indiquez aussi le nombre de points; il peut être négatif, mais aucune sortie ne descend sous zéro. Le maximum vaut 100 par défaut et reste modifiable. L’étalonnage divise ce maximum par la meilleure note brute et emploie le quotient comme multiplicateur commun. Une série composée uniquement de zéros ne peut pas être étalonnée. La racine carrée transforme chaque note rapportée au maximum. L’ordre est conservé afin que vous puissiez rattacher les résultats à votre registre autorisé sans transmettre de données personnelles.
Contrôlez l’équité, la précision et la traçabilité
Avant toute publication, examinez la distribution complète. Les points fixes maintiennent les écarts jusqu’à ce que le plafond resserre le haut; l’étalonnage préserve les proportions, mais une note exceptionnelle peut limiter l’effet; la racine carrée transforme davantage les distances. Les valeurs sont arrondies à deux décimales pour rester stables. Conservez la méthode, les paramètres, les notes originales et la justification, puis testez avec des données anonymisées. Cet outil exécute uniquement une arithmétique déterministe: il ne juge pas la pertinence pédagogique, n’attribue pas de lettres et ne remplace pas l’examen du responsable.
Cas d’usage
Corriger une épreuve trop difficile
Étendez les résultats afin que la meilleure note brute atteigne le maximum avec un multiplicateur commun.
Appliquer une hausse uniforme
Ajoutez le même nombre de points à chaque note et plafonnez les résultats au maximum retenu.
Comparer plusieurs politiques
Testez les trois méthodes sur des notes anonymisées avant d’arrêter votre choix.
Questions fréquentes
Quel est le prix du calcul par API?
Chaque requête API coûte $0.002. Le calculateur du navigateur peut aussi effectuer localement le même calcul déterministe.
Que deviennent les notes supérieures au maximum?
Les valeurs ajustées sont plafonnées à maximum_score, fixé à 100 par défaut. L’ajout fixe empêche également toute valeur négative.
Comment fonctionne l’étalonnage sur la meilleure note?
Il divise maximum_score par la meilleure note brute, puis multiplie toutes les notes par ce facteur commun.
Quelle formule emploie la courbe par racine carrée?
Elle prend la racine carrée de la note divisée par maximum_score, puis multiplie le résultat par maximum_score.
Les résultats ajustés sont-ils arrondis?
Oui. Les notes calculées et le facteur d’échelle affiché sont arrondis à deux décimales afin de stabiliser la sortie.
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/test-curve-adjust \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"scores":[64,81,90],"method":"square_root_curve"}'const res = await fetch("https://api.kit.forhosting.com/edu/test-curve-adjust", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"scores": [
64,
81,
90
],
"method": "square_root_curve"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/test-curve-adjust",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"scores": [
64,
81,
90
],
"method": "square_root_curve"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/test-curve-adjust", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"scores":[64,81,90],"method":"square_root_curve"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"scores":[64,81,90],"method":"square_root_curve"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/test-curve-adjust", 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
{
"scores": [
64,
81,
90
],
"method": "square_root_curve"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.test_curve_adjust",
"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 | 1000 |
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. |