Changes between Version 1 and Version 2 of Realisations/2007-2008/Projet/Traces/IMAP


Ignore:
Timestamp:
Jun 14, 2008, 12:06:48 AM (17 years ago)
Author:
benazzou
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Realisations/2007-2008/Projet/Traces/IMAP

    v1 v2  
    2525=== Protocole IMAP ===
    2626Le protocole Imap est un protocole qui permet de recevoir des mails sur un serveur.[[BR]]
    27 Il travaille en 5 étapes numérotées de c00000 à c00005: le client émet une requete "request c0000x blabla" et le serveur répond par une "reponse c0000x blablabla" et ainsi de suite. A l'issue de l'étape C00005, le client reçoit les mails de sa boite. (ou que les plus récents s'il possède une copie de ses mails sur sa machine) ici, la question ne se pose pas...[[BR]]
     27Il travaille en 5 étapes numérotées de c00000 à c00005: le client émet une requete "request c0000x blabla" et le serveur répond par une "reponse c0000x blablabla" et ainsi de suite. A l'issue de l'étape C00005, le client reçoit les mails de sa boite. (ou uniquement les plus récents s'il possède une copie de ses mails sur sa machine) ici, la question ne se pose pas...[[BR]]
     28[http://www.faqs.org/rfcs/rfc3501.html Le Rfc 3501 peut aider à sa compréhension.]
    2829
    2930=== Echange proprement dit ===
    3031 I/ Négociations..: [[BR]]
    31  * A la connection le serveur se présente en informant de la version d'imap qu'il implémente
    32  * Le client demande alors C00000 capability
    33  *
    34  *
    35  *
     32{{{
     33#!html
     34<h4 style="text-align: left; color: red"> * A la connection le serveur se présente en informant de la version d'imap qu'il implémente </h4>
    3635
    37 Le serveur répond que le site n'a pas été modifié et informe de la nature et version de son système d'exploitation.[[BR]]
     36<h4 style="text-align: left"> * Le client demande alors <C00000 capability>: c'est à dire qu'il veut savoir quelles fonctions proposent le serveur </h4>
    3837
    39  * Télechargement des données:
     38<h4 style="text-align: left; color: red"> * Serveur l'informe qu'il y a besoin de s'authentifier et envoie un second message <C00000 ok capability completed> signifiant que l'etape c00000 est terminée</h4>
    4039
    41 == Pourquoi le client demande cette page? ==
     40<h4 style="text-align: left"> * Le client envoie alors <C00001 LOGIN samir pfres>: l'étape c00001 correspond à l'authentification du client le login est samir et le mot de passe pfres, ils apparaissent en clair!</h4>
    4241
     42<h4 style="text-align: left; color: red"> * Serveur informe que l'authentification est conforme, le login et pass fournis correspondent bien à un compte de messagerie avec le message <c00001 OK login completed> <br>On passe à l'Etat authentifié!</h4>
     43
     44<h4 style="text-align: left"> * Le client envoie alors la requête <C00002 LIST "" "*" > <BR>
     45la commande <LIST  "reference name" "mailbox name"> retourne un ensemble de noms de la série complète de tous les noms à la disposition du client. Les resultats contiennent le nom des attributs, le délimiteur de hiérarchie, le nom, et eventuellement la description de la liste de réponse.<BR>
     46Dans notre cas, le client demande l'affichage de tous les noms de dossier de toutes les adresses mails rattachés au compte samir. Ici Samir n'a qu'une adresse mail: samir@ent2.com (ouf, çà simplifie les choses..)
     47</h4>
     48
     49<h4 style="text-align: left; color: red"> * Serveur répond par deux messages: <br>
     501) <* LIST () "/" "INBOX"> <br>
     512) <* LIST () "/" "sent messages"> <br>
     52On comprend que les comptes rattachés au login samir@ent2.com ont deux dossiers: inbox (boite mails des mails arrivés) et sent messages (pour les messages envoyés)
     53</h4>
     54
     55<h4 style="text-align: left"> * Le client envoie alors la requête <C00003 LSUB "" "*" ><BR>
     56La commande LSUB necessite 2 Arguments: "reference name" et "mailbox"<br>
     57Ainsi, de même, La commande LSUB retourne un sous-ensemble de noms de dossiers que l'utilisateur a déclaré comme étant «actifs».</h4>
     58
     59<h4 style="text-align: left; color: red"> * On pouvait s'y attendre, le serveur répond par deux messages: <br>
     601) <* LSUB () "/" "INBOX"> <br>
     612) <* LSUB () "/" "sent messages"> <br>
     62On comprend que les 2 dossiers fournis precedemment par LIST sont actifs.
     63</h4>
     64
     65<h4 style="text-align: left"> * Le client envoie alors la requête <C00004 SELECT INBOX><BR>
     66Cette commande ne necessite qu'un seul Argument: "mailbox"<br>
     67Ainsi, on selectionne la boite de reception.<BR>
     68REMARQUE: Il existe une commande permettant d'accéder en lecture seule à la boite mail, mais mis à part ceci le meme effet que SELECT, il s'agit de la commande EXAMINE, les mails ouvert avec EXAMINE ne passe pas à l'etat "LU" !
     69</h4>
     70
     71<h4 style="text-align: left; color: red"> * La boite de reception passe à l'etat SELECTIONNE. Le serveur vérifie alors l'etat de cette boite et envoie deux messages: <br>
     721) <* 1 EXISTS> <br>
     732) <* 1 RECENT> <br>
     74On comprend que la boite ne comprend qu'un message, et que celui ci est récent, (pas forcément non encore ouvert un mail non ouvert apparait en général "unseen").
     75</h4>
     76
     77<h4 style="text-align: left"> * Dernier message du client.<BR>
     78Il demande <c00005 uid fetch 1: *><br>
     79La commande FETCH récupère les données associées à un message dans la boîte aux lettres. Les éléments de données à être récupérée peut être unique parenthésé ou une liste.<br>
     80Dans le cas présent, la commande UID FETCH 1:* RFC822.SIZE permet de recupérer tous les mails présents. On s'attend à ce que le serveur attribue un numéro "unique" à chaque message, et les fasse parvenir.</h4>
     81
     82<h4 style="text-align: left; color: red"> * Le serveur n'a qu'un mail à afficher, il lui : <br>
     831) <* 1 EXISTS> <br>
     842) <* 1 RECENT> <br>
     85On comprend que la boite ne comprend qu'un message, et que celui ci est récent, (pas forcément non encore ouvert un mail non ouvert apparait en général "unseen").
     86</h4>