Écrire une application web en javascript qui permet de consulter les données de
parcours sup (vœux de poursuite d'études et de réorientation dans l'enseignement
supérieur et réponses des établissements) afin d'aider un(e) lycéén(e) à faire ses choix.
- La partie cliente devra être réaliser au moyen du framework [riotjs](https://riot.js.org/).
- Les données seront consommées au moyen de [l'api](https://data.enseignementsup-recherche.gouv.fr/explore/dataset/fr-esr-parcoursup/api/?timezone=Europe%2FBerlin&sort=tri) opendata. (cf [méthodologie](https://data.enseignementsup-recherche.gouv.fr/api/datasets/1.0/fr-esr-parcoursup/attachments/methodologie_opendata_2025pdf/))
- La localisation utilisera openstreet map et l'api [Leaflet](https://leafletjs.com/).
- Les graphiques seront réalisés au moyen de [chart css](https://chartscss.org/).
## Fonctionnalités
#### Recherche des formations par mots clés, avec localisation sur une carte.
L'utilisateur doit pouvoir selectionner des formations/filières afin de les comparer et estimer
ses chances d'intégrations en fonction de la série de son bac et de sa moyenne en terminale.
[<a href="img/selection1.png">exemple</a>
, <a href="img/selection2.png">exemple</a>]
Les choix de l'utilisateur devront au moins être persistant localement. Vous pouvez, losque tout fonctionne,
mettre en oeuvre une persistance avec [firebase](https://firebase.com).
## Réalisation
1. Une partie de votre travail consiste à comprendre comment fonctionne l'api (entrées/sorties), et comment l'utiliser. N'hésitez pas à encapsuler/abstraire les informations de l'api dans votre propre modèle.
2. Le but est d'utiliser la programmation déclarative et par composants de RIOT.js. Il faut donc l'architecturer et l'organiser en
conséquence. En particulier, il faut profiter pleinement de l'utilisation de composants le plus génériques possibles.
3. Il faut utiliser des urls routables. Riot.js vient avec un [router](https://github.com/riot/route) très simple d'utilisation.
Je vous expliquerai comment mettre en oeuvre la réécriture d'url avec apache.
4. Il est possible d'utiliser le pattern observable, avec une bibliothèque adhoc ([exemple](https://github.com/riot/observable))