Aller au contenu principal
8 min de lecture

État de l'installation

Vérifiez que votre traceur Zenovay fonctionne sans avoir à surveiller le globe en temps réel. Le point de terminaison Install Health renvoie un instantané structuré de l'activité récente du traceur, de l'accessibilité de votre site, de la configuration actuelle « sans cookie » et de la collecte de consentement, ainsi qu'une liste d'actions à entreprendre en cas de problème.

Vous ne pouvez pas ouvrir cette URL directement dans un navigateur. Le point de terminaison requiert un JWT Bearer — ouvrir l'URL dans un nouvel onglet renvoie 401 Missing or invalid authorization header. Les façons prises en charge de consulter le rapport :

  1. Tableau de bord (recommandé) — connectez-vous sur app.zenovay.com, ouvrez votre domaine, puis cliquez sur Paramètres → État de l'installation.
  2. API — appelez le point de terminaison avec un JWT Bearer valide (le jeton de session de votre tableau de bord). Voir la référence API ci-dessous.

Où le trouver

Dans le tableau de bord Zenovay :

  1. Ouvrez la page Domaines et cliquez sur votre domaine.
  2. Ouvrez Paramètres, puis cliquez sur l'onglet État de l'installation.
  3. Le rapport se rafraîchit automatiquement toutes les 30 secondes. Utilisez Actualiser pour forcer une nouvelle vérification.

Lecture de la réponse

Chaque appel renvoie un objet JSON avec les champs suivants :

ChampTypeSignification
last_event_seen_atISO8601 | nullHorodatage le plus récent auquel Zenovay a reçu un événement pour ce site.
minutes_since_last_eventnumber | nullDérivé pratique du champ ci-dessus.
last_event_count_5mnumberPages vues + événements personnalisés reçus au cours des 5 dernières minutes.
last_event_count_24hnumberMême mesure sur les 24 dernières heures.
script_reachableboolean | nullRésultat d'un appel HEAD côté serveur sur votre domaine. null = sonde bloquée ou bac à sable ; false = erreur HTTP ; true = le site répond normalement.
script_versionstring | nullVersion du traceur actuellement servie par Zenovay.
csp_blocking_suspectedbooleanRéservé à une heuristique future ; toujours false en V1.
cookieless_enabledbooleantrue lorsque soit la bascule sans cookie du tableau de bord est activée, soit le HTML servi contient data-cookieless="true" sur la balise script Zenovay. Les SPA qui injectent la balise script depuis un bundle JS séparé (Next.js, chargeurs dynamiques) ne sont pas détectés par l'analyse du HTML — activez explicitement le paramètre du tableau de bord dans ce cas.
consent_recording_activebooleanIndique si la bannière de consentement aux cookies (CMP) est configurée pour ce site. Ce n'est PAS le session replay — l'enregistrement de session est une fonctionnalité Pro+ distincte contrôlée dans Domaine → Paramètres → Rapports.
last_5_event_typesstring[]Les cinq derniers types d'événements personnalisés reçus.
issuesarrayPoints actionnables détectés par le diagnostic — voir ci-dessous.

Couleurs de statut dans le tableau de bord

Les quatre cartes en haut de l'onglet utilisent les seuils suivants :

  • Vert — événements reçus au cours des 5 dernières minutes.
  • Jaune — événements reçus dans la dernière heure mais pas dans les 5 dernières minutes.
  • Rouge — silencieux depuis plus d'une heure, ou aucun événement jamais reçu.

Problèmes fréquents et solutions

Le tableau issues énumère les codes de diagnostic que Zenovay peut renvoyer. Chaque élément porte une severity, un code stable, un message lisible et une fix_url.

CodeSévéritéSignificationAction
awaiting_first_eventinfoLe site a été créé il y a moins de 24 heures et Zenovay n'a pas encore vu d'événement.Rechargez votre site pour envoyer la première page vue.
script_never_installederrorZenovay n'a jamais reçu d'événement pour ce code de suivi.Vérifiez que le script de suivi est présent sur chaque page.
silent_trackererrorL'écart actuel entre les événements est au moins 10× plus long que l'écart typique pour ce site (plancher 6 heures, plafond 7 jours). Ne se déclenche que si le site a reçu ≥5 événements dans les dernières 24 heures — les sites personnels avec un visiteur par jour ne le déclenchent jamais à tort.Vérifiez si la balise script est toujours présente, si un bloqueur de publicité intercepte la requête ou si une Content Security Policy bloque api.zenovay.com.
tracker_quietwarnL'écart actuel est au moins 3× plus long que l'écart typique pour ce site (plancher 1 heure, plafond 24 heures). Ne se déclenche que si le site a reçu ≥10 événements dans les dernières 24 heures ; les sites à faible trafic ne sont délibérément pas avertis.Ouvrez votre site dans un nouvel onglet pour confirmer qu'il continue à tracer. L'avertissement inclut l'écart réel et l'écart typique pour vous aider à juger s'il s'agit d'une vraie panne.
site_not_reachablewarnZenovay a atteint votre site mais a reçu une erreur HTTP.Vérifiez l'état de votre hébergeur.
probe_blockedinfoUne règle réseau ou CSP a bloqué la sonde. Le traceur peut malgré tout fonctionner.Informationnel — comparez avec le compteur d'événements récents.
sandbox_detectedinfoVotre domaine correspond à un motif de développement connu (localhost, *.vercel.app, *.netlify.app, etc.).Comportement attendu pour les environnements de staging.

