Python
Streamlit
Docker
GitHub Actions
FastF1 API
Explorez l’application F1 Analytics Dashboard en ligne :
Note : L’application peut prendre quelques secondes à démarrer si elle est en veille. Si vous avez l’URL réelle de déploiement, remplacez le lien ci-dessus.
1 Contexte général du projet
La Formule 1 occupe une place particulière dans ma vie. Depuis des années, j’avais envie d’allier cette passion à celle que j’ai pour la data. Avant l’arrivée des LLM et de l’IA générative, j’avais déjà tenté de me lancer dans un projet d’analyse F1 en utilisant l’API Ergast. Mais l’API étant devenue obsolète, mes premières tentatives se sont révélées complexes et limitées.
C’est finalement en découvrant FastF1, une API moderne, fiable et totalement opérationnelle, que tout s’est réellement débloqué. À partir de là, je me suis plongé dans le projet avec passion et détermination. Des heures de questions, de tests, d’itérations, parfois même de doutes… mais surtout un apprentissage incroyable.
Ce projet, F1 Analytics Dashboard, est l’aboutissement de ce chemin. Aujourd’hui, j’en suis fier. Il est le résultat d’un travail patient, parfois ardu, mais toujours motivé par l’envie de comprendre, visualiser et raconter la Formule 1 autrement.
Et ce que je vous présente ici n’est qu’un début.
1.1 Déploiement : Docker, reverse proxy… puis GitHub Actions
Comme tout projet web, l’enjeu n’était pas seulement de développer l’application, mais aussi de la rendre accessible en ligne, de façon fiable et stable.
Dans un premier temps, j’ai expérimenté un déploiement via un Dockerfile, accompagné d’un reverse proxy (Nginx) pour exposer proprement l’application à travers un nom de domaine.
Cette méthode fonctionnait : l’application tournait dans un conteneur isolé, le reverse proxy redirigeait le trafic, et le tout offrait une architecture robuste et configurable.
Cependant, ce type de déploiement nécessitait :
- de mettre à jour manuellement l’image Docker,
- de redéployer à chaque modification du code,
- de maintenir l’infrastructure serveur,
- et de surveiller les éventuels dysfonctionnements.
Très vite, j’ai réalisé que pour un projet évolutif, cette méthode devenait lourde.
C’est alors que j’ai mis en place une solution bien plus fluide et professionnelle : GitHub Actions.
1.2 Automatisation & CI/CD : GitHub Actions comme solution idéale
Grâce à GitHub Actions, j’ai pu mettre en place un véritable pipeline CI/CD qui :
- teste automatiquement l’application,
- construit l’environnement,
- et la déploie directement en ligne.
Tout se déclenche à chaque commit, sans aucune intervention manuelle.
⚡ Résultat :
le déploiement est désormais plus léger, plus propre, plus rapide… et totalement automatisé.
L’approche Docker + reverse proxy reste une excellente solution pour un hébergement à long terme ou une architecture auto-hébergée, mais pour ce projet précis – qui évolue fréquemment – GitHub Actions s’est avéré être la méthode la plus efficace et la plus souple.
Cette transition marque un tournant :
le dashboard n’est plus seulement un outil que je maintiens “à la main”, mais un véritable produit capable de s’auto-déployer en continu, dans un esprit DevOps/MLOps moderne.
Je compte bien continuer à enrichir, améliorer et étendre cet outil. Et naturellement, le projet reste ouvert à toutes contributions de passionnés ou de spécialistes souhaitant participer à cette aventure data & F1.
Pour explorer toute la richesse des données de la discipline, j’ai donc développé F1 Analytics Dashboard, une application interactive construite avec Streamlit et FastF1, permettant de visualiser les chronos, la télémétrie, la météo et les stratégies de course de manière claire, moderne et intuitive.
2 Objectif du projet
L’objectif principal de cette application est d’offrir un outil simple et interactif pour :
- Comparer les performances des pilotes
- Analyser les chronos et la régularité des tours
- Explorer les données de télémétrie (vitesse, freinage, accélération)
- Étudier les conditions météo et leur impact
- Observer les choix de pneus et stratégies de course
L’application s’adresse aussi bien aux passionnés de Formule 1 qu’aux analystes de données souhaitant explorer les performances sous un angle statistique.
3 Fonctionnalités principales
- 📈 Analyse des tours et chronos
- ⚙️ Télémétrie avancée
- 🌡️ Suivi météo session par session
- 🛞 Analyse des stratégies pneus
- 🏁 Résultats officiels
- 💾 Exports CSV
4 Méthodologie et technologies
Le projet repose sur la bibliothèque FastF1, qui fournit les données officielles issues des sessions de Formule 1.
Technologies principales :
- Python 3.11
- Streamlit
- Plotly
- Pandas / NumPy
- Docker (pour tests et déploiements précédents)
- GitHub Actions (méthode de déploiement actuelle)
- streamlit-extras
L’architecture est modulaire (src/, pages/, data/), facilitant la maintenance et l’évolution.
5 Exemples de pages
- Page d’accueil : sélection des saisons et sessions
- Tours & Chronos
- Télémétrie
- Conditions météo
- Résultats officiels
- Export de données
6 Résultats attendus
L’application permet :
- d’identifier les pilotes les plus réguliers
- de comprendre l’impact des conditions de piste
- d’analyser les stratégies pneus
- de comparer les performances entre écuries
7 Outil technique
- 100% Python
- Streamlit pour l’interface
- Docker (ancien déploiement)
- GitHub Actions (déploiement actuel recommandé)

Figure 1 : Aperçu du tableau de bord