Inspiration

Dans de nombreuses universités africaines — et ailleurs dans le monde — la gestion administrative (inscriptions, emplois du temps, notes, communication étudiant-administration) repose encore largement sur des processus archaïques : papier, affichage physique, ou outils dispersés (Excel, WhatsApp). Cette situation est souvent aggravée par des coupures d'électricité fréquentes et une connectivité internet limitée, rendant les solutions cloud classiques peu adaptées à ces contextes. UniFlow est né de la volonté de KERNEL FORGE de repenser la gestion universitaire pour les institutions dont les systèmes sont restés archaïques, en priorité les universités africaines, avec une architecture offline-first, résiliente aux coupures réseau et accessible sur mobile, desktop et web.

Ce que fait UniFlow

UniFlow est une plateforme complète de gestion universitaire multi-plateforme qui permet la gestion des étudiants, des cours et des emplois du temps, avec un fonctionnement offline-first : les données restent accessibles et modifiables même sans connexion, avec synchronisation automatique dès que le réseau revient. Le projet intègre des sessions de cours à distance via WebRTC pour les cours en ligne ou hybrides, ainsi qu'une architecture pensée pour s'adapter aux réalités locales des institutions qu'elle dessert : faible bande passante, coupures d'électricité, tarification adaptée à la devise locale, et conformité aux législations en vigueur. UniFlow ne comporte volontairement aucune fonctionnalité de paiement, se concentrant uniquement sur la gestion académique et administrative.

Comment nous l'avons construit

Le frontend a été développé avec Flutter, permettant une seule base de code déployée sur Desktop, Mobile et Web. Le backend repose sur NestJS pour une API robuste et modulaire. La base de données locale utilise Drift (SQLite) avec un pattern Outbox pour garantir une synchronisation fiable des données entre le client et le serveur, même en cas de coupures réseau répétées. La communication temps réel s'appuie sur LiveKit pour les fonctionnalités de visioconférence (WebRTC). Un cahier des charges complet de 39 pages a été rédigé en amont, en s'appuyant sur le contexte camerounais comme premier cas d'usage concret (faible bande passante, coupures d'électricité, tarification en FCFA, conformité à la loi n°2010/012/ANTIC), tout en concevant une architecture suffisamment générique pour être adaptée à d'autres universités africaines et internationales confrontées à des défis similaires.

Défis rencontrés

Concevoir une architecture de synchronisation fiable (pattern Outbox) capable de gérer des conflits de données lors de longues périodes hors ligne a représenté un défi majeur. Adapter une architecture Flutter unique pour un rendu cohérent sur trois plateformes différentes (Desktop, Mobile, Web) a également demandé un travail d'harmonisation important. Concevoir un système suffisamment générique pour s'adapter à des institutions et des contextes réglementaires différents, tout en respectant une contrainte stricte (aucune fonctionnalité financière ou de paiement), a constitué un défi de conception supplémentaire, tout comme l'intégration de WebRTC (LiveKit) dans des environnements à connectivité limitée.

Ce que nous avons appris

Ce projet nous a appris l'importance de concevoir "offline-first" dès l'architecture, plutôt que d'ajouter la gestion hors ligne après coup — une nécessité pour de nombreuses institutions dans le monde, pas seulement en Afrique. Nous avons approfondi la gestion de la synchronisation de données distribuées à grande échelle avec des patterns comme Outbox, les subtilités du déploiement d'une même base de code Flutter sur trois cibles différentes, ainsi que l'importance de concevoir des systèmes suffisamment flexibles pour s'adapter à des réalités institutionnelles et réglementaires variées.

Et après ?

Nous prévoyons de déployer UniFlow d'abord dans des institutions pilotes au Cameroun, avant d'étendre son adoption à d'autres universités africaines, puis à d'autres établissements dans le monde confrontés à des défis similaires (connectivité limitée, infrastructures instables, systèmes administratifs vieillissants). Nous continuerons d'améliorer la robustesse de la synchronisation offline et d'ajouter des modules complémentaires (bibliothèque, statistiques académiques), tout en conservant notre engagement : rester un outil purement académique et administratif, sans fonctionnalité financière.

les liens github

https://github.com/KERNEL-FORGE-G/uniflow-mobile https://github.com/KERNEL-FORGE-G/uniflow-backend https://github.com/KERNEL-FORGE-G/uniflow-desktop

Built With

Share this project:

Updates