Aller au contenu

Configuration

Le plugin se configure depuis un unique écran dans wp-admin. Après activation, rendez-vous dans Réglages → Quiet Guard (un utilisateur disposant de la capacité manage_options est requis).

Toutes les valeurs sont stockées ensemble dans une seule option WordPress nommée laravel_monitor_options, au sein du groupe de réglages laravel_monitor. Le formulaire est une page standard de l'API Settings de WordPress, intitulée Quiet Guard, avec une unique section Connection.

Champs

L'écran de réglages expose les champs suivants :

Libellé du champClé d'optionExempleRemarques
Enabled (1/0)enabled1Interrupteur principal. Toute valeur non vide est enregistrée comme 1 ; une valeur vide devient 0. La capture ne démarre que si ce champ est actif et que la clé est renseignée ; une URL vide vaut le service hébergé.
Server URLurlhttps://monitor.example.comURL de base de votre serveur Quiet Guard. Assainie avec esc_url_raw. Le plugin ajoute lui-même /api/v1/ingest, et une valeur qui se termine déjà par /api ou /api/v1 est acceptée : le suffixe est retiré plutôt que doublé, si bien que coller l'adresse de l'API fonctionne aussi bien que coller celle du serveur. Vide, elle vaut le service hébergé https://quietguard.dev, donc un site qui l'utilise n'a que la clé à coller.
Project keykeylm_xxxxxxxxLa clé d'API propre au projet, issue de votre tableau de bord Quiet Guard. Envoyée comme jeton HTTP Authorization: Bearer. Assainie avec sanitize_text_field.
Environments (comma-separated, empty = all)environmentsproduction,stagingListe optionnelle de noms d'environnements. Voir la note ci-dessous sur son comportement actuel.
Release (optional)release2024.05.1 ou un SHA gitIdentifiant de la version déployée. Joint à chaque événement remonté afin que le serveur puisse rattacher les problèmes à un déploiement.

Les cinq champs s'affichent sous forme de simples champs texte. Cliquez sur Enregistrer les modifications pour les sauvegarder.

Configuration minimale

Pour commencer à remonter des erreurs, deux éléments suffisent :

  1. Enabled réglé sur 1.
  2. Project key, créée lorsque vous ajoutez le projet dans le tableau de bord Quiet Guard. Consultez la documentation du serveur pour savoir comment les projets et les clés sont créés.

Server URL ne se renseigne que pour une instance auto-hébergée, avec l'URL de base de votre serveur (un /api ou /api/v1 final est retiré pour vous) : vide, elle vaut le service hébergé.

Si le plugin est activé mais que la clé est vide, rien n'est envoyé et aucune erreur n'est levée, le plugin reste simplement silencieux. Une URL vide, elle, ne l'arrête pas : les rapports partent vers le service hébergé.

Comment la clé est envoyée

Les rapports sont envoyés via une requête HTTPS POST vers {Server URL}/api/v1/ingest, avec la clé de projet dans l'en-tête Authorization: Bearer … et un corps JSON. La requête est bornée par un court délai d'expiration afin qu'un serveur lent ou injoignable ne bloque jamais la page.

Release

Renseigner une Release permet au serveur de regrouper les problèmes par déploiement. Un SHA git hexadécimal est idéal, car le serveur peut alors rattacher la release d'un problème au commit correspondant qu'il a synchronisé pour le projet. Mettez cette valeur à jour à chaque déploiement.

À propos du champ Environments

Le champ Environments est stocké et transmis à la configuration du cœur sous-jacent, où il est conçu comme une liste blanche d'environnements depuis lesquels remonter les erreurs (vide signifiant « remonter depuis partout »).

Dans la version actuelle, l'adaptateur WordPress ne calcule pas d'« environnement courant » à comparer : cette liste n'a donc encore aucun effet de filtrage, toute erreur capturée est remontée quelle que soit la valeur saisie. Le champ est câblé par anticipation ; le filtrage par environnement pour WordPress est prévu. Pour cesser de remonter les erreurs d'un site aujourd'hui, désactivez Enabled.

Options avancées (absentes de l'interface)

Trois clés supplémentaires sont lues depuis la même option laravel_monitor_options mais ne sont pas exposées sur l'écran de réglages : elles utilisent donc leurs valeurs par défaut, sauf si elles sont définies par programme (par exemple via update_option) :

Clé d'optionDéfautRôle
timeout3Délai d'expiration HTTP, en secondes, pour chaque rapport.
trace_limit0Frames de pile envoyées par exception. 0 (la valeur par défaut) envoie la trace de pile complète ; une valeur positive tronque la trace à ce nombre de frames. Le site de levée, en tête de la pile depuis la version 0.3, compte pour une frame.
code_snippetstrueEnvoie, avec chaque frame de votre propre code, les cinq lignes de source de part et d'autre de la sienne. Jamais pour une dépendance ; une ligne qui nomme une clé de masquage et lui donne une valeur est masquée entière. false n'envoie que le fichier et la ligne.

Vous pouvez définir ces valeurs par programme sans risque : l'assainisseur de réglages conserve timeout, trace_limit et code_snippets lors des enregistrements depuis l'écran de réglages, une valeur écrite via update_option() survit donc aux sauvegardes ultérieures depuis wp-admin.

Étape suivante

Continuez avec l'Utilisation pour voir ce que le plugin capture et comment confirmer qu'il fonctionne.

Vous lisez la documentation WordPress Plugin v1.0.