Temps réel · Cartographie
TrackShip — Surveillance maritime temps réel
Surveiller en continu le trafic fluvial autour d'une base de foil sur la Seine et déclencher une alerte dès qu'un navire approche — sans jamais saturer le quota de l'API.
JavaScript
Leaflet
PHP
API EuRIS
Temps réel
1 s
de rafraîchissement en suivi ciblé, contre 10 s en veille
Le contexte
Veiller un point fixe sans cramer le quota API
Il fallait surveiller en continu le trafic fluvial autour d'un point fixe — une base de foil sur la Seine — et déclencher une alerte dès qu'un navire approche. La contrainte forte : faire cela en temps réel sans saturer le quota de l'API, ce qui interdit un polling brutal et impose une stratégie de rafraîchissement intelligente.
Le défi technique & mon intervention
Carte temps réel, zones de proximité & polling adaptatif
- Consommation de l'API EuRIS (trafic fluvial européen) comme source des positions navires.
- Carte interactive temps réel avec Leaflet : positions, caps et identités affichés et mis à jour en direct.
- Zones de proximité colorées autour du point fixe, avec alerte sonore et visuelle au franchissement.
- Rafraîchissement adaptatif pour minimiser les appels : 10 s en veille, 2 s en zone critique, 1 s en suivi ciblé d'un navire par son
MMSI. - Correction du calcul de rayon : la conversion
km → degrésdépend de la latitude ; sans cette correction, les cercles de proximité étaient faussés. Le rayon est désormais calculé correctement selon la position. - Proxy PHP optimisé gérant deux modes : scan de zone (balayage large) et suivi d'un navire unique (focus MMSI), pour adapter la charge API au besoin réel.
- Déploiement sur un sous-domaine dédié, isolé du reste de l'infrastructure.
1 kmZone rouge — alerte immédiate
2 kmZone orange — vigilance
3 kmZone verte — détection
Ce que ça apporte
Une veille fiable et économe
10s → 1spolling adaptatif selon le niveau de risque
3zones de proximité (1/2/3 km)
2modes de proxy : scan & suivi MMSI
0saturation de quota API
Stack technique
Les outils mobilisés
JavaScriptLeafletPHP
API EuRISTemps réelProxy / cache API