Retour aux projets
janv. 2026Project Leader & Développeur

MonULB Mobile

Nouvelle app MonULB en React Native, scission de l'authentificateur en natif, et le retour des horaires - la feature la plus demandée par les étudiants.

React NativeTypeScriptKotlinSwift

Le projet

MonULB, c'est l'app que des milliers d'étudiants ouvrent chaque jour. Mais elle traînait un problème structurel : l'authentification et les fonctionnalités du quotidien vivaient dans la même app. Résultat - une simple mise à jour pouvait mettre à mal l'accès de toute la communauté universitaire. Et pendant ce temps, les étudiants réclamaient une feature depuis des années : les horaires.

On a décidé de tout reprendre. Pas juste un rafraîchissement - une refonte architecturale.

Ce que j'ai fait

La scission

Le premier chantier, c'était de séparer ce qui n'aurait jamais dû être ensemble. D'un côté, un authentificateur natif développé en Kotlin (Android) et Swift (iOS), intégrant NextAuth et Itsme. De l'autre, la nouvelle app QoL en React Native.

Cette séparation change tout pour la maintenance. On peut mettre à jour l'app sans risquer de casser l'authentification. Les deux vivent indépendamment, chacune sur sa propre stack, avec son propre cycle de release.

La nouvelle app

React Native avec NativeWind pour le styling : la logique utility-first de Tailwind, mais côté natif. Toutes les fonctionnalités de MonULB sont reprises, repensées, et habillées d'une interface moderne.

Les horaires

La cerise sur le gâteau. Les étudiants ont enfin leur programme de la semaine à portée de main, consultable en un tapotement. C'est la feature qui a le plus d'impact au quotidien (et celle qu'ils attendaient depuis le plus longtemps).

La stack

  • React Native côté app QoL : une codebase, deux plateformes, performances natives
  • NativeWind pour le styling : la logique utility-first de Tailwind, adaptée au mobile
  • TypeScript partout : typage strict, pas de surprises à la compilation
  • Kotlin (Android) et Swift (iOS) pour l'authentificateur natif
  • NextAuth / Itsme pour la couche d'authentification

Le vrai défi

Faire coexister deux apps là où il n'y en avait qu'une. L'authentificateur natif doit être fiable à 100% car c'est la porte d'entrée de tout l'écosystème ULB. Chaque décision d'architecture a été pesée en fonction de cette contrainte : si l'auth tombe, tout tombe.

Résultat

Deux apps au lieu d'une. Un authentificateur natif solide par plateforme. Une app QoL moderne, rapide, avec les horaires intégrés. Et une architecture qui ne force plus à choisir entre stabilité et évolution.