Skip to content

Catalogue d'événements push — Plugins ​

Events que le plugin WordPress pousse vers StormeoOS au fil de l'activité du site (journal d'activité). Source : class-event-hooks.php du Stormeo Connector.

Pour les webhooks émis par StormeoOS vers les souscripteurs externes (clients API), voir ../webhooks/public-api-webhooks.md.

Transport ​

  • Push immédiat : POST /api/plugin/v2/activity (fire-and-forget, timeout 5 s — le hook WordPress appelant n'est jamais bloqué).
  • Fallback : en cas d'erreur réseau, l'event est mis en queue locale (wp_options, taille bornée — le plus ancien est évincé si la queue est pleine).
  • Flush : la queue est vidée au heartbeat suivant via POST /api/plugin/v2/activity-batch ({ events: [...] }).
  • HMAC obligatoire au-delà du seuil de version (voir hmac-signature.md).

Enveloppe d'un event ​

json
{
  "event_type": "post.published",
  "entity_type": "post",
  "entity_id": 42,
  "entity_label": "Nouveau billet",
  "actor_user_id": 1,
  "actor_name": "Admin",
  "actor_role": "administrator",
  "actor_ip": "203.0.113.10",
  "metadata": { },
  "remote_at": "2026-08-21T10:00:00+00:00"
}
ChampDescription
event_typeType d'event (catalogue ci-dessous)
entity_type / entity_id / entity_labelEntité concernée (entity_label tronqué à 200 caractères)
actor_user_id / actor_name / actor_roleUtilisateur WP à l'origine de l'action (null si système)
actor_ipIP best-effort (CF-Connecting-IP → X-Real-IP → REMOTE_ADDR)
metadataDétails spécifiques au type
remote_atHorodatage UTC côté site

Catalogue ​

Contenu ​

EventHook WPNotes
post.publishedtransition_post_statusPremière publication (passage vers publish)
post.status_changedtransition_post_statusTout autre changement de statut
post.trashedwp_trash_postMise à la corbeille
post.restoreduntrash_postRestauration depuis la corbeille

La synchronisation du contenu lui-même (titre, corps, SEO…) passe par POST /api/plugin/v2/sync-content-extended, distincte du journal d'activité.

Commentaires ​

EventHook WP
comment.createdwp_insert_comment
comment.status_changedtransition_comment_status

Utilisateurs & sécurité ​

EventHook WP
user.registereduser_register
user.loginwp_login
user.login_failedwp_login_failed

Les événements de sécurité enrichis (tentatives répétées, etc.) passent aussi par POST /api/plugin/v2/security-event côté monitoring.

Configuration du site ​

EventHook WPNotes
plugin.activatedactivated_plugin
plugin.deactivateddeactivated_plugin
theme.switchedswitch_theme
option.updatedupdate_option_{option} (options surveillées)Seul le nom de l'option est envoyé, jamais sa valeur (risque de secret : admin_email, etc.)
{type}.{action}upgrader_process_completeUn event par item mis à jour — ex. plugin.update, theme.update, core.update

WooCommerce (si actif) ​

EventHook WCMetadata
woo.order.createdwoocommerce_new_ordertotal, statut
woo.order.status_changedwoocommerce_order_status_changedfrom, to
woo.product.updatedwoocommerce_new_product + woocommerce_update_productstatus, stock_status

PrestaShop ​

Le module PrestaShop n'embarque pas ce journal d'activité : il pousse ses données via les endpoints de sync (/v1/sync, /v1/site-contents, /v1/cms-extensions) et ses contrôleurs dédiés. Le catalogue ci-dessus est spécifique à WordPress.

Garanties (et non-garanties) ​

  • Best-effort : un event peut être perdu si le push échoue et que la queue locale déborde. Ne construisez pas de logique critique sur l'exhaustivité du journal.
  • Ordre non garanti entre push immédiat et batch de rattrapage — utilisez remote_at pour trier.
  • Les events sont cloisonnés par connecteur/agence côté StormeoOS comme le reste de la surface plugin.

StormeoOS API