Retour à l'atelier Labo Laborathèque - Exploitation de données 420-363-MT

Labos

Labora-Thèque

10% de la note

Atelier réalisé en classe le 25 août 2026

À remettre le 1er septembre 2026

Nom de dépôt imposé : exploitation-donnees-laboratheque-{utilisateur}
Créer votre dépôt GitHub

Que programme-t-on ?

Une vidéothèque

Une application JavaFX qui gère une collection de films : une liste à l'écran, des aperçus statistiques, et des opérations d'ajout, d'édition et d'effacement branchées sur une base de données PostgreSQL.

Résumé des remises

  • Initialiser le projet
  • Créer le dépôt GitHub exploitation-donnees-laboratheque-{utilisateur}
  • Utiliser le code existant

Programmer la liste

GITHUB Pre-release : LIVRAISON_LISTE
DATES Livraison le 1er septembre
LIVRABLES + Ajout de FilmDAO.java
+ Ajout de videotheque.sql

L'écran principal affiche déjà une liste d'étudiants qui est dans une liste. On doit la remplacer par celle provenant de la base de données PostgreSQL.

  • La base de données doit s'appeler videotheque en minuscules.
  • Le nom de la table de film est film.

Les données de la base de données doivent s'afficher dans l'écran graphique.

On remet également le script SQL de création de la base de données.

Exporter un SQL en postgresql : document de référence

Programmer le DAO

GITHUB Pre-release : LIVRAISON_EDITION
DATES Livraison le 1er septembre
LIVRABLES Δ Maj de videotheque.fxml
Δ Maj de VueVideotheque.java
Δ Maj de ControleurVideotheque.java
Δ Maj de FilmDAO.java

Cette partie n'a pas de contrepartie graphique programmée pour l'instant. On doit seulement programmer le DAO.

Cependant, on doit tester les fonctions de ce DAO. On réalise les tests dans le main() avant le lancement de la fenêtre.

  • La fonction ajouterFilm() ajoute un objet Film dans la base de données
  • La fonction editerFilm() modifie la rangée dans la base de données
  • La fonction effacerFilm() efface le film.

Rappel DAO

(Data Access Object)

5 fonctions minimum de tout DAO, par exemple dans TrucDAO :

  • List<Truc> listerTrucs()
  • Truc detaillerTruc(int)
  • void ajouterTruc(Truc)
  • void editerTruc(Truc) ou modifierTruc(Truc)
  • void effacerTruc(Truc) ou supprimerTruc(Truc)

Dans un contexte de one-to-many, le DAO de la donnée de sous-liste :

  • List<Truc> listerTrucsParPatente(Patente)

Voir les normes des projets dans un document séparé.

Même s'il y a typiquement les 5 fonctions de base dans un DAO, ce projet n'a pas besoin de la fonction detailler().

Source : pikrepo.com

Programmer les aperçus

GITHUB Release : LIVRAISON_STATISTIQUES
DATES Livraison le 1er septembre
LIVRABLES Δ Maj de videotheque.fxml
Δ Maj de VueVideotheque.java
Δ Maj de ControleurVideotheque.java
Δ Maj de FilmDAO.java

L'écran principal affiche 2 petites boîtes d'aperçus.

  • Les 4 aperçus affichent une donnée provenant du contrôleur.
  • Au moins 2 des 4 aperçus proviennent des données de la base de données.

Les données de la base de données doivent s'afficher dans l'écran graphique.

Vous avez fini ? BRAVO !

Révisez votre travail (nomenclature, propreté du code) et faites tester le fonctionnement par un ami, si possible un ami qui n'est pas en informatique.

Posez vos questions : Discord ou stamandnadine@cgmatane.qc.ca ou nadineducegep@gmail.com