imapsync/doc/conferences/imapsync_2020_gulliver_fdln.lyx
Nick Bebout f26b2573c3 2.140
2021-08-04 14:14:36 -05:00

611 lines
10 KiB
Text

#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 474
\begin_document
\begin_header
\textclass beamer
\begin_preamble
\usetheme{Warsaw}
% or ...
\setbeamercovered{transparent}
% or whatever (possibly just delete it)
\end_preamble
\options handout
\use_default_options false
\maintain_unincluded_children false
\language french
\language_package default
\inputencoding auto
\fontencoding global
\font_roman times
\font_sans default
\font_typewriter default
\font_math auto
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 2
\use_package amssymb 2
\use_package cancel 1
\use_package esint 0
\use_package mathdots 0
\use_package mathtools 1
\use_package mhchem 0
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Title
Imasync, allons aux bals
\begin_inset Argument 1
status open
\begin_layout Plain Layout
Imapsync
\end_layout
\end_inset
\end_layout
\begin_layout Subtitle
et transférons sans douleurs des courriels en grand nombre sur de longues
distances
\end_layout
\begin_layout Author
Gilles
\begin_inset space ~
\end_inset
Lamiral
\end_layout
\begin_layout Institute
Informaticien indépendant
\begin_inset Newline newline
\end_inset
Baulon (35)
\end_layout
\begin_layout Date
A l'occasion du FDLN à Rennes.
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Où sont les boites aux lettres ?
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout FrameSubtitle
Comment accèdons nous à nos messages ?
\end_layout
\begin_layout Standard
Nous accédons tous à nos messages suivant le modèle classique client/serveur
:
\end_layout
\begin_layout Itemize
Le serveur écoute et attend les requêtes du client.
\end_layout
\begin_layout Itemize
Le client envoie des demandes au serveur et en attend les réponses.
\end_layout
\begin_layout Itemize
Le client et le serveur discutent avec le même langage : le protocole.
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Quels protocoles pour les boites aux lettres ?
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout Standard
Actuellement 3 protocoles applicatifs se partagent le gâteau de l'accès
aux boites aux lettres :
\end_layout
\begin_layout Itemize
IMAP (port 143) : Internet Message Access Protocol.
\end_layout
\begin_layout Itemize
POP3 (port 110) : Post Office Protocol
\end_layout
\begin_layout Itemize
HTTP (port 80) : HTTP Webmail
\end_layout
\begin_layout Standard
Ces trois protocoles ne sont nullement exclusifs les uns des autres, ils
peuvent cohabiter ensemble et le font très souvent.
\end_layout
\begin_layout Standard
A ces trois protocoles s'ajoutent leurs pendants SSL (Secure Socket Layer):
IMAPS (port 993), POP3S (port 995), HTTPS (port 443).
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Problématique
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout FrameSubtitle
J'ai un problèmeu, je crois bien que je [...]
\end_layout
\begin_layout Itemize
Comment synchroniser les dossiers et les messages d'un serveur s1 vers un
autre serveur s2 ?
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Solution retenue
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout Itemize
Utiliser le protocole en mode client (le client du modèle client/serveur)
et s'affranchir ainsi du format des fichiers stockés, de la technologie
propre à chaque logiciel serveur etc.
\end_layout
\begin_layout Itemize
C'est le choix fait pour écrire imapsync.
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Avantages d'imapsync
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout Itemize
Toute l'arborescence des dossiers est respectée
\end_layout
\begin_layout Itemize
Seul les changements de s1 sont transférés vers s2
\end_layout
\begin_layout Itemize
L'arrêt inopiné et la reprise sont gérés, pas de doublon.
\end_layout
\begin_layout Itemize
Les étiquettes/flags sont aussi transférées et synchronisées
\end_layout
\begin_layout Itemize
Aucun format de fichier n'est à définir ou à rechercher, il s'impose de
lui-même, c'est celui de la messagerie d'internet : RFC 2822 - Internet
Message Format.
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Les informations nécessaires
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout FrameSubtitle
Le strict minimum pour pouvoir relever ou lire ses messages
\end_layout
\begin_layout Standard
4 informations sont strictement nécessaires pour relever le courriel d'une
boite aux lettres :
\end_layout
\begin_layout Itemize
Le protocole géré par le serveur : POP ou IMAP ou HTTP
\end_layout
\begin_layout Itemize
Le serveur : son nom ou son adresse ip :
\end_layout
\begin_deeper
\begin_layout Itemize
imap.truc.com
\end_layout
\begin_layout Itemize
82.98.86.162
\end_layout
\end_deeper
\begin_layout Itemize
Le nom de connexion au service :
\end_layout
\begin_deeper
\begin_layout Itemize
toto
\end_layout
\end_deeper
\begin_layout Itemize
Le mot de passe :
\end_layout
\begin_deeper
\begin_layout Itemize
supersecret
\end_layout
\end_deeper
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Exemple de base avec imapsync
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout FrameSubtitle
Où nous pouvons difficilement faire plus court
\end_layout
\begin_layout Itemize
Imapsync parle IMAP seulement.
Il synchronise un compte imap vers un compte imap.
\end_layout
\begin_layout Itemize
Pour synchroniser un compte pop vers un compte imap, confer le logiciel
libre pop2imap.
\end_layout
\begin_layout Itemize
Pour un transfert de la boite john sur imap.truc.org vers la boite rodo sur
imap.trac.com
\end_layout
\begin_layout Standard
\family typewriter
\size footnotesize
imapsync
\backslash
\end_layout
\begin_layout Standard
\family typewriter
\size footnotesize
--host1 imap.truc.org --user1 john --password1 superdur
\backslash
\end_layout
\begin_layout Standard
\family typewriter
\size footnotesize
--host2 imap.trac.com --user2 rodo --password2 bof
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Succès d'imapsync
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout FrameSubtitle
Succès quand tu nous tiens
\end_layout
\begin_layout Itemize
81 logiciels serveur imap supportés par imapsync (pensiez-vous qu'il existait
autant de logiciel server imap ?).
\end_layout
\begin_layout Itemize
Fonctionne sous windows.
Un binaire imapsync.exe est disponible.
\end_layout
\begin_layout Itemize
Fonctionne sous Mac.
Un binaire imapsync_bin_Darwin est disponible.
\end_layout
\begin_layout Itemize
Disponible dans les crémeries Centos, Fedora, FreeBSD, Gentoo, et OpenBSD
(au moins).
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Quelques dates pour imapsync
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout Itemize
Première version 1.1 du 29 juillet 2001 : Écriture initiale du programme
imapsync (taille : 5 126 octets).
Version qui a servi à remplir avec succès le premier besoin (adresses ip
en dur dans le script).
\end_layout
\begin_layout Itemize
14 Mars 2003 : première annonce sur freshmeat (devenu freecode), version
1.7 (taille : 13 506 octets).
\end_layout
\begin_layout Itemize
25 octobre 2010 : dernière version libre, ouverte et gratuite par l'auteur,
la 1.366 (taille : 139 343 octets).
\end_layout
\begin_layout Itemize
18 janvier 2020 : dernière version libre, ouverte et payante par l'auteur,
la 1.980 (taille : 648 808 octets).
\end_layout
\begin_layout Itemize
Toutes les versions sont là : https://imapsync.lamiral.info/dist/
\end_layout
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Quelques nombres
\end_layout
\end_inset
\end_layout
\begin_layout Frame
\end_layout
\begin_deeper
\begin_layout Itemize
En 2019 :
\end_layout
\begin_deeper
\begin_layout Itemize
160 millions de synchronisations.
\end_layout
\begin_layout Itemize
700 millions de messages par jour.
\end_layout
\begin_layout Itemize
70 Petaoctets (1 PiB = 2^50 octets = 1024^5 ~10^15).
\end_layout
\begin_layout Itemize
0,25% du traffic courriel internet.
\end_layout
\begin_layout Itemize
7000 utilisateurs.
\end_layout
\end_deeper
\end_deeper
\begin_layout Separator
\end_layout
\begin_layout Frame
\begin_inset Argument 4
status open
\begin_layout Plain Layout
Histoire d'imapsync
\end_layout
\end_inset
\end_layout
\begin_deeper
\begin_layout FrameSubtitle
Le besoin initial
\end_layout
\begin_layout Itemize
Besoins et contraintes initiaux :
\end_layout
\begin_deeper
\begin_layout Itemize
Un transfert de boites aux lettres d'un serveur imap Domino (Notes) vers
un serveur imap Cyrus.
\end_layout
\begin_layout Itemize
Une faible bande passante (rnis) qui plante fréquemment sans prévenir.
\end_layout
\begin_layout Itemize
peu de jours pour transférer et vérifier les transferts de bal, ligne rnis
fermée définitivement.
\end_layout
\end_deeper
\end_deeper
\end_body
\end_document