Projet académique clientFullstack / Outils internes

Strassable

Système fullstack de planification avec synchronisation mobile hors ligne et architecture multi-clients.

Strassable est un système fullstack construit pour l’Eurométropole de Strasbourg autour d’un éditeur cartographique web, d’une API NestJS et d’une application mobile terrain utilisable hors ligne.

ReactTanStack RouterNestJSPrisma

Vue d’ensemble

Système à trois clients :

Éditeur cartographique web pour préparer l’événement

API backend pour orchestrer les domaines métier

Application mobile hors ligne pour l’exécution terrain

Mécaniques clés :

Sessions de transfert par QR code

Stockage mobile local-first avec SQLite

Cartographie hors ligne avec tuiles et recherche

Clients

3 applications coordonnées

Synchronisation

Sessions de transfert QR

Cartographie

Tuiles locales + recherche

Mode terrain

Stockage mobile hors ligne

Défis techniques

Support hors ligne utile

Cartes locales et stockage SQLite devaient rester utiles tout en gardant visibles les contraintes de routage et de synchronisation.

Frontières entre clients

Web, API et mobile avaient besoin de contrats clairs, chaque client manipulant une partie différente du workflow.

UX opérationnelle sur carte dense

Parcours, points de sécurité, équipements et états timeline devaient rester lisibles sur la même surface cartographique.

Architecture

Architecture de synchronisation opérationnelle

Strassable combine un éditeur cartographique web, des services de carte locaux, des sessions de transfert QR et une application mobile terrain hors ligne.

Opérations

Préparation et supervision d’événements

Transitions
préparer: Opérations -> Éditeur carte

Éditeur carte

Projets, parcours, équipes, points de sécurité

API transfert

Orchestration métier et endpoints de transfert

App terrain

Client mobile hors ligne pour les équipes

Transitions
tuiles: API transfert -> Cartes locales
stocker: API transfert -> Base projet
session: API transfert -> Pont QR
collecter: App terrain -> Données terrain
sync: App terrain -> Pont QR

Cartes locales

MBTiles et recherche d’adresse locale

Base projet

Projets, planning, matériel, photos

Pont QR

Session temporaire entre clients

Données terrain

Points traités, photos, retours équipes

L’éditeur web porte la préparation : parcours, équipes, sécurité et lecture timeline

L’API NestJS centralise les domaines projet et les workflows de transfert

Les services cartographiques locaux gardent tuiles et recherche disponibles sans réseau

Les sessions QR encadrent les flux d’import et de retour entre clients

L’application mobile travaille sur des données SQLite pendant l’exécution terrain

Systèmes clés

Les trois surfaces qui comptent le plus : préparation, terrain et transfert.

Éditeur web Strassable avec carte et contrôles opérationnels

Éditeur cartographique

Espace de préparation pour les parcours, équipes, équipements de sécurité, lecture timeline et supervision.

Carte mobile terrain affichant les parcours et données du projet

Application terrain

Les projets importés restent exploitables sur site via le stockage local et une carte pensée pour le terrain.

Écran mobile pour connecter l’application terrain au logiciel desktop

Transfert QR

Les sessions temporaires rendent l’import et le retour explicites au lieu de masquer la synchronisation derrière une connexion permanente.

Analyse

Choix d’architecture

La séparation suit le workflow réel : préparer, orchestrer, exécuter.

+

L’éditeur web prépare l’événement, l’API porte les règles métier et de transfert, puis le mobile exécute à partir de données locales importées.

Le pont QR crée volontairement un contexte temporaire de synchronisation, plus adapté au terrain qu’un client mobile supposé connecté en continu.

Limites et compromis

Architecture solide, avec des limites assumées sur les zones moins finies.

+

Le hors ligne est solide pour les tuiles, la recherche et le stockage mobile, mais certaines logiques de navigation dépendent encore de services externes.

Le projet reste un bon cas portfolio parce qu’il montre architecture multi-clients, contraintes offline, synchronisation QR et décisions produit réelles.