Créer un calendrier de lecture pour un club
Un bon calendrier transforme un livre volumineux en engagements compréhensibles par tous les membres.
Lancer gratuitement
Indiquez le nombre total de pages, le nombre de jours entre les réunions et un rythme quotidien réaliste. Le résultat attribue à chaque rencontre un objectif cumulé et une plage précise de pages, tout en plaçant la dernière étape à la fin du livre. C'est une base pratique pour vos invitations, rappels, débats et calendriers partagés.
Choisissez un rythme tenable pour tout le groupe
Commencez par le nombre réel de pages numérotées dans l'édition utilisée par votre club. Les introductions, annexes et notes peuvent modifier la pagination d'une édition à l'autre ; convenez donc de ce qui compte avant de publier le programme. Indiquez ensuite le nombre de jours qui sépare habituellement deux réunions. Un club bimensuel peut retenir quatorze jours même si le jour de la semaine change parfois. Choisissez enfin un rythme quotidien représentatif du groupe, et non de son lecteur le plus rapide. Le calculateur multiplie ce rythme par l'intervalle entre les réunions afin d'établir chaque objectif cumulé. Douze pages par jour pendant quatorze jours forment ainsi des blocs importants, mais prévisibles. Le rythme peut comporter une décimale lorsqu'une moyenne plus lente convient, mais il doit rester supérieur à zéro. Considérez le résultat comme une base durable. Si les membres connaissent des semaines chargées, voyagent ou lisent d'autres ouvrages, réduisez le rythme avant de partager le programme. Un calendrier modéré que chacun termine nourrit une meilleure discussion qu'un projet ambitieux sans cesse corrigé.
Considérez chaque étape comme une limite de discussion
Chaque étape décrit les pages à terminer avant une réunion donnée. La première page suit l'étape précédente, tandis que la dernière correspond à l'objectif cumulé produit par le rythme quotidien et la fréquence des rencontres. Des limites exprimées en pages entières simplifient la consigne : les membres lisent jusqu'à la page indiquée sans interpréter de fractions. La dernière étape s'arrête au nombre total de pages du livre ; son bloc est donc souvent plus court. Le résultat fournit également les jours écoulés et une durée totale estimée. Ces données servent à planifier, mais ne sont pas des dates : vous pouvez les rattacher à la date de départ de votre choix. Utilisez le numéro de réunion pour associer chaque plage à une personne chargée de l'animer, à un thème ou à des questions. Si une étape tombe à un endroit peu pratique, au milieu d'un chapitre par exemple, déplacez légèrement la limite après examen. Préservez le rythme global en équilibrant le bloc voisin plutôt qu'en ajoutant discrètement une charge excessive.
Adaptez le brouillon aux chapitres et aux vraies pauses
Le calendrier repose volontairement sur les pages, car leur nombre, les intervalles et le rythme s'appliquent de manière cohérente à tout ouvrage. La structure éditoriale reste néanmoins importante. Une fois le brouillon obtenu, comparez chaque page finale avec les fins de chapitre, les changements de partie, les jours fériés et les réunions consacrées à une personne invitée ou à une adaptation cinématographique. Déplacer l'objectif vers la coupure naturelle la plus proche améliore souvent l'échange et évite les révélations involontaires. Si les éditions diffèrent, publiez les titres des chapitres avec les pages et précisez l'édition qui sert de référence. Vous pouvez aussi relancer le calcul pour comparer un rythme hebdomadaire et mensuel, ou mesurer l'effet d'une légère hausse quotidienne sur le nombre d'étapes. Cette capacité est déterministe : les mêmes entrées donnent toujours les mêmes plages, sans accès au réseau ni hypothèse calendaire cachée. Le résultat convient donc à l'automatisation et aux plans reproductibles. L'utilisation dans le navigateur est gratuite ; les requêtes API appliquent le tarif de base actuel de $0.002 pour intégrer ces calendriers à un autre processus.
Cas d’usage
Préparer une nouvelle saison du club
Transformez le livre choisi et le rythme des réunions en plages de pages avant d'envoyer invitations et événements.
Corriger un programme trop ambitieux
Comparez un rythme quotidien plus doux et proposez des étapes accessibles pour la suite du cycle.
Automatiser les rappels de lecture
Exploitez la liste structurée pour préparer des messages récurrents indiquant les pages à finir.
Questions fréquentes
Le calendrier utilise-t-il des dates précises ?
Non. Il indique les jours écoulés pour chaque réunion ; vous pouvez donc le rattacher à toute date de départ sans hypothèse de fuseau horaire.
Que se passe-t-il si le dernier bloc est plus court ?
La dernière étape s'arrête exactement au nombre total de pages et ne contient que celles qui restent.
Le rythme quotidien peut-il comporter une décimale ?
Oui. Une valeur décimale finie et positive est admise, et les objectifs sont exprimés en pages entières.
Pourquoi le rythme doit-il être positif ?
Un rythme nul ou négatif ne permet jamais d'avancer dans le livre et ne peut donc produire un calendrier fini utile.
Chaque étape doit-elle coïncider avec une fin de chapitre ?
Pas automatiquement. Le calcul repose sur les pages ; rapprochez les limites des fins de chapitre si cela améliore l'échange.
Combien coûte une requête API ?
Le tarif de base est de $0.002 par requête. La version pour navigateur peut être utilisée gratuitement.
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/hobby/book-club-schedule-build \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_count":320,"meeting_frequency_days":14,"pages_per_day":12}'const res = await fetch("https://api.kit.forhosting.com/hobby/book-club-schedule-build", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_count": 320,
"meeting_frequency_days": 14,
"pages_per_day": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/book-club-schedule-build",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_count": 320,
"meeting_frequency_days": 14,
"pages_per_day": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/book-club-schedule-build", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_count":320,"meeting_frequency_days":14,"pages_per_day":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_count":320,"meeting_frequency_days":14,"pages_per_day":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/book-club-schedule-build", 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
{
"page_count": 320,
"meeting_frequency_days": 14,
"pages_per_day": 12
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.book_club_schedule_build",
"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_pages | 100000 |
max_checkpoints | 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. |