Clustraly
Articles & publication

Étendez vos articles avec les hooks d'extension de contenu, sans toucher au cœur

Hooks d'extension de contenu (plugins) est une fonctionnalité du module Articles & publication de Clustraly. Des points d'extension déclenchés au fil du cycle de vie d'un article : vos plugins filtrent les données ou réagissent aux événements.

Branchez vos plugins sur chaque étape du cycle de vie d'un article. Filtrez les données avant écriture, réagissez à la publication ou à la corbeille, sans jamais modifier le cœur de Clustraly.

Extensibilité

Ajoutez des comportements sans forker le cœur

Clustraly émet des points d'extension à chaque étape du parcours d'un article : enregistrement, publication, mise en corbeille. Vos plugins s'y branchent pour filtrer les données ou réagir aux événements, sans jamais toucher au code du cœur.

  • Hooks déclenchés tout au long du cycle de vie de l'article
  • Des filtres pour transformer, des actions pour réagir
  • Vos plugins étendent le cœur sans le modifier
Filtres

Transformez les données juste avant l'écriture

Le filtre content.saving reçoit les attributs de l'article juste avant leur insertion ou mise à jour et vous laisse les transformer : normaliser un champ, injecter une valeur calculée, compléter des métadonnées.

La plateforme propose les données, votre plugin décide de la version finale.

  • content.saving mute les attributs avant insertion ou mise à jour
  • Idéal pour normaliser, enrichir ou compléter un champ
  • Un retour non-tableau est ignoré et n'altère rien
Actions & webhooks

Déclenchez vos intégrations au bon moment

Une fois l'article réellement enregistré, content.saved vous donne la main sur un état complet et cohérent (ligne, taxonomies, méta SEO). Sur la seule bascule vers « publié », content.published déclenche vos intégrations sortantes — webhooks, invalidation de cache — au moment précis où le contenu devient public.

  • content.saved s'exécute après persistance complète (ligne, taxonomies, méta SEO)
  • content.published se déclenche à la seule transition vers « publié »
  • content.published alimente webhooks et invalidation de cache
Cycle de corbeille

Réagissez aux corbeilles et aux restaurations

Le cycle de corbeille est lui aussi observable : content.trashed, content.restored et content.deleting laissent vos plugins tenir à jour un index externe, un cache ou un système tiers au fil des mises en corbeille, restaurations et suppressions.

  • content.trashed émis à la mise en corbeille (soft-delete)
  • content.restored émis à la restauration depuis la corbeille
  • content.deleting émis sur l'événement de suppression
Garde-fous

Étendez le cœur sans risquer de le casser

Les hooks sont conçus pour étendre sans fragiliser. Un filtre qui renvoie autre chose qu'un tableau est simplement ignoré : votre extension ne peut pas casser l'enregistrement. Les actions, elles, ne se déclenchent qu'une fois l'état réellement atteint.

  • Un filtre au retour non conforme est ignoré, jamais l'opération cassée
  • Les actions n'émettent qu'après un état réellement persisté
  • content.published limité à la vraie transition, pas à chaque sauvegarde
Pourquoi ça compte

Le cœur reste intact, vos plugins font le reste

La plateforme émet les événements, vos plugins décident quoi en faire. Vous ajoutez des comportements sur mesure — synchronisations, notifications, enrichissements — sans forker ni patcher le cœur de Clustraly.

FAQ

Questions fréquentes

Quels hooks sont disponibles pour les articles ?
Le filtre content.saving, puis les actions content.saved, content.published, content.trashed, content.restored et content.deleting, couvrant l'enregistrement, la publication et la corbeille.
Quelle différence entre un filtre et une action ?
Un filtre comme content.saving transforme les données avant écriture et renvoie une valeur modifiée. Une action comme content.saved réagit à un événement déjà survenu, sans altérer l'opération.
Un plugin peut-il casser l'enregistrement d'un article ?
Non. Si le filtre content.saving renvoie autre chose qu'un tableau, son retour est ignoré et l'opération se poursuit normalement.
Quand content.published se déclenche-t-il exactement ?
Uniquement lors de la transition réelle vers le statut « publié », pas à chaque sauvegarde. Il alimente alors les webhooks et l'invalidation de cache.
Prêt à commencer ?

Étendez Clustraly à votre main

Branchez vos plugins sur le cycle de vie du contenu et ajoutez exactement les comportements dont vous avez besoin : filtrage avant écriture, webhooks à la publication, synchronisation sur la corbeille — le tout sans modifier le cœur.