Analyse de user agent
L’analyse de user agent décode la chaîne qu’un navigateur envoie à chaque site — cette suite compacte qui identifie le logiciel, sa version, le système d’exploitation et le type d’appareil. Elle traduit ce texte technique en informations lisibles, utile pour lire un journal de serveur, déboguer un affichage ou comprendre qui visite un site.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Anatomie d’une chaîne user agent
Derrière une chaîne comme « Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) … Chrome/124.0 » se cachent plusieurs informations empilées par sédimentation historique : la famille du navigateur, sa version, le système d’exploitation, l’architecture. L’analyse démêle cet écheveau et vous restitue chaque donnée séparément, là où l’œil nu peine à distinguer l’essentiel du bruit hérité des anciennes conventions du web.
Ce que la chaîne dit, ce qu’elle ne prouve pas
Le user agent est déclaratif : il est envoyé par le client et peut être modifié à volonté. Un script, un outil de test ou un robot peuvent annoncer n’importe quel navigateur. L’analyse vous dit ce que la chaîne affirme être ; elle ne certifie pas que c’est vrai. Pour identifier un visiteur ou trancher une question de sécurité, le user agent est un indice parmi d’autres, jamais une preuve.
La chaîne reste sur votre poste
L’analyse s’exécute entièrement dans votre navigateur. La chaîne que vous collez — souvent extraite d’un journal d’accès contenant l’activité de vrais visiteurs — n’est ni transmise, ni enregistrée, ni journalisée sur nos serveurs. Vous décortiquez un user agent sans exposer les données du log dont il provient, ce qui compte pour un webmestre soucieux de la confidentialité de ses visiteurs.
Analyser un journal entier
Sur cette page, l’analyse est gratuite et sans limite, une chaîne à la fois. Pour traiter un fichier de logs complet et dresser la répartition des navigateurs, des systèmes et des appareils, la même analyse s’appelle via l’API, facturée $0.002 par requête en dollars US. Applications mobiles, e-mail et Telegram viendront élargir les canaux.
Cas d’usage
Lire un journal d’accès serveur
Julien parcourt les logs de son site et veut savoir avec quels navigateurs et appareils on le visite. L’analyse transforme des dizaines de chaînes brutes en une répartition claire entre mobile et ordinateur.
Déboguer un affichage capricieux
Un bug d’affichage n’apparaît que chez certains visiteurs. À partir de la chaîne user agent remontée par un client, l’équipe de Studio Lumen SAS identifie le couple navigateur et système en cause et reproduit le problème.
Éclairer une connexion suspecte
Une connexion inhabituelle figure dans les journaux. Décoder son user agent aide à situer l’appareil et le logiciel déclarés, un premier repère avant une analyse plus poussée.
Questions fréquentes
Quelles informations l’analyse extrait-elle ?
La famille et la version du navigateur, le système d’exploitation et sa version, ainsi que le type d’appareil — mobile, tablette ou ordinateur — quand la chaîne le permet. Chaque élément est restitué séparément.
Peut-on se fier au user agent pour la sécurité ?
Avec prudence. La chaîne est déclarée par le client et peut être falsifiée : un robot peut se faire passer pour n’importe quel navigateur. Traitez-la comme un indice, jamais comme une preuve d’identité ou une barrière de sécurité.
La chaîne que je teste est-elle envoyée quelque part ?
Non. L’analyse se fait dans votre navigateur, sur votre appareil. La chaîne saisie n’est ni transmise, ni enregistrée, ni journalisée : elle ne quitte pas votre poste, journaux de visiteurs compris.
Est-ce vraiment gratuit ?
Oui, sans limite ni inscription dans le navigateur, une chaîne à la fois. Pour analyser un fichier de logs via l’API, l’analyse est facturée $0.002 par requête en dollars US, tarif affiché sans abonnement.
Puis-je analyser tout un fichier de logs ?
Sur la page, une chaîne à la fois. Pour traiter un journal complet, l’API accepte les envois en série et renvoie une analyse par ligne, ce qui permet d’en tirer une répartition d’ensemble.
L’analyse détecte-t-elle les bots grâce au user agent ?
En partie seulement. Certains robots s’annoncent franchement, d’autres imitent un vrai navigateur. Le user agent seul ne suffit pas ; distinguer un robot d’un visiteur réel demande de raisonner sur un ensemble de signaux, pas sur cette seule chaîne.
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/verify/user-agent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/user-agent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/user-agent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/user-agent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/user-agent", 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
{
"items": [
"valor-1",
"valor-2"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.user_agent",
"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. |