# Pulse local — importer et lire vos observations enregistrées Complément de notice du 26 octobre 2026, pour le paquet pulse-local-0.1.4-synthetic-r3.zip. Le code d'import est déjà livré ; les exemples inclus sont fictifs. Aucun endpoint, créneau d'acquisition, accès opérateur ou serveur n'est nécessaire pour analyser vos fichiers. Aucun téléchargement n'est effectué par le CLI. Les permissions destinataire adoptées figurent dans DROITS-ET-DELTA.md. ## Premier usage hors ligne Extraire l'archive dans un nouveau dossier. Node.js22 ou plus récent déjà installé ; aucun npm install. Lire COMMENCER.md puis essayer son exemple synthétique si souhaité. Pour des données réellement détenues, utiliser les parcours ci-dessous SANS --catalog-local : le catalogue inclus ne représente que les exemples fictifs. Ne pas renommer vos services réels en example:alpha pour obtenir une correspondance. ## Observations Oracle déjà enregistrées Copier uniquement les observations dont vous disposez légitimement dans un dossier local dont les accès conviennent aux données, pas un fichier d'accès ou de configuration. Conserver leurs octets d'origine. Prendre comme modèle history/import.json inclus, dans une copie séparée : - schema reste datoka.pulse.oracle-import.v1 ; provenance devient local_import_unverified. - settings contient exactement region, probe, from, toExclusive, asOf, intervalSeconds, freshnessSeconds, services. Déclarer les métadonnées connues ; region:null si inconnue. Ne pas inventer une cadence d'exécution : intervalSeconds est une grille d'analyse déclarée. - sources contient un objet par fichier : file (nom JSON voisin, pas d'URL ou sous-dossier), sha256 (empreinte de ses octets exacts, calculable localement avec Get-FileHash -Algorithm SHA256). Aucun hash de l'exemple ne convient à votre fichier. Maximum50fichiers,1Mio chacun,8Mio cumulés. - services reprend les IDs réels contenus dans les fichiers. Les enregistrements attendus sont version1, kind datoka.oracle.http-observation, source operator_probe, coverage public_health_only ; pas les agrégats du monitor administratif. Conserver date/resource/statut/santé du producteur, pas de recopie depuis un exemple pour les compléter. Depuis le dossier extrait (remplacer uniquement les chemins par vos fichiers existants) : ```powershell node ./cli.mjs ./mesures/import.json ./rapport-local.json --oracle-import node ./cli.mjs ./mesures/import.json ./rapport-local.json --oracle-import --inspect-existing ``` Le manifeste et ses sources doivent rester stables pendant le calcul. Le rapport conserve les dates source et les empreintes d'import, sans vérifier la signature. L'adaptateur Oracle laisse résultat métier unknown et latence null, car ces champs ne sont pas mesurés par ce format. HTTP200 n'est pas une preuve de résultat métier. ## Autres observations compatibles déjà fournies Utiliser une copie de example.json comme structure, avec format pulse-v1 et provenance local_import_unverified. Remplacer services/observations et paramètres par les faits disponibles, ne pas conserver les lignes fictives. Chaque observation possède exactement id, serviceId, observedAt, technical(up/down/unknown), health(ok/not_confirmed/unknown), business(success/failure/unknown), latencyMs(nombre0à3600000ou null), reason(http_response/timeout/access_denied/collector_unavailable/not_measured). Les raisons autres que http_response imposent tous les résultats unknown et latencyMs:null. Toute conversion depuis un autre format doit être justifiée par vos mesures ; aucun import CSV ou agrégat administratif implicite. Dates UTC strictes YYYY-MM-DDTHH:mm:ss.sssZ. from inclus, toExclusive exclu et ≤asOf ; asOf est la date d'évaluation choisie, pas automatiquement maintenant. Grille60–86400secondes, nombre entier de créneaux≤10000 ;1–50services,50000lignes maximum, entrée≤8Mio. Une seule région/type de sonde par série ; séparer les fréquences/régions différentes. Identifiants≤96caractères, lettres/chiffres puis lettres/chiffres/:._-. Garder inconnus les champs non mesurés. ```powershell node ./cli.mjs ./mesures-fournies.json ./rapport-local.json node ./cli.mjs ./mesures-fournies.json ./rapport-local.json --inspect-existing ``` ## Lecture et reprise Le terminal résume couverture et fraîcheur ; le JSON fournit les observations normalisées. Une disponibilité de100% sur un seul échantillon n'est pas un uptime continu. Une absence de fichier ne prouve pas qu'aucune sonde n'a tourné. not_measured est exclu des mesures, reste dans le journal et ne renouvelle pas la fraîcheur. Business et latence ont leurs propres champs/compteurs. Le résultat est daté au asOf déclaré, pas une santé actuelle garantie. Une sortie existante n'est pas écrasée. --inspect-existing exige les mêmes entrées et octets ; il ne répare pas les fichiers. En cas d'erreur/hash divergent, préserver l'original, restaurer les octets prouvés ou créer une nouvelle sélection et une nouvelle sortie. Une écriture interrompue peut laisser un fichier partiel : ne pas le présenter comme rapport validé. Ne pas modifier les hashes automatiquement pour supprimer un refus. Deux observations distinctes du même service/créneau sont refusées ; aucune sélection arbitraire du meilleur résultat. ## Données et dépendances Entrées et sorties restent là où l'utilisateur les place, sans purge, chiffrement ajouté, compte, télémétrie ou sauvegarde automatique. Les rapports peuvent contenir IDs, dates, région et résultats sensibles ; contrôler avant partage. Les sauvegardes du système/terminal ne sont pas gérées par Pulse. Garder les originaux pour traçabilité ; les supprimer seulement selon vos besoins et droits, avec leurs copies éventuelles. La remise ne contient aucune observation réelle du5octobre, aucun accès, ni module d'acquisition/transport/hôte réseau. Le moteur d'import, sa reprise et les exemples sont déjà qualifiés par les preuves datées du24octobre ; aucune nouvelle campagne exécutée pour cette notice. Aucune affirmation de pilote N1 final, de coût par endpoint ou d'adoption client. Les conditions adoptées de DROITS-ET-DELTA.md précisent les permissions du destinataire ; prix, gratuité et support restent non décidés. Les captures réelles sont exclues. ## Permissions adoptées La copie, la lecture et l'usage local personnel/professionnel sont permis selon DROITS-ET-DELTA.md. Adapter des copies des quatre structures example.json, example-not-measured.json, history/import.json et history/synthetic-observation.json en entrées propres est autorisé. Préserver les originaux fictifs ; ne pas modifier le catalogue synthétique épinglé ou ses pins pour importer des données réelles. Cette permission ne concède pas la modification des quatre modules ou la redistribution du logiciel/des notices. Conserver, copier, utiliser, annoter et transmettre les rapports est permis sous les droits réellement détenus sur toutes les données, la confidentialité et la portée/destinataire autorisés. Garder les originaux, dates et provenance ; signaler les annotations. Les fichiers et sauvegardes peuvent contenir des données sensibles en clair. Aucun droit de tiers, signature, vérité, SLA ou santé actuelle certifiés. Les permissions de tiers applicables restent distinctes. Aucun prix, gratuité, support, collecte, accès opérateur ou créneau n'est décidé par ces permissions d'usage. ## Correction de l'import Oracle en version0.1.4 Les réponses enregistrées HTTP401/403 sont des refus d'accès : technical et health deviennent unknown, reason access_denied. Elles restent des tentatives observées inconnues, exclues de up+down et du pourcentage de disponibilité déterminée. Si elles sont les seules observations, disponibilité null ; aucune panne ou réussite métier déduite. Les autres mappings restent inchangés. Les originaux Oracle restent vos preuves ; leur signature n'est pas vérifiée. Version du logiciel : package.json0.1.4, sélection synthetic-r3. Les champs version des rapports conservent les identifiants historiques du format/mode d'export ; ils ne doivent pas servir seuls à identifier le logiciel exécuté. Conserver avec les rapports le paquet et son manifeste. Le corps corrigé est celui qualifié par deux tests synthétiques ciblés du26octobre ; aucune nouvelle qualification globale, réseau ou observation réelle. Pour un rapport antérieur affecté par401/403, conserver l'original puis recalculer dans une nouvelle sortie avec la nouvelle sélection autorisée. Ne pas écraser ou réparer automatiquement un ancien rapport. --inspect-existing peut refuser la comparaison d'un ancien calcul avec ce correctif : cette différence est attendue pour les refus d'accès. Ne pas mélanger les modules entre versions.