Projet Push To Talk Pusheo

Contexte du projet

Ce projet a été réalisé dans le cadre de ma formation à l’UHA 4.0 en développement web full stack, au cours de l’année 2025.
Il s’agit d’un projet de groupe, mené sur une période de 6 semaines, avec une organisation agile et un suivi régulier de l’avancement.

L’objectif était de concevoir une application mobile de type Push To Talk, permettant à des utilisateurs de communiquer vocalement en temps réel au sein de canaux, à la manière de talkies-walkies numériques.
L’application devait être utilisable aussi bien via l’interface tactile du smartphone que via un bouton physique connecté.


Objectif

Développer une application mobile Push To Talk permettant à des utilisateurs :

  • de rejoindre des canaux de discussion vocale,

  • de communiquer de manière instantanée en appuyant sur un bouton,

  • de garantir une communication fluide, contrôlée et adaptée à des usages professionnels ou collaboratifs.

Le projet met l’accent sur la gestion du micro, la priorité de parole, et l’intégration de matériel externe pour améliorer l’ergonomie.


Fonctionnalités principales

  • Connexion des utilisateurs à l’application

  • Liste des canaux de communication disponibles

  • Ouverture et fermeture d’un canal vocal

  • Gestion du Push To Talk :

    • Appui pour parler

    • Relâchement pour couper le micro

  • Mute automatique des autres utilisateurs lorsqu’un utilisateur parle

  • Affichage des utilisateurs présents dans un canal

  • Intégration d’un bouton physique Flic pour déclencher la prise de parole

  • Gestion des permissions micro sur mobile

  • Interface adaptée à un usage mobile (Android)


Technologies utilisées

  • Front-end mobile : React Native

  • SDK de communication vocale : Rainbow SDK

  • Bouton physique : Librairie Flic2

  • Langage : TypeScript / JavaScript

  • Plateforme cible : Android

  • Gestion de projet : Méthodologie Agile / Scrum


Travail réalisé

Voici les principales tâches que j’ai effectuées sur le projet :

  • Mise en place de l’architecture React Native et configuration de l’environnement de développement

  • Intégration du SDK Rainbow :

    • gestion des appels audio

    • connexion aux canaux

    • contrôle du micro (mute / unmute)

  • Implémentation de la logique Push To Talk :

    • un seul utilisateur peut parler à la fois

    • tous les autres utilisateurs restent automatiquement en mute

  • Gestion des états de parole (parle / ne parle pas) côté interface

  • Intégration de la librairie Flic2 :

    • association du bouton physique à l’application

    • déclenchement de la prise de parole via le bouton

  • Gestion des permissions Android (micro, Bluetooth)

  • Débogage et stabilisation du comportement audio sur mobile


Défis rencontrés

  • Comprendre et intégrer un SDK tiers complexe (Rainbow) avec une documentation partiellement orientée usage natif

  • Gérer correctement les états du micro pour éviter les conflits audio

  • Synchroniser l’état de parole entre plusieurs utilisateurs connectés au même canal

  • Intégrer un bouton matériel externe (Flic) dans une application mobile React Native

  • Garantir une expérience utilisateur fluide malgré les contraintes mobiles (permissions, latence, interruptions)


Ce que j’ai appris

  • Développement d’applications mobiles avec React Native

  • Intégration et utilisation d’un SDK de communication temps réel

  • Gestion fine de l’audio et des permissions sur Android

  • Interaction entre application mobile et hardware externe

  • Importance de la gestion des états et des événements dans une application temps réel

  • Travail en équipe sur un projet technique avec des contraintes fortes

Micro disponible (personne ne parle)
Micro ouvert
Micro occupé

Laisser un commentaire