Partage de données entre pages bus.service.ts

Sert à partager les données/synchronisations entre pages. Il se base sur BraodcastChannel, dans lequel il ouvre 2 channels, data et control.

Le channel de contrôle permet la synchronisation à l’ouverture/fermeture d’onglets, via des messages de type “join” ou “leave”.

La synchronisation des données fonctionne sur ce principe : un effect de action-bus.effects.ts regarde si la chaîne “(bus)” est dans chaque action. Pour chacune de ces actions, elle est postée sur le channel de data du BusService. Côté BusService, si quelque chose est reçu sur le dataChannel, alors on le dispatche dans le store. Ces actions permettront donc automatiquement de synchroniser les contenus des stores des différents onglets.