Hooks et déclencheurs personnalisés
Hooks and triggers connect platform lifecycle events to automated responses – so that things happen at the right moment automatically, not when someone remembers to act.
Le framework Behavior Extensibility expose les événements de la plateforme comme points d’attache pour une logique personnalisée. Un événement se déclenche — un design est validé dans le Workspace, une publication est lancée, l’état du cycle de vie d’un composant change — et le hook répond. La réponse peut être une validation qui bloque l’action si les conditions ne sont pas remplies, un effet de bord qui notifie ou met à jour un système externe, ou une transformation qui prépare les données pour l’étape suivante du pipeline.
Les hooks sont ce qui rend la plateforme proactive. Sans eux, l’automatisation est réactive : quelqu’un constate un état et déclenche une action. Avec les hooks, la plateforme agit au bon moment par définition, puisque le déclencheur est l’événement lui-même.
Types de hooks et leurs rôles
-
Blocking hooks (pre-action) – un hook bloquant se déclenche avant qu’une action soit terminée et peut empêcher sa poursuite. Un hook enregistré sur l’événement de pré-publication peut exécuter un dernier ensemble de validations et annuler la publication si l’une d’elles échoue. Un hook sur l’approbation d’un composant peut vérifier que tous les champs requis sont renseignés et que toutes les pièces fabricant figurent sur la liste approuvée avant que le composant n’entre dans la bibliothèque.
Les hooks bloquants constituent le mécanisme d’application des règles qui doivent être vraies avant qu’une action soit autorisée – non pas des règles qu’il serait idéal de respecter, mais des règles qui doivent impérativement l’être. C’est la différence entre « nous recommandons de vérifier X avant la publication » et « une publication ne peut pas avoir lieu si X n’est pas vrai ».
-
Non-blocking hooks (post-action) – un hook non bloquant se déclenche après qu’une action est terminée et lance des effets de bord. Un hook post-publication peut envoyer les artefacts de publication vers un système externe, mettre à jour un enregistrement dans l’ERP, notifier une équipe en aval ou consigner un événement d’audit. La publication a déjà eu lieu ; le hook gère les conséquences.
Les hooks post-action constituent le mécanisme d’intégration qui permet de maintenir les systèmes externes synchronisés avec l’état de la plateforme. Ils sont plus fiables qu’un polling périodique ou que des exportations manuelles de données, car ils se déclenchent exactement lorsque l’événement pertinent se produit.
-
Scheduled triggers – au-delà des hooks pilotés par événements, la plateforme prend en charge l’exécution planifiée de logique d’automatisation – des scripts ou contrôles qui s’exécutent selon une planification récurrente plutôt qu’en réponse à un événement spécifique. C’est utile pour le reporting périodique, la synchronisation de données qui n’a pas besoin d’être effectuée en temps réel et les opérations de maintenance qui doivent s’exécuter régulièrement.
Modèles courants
-
Release gate enforcement – un hook bloquant de pré-publication exécute un dernier ensemble de contrôles – validations personnalisées, interrogations de systèmes externes, vérifications d’exhaustivité de la documentation – et bloque la publication si l’un d’eux échoue. L’ingénieur reçoit un retour clair sur ce qui a échoué et sur ce qu’il doit corriger. L’enregistrement de publication inclut les résultats du hook, de sorte qu’il existe une piste d’audit complète de ce qui a été vérifié et de ce qui a réussi.
-
Post-release propagation – un hook non bloquant de post-publication envoie les données de publication vers les systèmes en aval : exécution de la fabrication, ERP, gestion de projet, systèmes d’archivage. Le hook se déclenche automatiquement lorsque la publication est terminée, supprimant l’étape manuelle consistant à notifier ou mettre à jour chaque système.
-
Lifecycle synchronization – lorsqu’un état du cycle de vie d’un composant change dans Altium 365 – de « In Design » à « Released », ou de « Active » à « Obsolete » – un hook peut propager ce changement vers le PLM, l’ERP ou d’autres systèmes qui maintiennent des enregistrements de composants. Le hook est le point de synchronisation ; l’événement de la plateforme est le déclencheur faisant autorité.
-
Key System Flow override – pour les cas avancés, les hooks peuvent être utilisés pour remplacer ou étendre les flux cœur de la plateforme – en modifiant le comportement par défaut à des points clés du cycle de vie du système. Il s’agit d’un usage avancé et cela figure sur la roadmap comme une capacité qui s’étendra au fil du temps.
Risques et gestion des défaillances
Les hooks bloquants qui échouent en raison de l’indisponibilité d’un système externe ne doivent pas laisser passer silencieusement les designs. Le mode de défaillance compte : un hook qui ne peut pas accéder à la liste des fournisseurs approuvés doit échouer en mode fermé — bloquer l’action et signaler que le contrôle n’a pas pu être effectué — plutôt que d’échouer en mode ouvert et permettre à un design potentiellement non conforme de continuer.
Les hooks post-action qui envoient des données vers des systèmes externes introduisent une dépendance à la disponibilité de ces systèmes. Il faut concevoir pour les défaillances partielles : journaliser les événements qui n’ont pas pu être transmis, implémenter une logique de nouvelle tentative et s’assurer qu’un hook en échec ne laisse pas la plateforme et le système externe dans un état incohérent.