Calculateur de fin d’ordre du jour
Le calculateur d’heure de fin transforme les durées prévues à l’ordre du jour en une heure de clôture précise.
Lancer gratuitement
Indiquez le début de la réunion au format 24 heures, ajoutez en minutes chaque échange, présentation, pause ou séquence de décision, puis obtenez la durée totale planifiée et l’heure de fin calculée. Si l’ordre du jour dépasse minuit, le décalage en jours le signale clairement. Cet outil convient aux organisateurs, animateurs, formateurs et producteurs d’événements qui doivent publier un programme réaliste sans recommencer sans cesse les additions.
Fondez le calcul sur le déroulé réellement prévu
Commencez par l’heure d’ouverture prévue, écrite au format HH:MM sur 24 heures, puis créez une ligne pour chaque partie chronométrée de la séance. Une ligne peut représenter une introduction, une présentation, un échange, un exercice, une pause, une séance de questions, un vote ou une synthèse finale. Attribuez à chaque ligne une durée en minutes entières. Le calculateur additionne toutes les durées, y compris les repères de zéro minute, dans l’ordre fourni, puis applique le total à l’heure de début. Les titres sont facultatifs et servent à reconnaître le programme, sans influencer le calcul. Cette distinction simplifie les modifications : ajustez la durée du point concerné au lieu de recalculer toutes les heures suivantes. Le résultat indique l’heure de début normalisée, l’heure de fin, la durée totale en minutes et le nombre de points inclus. Puisque le calcul repose directement sur les lignes, vous pouvez comparer une version courte et une version complète d’une même séance tout en rendant les hypothèses visibles pour les responsables, les intervenants et les participants.
Interprétez correctement une séance qui dépasse minuit
L’heure de fin affichée suit le même format 24 heures que la saisie. Un décalage en jours distinct supprime toute ambiguïté lorsqu’un long programme franchit minuit. Par exemple, une fin à 01:15 accompagnée d’un décalage de 1 désigne 01:15 le lendemain, et non une heure antérieure le jour du début. Un décalage de 0 signifie que la séance se termine le même jour civil. Les programmes très longs peuvent produire une valeur supérieure à 1, ce qui convient aux exercices sur plusieurs jours ou aux opérations continues, même si la plupart des réunions tiennent dans une journée. Le calculateur n’associe au résultat ni date, ni fuseau horaire, ni règle de changement d’heure, ni paramètres régionaux. Il effectue uniquement un calcul d’horloge : la réponse reste donc déterministe et conserve son sens dans un navigateur, un workflow API, une feuille exportée ou un document de préparation. Si un événement traverse un changement d’heure, définissez d’abord la durée écoulée et la convention locale retenues par votre organisation, puis considérez le résultat comme une estimation de planning et non comme une conversion de fuseau.
Exploitez le résultat pour améliorer planning et automatisation
Une heure de fin calculée est particulièrement utile avant la validation des invitations et des conducteurs. Comparez-la avec la réservation de la salle, les disponibilités des intervenants, les horaires du personnel, le dernier transport ou l’heure de départ promise aux participants. Si la réunion finit trop tard, le total en minutes mesure précisément l’écart : raccourcissez certains points, retirez une séquence ou reportez-la à une autre séance, puis relancez le calcul. Dans un workflow automatisé, transmettez l’heure de début et les lignes structurées chaque fois qu’un ordre du jour est créé ou révisé, et conservez l’heure renvoyée avec le programme source. Une même requête peut alimenter un calendrier, une fiche d’animation, le planning d’un lieu, le conducteur d’un webinaire ou un contrôle d’approbation. Le calcul est déterministe, indépendant du réseau et n’invente aucun temps de transition. Ajoutez donc explicitement l’installation, les relais, les pauses, la marge et la clôture dès qu’ils occupent des minutes. Vous obtiendrez une fin plus crédible et faciliterez l’analyse des écarts avec le déroulement réel. Chaque requête API applique le tarif de base publié de $0.002.
Cas d’usage
Publier une invitation réaliste
Intégrez échanges, pauses et clôture avant d’annoncer une heure de fin fiable dans l’invitation.
Préparer le conducteur d’un atelier
Calculez la fin d’une formation après avoir inclus exercices, présentations, questions et transitions.
Comparer le programme à une réservation
Vérifiez la fin calculée face aux disponibilités de la salle, du studio, de l’animateur ou du personnel avant validation.
Questions fréquentes
Quel format utiliser pour l’heure de début ?
Saisissez une heure valide sur 24 heures au format HH:MM, par exemple 09:30 ou 18:05.
L’ordre du jour peut-il finir après minuit ?
Oui. end_time indique l’heure obtenue et day_offset précise le nombre de passages à minuit sur l’ensemble du programme.
Les pauses sont-elles comprises dans le total ?
Oui, si vous les ajoutez comme points. Procédez de même pour l’installation, les transitions et la marge lorsqu’elles occupent du temps.
Les durées peuvent-elles contenir des fractions de minute ?
Non. Chaque valeur duration_minutes doit être un nombre entier compris entre 0 et 10080.
Le calculateur gère-t-il les dates ou les fuseaux horaires ?
Non. Il effectue un calcul d’horloge déterministe et fournit un décalage en jours, sans appliquer de date, de fuseau ni de changement d’heure.
Quel est le prix d’un calcul par API ?
Chaque requête API applique le tarif de base publié de $0.002. La version pour navigateur peut exécuter localement le même calcul déterministe.
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/biz/agenda-end-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_time":"09:30","agenda_items":[{"title":"Welcome and context","duration_minutes":10},{"title":"Project review","duration_minutes":45},{"title":"Decisions and next steps","duration_minutes":20}]}'const res = await fetch("https://api.kit.forhosting.com/biz/agenda-end-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_time": "09:30",
"agenda_items": [
{
"title": "Welcome and context",
"duration_minutes": 10
},
{
"title": "Project review",
"duration_minutes": 45
},
{
"title": "Decisions and next steps",
"duration_minutes": 20
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/agenda-end-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_time": "09:30",
"agenda_items": [
{
"title": "Welcome and context",
"duration_minutes": 10
},
{
"title": "Project review",
"duration_minutes": 45
},
{
"title": "Decisions and next steps",
"duration_minutes": 20
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/agenda-end-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_time":"09:30","agenda_items":[{"title":"Welcome and context","duration_minutes":10},{"title":"Project review","duration_minutes":45},{"title":"Decisions and next steps","duration_minutes":20}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_time":"09:30","agenda_items":[{"title":"Welcome and context","duration_minutes":10},{"title":"Project review","duration_minutes":45},{"title":"Decisions and next steps","duration_minutes":20}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/agenda-end-time", 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
{
"start_time": "09:30",
"agenda_items": [
{
"title": "Welcome and context",
"duration_minutes": 10
},
{
"title": "Project review",
"duration_minutes": 45
},
{
"title": "Decisions and next steps",
"duration_minutes": 20
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.agenda_end_time",
"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. |