général
curriculum vitae
contact

CARDIWEB
2007
2006
2005

Etudes
les projets
les sites web
les exposés

liens
OTB World
EPITA
PCN
CARDIWEB

 
Modalités de rendu (non contractuelles)
=======================================

Groupe de News:			epita.comp.java et epita.cours.modelisation
Sujet de mail Yaka		[YAKARD]
Date de rendu:			vendredi 21 mars 2003 - 12:00:00
Nom de l'exécutable:		yakard.jar
Rendu:				Par Upload (cf Infos->Modalités->Rendus du site yaka)
Modalités:			Ce mini-projet est à faire en monôme
Compilateur:                  	javac
Tools:				parseur XML (Jaxp), Jar, javadoc

Les informations ci-dessus peuvent changer jusqu'au 20/03/2003 12h00.



Introduction
============

Vos Yaka en plus d’être présent pour vous donner des cours, des TPs,
des sujets, des soutenances, des soutiens et même une assistance
psychologique sont aussi des étudiants. Comme nous avons beaucoup
de travail et que nous avons pas le temps de tout faire, nous allons
vous demander de nous filer un petit coup de main. Nous avons besoin
que vous réalisiez pour nous un petit éditeur de cartes de visites.

Sujet
=====

Ce mini-projet a pour but de vous faire découvrir le langage Java,
d’acquérir des notions de XML et mettre en application vos
connaissances en UML acquises aux cours de Theo.
Lors de la réalisation du projet vous utiliserez les notions de
Java vu en cours avec Olivier Ricou et en tp avec nous.

Le logiciel devra avoir deux modes, un mode texte et un mode
graphique (SWING).
En plus du logiciel, vous devrez nous fournir une modélisation
UML contenant au moins un diagramme de classe.


Descriptions des fonctionnalités de Yakard
==========================================

Les fonctionnalités minimales sont :
- Ajout d’un contact par le biais d'une interface (graphique et texte);
- Importation d’un contact par un VCard;
- Importation de contacts par un fichier XML (avec gestion des doublons
  bien sur);
- Suppression d’un contact (éventuellement plusieurs);
- Visualisation de la liste des contacts (faire un choix pertinent sur
  les informations à afficher);
- Modification d’un contact;
- Sauvegarde des contacts dans un fichier XML;
- Sauvegarde d’un contact sous forme de VCard.
Les modes graphique ET texte sont OBLIGATOIRES. Nous vous conseillons
néanmoins de réaliser votre interface texte avant l'interface graphique.


La modélisation UML
===================

Cette partie est élément important du projet et représentera un
pourcentage non négligeable de la note en soutenance.
En vous référant au cours de Théo, vous devez réaliser une modélisation
UML du projet en tenant compte de tout ce qui est spécifié dans le présent
document. En clair, vous devez tout modéliser y compris ce que vous n’avez
pas eu le temps de coder.

Deux formats seront acceptés pour la modélisation :
- le format de Dia des machines de l’EPITA;
- le format pdf.
La modélisation devra être dans le fichier de rendu.

Cette modélisation contiendra au minimum le diagramme de classe UML (d’autres
représentations pourront déboucher sur un bonus).
Bien sur votre code source devra être en parfait accord avec votre modélisation.
Les outils de conception (Dia, argoUML ...) sont fortement conseillés.

FACULTATIF : Les Yaka apprécieront que vous veniez à votre soutenance avec un
exemplaire papier.


Les VCARD
=========

Vous devrez à partir du net vous renseigner sur les VCard. L’extension des
fichiers VCard est «.vcf».


La DTD
======
yakard.dtd : Il s'agit de celle que vous devez utiliser.

< ! ELEMENT yakard (contact+)>
< ! ELEMENT contact (firstName ,name, nickName, address, email, phone, pocketPhone, job)>
< ! ELEMENT firstName (#PCDATA)>
< ! ELEMENT name (#PCDATA)>
< ! ELEMENT email (#PCDATA)>
< ! ELEMENT phone (#PCDATA)>
< ! ELEMENT pocketPhone (#PCDATA)>
< ! ELEMENT address (road, cp, city, country)>
< ! ELEMENT road (#PCDATA)>
< ! ELEMENT cp (#PCDATA)>
< ! ELEMENT city (#PCDATA)>
< ! ELEMENT country (#PCDATA)>
< ! ELEMENT job (#PCDATA)>


La tarball de rendu
===================
La tarball de rendu devra contenir obligatoirement les fichiers suivants et sous cette forme:

- AUTHORS
Prenom Nom	

- LINKS
 Contient :
#http://mon.site.web.interressant/
Titre Auteur
(Attention ne mettez pas de # dans les différentes descriptions)

- ChangeLog
 Contient :
AAAA-MM-JJ Prenom NOM :
	   * example.hh: fait ca

- README
 Contient un resume sur votre travail durant ce mini-projet. Lachez-vous !

- TODO
 Contient :
La liste des choses qu'il reste à faire (ce n'est pas forcément vide...)

- Makefile
 Contient :
  - une règle "doc" qui permet de creer les docs via javadoc et les range dans le
    repertoire doc/;
  - une règle "jar" qui compile les sources et créé le jar;
  - une règle "run" qui permet de lancer le programme
  - une règle "clean" qui permet de faire ce que l'on attend elle.

- OPTIONS (Si vous faites des options, c'est le seul moyen d'être noté la dessus)
 Mettez une ligne contenant le mot clé spécifique à l'option, si ce n'est pas fait ce
 n'est pas corrigé (Si une option implémentée n'a pas été prévue, mettez le mot clé:
 "other", suivi d'une description brève de cette option).


Elle devra également contenir les répertoires suivants:

- src/
 Répertoire contenant vos sources.

- doc/
 Répertoire contenant vos documents générés via javadoc.

- uml/
 Répertoire contenant votre modélisation

La tarball de rendu doit être nettoyé (i-e le sous répertoire doc vide, aucun fichier class
et pas d'archive jar).


Quelques contraintes :
======================

- Vous devez utiliser le jdk 1.3 disponible sur le compte yaka (une news sera
  posté pour plus d'informations);
- Le reverse engineering intempestif sera considéré comme du « foutage de
  gueule » (la note sera en conséquence bien évidemment);
- Vous devrez commenter votre code (petite aide: renseigner vous sur javadoc
  avant).


Bonus
=====
- Pouvoir choisir au moment de la lecture du fichier XML importé, ceux que l'on
  souhaite conserver ou non;
- Réaliser un explorateur de fichier pour aller chercher les fichiers (XML et
  VCard);
- Faire une modelisation plus poussé;
- Tout ce que vous voulez et qui rendrait votre projet plus fun.


Références
==========
www.ietf.org/rfc/rfc2425.txt
www.google.fr
java.sun.com
java.sun.com/j2se/1.3/docs/api/


Le sujet vous laisse une grande liberté, alors faites vous plaisir, c’est que du
bonheur !!!





 

 
 
     

| Copyright 2002 © OTB World Conception |
.:: version du site : v2.0 ::.