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 :
- Gérer plusieurs comptes POP, IMAP avec différentes
identités.
- Composer des mails aux formats texte.
- Envoyer des mails à des adresses avec les options TO,CC,BCC.
- Consulter les mails reçus, les marquer,
les détruire.
- Consulter les mails en mode déconnecté
(peut-être seulement certains répertoires).
- Répondre à un mail (Reply, Reply All).
- Renvoyer un mail (forward,bounce).
- Créer/détruire plusieurs répertoires, sous-répertoires, les
renommer.
- Faire du copier/coller et Drag&Drop de mails
entre les répertoires d'un même compte.
- Ranger les mails envoyés dans un repertoire
spécial (Sent).
Plus toutes fonctionnalités que vous jugez obligatoires pour la
cohérence du projet.
Voici quelques fonctionnalités optionnelles :
- Faire du copier/coller et Drag&Drop de mails entre
différents comptes.
- Indiquer périodiquement lorsque de nouveaux mails
sont arrivés.
- Filtrer les mails reçus selon différents critères
et les rediriger dans différents repertoires.
- Composer des mails au format HTML.
- Mettre un mode accusé/reception.
- Implémenter un carnet d'adresses.
- Signer et crypter les messages (S/MIME).
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é ...).
- Analyse/Conception
- Cahier des charges fonctionnelles (Consultant Fonctionnalité)
- Charte graphique spécification/style/ergonomie (Chef Artistique)
- Prototype interface graphique et validation ergonomie (Chef Artistique)
- Cahier des charges techniques (spécification détaillée) (Chef Technique)
- Production
- Developpement, création structure de données
dans des modules spécifiques, test unitaire. (Chef Developpement)
- Intégration, paramétrage (Chef Intégration)
- Controle qualité, tests (Responsable Qualité)
- Recette
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
- Le logiciel devra utiliser le J2SDK1.4.
- L'API de mail utilisé doit être
Javamail.
- L'interface graphique doit être écrite en
Swing ou
en SWT/JFace
(interface graphique d'éclipse).
- Les tests unitaires peuvent être fait avec
JUnit.
Tout autre choix de librairie doit être motivé et
validé techniquement.
Qualité du logiciel
- L'interface graphique devra être jolie et
utilisable.
- 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.
- 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