← Projets

BlueWiCan App

Projet de fin d'études (ESIGELEC × Stellantis) : une application Laravel qui ingère des trames CAN brutes envoyées par un module matériel Bluetooth/Wifi et les affiche en direct et en historique dans un tableau de bord.

Année
2023
Rôle
Développeur Backend & temps réel
Durée
~3 mois (déc 2022 – mars 2023)
Équipe
Équipe de 3
Liens

Contexte

Projet de fin d'études sponsorisé par Stellantis : construire une application web qui ingère des trames CAN brutes envoyées par un module matériel sur mesure Bluetooth/Wifi et les affiche en direct, avec une vue historique pour l'inspection ultérieure.

Ce que j'ai fait

  • Plomberie Pusher / WebSocket avec gestionnaire de socket sur mesure et événement SendData
  • Point d'entrée d'ingestion POST /save-data avec upsert MySQL indexé sur l'ID de trame
  • JS de la vue en direct (Vue dans Blade) : défilement automatique, contrôles vider/déconnecter, notifications toast
  • Route API + exemption CSRF pour le point d'entrée d'ingestion matériel
  • Traduction anglaise de l'interface et corrections de formatage des dates

Résultats

  • Pipeline fonctionnel de bout en bout avec matériel simulé alimentant le point d'entrée d'ingestion
  • Livré en équipe de 3 pour un vrai sponsor industriel (Stellantis)
  • Vues en direct et historique des trames CAN avec export CSV/Excel
  • Canal temps réel basé sur Pusher après avoir abandonné une tentative WebSockets auto-hébergée

Fonctionnalités clés

  • Table en direct des trames CAN alimentée par les canaux Pusher
  • Vue historique avec Yajra DataTables (recherche, tri, export CSV/Excel)
  • Tableau de bord avec compteurs de trames (jour / mois) et histogrammes Chart.js
  • Authentification e-mail/mot de passe
  • Point d'entrée d'ingestion en lot (POST /save-data) utilisé par le module matériel BlueWiCan

Stack

  • Laravel
  • PHP
  • MySQL
  • Pusher
  • Vue.js
  • Blade
  • Chart.js