Données mobiles restantes
Sur un forfait de 10240 Mo, vidéo, cartes, réseaux sociaux et courrier totalisant 3470 Mo laissent 6770 Mo, soit environ 33,9 % utilisés. Notez ce que vous avez consommé face au plafond du mois et voyez ce qui reste, ligne par ligne. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Limite (Mo)
- 10 240
- Nombre d'entrées
- 4
- Utilisé (Mo)
- 3 470
- Restant (Mo)
- 6 770
- Pourcentage utilisé
- 33,8867
Un calculateur mensuel de consommation de données mobiles répond à une question pratique avant de partager l'ordinateur, de lancer un long appel vidéo ou de confier un point d'accès à un enfant : après ces lignes d'usage, combien de mégaoctets restent sur le forfait, et quel pourcentage de l'enveloppe est déjà parti ? Les voyageurs en itinérance sur une SIM prépayée, les parents qui partagent un pool familial, les équipes de terrain sur une ligne professionnelle plafonnée et les supports qui citent le volume restant ont besoin d'une réponse déterministe qui n'ouvre pas le compte opérateur et ne scrape pas le portail de facturation. Ce calculateur accepte un plafond mensuel en mégaoctets et une ou plusieurs lignes d'usage également en mégaoctets, additionne le consommé, le soustrait du plafond et renvoie les données restantes plus le pourcentage utilisé.
Comment le volume restant et le pourcentage utilisé sont calculés
Partez d'une enveloppe mensuelle de données mobiles déjà exprimée en mégaoctets. Le calculateur ne convertit ni les gigaoctets, ni les kibioctets, ni les unités marketing ; vous décidez si dix gigaoctets valent dix mille ou dix mille deux cent quarante mégaoctets, puis vous transmettez ce nombre comme plafond. Pour chaque ligne d'usage, prenez une quantité finie non négative dans la même unité mégaoctet.
Les libellés facultatifs nomment la ligne à l'écran, par exemple streaming, cartes ou une session de point d'accès, mais seules les quantités entrent dans l'arithmétique. Le total utilisé est la somme de toutes les quantités d'usage. Le pourcentage utilisé vaut le total utilisé divisé par le plafond, puis multiplié par cent.
Lorsque le reste est nul ou positif, le forfait a encore de la marge ; lorsqu'il est strictement négatif, l'enveloppe est dépassée et le dépassement est la valeur absolue du reste. Les lignes à zéro mégaoctet sont acceptées et ne changent pas le total, ce qui convient à une journée sans trafic. Les quantités d'usage négatives sont rejetées, car une ligne d'usage ne peut pas décrire un remboursement de mégaoctets dans ce produit.
Un plafond de zéro ou moins est aussi rejeté, car le pourcentage utilisé diviserait par zéro.
Cas d’usage
Pack d'itinérance prépayé
Saisissez votre plafond mensuel en mégaoctets et chaque session de point d'accès ou de vidéo ; suivez les mégaoctets restants et arrêtez-vous avant d'épuiser le pack.
Point famille sur le forfait partagé
Les parents publient les totaux de chaque enfant face à un plafond commun pour que chacun voie le même volume utilisé, le reste et le pourcentage consommé.
Questions fréquentes
Comment fonctionne le calculateur de consommation de données mobiles ?
Envoyez un plafond mensuel en mégaoctets et une liste non vide de quantités d'usage en mégaoctets.
Une ligne d'usage peut-elle valoir zéro ?
Oui. Un jour ou une application à 0 MB est autorisé.
Faut-il un libellé sur chaque ligne d'usage ?
Non. Les libellés sont facultatifs. Les nombres nus sont traités comme des quantités en mégaoctets, et les lignes sans libellé reçoivent des noms stables tels que Entry 1 à l'écran.
Que se passe-t-il si j'ai déjà dépassé mon forfait du mois ?
Le reste devient négatif et le dépassement correspond à cette valeur sans le signe. Vous savez ainsi de combien de mégaoctets vous avez dépassé le forfait avant l'arrivée de la facture.
Le calcul convertit-il les gigaoctets en mégaoctets ?
Non. Saisissez le forfait mensuel directement en mégaoctets. C'est à vous de décider si un gigaoctet vaut 1000 Mo ou si vos 10 Go valent 10240 Mo, et chaque ligne suit la même unité.
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/life/data-usage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"limit_mb":10240,"usage":[{"label":"Streaming","amount":2400},{"label":"Maps","amount":180},{"label":"Social","amount":850},{"label":"Email","amount":40}]}'const res = await fetch("https://api.kit.forhosting.com/life/data-usage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"limit_mb": 10240,
"usage": [
{
"label": "Streaming",
"amount": 2400
},
{
"label": "Maps",
"amount": 180
},
{
"label": "Social",
"amount": 850
},
{
"label": "Email",
"amount": 40
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/data-usage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"limit_mb": 10240,
"usage": [
{
"label": "Streaming",
"amount": 2400
},
{
"label": "Maps",
"amount": 180
},
{
"label": "Social",
"amount": 850
},
{
"label": "Email",
"amount": 40
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/data-usage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"limit_mb":10240,"usage":[{"label":"Streaming","amount":2400},{"label":"Maps","amount":180},{"label":"Social","amount":850},{"label":"Email","amount":40}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"limit_mb":10240,"usage":[{"label":"Streaming","amount":2400},{"label":"Maps","amount":180},{"label":"Social","amount":850},{"label":"Email","amount":40}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/data-usage", 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
{
"limit_mb": 10240,
"usage": [
{
"label": "Streaming",
"amount": 2400
},
{
"label": "Maps",
"amount": 180
},
{
"label": "Social",
"amount": 850
},
{
"label": "Email",
"amount": 40
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.data_usage",
"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
Les valeurs d'usage négatives sont rejetées en invalid_input et ne sont pas facturées.
Comment le volume restant et le pourcentage utilisé sont calculés
Les données restantes, renvoyées comme remaining_mb, valent le plafond mensuel moins ce total. L'arrondi est fixé à douze décimales pour les champs mégaoctets et à quatre décimales pour les pourcentages, afin que les goldens du navigateur et de l'API restent stables d'un runtime à l'autre sans bruit de virgule flottante sur des sommes simples.
Contrat d'entrée, forme de la réponse et erreurs
Chaque ligne peut être un nombre nu traité comme quantité, ou un objet avec amount obligatoire et label facultatif. Exemple : un forfait de dix mille deux cent quarante mégaoctets avec le streaming à deux mille quatre cents, les cartes à cent quatre-vingts, les réseaux sociaux à huit cent cinquante et l'e-mail à quarante donne trois mille quatre cent soixante-dix mégaoctets utilisés et six mille sept cent soixante-dix mégaoctets restants, soit environ trente-trois virgule neuf pour cent utilisés. Les listes de plus de cinq cents lignes sont rejetées pour borner le travail pure-parse. Envoyez par POST un corps JSON avec deux champs obligatoires : limit_mb, un nombre fini de mégaoctets strictement positif, et usage, un tableau non vide de lignes d'usage. Amount accepte aussi des alias courants comme mb, value ou used ; le champ de liste accepte les alias entries, usage_mb, amounts et items. Le champ de plafond accepte les alias monthly_limit, limit, allowance, quota et plan_mb afin que les scripts réutilisent le vocabulaire des tableaux de bord opérateurs. En cas de succès, le corps renvoie le plafond, le nombre de lignes, chaque ligne avec un libellé stable, une quantité arrondie et le reste courant après cette ligne, plus used_mb, remaining_mb, percent_used, percent_remaining, over_limit, overage_mb, une chaîne de formule, un message lisible et des étapes ordonnées pour les feuilles de calcul. Si une liste du même style dépasse le plafond, over_limit vaut true et overage_mb indique de combien vous avez dépassé le cap : c'est encore une réponse de succès, pas une erreur, car le dépassement du forfait est une question à laquelle le calculateur répond. Plafond manquant, usage vide, nombres non finis ou toute valeur d'usage négative échouent en invalid_input en nommant le champ et ne sont pas facturés. Les appels API réussis utilisent la base publiée de $0.002 par élément.
Où un calculateur de consommation de données est utile
Les voyageurs prépayés tiennent une liste courante des sessions de point d'accès et des appels vidéo pour voir les mégaoctets restants avant qu'un téléchargement à la porte d'embarquement n'épuise le reste d'un pack d'itinérance. Les parents qui partagent un forfait familial saisissent les totaux de chaque enfant et cessent de partager la connexion lorsque le pourcentage utilisé franchit un seuil du foyer. Gardez les requêtes petites, figez les totaux arrondis dans les tests, et vous obtenez un volume restant reproductible pour listes téléphone, greffons LMS et workers en bordure, sans monter une intégration opérateur. Les petits bureaux avec des SIM professionnelles plafonnées envoient des lignes quotidiennes à un robot qui signale over_limit avant qu'une tablette de terrain ne lance une mise à jour imprévue. Les séquences scolaires d'éducation numérique donnent des exercices de volume restant ; une API avec le reste courant après chaque ligne permet de voir quelle session a d'abord franchi le plafond mensuel. Les scripts d'automatisation qui planifient des mises à jour de micrologiciel ou des sauvegardes cloud peuvent interrompre une tâche lorsque remaining_mb deviendrait négatif. Comme l'implémentation est pure parse de palier A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant.
Cas d'intégration
Automatisation d'une SIM pro plafonnée
Des scripts envoient des lignes d'usage quotidiennes contre une enveloppe professionnelle et stoppent mises à jour ou sauvegardes lorsque over_limit passe à true.
Questions techniques
Que se passe-t-il si je dépasse mon plafond mensuel de données ?
L'appel réussit quand même. remaining_mb est négatif, over_limit vaut true et overage_mb indique de combien vous avez dépassé le cap. Dépasser le forfait n'est pas traité comme invalid_input.
Combien coûte le calculateur de consommation de données ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.