Date de première publication : 2024/02/07
Vous saviez qu'en Auvergne, on est économe ? Le TP du jour porte sur un symbole : le billet de banque qui ne vaut rien !!!
Vous allez donc coder un site web permettant la gestion d'une collection appliquée aux "billets souvenirs".


Les billets souvenir ont des éléments distinctifs similaires aux vrais billets de banque.
Sur le recto du billet, on distingue une illustration, un nom, une référence (année et numéro, 2020 - 1), une amorce (4 caractères - UEQZ) et un nombre (003857). Tous ces éléments sont caractéristiques d'un type de billet.
Chaque billet a un numéro unique par type (UEQZ-2020-1-003857 est unique)
D'après le fabricant, si on concatène l'amorce du billet (4 caractères - UEQZ) et la référence (2020 - 1), on obtient un identifiant unique de type de billet (il y a quelques variantes car il y a eu des erreurs d'impression de billets). Sur le billet de Clermont-Ferrand, cela donne UEQZ-2020-1
Il y a beaucoup moins de "versos". Pour des questions pratiques, on peut associer un verso au type de billet.
Chaque billet a un identifiant unique (commençant par l'amorce), on peut souhaiter mémoriser le prix d'achat, un état (neuf, abimé), voire des notes (où le billet a été acheté par exemple). On peut ajouter une classification par tags (ville, monument, bd :-), ...) ou des marques distinctives (comme la marque anniversaire des 10 ans ou la flamme d'une association).
Exemple de collection
Versos
Officiellement, tous les billets ont le même verso dixit le fabricant mais il s'avère que le verso a évolué en fonction du temps. Certains versos sont spécifiques pour correspondre à des demandes particulières (pays, caractère "exceptionnel", ...) On peut les reconnaître avec les monuments suivants et certains éléments - dorés ou non :
- Verso 1 : pont du gard, mont saint michel, tour eiffel, notre dame de paris et la joconde : c'est le premier verso à avoir été créé en 2015.
- Verso 2 : porte de brandebourg, big ben (doré), tour eiffel, colisée, sagrada familia, Manneken Pis et la joconde, c'est le deuxième à avoir été proposé (2016 et en partie 2017).
- Verso 3 : porte de brandebourg, tour de bélem (doré), tour eiffel, colisée, sagrada familia, Manneken Pis et la joconde. C'est le dernier verso en date (depuis 2018)



Il existe des variantes pour des billets plus "exceptionnels" ou "collectors" :
- Verso2d : porte de brandebourg, big ben (doré), tour eiffel, colisée, sagrada familia, Manneken Pis (doré) et la joconde. On peut voir "0 pound" et la tour est plus apparente.


- Verso 3d : porte de brandebourg, tour de bélem (doré), tour eiffel, colisée, sagrada familia, Manneken Pis (doré) et la joconde
- Verso 3n : porte de brandebourg, tour de bélem (doré), tour eiffel, colisée, sagrada familia, Manneken Pis (doré) et la joconde SANS mention de la valeur.



Travail à faire
- Mettre en place la base de données : type (modèle) de billet, collectionneur, collection (billets)
- Gérer une collection
- Afficher la collection
- Ajouter ou enlever un élément
- Rechercher sur le nom du billet, l'année ou une catégorie
- Permettre le téléversement d'images, notamment pour la création des types de billet.
- Sécuriser le site avec Spring Security => authentification OAUTH (JWT)
Le site devra être développé principalement en proposant un back en SpringBoot :-) et le front en Thymeleaf. Cependant, vous pouvez coder un back comme une API REST et proposer un front distinct.
Références webographiques
Pour aller plus loin, voici quelques liens concernant les billets et leur histoire :
et quelques liens pour le développement :
- Uploader un fichier - tuto officiel
- un autre tuto sur l'upload
- les records
- JPA et REST
- Sécurisation - open class room
- Règle de nommage d'une API REST