Calculateur de temps de téléchargement
Estimez le temps de transfert d'un fichier : 10 MB sur une ligne à 10 Mbps prennent 8 secondes, et non 1, car le débit se compte en bits et le fichier en octets. Unités décimales et binaires acceptées. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taille
- 10
- Unité de taille
- MB
- Vitesse
- 10
- Unité de vitesse
- Mbps
- Secondes
- 8
- Heures
- 0
- Minutes
- 0
- Secondes restantes
- 8
gratuit en ligne
Pourquoi bits et octets changent la réponse
Les débits de connexion sont presque toujours annoncés en bits par seconde, alors que les fichiers se mesurent en octets, et ce mélange est la cause la plus fréquente d'une estimation fausse. Un octet vaut huit bits : les débits en bits par seconde, comme bps, Kbps, Mbps ou Gbps, sont donc divisés par huit pour obtenir des octets par seconde, tandis que les débits déjà exprimés en octets par seconde sont utilisés tels quels. C'est pourquoi 10 MB sur une ligne à 10 Mbps prennent 8 secondes et non une : 10 mégaoctets font 80 mégabits. Sans réglage, la taille est lue en MB et le débit en Mbps, comme pour les offres grand public.
Les unités de fichier et la lecture du résultat
Les tailles de fichier se répartissent en deux familles. Les unités décimales KB, MB, GB et TB progressent par puissances de 1000 : un MB vaut 1 000 000 d'octets. Les unités binaires KiB, MiB, GiB et TiB progressent par puissances de 1024 : un MiB vaut 1 048 576 octets. Le résultat donne la durée totale en secondes, arrondie à trois décimales, la même durée en heures, minutes et secondes, et une étiquette courte comme 1h 5m 3s, ou simplement 8s pour un transfert rapide. Il affiche aussi la taille en octets et le débit en octets par seconde pour vérifier la conversion. Utilisez-le avant une sauvegarde ou pour comparer des offres.
Des secondes à une durée lisible
Il découpe le total en heures et minutes entières et une valeur secs fractionnaire, en reportant correctement les dépassements de sorte qu'un secs qui atteint 60 passe en minutes et qu'un minutes qui atteint 60 passe en heures.
Le champ human est assemblé à partir de ces éléments : il affiche les heures seulement lorsqu'elles sont présentes (par exemple 1h 5m 3s), les minutes et les secondes en dessous d'une heure, et seulement les secondes pour les transferts courts, exactement comme l'exemple de référence transforme 10 MB à 10 Mbps en seconds 8 et human 8s.
Cela vous donne à la fois une durée numérique précise pour des calculs ultérieurs et une étiquette compacte prête à afficher dans une interface ou une ligne de journal, sans aucun formatage propre à une locale.
Cas d’usage
Dimensionner un transfert
Estimez combien de temps prendra une sauvegarde, une image ISO ou un fichier multimédia sur une connexion donnée avant de le lancer, en utilisant les unités dans lesquelles votre bande passante est annoncée.
Planification de la bande passante
Comparez les durées entre différents paliers en Mbps ou liens en octets par seconde pour justifier une montée en gamme, en lisant les octets par seconde résolus pour vérifier le calcul.
Questions fréquentes
Pourquoi 10 MB à 10 Mbps prennent-ils 8 secondes, et non 1 ?
Mbps signifie mégabits par seconde ; l'outil divise les vitesses en bits par 8. 10 MB font 80 mégabits, donc à 10 Mbps cela fait 8 secondes.
Qu'est-ce que le champ human ?
Une chaîne de durée lisible comme 8s ou 1h 5m 3s, construite à partir de la décomposition en heures, minutes et secs avec un report correct.
Tient-il compte de la surcharge ou de la latence ?
Non. Il ne modélise que le débit idéal, les transferts réels peuvent donc être plus lents. Les entrées sont validées et les résultats sont déterministes.
Quelle différence entre MB et MiB pour la taille d'un fichier ?
Le MB est une unité décimale de 1 000 000 d'octets, alors que le MiB est binaire et vaut 1 048 576 octets. Choisissez l'unité dans laquelle la taille de votre fichier est réellement affichée, car l'autre décale l'estimation.
Comment comparer les temps de téléchargement entre offres internet ?
Gardez la même taille de fichier et ne changez que le débit, par exemple d'une offre en Mbps à l'autre. L'outil affiche aussi la taille en octets et le débit en octets par seconde, pour que vous puissiez vérifier la conversion de chaque estimation.
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/dev/download-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"size":10,"speed":10}'const res = await fetch("https://api.kit.forhosting.com/dev/download-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"size": 10,
"speed": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/download-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"size": 10,
"speed": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/download-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"size":10,"speed":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"size":10,"speed":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/download-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
{
"size": 10,
"speed": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.download_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. |
Notes techniques
Estime la durée d'un transfert en convertissant la taille (avec size_unit) en octets et la vitesse (avec speed_unit) en octets par seconde, en divisant pour obtenir des secondes, et en renvoyant une décomposition h/m/s ainsi qu'une chaîne lisible par un humain.
Unités : décimales, binaires, bits et octets
La taille est lue avec size_unit, qui accepte les unités décimales B, KB, MB, GB et TB (puissances de 1000) ainsi que les unités binaires KiB, MiB, GiB et TiB (puissances de 1024), de sorte qu'un MB fait 1 000 000 d'octets tandis qu'un MiB fait 1 048 576. La vitesse est lue avec speed_unit et gère la distinction bit/octet qui fausse la plupart des estimations : les unités en bits par seconde bps, Kbps, Mbps et Gbps sont divisées par 8 pour atteindre des octets par seconde, tandis que les unités en octets par seconde Bps, KBps, MBps et GBps sont utilisées directement. C'est pourquoi 10 MB sur une ligne à 10 Mbps ne prend pas une seconde mais huit : 10 MB font 80 mégabits. Les valeurs par défaut sont MB pour la taille et Mbps pour la vitesse, conformément à la manière dont la bande passante grand public est habituellement annoncée, et la sortie rapporte les size_bytes et speed_bytes_per_sec résolus pour que vous puissiez vérifier la conversion.
Des secondes à une durée lisible
Après conversion, l'outil calcule size_bytes divisé par speed_bytes_per_sec pour obtenir les secondes brutes, puis les arrondit à trois décimales dans le champ seconds.
Validation, arrondi et déterminisme
La taille et la vitesse doivent toutes deux être des nombres finis strictement supérieurs à zéro, et size_unit et speed_unit doivent être l'une des clés énumérées ; une unité inconnue ou un nombre non positif déclenche une erreur typée invalid_input nommant le problème, et une vitesse effective nulle est protégée contre la division par zéro. Le calcul est un modèle pur du débit idéal, sans surcharge de protocole, latence, congestion ni montée en charge, ce qui le garde entièrement déterministe : des entrées identiques donnent toujours un JSON identique.
Cas d'intégration
Estimations in-app via l'API
Appelez le point de terminaison pour afficher aux utilisateurs une estimation en direct du type « environ 8s », en injectant le champ human directement dans l'interface.
Questions techniques
Prend-il en charge les unités binaires comme MiB et GiB ?
Oui. size_unit accepte les décimales B/KB/MB/GB/TB (x1000) et les binaires KiB/MiB/GiB/TiB (x1024) ; speed_unit couvre de bps à Gbps et de Bps à GBps.
L'outil de navigateur est-il gratuit ?
Oui, le widget est gratuit (tier A). L'API fonctionne sur solde KIT prépayé à partir de $0.002, ne facturant que les tâches réussies.