Vue d’ensemble
PayCal inclut une couche de diagnostics intégrée appelée Phantom Wing. Par défaut, elle est presque entièrement silencieuse : elle ne capture que les erreurs graves non gérées et n’envoie jamais rien sans votre consentement explicite.
Si vous rencontrez un problème et souhaitez partager plus de contexte avec le support, vous pouvez activer des diagnostics supplémentaires dans Paramètres - Débogage (optionnel). Chaque réglage est indépendant; vous pouvez activer seulement celui qui est utile. Les trois sont désactivés par défaut.
Les trois contrôles optionnels
Chaque contrôle se trouve dans le panneau Débogage (optionnel) au bas de la page Paramètres. Ils servent uniquement au dépannage; les activer peut légèrement ralentir les interactions parce que le navigateur effectue du travail supplémentaire.
| Réglage | Ce qu’il active | Qui le voit |
|---|---|---|
| Messages de console | Émet des avertissements, des journaux d’information et des marqueurs de performance dans la console développeur du navigateur. Pour l’autodiagnostic, ouvrez DevTools et cherchez les messages préfixés par [PayCal]. |
Vous seulement : console du navigateur, jamais transmis. |
| Diagnostics détaillés | Active la journalisation interne étape par étape. Phantom Wing capture les cycles de vie des opérations dans un journal en mémoire inclus seulement dans un rapport de support que vous choisissez de partager. | Vous seulement, sauf si vous partagez un rapport de support. |
| Aperçus réseau | Journalise les temps des requêtes API, les tailles de réponse et l’utilisation éventuelle du groupement ou du cache. Utile pour diagnostiquer la lenteur d’opérations précises. | Vous seulement : console du navigateur, jamais transmis. |
Ce que Phantom Wing fait par défaut
Même lorsque les trois contrôles sont désactivés, Phantom Wing exécute un moniteur léger qui capture seulement les défaillances graves :
- Exceptions JavaScript non interceptées (
window.onerror) - Rejets de promesses non gérés
- Appels fetch qui échouent par erreur réseau, et non les erreurs HTTP gérées par fonctionnalité
Ces données de base restent entièrement en mémoire et ne sont jamais transmises. Elles apparaissent sous forme de résumé d’une seconde dans la console du navigateur au chargement de la page, puis sont supprimées.
// Baseline output when all clear (console, diagnostics off): [PHANTOM WING] All clear - no errors or warnings detected. // Baseline output when issues exist: [PHANTOM WING] Error Summary Total issues: 2 across 2 grouped location(s). WARN 1: FormSubmit timed out after 8000ms ERROR 1: Uncaught TypeError in calendar renderer
Phantom Wing et télémétrie
Phantom Wing dispose d’un canal de télémétrie léger utilisé pour mesurer la fiabilité des fonctionnalités de façon agrégée, par exemple pour détecter qu’une opération échoue anormalement souvent sur la plateforme.
Ce que la télémétrie envoie
- Comptes d’événements anonymisés par heure, par exemple
pw.performance.metrics: count=1, bucket_hour=2026030914 - Catégorie et type d’erreur, jamais le message complet ni la trace de pile
- Aucun identifiant utilisateur, jeton de session ou adresse IP
Ce que la télémétrie n’envoie jamais
- Votre nom, votre courriel ou des détails de compte
- Revenus, période de paie ou données financières
- Messages d’erreur complets ou traces de pile
- Chemins d’URL ou chaînes de requête
- Frappes clavier ou valeurs de champs de formulaire
Limitation de débit et repli
Les soumissions de télémétrie sont limitées côté serveur par utilisateur et par minute. Si le client dépasse le seuil, le serveur accuse réception silencieusement et supprime l’excédent; rien n’est stocké. Le client applique aussi un repli exponentiel : après deux échecs serveur consécutifs, il désactive automatiquement la télémétrie pendant dix minutes.
// Telemetry payload shape (no personal data):
{
"type": "pw.performance.metrics",
"fields": {
"count": 1,
"bucket_hour": 2026030914,
"flush_reason": "timer"
}
}
Rédaction des données
Avant qu’une valeur soit stockée en mémoire ou transmise par télémétrie, Phantom Wing applique une rédaction automatique. Les valeurs correspondant à des motifs sensibles connus sont remplacées par [REDACTED] :
- Adresses courriel
- Jetons Bearer et valeurs d’en-tête d’autorisation
- Jetons CSRF
- Chaînes ressemblant à des clés cryptographiques ou à des blocs encodés en base64 au-delà d’une longueur minimale
La rédaction s’applique à tous les arguments passés aux méthodes de console interceptées et à toutes les valeurs de télémétrie avant la mise en file. Elle ne peut pas être contournée en activant les diagnostics.
Garde-fous de portée : pages où les diagnostics sont supprimés
La soumission de télémétrie est entièrement supprimée sur les pages d’authentification (/auth/). Même si les Aperçus réseau sont activés, aucune télémétrie n’est envoyée pendant les flux de connexion, d’inscription ou de récupération. Cette défense en profondeur empêche les données proches des identifiants d’apparaître dans les canaux de diagnostic.
Votre contrôle
Les trois réglages de diagnostic sont stockés comme préférences de compte, pas comme témoins de navigateur. Ils suivent votre compte sur les appareils et sessions et sont désactivés par défaut pour chaque compte, y compris les nouveaux comptes. Vous pouvez les modifier à tout moment dans Paramètres - Débogage (optionnel).
Désactiver un réglage prend effet dès le prochain chargement de page. Aucune donnée de diagnostic n’est conservée entre les sessions : le journal en mémoire de Phantom Wing est effacé lorsque vous quittez la page ou fermez l’onglet.
Résumé
- Les trois contrôles de débogage sont désactivés par défaut et doivent être activés explicitement par vous
- Messages de console et Aperçus réseau ne quittent jamais votre appareil
- Diagnostics détaillés reste en mémoire et n’est partagé que si vous choisissez de partager un rapport
- La télémétrie envoie seulement des comptes agrégés anonymisés : aucune donnée personnelle
- Toutes les valeurs sont rédigées avant stockage ou transmission, peu importe les réglages
- La télémétrie est entièrement supprimée sur les pages d’authentification
- La limitation de débit et le repli automatique empêchent le sursignalement accidentel
Phantom Wing est conçu pour que vous puissiez laisser tous les diagnostics désactivés indéfiniment. Les contrôles optionnels existent pour donner à vous et au support un langage commun quand un problème survient, pas pour collecter des données par défaut.