Sujets de mini-projets

Un seul sujet :

Programme pour faire des dessins composés de cercles, polygones, etc.

Créez un format texte de sauvegarde du dessin. Pour ceux qui connaissent, le format peut être un format XML (aucune pénalité si vous n'utilisez pas XML qui est trop compliqué à apprendre si vous ne le connaissez pas déjà), les autres inventeront leur propre format. Prévoyez aussi une sauvegarde sous forme sérialisée.

On devra pouvoir ajouter de nouvelles figures au dessin, faire une action (par exemple déplacer) sur plusieurs figures en même temps, supprimer des figures ou des ensembles de figures, colorer les figures, etc.

Ca serait bien si on pouvait dessiner sur une image, pour y ajouter par exemple des annotations et des flèches.

Autres sujets :

Si vous avez de très bonnes raisons (et uniquement dans ce cas), vous pouvez proposer votre propre sujet. Il devra comporter une interface graphique et des entrées-sorties non triviales. Le sujet devra recevoir l'accord des 2 enseignants.

Vous pouvez choisir votre sujet jusqu'au 5 mai. Chaque binôme devra alors envoyer un e-mail à l'adresse grin@unice.fr pour rappeler le sujet choisi (un seul message pas binôme).

But du projet

Un des buts de ce mini-projet est de vous faire pratiquer Swing, l'API pour les interfaces graphiques et l'API sur les entrées-sorties. Vous devrez soigner particulièrement l'interface graphique de votre application Arrangez-vous, par exemple, pour utiliser le plus grand nombre de composants et de possibilités de Swing (fenêtres de dialogue, boutons, listes, menus, barres d'outils, onglets, bulles d'aide, raccourcis clavier, etc.; voir par exemple, ici) sans que ce soit trop artificiel. Faites de même avec l'API sur les entrées-sorties.

Vous voulez quelques images ? Vous en trouverez quelques unes ici. Il y en a certainement de bien meilleures sur le Web ; cherchez un peu.

Il est nécessaire d'être en binôme ; il faut apprendre à travailler en groupe. Les étudiants seuls devront en expliquer la raison avant de commencer à travailler sur le projet.

Un autre but important (sans doute le plus important) est de vous faire pratiquer les grands principes de programmation que vous avez appris : encapsulation (par exemple, pas de variables publiques sauf exceptions très rares, et le moins possible de variables protected), modularité, extensibilité (du polymorphisme en particulier plutôt que des "switch"), réutilisabilité, documentation de l'application (javadoc en particulier pour une application Java), etc.

Vos classes devront appartenir à des paquetages (obligatoire !).

Vous séparerez le plus possible l'interface graphique des classes "métier" (par exemple l'architecture des classes qui représenteront les figures dessinées). Vous pouvez commencer à réfléchir sur les classes "métier" de votre application, même si vous ne savez pas encore bien programmer une interface graphique.

Format obligatoire pour rendre le mini-projet :

Le projet devra être fourni sous forme d'un fichier zip contenant tout sur le projet :

Vous pouvez aussi ajouter un diagramme de classe et des explications sur l'architecture de votre application qui expliquent l'articulation de vos classes et paquetages au correcteur et aux futures développeurs intéressés par votre projet. Mettez-le dans le fichier zip et indiquez où ils se trouvent par un lien dans la page Web du projet.

Le projet devra être rendu le 27 mai au plus tard (tout dépassement aura un impact négatif sur la note).

IMPORTANT :

IMPORTANT : comment rendre le projet

Pour rendre le projet, envoyez un message électronique à l'adresse grin@unice.fr . Un seul message par binôme.

Le sujet du message sera du type "Projet licence info de toto et titi"

Le corps du message devra

  • rappeler le projet choisi et les noms des étudiants du binôme
  • comporter en plus l'adresse (cliquable s'il vous plait !) de la page du projet sur le Web.
  • Le fichier zip attaché au message devra comporter tout votre travail sur ce projet : code source, exécutable, documentation (javadoc et autre), page Web, fichier readme ou autre, etc. Relisez le début de cette page. Ce fichier zip devra aussi être accessible er récupérable depuis la page Web du projet.

    Evitez d'envoyer plusieurs messages pour un même projet. Testez si tout va bien en vous envoyant d'abord le message et en vous plaçant dans un environnement neutre (par exemple pas sur la machine qui contient votre page Web). Seule la première version envoyée sera prise en compte pour la correction.

    Bon travail...