Besoin de voir exactement ce qui est envoyé ? Activez le Debug Overlay et ajoutez ?zenovay_debug=1 à n'importe quelle URL de votre site. Vous verrez les 20 derniers événements sortants du traceur avec les données personnelles masquées — utile lorsque Install Health signale tracker_quiet et que vous voulez confirmer si une page particulière envoie bien des événements.

Alertes par e-mail (activation par domaine)

Lorsque le diagnostic déclenche une erreur silent_tracker pour votre domaine, Zenovay envoie un e-mail unique au propriétaire du site. Lorsque les événements reprennent, vous recevez un e-mail unique de fin d'alerte. Un seul e-mail maximum par panne — cinq couches de déduplication empêchent le spam :

  1. Le cron tourne toutes les 6 heures, pas toutes les minutes.
  2. Le seuil silent_tracker lui-même nécessite un écart d'au moins 6 heures.
  3. Les sites ayant reçu moins de 5 événements dans les dernières 24 heures ne déclenchent jamais d'alerte (un blog personnel avec une visite par jour ne vous enverra jamais d'e-mail).
  4. Une machine à états interne se déclenche uniquement lors d'une transition (sain → silencieux ou silencieux → sain), jamais lors de cycles de cron consécutifs.
  5. La clé d'idempotence du journal d'e-mails est ancrée à l'horodatage du premier silence de la panne — même un bug de la machine à états ne peut pas envoyer deux e-mails silencieux par panne.

Les domaines sandbox/développement (localhost, *.vercel.app, *.netlify.app, *.pages.dev, *.workers.dev, *.test, *.local) sont entièrement exclus des alertes.

Activez les alertes par domaine dans Domaine → Paramètres → État de l'installation → Alertes par e-mail. Activé par défaut.

Référence API

GET/api/install-health/:trackingCode

Diagnostic authentifié pour un site unique.

URL : https://api.zenovay.com/api/install-health/<VOTRE_CODE> — remplacez <VOTRE_CODE> par votre code (par ex. ZV_AbCdEf...). La définition de route utilise la notation Express :trackingCode, mais le deux-points initial ne fait pas partie de l'URL réelle.

Authentification : JWT Bearer (jeton de session de votre tableau de bord).

Mise en cache : Les réponses sont mises en cache 30 secondes à l'edge pour limiter la charge du polling du tableau de bord.

Confidentialité : Aucune donnée personnelle (adresse IP, chaîne user-agent ou valeur de referrer) n'apparaît dans la réponse — uniquement des compteurs, des indicateurs et des chaînes de type d'événement.

Exemple de requête

curlBash
# L'URL N'A PAS de deux-points initial — remplacez ZV_VOTRE_CODE par
# votre véritable code depuis app.zenovay.com → Domaine → Paramètres.
# Le JWT Bearer est obligatoire ; copiez-le depuis une session de
# tableau de bord connectée via DevTools → Réseau → /api/auth/user.
curl https://api.zenovay.com/api/install-health/ZV_VOTRE_CODE \
-H "Authorization: Bearer $VOTRE_JWT"

Exemple de réponse

200 OKJSON
{
"last_event_seen_at": "2026-05-02T21:15:42.110Z",
"minutes_since_last_event": 0,
"last_event_count_5m": 12,
"last_event_count_24h": 1843,
"script_reachable": true,
"script_version": "v2.0.1",
"csp_blocking_suspected": false,
"cookieless_enabled": true,
"consent_recording_active": false,
"last_5_event_types": ["pageview", "click", "scroll", "form_submit", "outbound_click"],
"issues": []
}

Le point de terminaison est volontairement authentifié. Les codes de suivi sont essentiellement publics (ils sont intégrés au HTML de votre site), donc un diagnostic non authentifié nécessiterait sa propre logique anti-abus. Utilisez le JWT de votre tableau de bord.

Cette page vous a-t-elle été utile ?