Les données sont réparties dans 6 fichiers CSV :
-
films.csv : liste des films
-
acteurs.csv : liste des acteurs
-
realisateurs.csv : liste des réalisateurs
-
roles.csv : listes des rôles par films
-
film_realisateurs.csv : réalisateurs par films
-
pays.csv : liste des pays
Les 4 objectifs de ce projet sont les suivants :
-
Réaliser un document de conception :
a. Si vous optez pour UML, vous devez fournir un diagramme de classes et un diagramme entités relations.
b. Si vous optez pour la démarche Merise, vous devez fournir un modèle Conceptuel de Données et un Modèle Physique de Données. -
Mettre en place une base de données.
-
Mettre au point une application permettant d’insérer les données en base de données.
-
Mettre au point une application avec un menu et permettant d’extraire des données.
Exigence n°1 : Qualité de code
- Renseigner la Javadoc
- Structurer votre code
Exigence n°2 : Pas de duplication des données en base
- Les données suivantes doivent être des classes et non des String: Lieu de naissance, pays, langue, genre.
- Les lieux de naissance doivent être uniques
- Les pays doivent être uniques
- Les langues doivent être uniques
- Les genres doivent être uniques
- Les dates doivent être de type LocalDate ou LocalDateTime côté Java.
Tâche n°1 : Analyser les fichiers afin d’en comprendre la structure
Tâche n°2 : Réaliser un document de conception avec les diagrammes demandés. Ce document sera comité dans un répertoire appelé « conception » et situé à la racine du projet.
Tâche n°3 : Réaliser l’application permettant de parser les fichiers (CSV : facile ou JSON en utilisant la librairie Jackson : difficile) et de mettre en BDD les données (en utilisant JPA).
Tâche n°4 : Réaliser une seconde application dotée d’un menu et permettant à l’utilisateur de réaliser des recherches dans les données. Voici le menu proposé :
-
Affichage de la filmographie d’un acteur donné
-
Affichage du casting d’un film donné
-
Affichage des films sortis entre 2 années données
-
Affichage des films communs à 2 acteurs/actrices donnés.
-
Affichage des acteurs communs à 2 films donnés
-
Affichage des films sortis entre 2 années données et qui ont un acteur/actrice donné au casting
-
Difficile : trouver le plus court chemin entre 2 acteurs (algorithme de la théorie des graphes à utiliser)
-
Fin de l’application
Les interactions avec l’utilisateur peuvent se faire avec le Scanner.