À retenir
- Exécution automatique et immédiate.
- Lié à un événement précis (ajout, modification, suppression).
- Agit comme un gardien invisible pour maintenir la cohérence des données.
Un déclencheur est un automatisme informatique qui lance une action spécifique dès qu'un événement particulier se produit. Imaginez un détecteur de mouvement : dès qu'il repère un passage (l'événement), il allume la lumière (l'action) sans qu'un humain n'ait besoin d'appuyer sur l'interrupteur.
Étymologie
Issu du verbe français « déclencher », qui signifie libérer un mécanisme de retenue. En informatique, c'est la traduction directe du terme anglais trigger. Son usage s'est généralisé avec l'apparition des systèmes de gestion de bases de données relationnelles dans les années 1970-1980.
Exemples d'usage
- Dans un site e-commerce, réduire automatiquement la quantité en stock dès qu'une vente est enregistrée.
- Dans un système de sécurité, envoyer une alerte par e-mail dès qu'un utilisateur tente de se connecter avec un mauvais mot de passe plus de trois fois.
- Inscrire la date et l'heure de modification dans un journal d'audit dès qu'une fiche client est mise à jour.
Cas d'usage
On utilise principalement les déclencheurs dans les bases de données pour garantir l'intégrité des informations (vérifier que les données sont cohérentes). Ils interviennent aussi en programmation système ou web pour réagir à des actions utilisateurs ou des changements d'état de fichiers.
Bonnes pratiques
Il faut utiliser les déclencheurs avec parcimonie. Comme ils s'exécutent en arrière-plan, ils peuvent rendre le débogage difficile (« Pourquoi ma donnée a-t-elle changé toute seule ? »). Évitez également les déclencheurs trop complexes qui pourraient ralentir considérablement les performances de la base de données.
Synonymes
Antonymes
Conseil
Si vous débutez, utilisez-les d'abord pour créer des journaux d'activité (logs). C'est un excellent moyen de comprendre comment ils interceptent les modifications sans risquer de corrompre vos données principales.
Questions fréquentes
Quelle est la différence avec une procédure stockée ?
Une procédure stockée doit être appelée manuellement par le programmeur, alors qu'un déclencheur s'exécute tout seul suite à une action.
Un déclencheur peut-il en lancer un autre ?
Oui, c'est ce qu'on appelle la cascade. Attention toutefois aux boucles infinies qui pourraient faire planter le système !