doc/pages/06.contribute/10.packaging_apps/60.advanced/12.hooks/packaging_apps_hooks.fr.md

37 lines
1.5 KiB
Markdown
Raw Normal View History

2020-11-11 11:47:10 +01:00
---
title: Hooks
template: docs
taxonomy:
category: docs
routes:
default: '/packaging_apps_hooks'
2020-11-11 11:47:10 +01:00
---
2022-08-05 12:05:55 +02:00
YunoHost comprend un mécanisme de hooks déclenchés lors de nombreuses opérations modifiant le système. Vous pouvez utiliser ce mécanisme afin d'étendre le comportement d'une commande yunohost.
2022-08-05 12:05:55 +02:00
Le cas le plus évident est l'ajout d'un utilisateur. Si vous aviez un hook `post_user_create`, ce hook sera déclenché dès qu'un utilisateur sera ajouté.
2022-08-05 12:05:55 +02:00
## Comment ajouter un hook personnalisé sur une instance spécifique
2022-08-05 12:29:08 +02:00
!!! Nous imaginons ci-dessous que nous voulons lancer une commande après chaque création d'utilisateur pour ajouter l'utilisateur à l'utilisateur samba.
2022-08-05 12:05:55 +02:00
Vous devez créer un répertoire avec le nom des hooks dans `/etc/yunohost/hooks.d/` :
```
2022-08-05 12:05:55 +02:00
mkdir -p /etc/yunohost/hooks.d/post_user_create
```
2022-08-05 12:05:55 +02:00
Créez ensuite un script bash à l'intérieur de ce répertoire, préfixé par 2 chiffres et un tiret :
```bash
2022-08-05 12:05:55 +02:00
nano /etc/yunohost/hooks.d/post_user_create/05-add-user-to-samba
```
2022-08-05 12:05:55 +02:00
## Comment ajouter un hook dans un paquetage d'application
Si vous empaquetez une application, vous ne devez pas mettre vous-même le hook dans `/etc/yunohost/hooks.d mais vous devez créer un répertoire hooks à la racine de votre paquet.
```
2022-08-05 12:05:55 +02:00
.
├─── conf
├─── hooks
├── scripts
```
2022-08-05 12:05:55 +02:00
Dans le dossier des hooks, créer un script bash appelé avec le type de hook que vous voulez créer par exemple `post_create_user`.
2022-08-05 12:28:33 +02:00
## -> [Liste des hooks et leurs variables](https://yunohost.org/en/packaging_apps_hooks)