← Toutes les études de cas

Refonte d'application mobile

VOOCONNECT : une application iOS refaite en une seule application Flutter pour iOS et Android

Une application sociale de courtes vidéos (caméra, montage, diffusion en direct, clavardage, achats intégrés) refaite d'une application iOS native en Swift en une seule application Flutter sur les deux magasins, avec un serveur Node.js, une administration React, une migration du stockage pendant un verrouillage du fournisseur et un serveur de médias auto-hébergé.

Le client

VOOCONNECT appartient à Vooroogoo Inc. Notre équipe dirige le développement mobile et serveur de VOOCONNECT.

Le défi

  • L'application d'origine était uniquement iOS, écrite en Swift et SwiftUI natifs : 468 fichiers, environ 70 600 lignes. Les utilisateurs Android ne pouvaient pas s'en servir, et chaque fonction aurait dû être construite deux fois.
  • La fiche Google Play avait été retirée en février 2023, et une mise à jour avait été refusée.
  • En août 2026, l'hébergeur de médias a désactivé le compte et verrouillé son API, mettant en danger les vidéos et images de l'application.
  • Les anciennes données étaient dans une vieille base MySQL qui devait passer au nouveau serveur MongoDB sans rien perdre.

Ce qu'on a construit

Une seule application Flutter pour iOS et Android

  • 29 modules : fil avec classement, caméra, montage vidéo, duos, stories, brouillons, sons, diffusion en direct et talkie-walkie, clavardage en temps réel, cadeaux et pièces, abonnements, comptes multiples, recherche, notifications et plus.
  • Architecture propre (domaine / données / présentation) avec BLoC, fonctions activées depuis l'administration, et 5 langues.
  • L'application Swift a continué de fonctionner sur le même serveur pendant la refonte; les 8 phases de migration étaient terminées le 30 mars 2026.

Serveur et administration

  • Node.js / Express, MongoDB Atlas, Socket.IO, Firebase, Agora et stockage compatible S3, déployé sur Railway.
  • Tableau de bord d'administration en React 18, TypeScript et Vite.

Migrations et infrastructure

  • Tous les médias déplacés hors du compte verrouillé vers Cloudflare R2, au lieu de payer pour le réactiver.
  • Une importation de l'ancienne base MySQL vers MongoDB (utilisateurs, publications, commentaires, abonnements, mentions j'aime, favoris et médias), répétée de bout en bout en préproduction.
  • Serveur de médias Linux/Docker auto-hébergé qui produit les versions 720p, HLS et vignettes, plus un environnement de préproduction et des sauvegardes de la base chaque nuit sur deux disques.

Résultats

  • Un seul code sur les deux magasins : la version 5.0.2 était en ligne sur l'App Store le 30 septembre 2026, et la fiche Google Play est de retour.
  • Téléchargement Android réduit de 565 Mo à 139 Mo.
  • Aucun média perdu et aucuns frais de réactivation payés quand l'hébergeur a verrouillé le compte.

Technologies

Flutter / Dart, Swift (ancienne version), Node.js / Express, MongoDB Atlas, Socket.IO, Redis, Firebase, Agora, FFmpeg, Cloudflare R2, React + TypeScript + Vite, Railway, Docker, Codemagic CI, Firebase Test Lab, Patrol, Maestro, Jest.