Santé · Migration no-code vers code
Migrer un système RFID hospitalier de Bubble vers une stack souveraine, sans une seule rupture de service

ProtectUs gère le linge hospitalier par RFID : chaque tenue, drap ou blouse est suivi tout au long de son cycle de vie - distribution en armoire connectée, port par les soignants, retour, blanchisserie. Le coeur du dispositif repose sur des lecteurs RFID Zebra pilotés par Arduino, qui interrogent en temps réel une base de dizaines de milliers de tags répartis sur une dizaine d'établissements de santé.
La première version tournait sur Bubble, complétée par AWS Lambda, Power BI et un empilement de services. Cette architecture no-code atteignait ses limites : une latence moyenne d'environ 720 ms sur les opérations RFID (jusqu'à 2 s), des coûts d'exécution élevés, une logique métier verrouillée sans contrôle de version, et une table d'historique dépassant le million de lignes que Bubble peinait à absorber.
Scroll a repris l'ensemble pour le réécrire en Next.js et Supabase, avec une contrainte forte de souveraineté : des données de santé sensibles qui ne devaient ni quitter la France, ni transiter par des services tiers. La nouvelle stack est entièrement self-hostée chez OVH, sous le contrôle de l'établissement.
Le point de départ : un no-code à bout de souffle
Sur les opérations RFID critiques - identifier un soignant, vérifier ses droits d'accès à une armoire, enregistrer les tags lus - chaque milliseconde compte. L'Arduino dispose d'un budget de connexion serré : au-delà, la lecture échoue et l'expérience se dégrade. Sur Bubble, les allers-retours atteignaient en moyenne 720 ms, avec des pointes jusqu'à 2 secondes.
À cela s'ajoutaient une logique métier dispersée entre Bubble, AWS Lambda et Power BI, l'absence de contrôle de version et de CI/CD, des coûts d'exécution qui plafonnaient le débit des API, et un historique de plus d'un million de lignes que la base no-code peinait à servir. Surtout, des données de santé transitaient par des services hébergés hors de France.
Une stack moderne, performante et souveraine
Scroll a réécrit l'application en Next.js 15 et TypeScript strict, sur une architecture propre (domaine, application, infrastructure) où toute la logique métier est versionnée et testée. Les endpoints RFID critiques ont été redessinés pour répondre sous 200 ms : résultat, le temps de connexion de l'Arduino aux armoires est passé de 1,2 s à 300 ms, soit quatre fois plus rapide.
Toute la donnée vit désormais dans une instance Supabase (PostgreSQL, Auth, Realtime, Storage) entièrement self-hostée chez OVH, en France. Le tableau de bord temps réel remplace Power BI sans coût de licence, et la sécurité repose sur du RLS activé sur toutes les tables. Le bridge IoT existant (Node-RED) a été conservé : seules les URL des endpoints ont changé.
Une migration progressive, zéro rupture
Un système hospitalier ne peut pas s'arrêter. La bascule s'est donc faite armoire par armoire : pour chaque lecteur, il suffisait de pointer Node-RED vers le nouvel endpoint. En cas de doute, le retour en arrière était immédiat - un simple changement d'URL - sans double écriture ni fenêtre de maintenance.
Résultat : aucune rupture de service côté soignants, une infrastructure quatre fois plus réactive, des coûts récurrents fortement réduits, et surtout des données de santé qui ne quittent plus jamais le territoire français. ProtectUs maîtrise désormais entièrement son code, son hébergement et sa feuille de route.