Comparez le prix par page de deux livres
Un prix de couverture inférieur ne garantit pas un meilleur achat. Ce calculateur divise le prix de chaque livre par son nombre de pages, compare les résultats et indique quelle option fournit davantage de pages pour une même somme.
Lancer gratuitement
Saisissez les deux prix dans la même devise et les paginations des éditions concernées. Vous obtenez le prix par page de chaque ouvrage, l’écart absolu et un gagnant clair ou une égalité.
Pourquoi le prix par page facilite la comparaison
Le prix seul peut être trompeur, car la longueur des livres varie énormément. Un petit format peut coûter moins cher à l’achat tout en revenant nettement plus cher par page qu’une édition volumineuse. Le prix par page place les deux choix sur une base commune : chaque prix est divisé par la pagination correspondante, et le quotient le plus faible représente davantage de contenu imprimé par unité monétaire. Cette mesure convient notamment aux manuels, ouvrages de référence, recueils, cahiers d’exercices et éditions concurrentes. Elle ne suppose pas que toutes les pages ont la même valeur. Le papier, les illustrations, la reliure, les annotations, la traduction et le travail éditorial peuvent justifier un surcoût. Le calcul répond à une question précise : si la quantité de pages compte, quel livre offre le meilleur rapport numérique ? Complétez ce résultat par la qualité, le format et la pertinence.
Comment saisir correctement prix et paginations
Indiquez le montant que vous paieriez réellement pour chaque livre, dans la même devise. Vous pouvez comparer des prix catalogue, remisés, d’occasion ou livrés, à condition d’appliquer le même critère aux deux ouvrages. Saisissez ensuite la pagination de chaque édition sous forme d’entier positif. Les éditions reliées, brochées, en gros caractères, internationales ou révisées peuvent différer malgré un titre identique. Le calculateur refuse les paginations nulles, négatives, fractionnaires, absentes ou non numériques, qui ne décrivent pas un livre valide. Les prix doivent être finis et positifs ou nuls ; zéro convient à un ouvrage réellement gratuit. Les valeurs affichées sont arrondies pour rester lisibles, tandis que le gagnant est déterminé à partir des données initiales afin d’éviter une fausse égalité due à l’arrondi.
Comment lire le résultat et prendre une décision
Le résultat affiche le prix par page des deux livres dans l’unité monétaire saisie, l’écart absolu et le meilleur rapport, ou une égalité. Un faible écart unitaire peut devenir significatif sur plusieurs centaines de pages ; inversement, l’économie peut être trop modeste pour primer sur la reliure ou le contenu. Une égalité signifie que les rapports exacts entre prix et pagination sont identiques, et non que les nombres arrondis se ressemblent. Pour obtenir des comparaisons reproductibles, utilisez soit les prix hors taxes pour les deux ouvrages, soit les totaux définitifs, et traitez les frais de livraison de façon identique. Les systèmes automatisés peuvent envoyer les quatre champs numériques à l’API pour $0.002 par requête afin d’analyser catalogues, achats, sélections pédagogiques ou stocks.
Cas d’usage
Choisir entre deux éditions scolaires
Comparez le prix par page avant d’évaluer les mises à jour, exercices et compléments.
Évaluer un volume collectif
Vérifiez si un grand recueil offre un meilleur rapport qu’une solution plus courte et moins chère.
Examiner un stock de librairie
Ajoutez un indicateur cohérent aux achats et analyses de catalogue disposant des prix et paginations.
Questions fréquentes
Combien coûte la comparaison ?
Le calcul dans votre navigateur est gratuit. Chaque requête API coûte $0.002.
Les deux prix doivent-ils employer la même devise ?
Oui. Le calculateur compare directement les montants et ne convertit pas les devises.
Un livre peut-il avoir un prix nul ?
Oui. Un livre réellement gratuit revient à zéro par page si sa pagination est positive.
Pourquoi exiger un nombre entier positif de pages ?
Un livre ne peut avoir une pagination nulle, négative ou fractionnaire, et la division par zéro est indéfinie.
Comment une égalité est-elle déterminée ?
Elle est annoncée lorsque les rapports exacts prix-pages sont identiques avant l’arrondi affiché.
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/date/book-cost-per-page-compare \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_book_price":18.99,"first_book_pages":320,"second_book_price":24.5,"second_book_pages":480}'const res = await fetch("https://api.kit.forhosting.com/date/book-cost-per-page-compare", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_book_price": 18.99,
"first_book_pages": 320,
"second_book_price": 24.5,
"second_book_pages": 480
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/book-cost-per-page-compare",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_book_price": 18.99,
"first_book_pages": 320,
"second_book_price": 24.5,
"second_book_pages": 480
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/book-cost-per-page-compare", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_book_price":18.99,"first_book_pages":320,"second_book_price":24.5,"second_book_pages":480}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_book_price":18.99,"first_book_pages":320,"second_book_price":24.5,"second_book_pages":480}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/book-cost-per-page-compare", 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
{
"first_book_price": 18.99,
"first_book_pages": 320,
"second_book_price": 24.5,
"second_book_pages": 480
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.book_cost_per_page_compare",
"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. |