Budget temps du plan de leçon
Un cours de 50 minutes avec mise en route, enseignement explicite, pratique guidée et billet de sortie pondérés 1, 3, 4 et 2 donne 5, 15, 20 et 10 minutes. Vous fixez l'importance de chaque partie et les minutes totalisent toujours la séance. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Durée (min)
- 50
- Nombre d'activités
- 4
- Somme des poids
- 10
- Minutes
- 5, 15, 20, 10
Les enseignants, les conseillers pédagogiques et les plateformes de curriculum se heurtent sans cesse à la même question de planification : si cette leçon dure cinquante minutes, combien de minutes doivent recevoir l'échauffement, l'instruction directe, la pratique guidée et le billet de sortie ? Les poids relatifs capturent l'intention mieux que des minutes absolues inventées : un bloc peut mériter deux fois plus d'attention qu'un autre avant même de connaître le décompte final. Ce calculateur de budget temps du plan de leçon accepte une durée totale positive en minutes plus une liste ordonnée d'activités nommées avec des poids relatifs non négatifs, puis renvoie des minutes proportionnelles par ligne de sorte que les parts reconstituent la durée de la classe.
Comment fonctionne l'allocation proportionnelle du temps
Un budget temps de plan de leçon traite la période comme un gâteau fixe et chaque activité prévue comme une part dont la taille est fixée par un poids relatif plutôt que par une estimation absolue de minutes. Des poids égaux produisent des minutes égales ; un poids de deux à côté d'un poids de un signifie deux fois plus long, que vous écriviez 2 et 1 ou 10 et 5.
Cette invariance d'échelle est utile lorsqu'une équipe négocie d'abord les priorités et ne fige le horaire de cloche qu'ensuite : changez D de quarante-cinq à soixante et chaque part s'ajuste sans retaper les poids. Un poids zéro est autorisé pour une ligne que vous souhaitez garder sur le plan comme marqueur nommé sans temps dans ce passage ; ce qui est interdit, c'est que tous les poids soient nuls, car la division par une somme nulle est indéfinie.
Les poids négatifs sont rejetés car une part négative d'une période n'a aucun sens en classe. Après la multiplication proportionnelle, l'arrondi en virgule flottante peut laisser un résidu minuscule de sorte que les minutes nettoyées ne somment plus exactement D ; ce point de terminaison absorbe ce résidu dans la dernière activité à poids positif afin que le tableau minutes soit toujours une partition de la durée demandée.
Cas d’usage
Planification de blocs et horaire de cloche
Réallouez les minutes d'échauffement, d'instruction, de pratique et de billet de sortie lorsque la durée de la période change, en gardant les mêmes poids relatifs d'activité.
Modèles de coaching et d'observation
Générez des parts de minutes et des pourcentages planifiés pour les formulaires d'observation afin que le coach compare le temps de parole prévu à l'horloge.
Questions fréquentes
Comment les minutes sont-elles réparties entre les activités ?
Des poids égaux donnent des minutes égales ; un poids double donne un temps double. Les minutes renvoyées somment la durée totale.
Une activité peut-elle avoir un poids zéro ?
Oui. Une ligne à poids zéro garde son nom sur le plan mais reçoit zéro minute. Si tous les poids sont nuls, la requête échoue car la somme des poids diviserait par zéro.
Faut-il des minutes absolues par activité dès le départ ?
Non. Fournissez des poids relatifs et une seule durée totale. Modifiez la durée plus tard et relancez pour mettre à l'échelle chaque activité sans réécrire la structure du plan.
Que se passe-t-il si la durée du cours change ?
Gardez les mêmes poids et changez seulement le total. Chaque activité suit dans la même proportion, donc une séance plus longue ou plus courte garde la même répartition sans rien ressaisir, et des poids 2 et 1 valent 10 et 5.
Les minutes font-elles toujours exactement la durée du cours ?
Oui. Répartir selon des poids peut laisser un minuscule reste d'arrondi, et ce reste revient à la dernière activité de poids supérieur à zéro, si bien que les parties redonnent toujours la séance saisie.
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/lesson-plan-time-budget \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_minutes":50,"activities":[{"name":"Warm-up","weight":1},{"name":"Direct instruction","weight":3},{"name":"Guided practice","weight":4},{"name":"Exit ticket","weight":2}]}'const res = await fetch("https://api.kit.forhosting.com/edu/lesson-plan-time-budget", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_minutes": 50,
"activities": [
{
"name": "Warm-up",
"weight": 1
},
{
"name": "Direct instruction",
"weight": 3
},
{
"name": "Guided practice",
"weight": 4
},
{
"name": "Exit ticket",
"weight": 2
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/lesson-plan-time-budget",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_minutes": 50,
"activities": [
{
"name": "Warm-up",
"weight": 1
},
{
"name": "Direct instruction",
"weight": 3
},
{
"name": "Guided practice",
"weight": 4
},
{
"name": "Exit ticket",
"weight": 2
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/lesson-plan-time-budget", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_minutes":50,"activities":[{"name":"Warm-up","weight":1},{"name":"Direct instruction","weight":3},{"name":"Guided practice","weight":4},{"name":"Exit ticket","weight":2}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_minutes":50,"activities":[{"name":"Warm-up","weight":1},{"name":"Direct instruction","weight":3},{"name":"Guided practice","weight":4},{"name":"Exit ticket","weight":2}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/lesson-plan-time-budget", 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
{
"duration_minutes": 50,
"activities": [
{
"name": "Warm-up",
"weight": 1
},
{
"name": "Direct instruction",
"weight": 3
},
{
"name": "Guided practice",
"weight": 4
},
{
"name": "Exit ticket",
"weight": 2
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.lesson_plan_time_budget",
"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.
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
Une durée non positive et une somme de poids nulle échouent avec invalid_input au lieu d'inventer un emploi du temps.
Comment fonctionne l'allocation proportionnelle du temps
Si duration_minutes vaut D et que l'activité i a le poids w_i, les minutes allouées sont D multiplié par w_i divisé par la somme de tous les poids. La réponse signale aussi share_ratio et percent pour chaque activité afin que les tableaux de bord dessinent le même partage sans recalculer la somme des poids.
Contrat d'entrée, forme de la réponse et erreurs
Le champ activities est un tableau non vide d'objets, chacun avec une chaîne name non vide et un weight numérique fini non négatif. Jusqu'à cent activités sont acceptées sur ce chemin parse gratuit. Un tableau parallèle minutes respecte l'ordre d'entrée pour les scripts qui n'ont besoin que de l'allocation numérique. Les contrôles classiques de classe incluent un bloc de cinquante minutes avec les poids un, trois, quatre et deux pour échauffement, instruction directe, pratique guidée et billet de sortie, ce qui donne cinq, quinze, vingt et dix minutes respectivement. Branchez le formulaire gratuit du navigateur sur un tableau de planification pour un usage humain, et appelez le même contrat depuis un carnet de notes ou un guide de rythme lorsque l'automatisation exige des chiffres identiques. Envoyez en POST un corps JSON avec deux champs obligatoires. Le champ duration_minutes est un nombre fini strictement supérieur à zéro représentant la durée totale de la classe en minutes ; zéro et les valeurs négatives échouent avec invalid_input en nommant le champ. Champs manquants, listes vides, lignes non objets, noms vides, nombres non finis, poids négatifs et somme de poids nulle échouent avec invalid_input et ne sont pas facturés. En cas de succès le corps renvoie duration_minutes, activity_count et weight_sum, ainsi qu'un tableau activities d'objets portant index, name, weight, share_ratio, minutes et percent. Method vaut weighted_time_budget et formula rappelle que minutes_i égale duration_minutes multiplié par weight_i sur la somme des poids. Les appels API réussis utilisent le prix de base publié $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.
Où une API de budget temps de leçon prouve sa valeur
Les outils de coaching intègrent le point de terminaison pour qu'un formulaire d'observation montre si la part planifiée de parole des élèves a collé à l'horloge observée, via percent et minutes issus d'une seule source de vérité. Les équipes de conception pédagogique utilisent un calculateur de budget temps de plan de leçon pour que les modèles multipériodes restent cohérents lorsque le district raccourcit ou allonge l'horaire de cloche : gardez les mêmes poids relatifs et relancez avec le nouveau duration_minutes. Les constructeurs ed-tech évitent d'embarquer leurs propres cas limites de flottants —durée nulle, tous les poids à zéro, arrondi résiduel— car ces chemins sont déjà couverts par invalid_input déterministe ou absorption du résidu.
Cas d'intégration
Automatisation LMS et de rythme
Appelez le même budget temps pondéré depuis des API de carnet de notes ou de curriculum pour que modèles et planificateurs humains ne divergent pas sur les totaux de minutes.
Questions techniques
Que se passe-t-il si la durée totale de la classe est nulle ou négative ?
La tâche échoue avec invalid_input. duration_minutes doit être un nombre fini strictement supérieur à zéro ; les totaux non positifs ne sont pas facturés.
Combien coûte le calculateur de budget temps du plan de leçon ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.