Messagerie instantanée
La messagerie instantanée (module chat-nats)
est disponible en natif dans l'application mobile, ouverte depuis le lanceur
« Mes apps » : conversations en temps réel, présence des
correspondants, et appel audio ou visioconférence sans quitter l'application.
Comme sur le web, l'application n'apparaît que si l'établissement a accordé le droit correspondant à l'utilisateur : la messagerie instantanée n'est pas ouverte à tous par défaut.
Conversations
L'écran d'accueil liste les conversations de l'utilisateur, la plus récemment active en tête, avec l'avatar de l'interlocuteur, une pastille verte s'il est connecté et un compteur rouge de messages non lus. Ouvrir une conversation la marque comme lue.
Les messages arrivent sans rafraîchir : l'application maintient une connexion à la
passerelle temps réel du module (/chat/ws), la même que le client web. Quand le réseau
mobile ne permet pas de la tenir (veille prolongée, tunnel, réseau saturé), un bandeau
« Temps réel indisponible » s'affiche et la conversation continue de se mettre à jour
périodiquement — on ne perd que l'instantanéité.
Statut de présence
En plus de la présence en ligne (automatique), chacun peut fixer son propre statut : Disponible, Occupé, Absent ou Ne pas déranger. Le sélecteur est sous la liste des conversations ; le choix est visible des autres sous la forme d'une pastille colorée sur l'avatar, comme sur le web et dans le widget du dashboard.
Le statut est retenu par le serveur : rouvrir l'application retrouve le dernier choix, sans repartir sur « Disponible ». Passer hors ligne l'emporte toujours sur le statut choisi.
Le geste (ouvrir le sélecteur, choisir « Occupé », vérifier la pastille) est en place dans le
parcours apps/mobile/e2e/lanceur/parcours-messagerie-instantanee.yaml, à rejouer pour produire
les captures de cette section.
Écrire un message
Le champ de saisie en bas de la conversation envoie le message en temps réel. Les messages de l'utilisateur apparaissent à droite, ceux de son correspondant à gauche (avec le nom de l'expéditeur dans un salon de groupe).
Parcours capturé en test e2e live —
apps/mobile/e2e/lanceur/parcours-messagerie-instantanee.yaml: enseignante réelle (lilit.upreti001) qui lit une conversation, envoie un message et ouvre l'annuaire.
Le bouton « + Nouvelle » ouvre l'annuaire des personnes joignables : la liste est
celle que renvoie l'ENT pour cet utilisateur, filtrée par les règles de communication
de l'établissement (module communication). Une personne hors de ces règles n'apparaît pas,
et l'ouverture d'une conversation avec elle est refusée par le serveur — l'application
l'explique alors en clair plutôt que d'échouer silencieusement.
Les élèves restent soumis aux mêmes garde-fous que sur le web : exclusion temporaire et horaires d'utilisation de la messagerie sont appliqués par le serveur, et le motif du refus est affiché dans l'application.
Visioconférence et appel audio
Depuis une conversation, deux boutons démarrent (ou rejoignent) un appel : 📞 audio et 📹 visioconférence. L'appel s'ouvre en plein écran dans l'application.
Parcours capturé en test e2e live —
apps/mobile/e2e/lanceur/parcours-visioconference.yaml. La mire colorée est la caméra simulée de l'émulateur ; sur un vrai téléphone, c'est l'image de la caméra.
Ce que voit l'utilisateur : aucun écran de connexion. Le serveur crée au besoin le salon de visioconférence, ouvre un compte technique pour l'utilisateur ENT et remet à l'application un code de transfert à usage unique et de courte durée ; l'identité affichée dans l'appel reste le nom ENT de la personne. Le détail du mécanisme est décrit dans la fiche de la messagerie instantanée.
La caméra et le micro ne sont demandés qu'au premier appel, au moment où l'utilisateur le démarre — jamais au lancement de l'application. Un refus n'empêche pas d'utiliser la messagerie écrite.
Quand quelqu'un démarre un appel dans une conversation, les autres membres voient apparaître un bandeau « Appel en cours — Rejoindre » en tête de la conversation.
Ce qui n'est pas (encore) sur mobile
| Fonctionnalité | Mobile | Web |
|---|---|---|
| Conversations directes, temps réel, présence, non-lus | ✅ | ✅ |
| Statut de présence fixé par l'utilisateur | ✅ | ✅ |
| Appel audio / visioconférence | ✅ | ✅ |
| Participation aux salons de groupe existants | ✅ | ✅ |
| Création et administration d'un salon de groupe | ❌ | ✅ |
| Pièces jointes, tableau blanc, sondage, enregistrement | ❌ | ✅ |
| Invitation d'un participant externe à l'appel | ❌ | ✅ |
Ces fonctions restent accessibles depuis le web ; leur portage mobile n'est pas nécessaire au parcours visé (échanger et s'appeler depuis son téléphone).