Projet Jail

Informatique Réseau IR3
Rémi Forax & Lionel Calmejane

Le projet

Ce projet consiste à developper un client mail comme Netscape Mail, Outlook, etc. en Java.
Ce client devra permettre de rapatrier sur une machine les mails selon les protocoles POP et IMAP et d'envoyer des mails selon le protocole SMTP.
Le client devra gérer et visualiser différents formats de mail (texte, HTML et les formats de fichiers), les pièces jointes et autres attachements.

Fonctionnalité

Liste non exhaustive de fonctionnalités :

Plus toutes fonctionnalités que vous jugez obligatoires pour la cohérence du projet. Voici quelques fonctionnalités optionnelles :

Phases

Voici les différentes phases de réalisation, et les responsables associés :
Pour chaque étape, un responsable de la bonne marche du projet est marqué entre parenthèses
 
Les indications données ne sont pas une contraintre de management mais plutot un plan pour vous aider. Le plus important est que chaque personne du groupe doit avoir, et un travail de management (chef de ...) et un travail d'exécutant, (c'est moi qui est codé ...).

Calendrier

Les documents sont à fournir au format PDF au plus tard le jeudi à minuit précédent le lundi.

Date Evènement et documents à fournir
28 octobre 2002 Présentation du projet
18 novembre 2002 Cahier des charges fonctionnelles
(jusqu'au use cases)
2 décembre 2002 Cahier des charges techniques
(fin de l'analyse) +
Spécification de l'interface graphique
6 décembre 2002 Prototype d'interface graphique
16 décembre 2002 Livraison version béta
6 janvier Livraison version 1.0

Contraintes techniques

  1. Le logiciel devra utiliser le J2SDK1.4.
  2. L'API de mail utilisé doit être Javamail.
  3. L'interface graphique doit être écrite en Swing ou en SWT/JFace (interface graphique d'éclipse).
  4. Les tests unitaires peuvent être fait avec JUnit.
Tout autre choix de librairie doit être motivé et validé techniquement.

Qualité du logiciel

  1. L'interface graphique devra être jolie et utilisable.
  2. Le client doit posséder un système de cache local rapide, fiable, incrémental permettant de lire les mails en étant déconnecté du réseau.
  3. Le client mail doit mettre moins de trois secondes pour apparaître à l'écran (pas de splash screen).

Références

Conventions

Convention de Codage
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
Convention sur les Interfaces Graphiques
http://www.eclipse.org/articles/Article-UI-Guidelines/Index.html
Java Look and Feel Graphics Repository
http://developer.java.sun.com/developer/techDocs/hi/repository/
Eclipse UI Guideline
http://www.eclipse.org/articles/Article-UI-Guidelines/Index.html

Briques logiciels

Java 2 SDK 1.4
http://java.sun.com/j2se/1.4.1/docs/index.html
The Standart Window Toolkit
http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html
JavaMail
http://java.sun.com/products/javamail/
JUnit
http://www.junit.org

Spécifications

Mozilla Mail specification
http://www.mozilla.org/mailnews/specs/threepane/
Evolution Features
http://ximian.com/products/evolution/features.html
RFC 821: protocol SMTP
http://www.ietf.org/rfc/rfc821.html
RFC 1939: protocol POP
http://www.ietf.org/rfc/rfc1939.html
RFC 2060: protocol IMAP
http://www.ietf.org/rfc/rfc2060.txt
RFC 3028: A mail Filtering Langage
http://www.ietf.org/rfc/rfc3028.txt
RFC 2633: S/MIME Version 3
http://www.ietf.org/rfc/rfc2633.txt