Tous les projets
Étude de cas · 02

Industrie · Embarqué · Full-stack

NAVBOX

NAVBOX est un projet de fin d’études réalisé en contexte industriel, autour d’un simulateur de navigation et de données géospatiales. L’objectif était de faire évoluer un système embarqué existant vers une plateforme reliant couche embarquée et outils de supervision logiciels.

Statut
Projet de fin d’études — 2026
Mon rôle
Conception et développement de la solution de bout en bout : embarqué C++, protocoles, simulation, backend et interface web, jusqu’à la validation.
Stack
C++ · Python · FastAPI · React · TypeScript · ctest · pytest · Vitest · Jenkins · Docker
02

Du microcontrôleur à l’interface de supervision

01

Contexte

Le projet part d’un besoin de simulation et de validation de flux de navigation sur système embarqué. L’enjeu principal était de construire une chaîne cohérente entre le traitement bas niveau des données, leur simulation, leur supervision et leur validation, tout en respectant les contraintes d’un environnement industriel.

02

Architecture

Le système s’organise autour de trois niveaux complémentaires, chacun porté par une stack dédiée : C++ embarqué → backend Python / FastAPI → interface React / TypeScript.

C++PythonFastAPIReactTypeScript
  • Embarqué (C++) — une couche C++ sur microcontrôleur prend en charge l’acquisition, le traitement, la conversion et la génération de flux de navigation
  • Backend (Python · FastAPI) — une couche intermédiaire assure le dialogue avec l’équipement embarqué, la supervision des échanges et la mise à disposition des données et commandes
  • Interface web (React · TypeScript) — une interface de supervision permet de piloter le simulateur et d’observer l’état du système sans manipuler directement la couche embarquée

03

Mon rôle

Conception et développement de la solution de bout en bout, avec un travail couvrant plusieurs couches et disciplines.

  • Développement embarqué en C++
  • Gestion et transformation de plusieurs protocoles de navigation
  • Simulation de données géospatiales
  • Backend de supervision
  • Interface web de pilotage
  • Automatisation des tests et de la validation

04

Décisions d’ingénierie

Quelques choix structurants guident l’architecture du système.

  • Séparer clairement logique protocolaire, matériel et supervision
  • Supporter plusieurs protocoles de navigation dans une architecture commune
  • Conserver un mode de simulation pour tester des scénarios sans dépendre en permanence d’une source physique
  • Rendre la logique embarquée testable indépendamment de la cible matérielle
  • Automatiser les validations afin de limiter les régressions lors des évolutions

05

Validation

La validation a été traitée comme une partie intégrante du développement, à chaque niveau du système. Elle est automatisée par couche : ctest pour le C++, pytest pour le backend et Vitest pour le frontend, orchestrés dans la chaîne CI avec Jenkins et Docker.

ctestpytestVitestJenkinsDocker
  • Tests de la logique embarquée
  • Tests backend
  • Tests frontend
  • Tests d’intégration entre les différentes couches
  • Validation de scénarios de simulation et de flux de navigation
  • Automatisation d’une partie de ces contrôles dans la chaîne de développement

06

Chaîne de bout en bout

NAVBOX relie une couche embarquée C++, un backend Python / FastAPI et une interface React / TypeScript dans une même chaîne de bout en bout. Le système couvre la simulation de flux de navigation, leur traitement, leur supervision et leur validation, avec une architecture modulaire et testable.

Projet suivant

SmartSearch / MAYbe Here