Introduction

quiet-guard/monitor-php est le cœur PHP agnostique sur lequel reposent tous les clients Quiet Guard. Il n'a aucune dépendance framework, uniquement des interfaces PSR (psr/log) et les extensions ext-sodium / ext-curl, et peut donc être embarqué partout où PHP tourne.

Le cœur est un petit ensemble de briques à responsabilité unique, basées sur PSR. Tout est du PHP simple sous l'espace de noms QuietGuard\Monitor\, sans conteneur de services, sans façades et sans fichiers de configuration :

ClasseRôle
ConfigObjet de valeur immuable : URL du serveur, clé du projet, timeout, release, environnements, limite de trace, motifs de masquage de valeurs.
ReporterEnvoie les payloads d'exceptions, de logs et de dépendances à l'API d'ingestion. L'envoi ne lève jamais d'exception.
Payload\ExceptionPayloadBuilderTransforme un Throwable en payload d'ingestion neutre.
Support\ScrubberMasque les valeurs sensibles par clé avant tout envoi.
Support\ValueRedactorMasque les valeurs par leur forme (e-mails, IBAN, cartes, numéros de sécurité sociale et de téléphone français) où qu'elles se trouvent. Actif par défaut.
Http\HttpClient (interface) + Http\CurlHttpClientTransport interchangeable ; une implémentation cURL sans dépendance est fournie.
ErrorHandlerBranche les handlers globaux d'erreurs/exceptions/arrêt de PHP pour les hôtes PHP simples.
Backup\BackupCipherPrimitives de chiffrement hybride en flux pour le coffre de sauvegarde à connaissance nulle.

La logique de réutilisation

Ce package est la fondation partagée, pas un produit autonome. Le SDK Laravel (quiet-guard/laravel-monitor), le bundle Symfony (quiet-guard/monitor-symfony-bundle) et le plugin WordPress (quiet-guard/monitor-wordpress) en dépendent tous et l'adaptent à leur hôte : ils branchent les hooks d'exceptions et de logs du framework sur un Reporter, lisent la configuration dans un Config, et réutilisent le même Scrubber et le même BackupCipher. Comme ils parlent tous le même protocole, un parc PHP hétérogène atterrit dans un seul tableau de bord Quiet Guard.

Si vous intégrez Quiet Guard dans une application PHP sur mesure ou votre propre framework, c'est ce package que vous visez directement. Les payloads qu'il produit sont documentés par l'API d'ingestion (/docs/tool/1.0/ingestion-api).

Pour aller plus loin

Vous lisez la documentation PHP Core v1.0.