Reconstruction de l’interface utilisateur de FlightRadar24
| Niveau technique | Enjeux |
|---|---|
| Chercher à faire les exercices et ne regarder les aides que si nécessaire. Ne pas se préoccuper de la fin du tutoriel (l'ouverture vers la mise en production). | |
| Faire les premiers exercices en autonomie. Ajouter des éléments supplémentaires à l'application et aller jusqu'à la partie mise en production. |
Introduction
Flightradar24 est un service de suivi des vols qui fournit des informations en temps réel sur des milliers d’avions dans le monde entier. Le site Internet propose une visualisation interactive des vols en cours à chaque instant, comportant des informations issues de plusieurs sources sur chaque vol. Des données de position sont agrégées avec des données sur les horaires et le statut des vols provenant des compagnies aériennes et des aéroports.

Flightradar24 vend la plupart de ces données disponibles en temps réel, ainsi que des fichiers d’historiques de vols. Certaines données en temps réel sont toutefois disponibles en accès libre. Il est possible de récupérer ces données de manière programmatique en utilisant par exemple cette librarie Python.
Avec ce sujet, nous vous proposons de reconstruire une interface utilisateur qui se rapproche de celle du site FlightRadar24 avec Python. Une version démo de l’application est accessible via le bandeau en haut de cette page.

L’objet de ce sujet est de reconstruire pas à pas l’interface utilisateur de FlightRadar24. Ce faisant, ce sujet vous apprendra trois choses:
- Récupérer les données de FlightRadar24 avec interface de programmation Python ;
- Développer un site interactif avec Dash, un framework Python réputé servant à construire des applications de visualisation de données ;
- Déployer facilement une application de visualisation dans un environnement Cloud.
1 Déroulement du sujet
Ce sujet comporte 5 parties listées dans le bandeau en haut de la page :
- Dans la première partie, nous explorerons les données disponibles via une interface de programmation ;
- Dans la deuxième partie, nous écrirons une première version de l’application de visualisation ;
- Dans les troisième et quatrième parties, nous raffinerons l’application ;
- Dans la cinquième partie, nous verrons comment déployer l’application sur le SSP Cloud et la rendre accessible depuis Internet.
2 Initialisation du projet
2.1 Récupérer le projet avec Git
Pour se lancer dans le sujet, commencer par ouvrir un service Vscode-python. Pour éviter les problèmes plus tard, il faut impérativement modifier deux éléments de configuration du service :
- Dans l’onglet Networking de la configuration, cocher la case “Enable a custom service port” ;
- Dans l’onglet Kubernetes de la configuration, changer le rôle en
admin.
Dans le service créé, cloner le projet depuis un Terminal avec la commande
git clone https://github.com/InseeFrLab/funathon2024_sujet3.git
Le projet a la structure suivante :
- Les fichiers
.qmdainsi que le fichier_quarto.yamlont servi à la construction de ce site ; - Le fichier
requirements.txtpossède toutes les dépendances Python nécessaires pour le sujet ; - Plusieurs versions de l’application, à différents stades du développement, et à modifier lors des exercices sont situées dans les répertoire
intermediate_app,better_app,even_better_appetfinal_app;
- Le corrigé (version finale) de l’application se trouve dans le répertoire
correction; - Le fichier
Dockerfileet les fichiers du répertoirekubernetesserviront au déploiement de l’application.
2.2 Installation des librairies nécessaires
Pour progresser, il vous faudra installer quelques librairies qui sont listées dans le fichier requirements.txt. Pour ce faire, depuis un Terminal, exécutez la commande
pip install -r requirements.txt
Pour ouvrir un terminal, il suffit de cliquer sur le menu VScode en haut à gauche (les trois petites barres horizontales), puis Terminal > New Terminal.
Pour toutes les opérations menées depuis le terminal, il est important que vous vous placiez à la racine du dépôt Git. Vous pouvez vérifier dans quel dossier vous êtes placés en regardant l’invite de commande du terminal: celle-ci doit se terminer par funathon2024_sujet3. Si ce n’est pas le cas, modifier votre emplacement avec cd.