Vous réaliserez un gestionnaire de CDs. Fonctionnalité attendue : on fait "avaler" à votre application un CD et il le scrute entièrement, ajoute le nom des fichiers et répertoires dans un petite base de données. Plus tard, lorsqu'on cherche où se trouve le CD contenant tel ou tel fichier, hop, ça nous dit qu'il s'agit du CD 23 qui appartient à Michel Buffa. On visualise son contenu sous la forme d'un arbre d'exploration. Mais plus fort encore, on peut consulter et mettre à jour la base via internet. Il faudra donc prévoir une architecture client/serveur avec une BD centralisée. Encore plus fort, je me dis, tiens, ce CD plein de mp3 me plait bien, c'est machin qui l'a... hmmm en attendant de le lui demander, je vais m'imprimer la pochette ! Votre programme devra être capable de génèrer des fichiers postscript multicolonnes, avec la taille de la police qui s'ajuste en fonction du nombre de titres. On prévoiera aussi la possibilité de mettre une photo scannée avec la pochette. etc... Pour ce projet vous n'êtes pas obligé d'utiliser une véritable base de données, une simple table de hashcode que l'on sauvegardera/restaurera par sérialisation devrait faire l'affaire. Dans le cas de CD audio, on pourra utiliser la base de donnée mondiale CDDB pour récupèrer les titres des morceaux.
Prévoyez un modèle objet extensible à d'autres types de documents...
figure 4
Ce sont eux les responsables....(cf. figure 7)