Skip to Content


Recommandations  “clone WhatsApp + pièces jointes + carnet d’adresses + RCS consentement + WebRTC”.

Voici mes recommandations concrètes, orientées “clone WhatsApp + pièces jointes + carnet d’adresses + RCS consentement + WebRTC”.

1) Stack recommandée (Android-first, production-grade)

Des fonctionnalités qui nous distinguent

Runtime / Langage

  • React Native CLI
  • TypeScript
  • Hermes activé (perf, startup)

Navigation & UI

  • @react-navigation/native (+ stack, tabs)
  • react-native-safe-area-context
  • react-native-gesture-handler
  • GiftedChat pour l’UI de chat
.

Pièces jointes (images / vidéos / fichiers)



  • Images/Vidéo : react-native-image-picker (ou react-native-vision-camera si vous voulez une caméra plus avancée)> @Antonio> cela sera utile pour une fonctionnalité TRES demandé par le docteur ZELLNER à savoir la dimension réseau social entre le senior, l'aidant et l'infirmière > et c'est d'ailleurs cette fonction que je demande à Armel de faire en WebApp#6 (
  • Fichiers : react-native-document-picker
  • Upload : client vers Supabase Storage ou S3 compatible

Carnet d’adresses




  • react-native-contacts (permission runtime + sélection)



  • Remarques @antonio about carnet d'adresses = TRES utile pour faire les cessions de WebRTC ( pour passer du mode lien magique à lancement comme dans whatsApp de call Voix (et demain vidéo )

Temps réel (chat)


  • WebSocket (votre backend) ou Supabase Realtime (selon stratégie)


  • Pour WhatsApp-like : “delivered/read receipts” gérés côté serveur

D'ailleurs  @antonio > est ce que l'on fait du WebSocket ou du Supabase realtime ? 

WebRTC 



  • react-native-webrtc


  • (option) LiveKit RN SDK si vous standardisez SFU + tokens

.

2) Architecture applicative (modulaire)

Je vous conseille 5 modules “clean” :

  1. Auth & Identity
    • Login, device id, refresh tokens
    • @Antonio > On fait du Google ip + log email / pass ? 
  2. Contacts
    • import “à la demande” (sélection d’un contact, pas dump complet)
    • @Antonio > est ce que le Dump complet est pas préférable ( car c'est une native App et synchronisation est systèmatique ou je me trompes ? 
  3. Chat
    • GiftedChat + message store local (SQLite) + sync
  4. Attachments
    • picker → upload → message “file/image/video”
  5. Consent & RCS
    • génération token → envoi RCS via backend → réception event → update dossier
    • @Antonio >  Comme vous savez l'intérêt de cela est particulièrement intéressant pour Orange > cf réunion du 22


3) Données locales (recommandation forte)

Pour une UX WhatsApp-like, évitez de dépendre à 100 % du réseau :

  • SQLite (via react-native-sqlite-storage ou react-native-quick-sqlite)
  • Cache de conversations/messages
  • Retry queue (upload & send)

Cela rend l’app très “réaliste” (offline-first) et “pro”.

4) Sécurité & conformité (conseil “santé”)

  • Ne stockez pas de secrets dans l’app (service key, etc.)
  • JWT/refresh token en stockage sécurisé :
    • Android : Keystore (via react-native-keychain)
  • Pour les pièces jointes :
    • bucket privé + URLs signées (expirantes)
  • Logging minimal côté mobile (pas de données de santé en clair)


5) Build & industrialisation


  • Fastlane (signing, play store)
  • CI : GitHub Actions ou GitLab CI
  • “Flavors” :
    • dev / staging / prod
  • Crash reporting :
    • Sentry

6) Recommandation de trajectoire (pragmatique)


  1. MVP 1 : Chat + pièces jointes + contacts + consentement RCS (sans appel)
  2. MVP 2 : WebRTC 1:1 (audio), en gardant la même base
  3. MVP 3 : multi-participants, enregistrement, diarisation, RAG

7) Squelette projet (démarrage)

Je vous recommande de démarrer sur :

  • React Native CLI (dernière version stable)
  • TypeScript template
  • dossier /src structuré :
    • /features/chat
    • /features/attachments
    • /features/contacts> @Antonio > First car pemet de coller fonctionnalité WebRTC / ringOver
    • /features/consent
    • /services/api
    • /services/storage
    • /db


messagerie + WebRTC natif p

intégration cohérente “WhatsApp-like” : GiftedChat pour la messagerie + WebRTC natif pour l’appel (1:1 au départ), avec un bouton AppeOpportunités


ntégration cohérente “WhatsApp-like” : GiftedChat pour la messagerie + WebRTC natif pour l’appel (1:1 au départ), avec un bouton Appel dans l’en-tête de la conversation et un CallScreen séparé (ou en modal). Je vous donne :

  1. le design d’architecture (RN ⇄ Signaling ⇄ WebRTC),
  2. les dépendances RN CLI,
  3. le squelette de code (ChatScreen + CallScreen + Signaling + WebRTC session),
  4. les permissions Android indispensables,
  5. les points “production” (TURN, reprise, états, latence).

En savoir plus

Accéder à l’Address Book (contacts) sur iOS + Android dans une app React Native utilisant GiftedChat,

Voici la procédure la plus rapide (et conforme) pour accéder à l’Address Book (contacts) sur iOS + Android dans une app React Native utilisant GiftedChat, avec consentement explicite de l’utilisateur, et du code prêt à intégrer.

Option la plus rapide et robuste : react-native-contacts

En savoir plus

Recommandations concrètes, orientées “clone WhatsApp + pièces jointes + carnet d’adresses + RCS consentement + WebRTC”.`



Voici mes recommandations concrètes, orientées “clone WhatsApp + pièces jointes + carnet d’adresses + RCS consentement + WebRTC”.


En savoir plus