Aller au contenu
D
Toutes les réalisations

Flutter · WebRTC · IoT · Leadership technique

Aligner le hardware, le firmware, le cloud et le mobile autour d'un même système.

Direction technique et développement mobile d'un système de caméras IP : application Flutter, WebRTC pair-à-pair, MQTT, firmware et cloud temps réel. Une équipe de 8 personnes alignée autour de contrats d'interface communs.

Rôle
Chef de projet technique · Développeur mobile Flutter
Période
2023 · Chez Coding Industry
Stack
FlutterWebRTCMQTTHLSTypeScriptFirmwareRaspberry Pi

Repères mesurés

< 300 ms

latence WebRTC mesurée

Diffusion vidéo pair-à-pair sur mobile

8 personnes

équipe coordonnée

Mobile, backend, firmware et hardware

3 mois

première version livrée

De la spécification aux tests terrain

Le problème

Les solutions de caméras disponibles dépendaient de firmwares opaques et limitaient la capacité du client à auditer, modifier et faire évoluer son propre produit. La difficulté n’était pas seulement mobile : chaque décision touchait simultanément le matériel, le firmware, les protocoles temps réel, le backend et l’expérience de l’utilisateur.

Ma responsabilité

  • découper le système en responsabilités claires ;
  • distribuer les tâches, estimer et planifier ;
  • prendre les décisions d’architecture et effectuer les revues de code ;
  • maintenir la relation avec le client et la responsabilité sur les délais ;
  • développer l’application Flutter et les parcours vidéo critiques.

Décision structurante : un contrat commun

Pour éviter que chaque équipe interprète différemment les messages, événements et états du système, j’ai utilisé un document de contrôle d’interface comme contrat central. Les équipes hardware, firmware, backend et mobile travaillaient ainsi sur les mêmes noms, formats et responsabilités.

Décision structurante : simuler avant de recevoir le matériel

Le développement mobile ne pouvait pas attendre la disponibilité permanente d’une caméra physique. Une stratégie de simulation à trois niveaux a permis de tester l’interface, les échanges et les scénarios de bout en bout tout au long du projet :

  1. réponses simulées pour développer rapidement l’interface ;
  2. simulateur TypeScript reproduisant le comportement réseau de la caméra ;
  3. émulateur sur Raspberry Pi pour les tests proches du matériel.

Application mobile

Association d’une caméra, visualisation du direct, WebRTC pair-à-pair, repli HLS lorsque nécessaire, signalisation et télémétrie MQTT, gestion des états de connexion, traitement des erreurs et reconnexion.

Résultats

L’équipe a livré une première version en trois mois malgré la découverte simultanée de plusieurs domaines techniques. La diffusion pair-à-pair a atteint une latence mesurée inférieure à 300 ms dans les conditions de test documentées.

Ce que ce projet prouve

  • capacité à coordonner une équipe multidisciplinaire ;
  • maîtrise de Flutter au-delà d’applications CRUD ;
  • compréhension des protocoles temps réel ;
  • documentation d’architecture et réduction des dépendances entre équipes ;
  • leadership technique tout en développant directement.

Un besoin similaire dans votre équipe ?

Parlons du contexte, du produit et de la manière dont je peux contribuer.