Firebase et React Native forment un duo puissant pour créer des applications de chat en temps réel. Ce tutoriel montre comment construire une application de messagerie complète avec authentification, du zéro à la démo fonctionnelle.

Fonctionnalités de l’application

  • Inscription et connexion par email/mot de passe via Firebase Authentication
  • Messagerie en temps réel avec Firestore comme base de données
  • Interface de chat grâce à la librairie react-native-gifted-chat
  • Déconnexion depuis l’interface

Créer le projet Expo

npx create-expo-app MonChat --template

Expo simplifie le développement React Native en gérant la configuration native iOS/Android automatiquement.

Configurer Firebase

  1. Créer un projet sur console.firebase.google.com
  2. Activer Authentication → Email/mot de passe
  3. Activer Firestore en mode test
  4. Copier la configuration Firebase dans l’application

Intégrer react-native-gifted-chat

npm install react-native-gifted-chat @firebase/firestore

La librairie GiftedChat gère l’affichage des messages (bulles colorées, date, avatar) et expose un callback onSend pour envoyer les nouveaux messages vers Firestore.

Architecture des données Firestore

Les messages sont stockés dans une collection messages :

  • _id : identifiant unique du message
  • text : contenu du message
  • createdAt : timestamp
  • user : objet avec _id et name

La lecture en temps réel se fait avec onSnapshot de Firestore.

Pour aller plus loin

On peut enrichir l’application avec des salons de discussion privés, des statuts de lecture ou des notifications push. Retrouvez la démo sur YouTube.