---
title: "Référence d'API — @nodefony/realtime — service"
source: docs/api/realtime/service.md
url: https://nodefony.github.io/nodefony-core/docs/api/realtime/service/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/realtime`](../) › service

> Générée depuis les déclarations de types publiées de `@nodefony/realtime` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `@nodefony/realtime`

`import { … } from "@nodefony/realtime"` — 1 symbole.

### Classes (1)

#### `RealtimeService`

```ts
class RealtimeService extends Service
```

Façade DI publique de la **socket Nodefony** côté serveur.

- `module: Module`
- `constructor(module: Module)`
- `init(_module: Module): Promise<this>` — Initialise le service au moment où le Module l'enregistre via `addService` (phase `onPreBoot`).
- `getConfig(): IRealtimeConfig` — Configuration realtime gelée (lue par Studio / introspection).
- `getHub(): RealtimeHub` — Hub singleton (broker fan-out canaux PARTAGÉS du process courant).
- `getBackplane(): IBackplane | null` — Backplane actuellement branché sur le hub (ou null = Loopback implicite).
- `publish(channel: string, payload: unknown): void` — Publie une charge sur un canal — fan-out local + propagation backplane si canal broadcast.
- `subscribe(channel: string, sink: ChannelSink, factory: ChannelFactory): boolean` — Abonne un sink à un canal partagé — factory invoquée au 1ᵉʳ abonné, dispose appelé au dernier désabonné.
- `unsubscribe(channel: string, sink: ChannelSink): void` — Désabonne un sink — appelle `dispose` du provider partagé au dernier abonné.
- `registerSystemChannel(channel: string, factory: ChannelFactory): void` — Enregistre la factory d'un **canal système** (plateforme) — délégué à `RealtimeHub.registerSystemChannel`.
- `reservedSystemPrefixes(): readonly string[]` — Namespaces de canaux **réservés à la plateforme** — la liste que le hub ferme lui-même en l'absence de module de sécurité.
- `probe(): IRealtimeProbe` — Snapshot d'observabilité du hub local (consommé par `/nodefony/realtime/api/health`).
- `markBroadcastChannel(prefix: string): void` — Marque un préfixe de canal comme **broadcast** (cross-process via le backplane).
- `useAuthenticator(matcher: IRealtimeAuthenticatorMatcher, authenticator: IRealtimeAuthenticator): void` — **Seam #2/#3 (P13 → P6)** — enregistre un authenticator pour les handshakes WS dont l'URL matche `matcher`.
- `setFrameAuthorizer(authorizer: FrameAuthorizer | null, options?: { readonly silentProbe?: FrameAuthorizer | null; }): void` — **Seam #1 (P13 → P6)** — pose le verrou de frame (hot-path `beforeDispatch`).
- `resolveChannelPolicy(channel: string): IChannelPolicy | null` — **Seam #1b** — politique d'autorisation déclarée pour un canal/méthode (`@RealtimeChannel`/`@RealtimeInbound` avec opts), agrégée par le hub au handshake.
- `getTokenForPeer(peer: JsonRpcPeer): IRealtimeToken` — Renvoie le token associé à un peer (posé au handshake par le hub).

---

[← Toutes les références d'API](../../)
