# Notifications push (push)

> Module push : Notifications Expo : permission, jeton par utilisateur (Supabase), liens profonds, fonction d'envoi.

Notifications Expo : permission, jeton par utilisateur (Supabase), liens profonds, fonction d'envoi.

:::note[Page générée]
Générée depuis `modules/push/README.md`, `module.json`, `config.ts`, `index.ts` à chaque build du site : modifier la source, pas cette page.
:::

## Fiche technique

| | |
|---|---|
| Paquet | `@daroms/module-push` |
| Activer | `bun daroms module add push` |
| Requiert | `auth` |
| Dépendances natives | `expo-notifications`, `expo-device` |
| Routes ajoutées | aucune |
| Onglets | aucun |
| Migrations | `migrations/push_tokens.sql` |
| Edge functions | `functions/send-push` |
| Variables d'environnement | aucune |
| Gate de navigation | non |
| Section de réglages | oui (ajoutée au module settings) |

## Mise en place et usage

Notifications push Expo. Requiert `auth` (jeton rattaché à l'utilisateur).

- Activer : `bun daroms module add push` (migration `push_tokens`, edge function `send-push`).
- Build de dev requis (pas d'Expo Go) ; projet EAS requis pour le jeton (`bun daroms build development`).
- Envoyer : `POST /functions/v1/send-push` avec `Authorization: Bearer <service_role>` et `{ user_id, title, body, url }` (depuis le serveur uniquement).
- `url` (ex. `/todos/42`) est ouverte au toucher de la notification.

## Configuration

Dans `app.manifest.ts > modules['push']`, validée par `modules/push/config.ts` au démarrage.

| Clé | Schéma zod | Rôle |
|---|---|---|
| `askOnLaunch` | `z.boolean().default(false)` | Demander la permission dès la connexion (sinon depuis les réglages ou un écran dédié). |

Valeurs écrites par `module add` :

```json
{
  "askOnLaunch": false
}
```

## Exports

```ts
import { registerForPush, permissionGranted } from '@daroms/module-push'
```

- Valeurs : `registerForPush`, `permissionGranted`

---

Page HTML : https://daromsartof.github.io/daroms-speedapp/reference/modules/push/
Index de la documentation : https://daromsartof.github.io/daroms-speedapp/llms.txt
