Classez une série par publication ou chronologie
Une longue série peut proposer deux parcours tout aussi valables : l'ordre dans lequel les lecteurs ont découvert les livres et celui des événements dans l'univers fictif.
Lancer gratuitement
Cet outil reçoit chaque titre avec ses deux numéros et renvoie une liste nette selon votre choix. Utilisez la publication pour préserver l'expérience d'origine, ou la chronologie pour suivre l'histoire de l'événement le plus ancien au plus récent.
Choisissez l'expérience de lecture recherchée
L'ordre de publication et l'ordre chronologique répondent à des questions différentes. Le premier suit la manière dont l'auteur et l'éditeur ont présenté les livres : révélations, évolution du style et surprises d'une préquelle apparaissent donc comme le public initial les a découvertes. Le second suit la frise interne et place les préquelles ou les volumes à temporalité décalée là où leurs événements surviennent. Avant le tri, déterminez si vous privilégiez l'expérience éditoriale ou un récit temporel continu. Saisissez chaque livre sur une ligne avec son titre, sa position de publication et sa position chronologique, puis choisissez le critère. Le résultat conserve les deux nombres afin que vous puissiez contrôler le classement. L'outil ne prétend pas qu'un parcours est meilleur : il applique vos données et laisse votre source, la recommandation de l'éditeur ou votre chronologie documentée faire autorité.
Préparez des numéros de séquence fiables
Chaque livre doit posséder un titre non vide et deux entiers positifs. Le numéro de publication décrit sa sortie par rapport aux autres volumes ; le numéro chronologique indique la place de ses événements principaux dans l'univers. Ajoutez nouvelles, préquelles, récits annexes et dérivés si vous souhaitez les intégrer, ou omettez-les pour limiter la liste à la série principale. Les nombres peuvent comporter des écarts : 10, 20 et 30 sont parfaitement valables. Si deux entrées partagent le nombre sélectionné, leur ordre de saisie est conservé. Cette stabilité convient aux histoires simultanées ou regroupées par une source. La capacité valide chaque ligne avant le tri. Une liste absente ou vide, un titre blanc, une position décimale, zéro, une valeur négative ou un critère inconnu produit une erreur explicite, plutôt qu'une liste vraisemblable mais trompeuse.
Exploitez le résultat dans vos programmes et guides
La réponse contient le critère choisi et un tableau ordonné de livres. Chaque ligne conserve le titre et les deux numéros ; vous pouvez donc afficher le résultat, le copier dans un suivi de lecture ou comparer les parcours en exécutant deux fois les mêmes données. Pour un club de lecture, la publication préserve les surprises liées à l'histoire des sorties. Pour une relecture, la chronologie peut faire ressortir des causes et conséquences autrefois présentées dans le désordre. Bibliothèques, libraires, critiques et responsables de sites de passionnés peuvent aussi maintenir des recommandations cohérentes lorsqu'une préquelle paraît. L'algorithme n'utilisant ni réseau, ni hasard, ni date actuelle, une entrée identique donne toujours la même sortie. Le service ne recherche pas les métadonnées et ne tranche pas les chronologies contestées : réglez ces choix dans vos données, puis appliquez le classement final pour $0.002 par requête API.
Cas d’usage
Préparer une première lecture
Classez la série par publication afin de découvrir révélations et préquelles comme le public initial.
Construire une relecture chronologique
Placez chaque roman et nouvelle fournis à sa position dans la frise de l'univers.
Tenir un guide de série
Produisez une liste reproductible lorsqu'un nouveau volume modifie les sorties ou la chronologie.
Questions fréquentes
Quels critères de classement sont acceptés ?
Utilisez publication pour les sorties ou chronological pour la chronologie interne. Toute autre valeur renvoie une erreur de saisie.
L'outil recherche-t-il les dates ou les informations de la série ?
Non. Il trie uniquement les titres et numéros que vous fournissez, sans consultation du réseau.
Que se passe-t-il si deux livres ont le même numéro ?
Ils conservent l'ordre relatif qu'ils avaient dans votre liste d'entrée.
Les numéros doivent-ils être consécutifs ?
Non. Ils doivent seulement être des entiers positifs ; les écarts sont autorisés.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. La version pour navigateur s'exécute localement 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/life/book-series-reading-order \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}'const res = await fetch("https://api.kit.forhosting.com/life/book-series-reading-order", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"books": [
{
"title": "The First Published Tale",
"publication_order": 1,
"chronological_order": 3
},
{
"title": "The Ancient Prelude",
"publication_order": 3,
"chronological_order": 1
},
{
"title": "The Middle Years",
"publication_order": 2,
"chronological_order": 2
}
],
"order_type": "chronological"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/book-series-reading-order",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"books": [
{
"title": "The First Published Tale",
"publication_order": 1,
"chronological_order": 3
},
{
"title": "The Ancient Prelude",
"publication_order": 3,
"chronological_order": 1
},
{
"title": "The Middle Years",
"publication_order": 2,
"chronological_order": 2
}
],
"order_type": "chronological"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/book-series-reading-order", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"books":[{"title":"The First Published Tale","publication_order":1,"chronological_order":3},{"title":"The Ancient Prelude","publication_order":3,"chronological_order":1},{"title":"The Middle Years","publication_order":2,"chronological_order":2}],"order_type":"chronological"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/book-series-reading-order", 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
{
"books": [
{
"title": "The First Published Tale",
"publication_order": 1,
"chronological_order": 3
},
{
"title": "The Ancient Prelude",
"publication_order": 3,
"chronological_order": 1
},
{
"title": "The Middle Years",
"publication_order": 2,
"chronological_order": 2
}
],
"order_type": "chronological"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.book_series_reading_order",
"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. |