L’espace partagé
Quand vous vous déplacez dans le bureau, Phaser fait évoluer la scène 2D. Les messages, les panneaux et les commandes sont gérés par l’interface React, dans l’application Next.js.
Le choix technique
Réunir les déplacements dans l’espace et les commandes de l’application, avec un outil adapté à chacun.
Actions et contenus → API · Présence → temps réel
Les services métier
Créer un espace, gérer un membre, retrouver une conversation : ces actions passent par les services métier. L’API organise les échanges entre le navigateur et les données enregistrées.
Le choix technique
Garder les règles de l’application au même endroit, sans les confondre avec l’affichage du bureau.
Navigateur ↔ API ↔ données
La présence
Une personne se déplace : sa nouvelle position doit apparaître chez les autres. Socket.IO transmet ces événements pour que le bureau réagisse sans rechargement.
Le choix technique
Traiter les événements immédiats séparément des informations à conserver.
Participants ↔ événements · Signalisation des appels
La mémoire
Les espaces, les membres et les messages doivent rester disponibles quand une session se termine. PostgreSQL conserve ces données ; Prisma organise leur accès depuis l’application.
Le choix technique
Décrire les relations entre les données et les faire évoluer avec le produit.
API ↔ modèle de données ↔ stockage
Les conversations
WebRTC transporte les échanges audio, vidéo et le partage d’écran. Socket.IO aide les participants à établir la connexion ; selon le réseau, un relais TURN peut faire transiter les flux.
Le choix technique
Distinguer la connexion à un appel, ses flux audio et vidéo et les autres événements du bureau.
Participants ↔ flux média · Relais si nécessaire