Des fichiers JSON plutôt qu'une base de données
Compromis : Aucun service à lancer ni à sauvegarder. Contrepartie : les écritures sur disque sont à ma charge. J'ai déjà ajouté un nouvel essai en cas d'échec et un refus de démarrer si le fichier est corrompu.
Un front en JavaScript natif, sans bundler
Compromis : Aucune étape de build. Contrepartie : du code dupliqué entre serveur et navigateur. Les statistiques sont calculées deux fois, et les deux résultats divergent déjà sur l'heure d'arrivée estimée avant le départ.
Distance calculée sur le tracé GPX
Compromis : La distance suit le parcours officiel, sans le zigzag du GPS. Les points à plus de 100 m sont ignorés, et un écart de plus de 150 m affiche « hors parcours ». Sans fichier GPX, le serveur retombe sur les points bruts, moins précis.