À propos
Ses-Temps.fr est né d'une frustration simple : consulter ses temps de natation sur le site de la FFN n'était pas pratique, interface vieillissante, navigation complexe, aucune vue d'ensemble claire.
L'idée : reconstruire une interface moderne et intuitive pour accéder aux mêmes données, en ajoutant ce qui manquait vraiment, récaps de saison partageables, pages clubs, visualisation 3D des courses et carte interactive des compétitions.
La vision
Démocratiser la data de la natation française. Aujourd'hui, ces données existent mais sont enfermées dans un outil difficile d'accès. Ses-Temps les rend lisibles et exploitables pour tous les publics : nageurs, parents, entraîneurs et clubs.
L'ambition
Aller au-delà du simple suivi de temps : devenir l'outil de référence de l'écosystème natation, avec de la gamification (records, badges, progression), des prédictions de performance via un backend ML, et des fonctionnalités pensées pour chaque audience. Le projet est structuré autour de plusieurs axes long terme, engagement, qualité/inclusion, et monétisation.
Fonctionnalités
- Recherche instantanée de n'importe quel nageur ou club
- Profils nageurs détaillés (historique, performances, activité récente)
- Pages clubs (stats, records, nageurs)
- Pages compétitions (résultats par épreuve, course, club ou athlète)
- Récap de saison partageable (image générée automatiquement)
- Visualisation 3D des courses (Three.js)
- Carte interactive des compétitions (MapLibre GL)
- Synchronisation régulière avec la base FFN
Stack technique
Architecture en monorepo (Turborepo + pnpm), pensée pour passer à l'échelle :
- Frontend : Next.js 15 (App Router) + React 19 + Tailwind CSS v4 + shadcn/ui, avec Three.js / React Three Fiber, MapLibre GL, Recharts et Framer Motion
- Backend : Next.js API routes + worker dédié pour les jobs asynchrones (BullMQ)
- Données : PostgreSQL 15, cache et file d'attente Redis 7
- Temps réel : SSE via nchan
- Ingestion : pipeline de scraping/import des données FFN (XML), avec rotation d'IP via Tor
- Prédictions : backend ML externe (Python)
- Infra : entièrement dockerisée (nginx en reverse proxy), migrations SQL automatisées
- Qualité : tests Vitest (unitaires + intégration via Testcontainers), CI, Biome + TypeScript strict
Note
Projet personnel développé sur mon temps libre, du scraping jusqu'au front. C'est mon terrain de jeu pour construire une vraie application full-stack de bout en bout : ingestion de données, architecture scalable, SEO, et soin apporté à l'UX.