imapsync_2020_gulliver_fdln.lyx 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  1. #LyX 2.1 created this file. For more info see http://www.lyx.org/
  2. \lyxformat 474
  3. \begin_document
  4. \begin_header
  5. \textclass beamer
  6. \begin_preamble
  7. \usetheme{Warsaw}
  8. % or ...
  9. \setbeamercovered{transparent}
  10. % or whatever (possibly just delete it)
  11. \end_preamble
  12. \options handout
  13. \use_default_options false
  14. \maintain_unincluded_children false
  15. \language french
  16. \language_package default
  17. \inputencoding auto
  18. \fontencoding global
  19. \font_roman times
  20. \font_sans default
  21. \font_typewriter default
  22. \font_math auto
  23. \font_default_family default
  24. \use_non_tex_fonts false
  25. \font_sc false
  26. \font_osf false
  27. \font_sf_scale 100
  28. \font_tt_scale 100
  29. \graphics default
  30. \default_output_format default
  31. \output_sync 0
  32. \bibtex_command default
  33. \index_command default
  34. \paperfontsize default
  35. \spacing single
  36. \use_hyperref false
  37. \papersize default
  38. \use_geometry false
  39. \use_package amsmath 2
  40. \use_package amssymb 2
  41. \use_package cancel 1
  42. \use_package esint 0
  43. \use_package mathdots 0
  44. \use_package mathtools 1
  45. \use_package mhchem 0
  46. \use_package stackrel 1
  47. \use_package stmaryrd 1
  48. \use_package undertilde 1
  49. \cite_engine basic
  50. \cite_engine_type default
  51. \biblio_style plain
  52. \use_bibtopic false
  53. \use_indices false
  54. \paperorientation portrait
  55. \suppress_date false
  56. \justification true
  57. \use_refstyle 0
  58. \index Index
  59. \shortcut idx
  60. \color #008000
  61. \end_index
  62. \secnumdepth 2
  63. \tocdepth 2
  64. \paragraph_separation indent
  65. \paragraph_indentation default
  66. \quotes_language english
  67. \papercolumns 1
  68. \papersides 1
  69. \paperpagestyle default
  70. \tracking_changes false
  71. \output_changes false
  72. \html_math_output 0
  73. \html_css_as_file 0
  74. \html_be_strict false
  75. \end_header
  76. \begin_body
  77. \begin_layout Title
  78. Imasync, allons aux bals
  79. \begin_inset Argument 1
  80. status open
  81. \begin_layout Plain Layout
  82. Imapsync
  83. \end_layout
  84. \end_inset
  85. \end_layout
  86. \begin_layout Subtitle
  87. et transférons sans douleurs des courriels en grand nombre sur de longues
  88. distances
  89. \end_layout
  90. \begin_layout Author
  91. Gilles
  92. \begin_inset space ~
  93. \end_inset
  94. Lamiral
  95. \end_layout
  96. \begin_layout Institute
  97. Informaticien indépendant
  98. \begin_inset Newline newline
  99. \end_inset
  100. Baulon (35)
  101. \end_layout
  102. \begin_layout Date
  103. A l'occasion du FDLN à Rennes.
  104. \end_layout
  105. \begin_layout Frame
  106. \begin_inset Argument 4
  107. status open
  108. \begin_layout Plain Layout
  109. Où sont les boites aux lettres ?
  110. \end_layout
  111. \end_inset
  112. \end_layout
  113. \begin_deeper
  114. \begin_layout FrameSubtitle
  115. Comment accèdons nous à nos messages ?
  116. \end_layout
  117. \begin_layout Standard
  118. Nous accédons tous à nos messages suivant le modèle classique client/serveur
  119. :
  120. \end_layout
  121. \begin_layout Itemize
  122. Le serveur écoute et attend les requêtes du client.
  123. \end_layout
  124. \begin_layout Itemize
  125. Le client envoie des demandes au serveur et en attend les réponses.
  126. \end_layout
  127. \begin_layout Itemize
  128. Le client et le serveur discutent avec le même langage : le protocole.
  129. \end_layout
  130. \end_deeper
  131. \begin_layout Separator
  132. \end_layout
  133. \begin_layout Frame
  134. \begin_inset Argument 4
  135. status open
  136. \begin_layout Plain Layout
  137. Quels protocoles pour les boites aux lettres ?
  138. \end_layout
  139. \end_inset
  140. \end_layout
  141. \begin_deeper
  142. \begin_layout Standard
  143. Actuellement 3 protocoles applicatifs se partagent le gâteau de l'accès
  144. aux boites aux lettres :
  145. \end_layout
  146. \begin_layout Itemize
  147. IMAP (port 143) : Internet Message Access Protocol.
  148. \end_layout
  149. \begin_layout Itemize
  150. POP3 (port 110) : Post Office Protocol
  151. \end_layout
  152. \begin_layout Itemize
  153. HTTP (port 80) : HTTP Webmail
  154. \end_layout
  155. \begin_layout Standard
  156. Ces trois protocoles ne sont nullement exclusifs les uns des autres, ils
  157. peuvent cohabiter ensemble et le font très souvent.
  158. \end_layout
  159. \begin_layout Standard
  160. A ces trois protocoles s'ajoutent leurs pendants SSL (Secure Socket Layer):
  161. IMAPS (port 993), POP3S (port 995), HTTPS (port 443).
  162. \end_layout
  163. \end_deeper
  164. \begin_layout Separator
  165. \end_layout
  166. \begin_layout Frame
  167. \begin_inset Argument 4
  168. status open
  169. \begin_layout Plain Layout
  170. Problématique
  171. \end_layout
  172. \end_inset
  173. \end_layout
  174. \begin_deeper
  175. \begin_layout FrameSubtitle
  176. J'ai un problèmeu, je crois bien que je [...]
  177. \end_layout
  178. \begin_layout Itemize
  179. Comment synchroniser les dossiers et les messages d'un serveur s1 vers un
  180. autre serveur s2 ?
  181. \end_layout
  182. \end_deeper
  183. \begin_layout Separator
  184. \end_layout
  185. \begin_layout Frame
  186. \begin_inset Argument 4
  187. status open
  188. \begin_layout Plain Layout
  189. Solution retenue
  190. \end_layout
  191. \end_inset
  192. \end_layout
  193. \begin_deeper
  194. \begin_layout Itemize
  195. Utiliser le protocole en mode client (le client du modèle client/serveur)
  196. et s'affranchir ainsi du format des fichiers stockés, de la technologie
  197. propre à chaque logiciel serveur etc.
  198. \end_layout
  199. \begin_layout Itemize
  200. C'est le choix fait pour écrire imapsync.
  201. \end_layout
  202. \end_deeper
  203. \begin_layout Separator
  204. \end_layout
  205. \begin_layout Frame
  206. \begin_inset Argument 4
  207. status open
  208. \begin_layout Plain Layout
  209. Avantages d'imapsync
  210. \end_layout
  211. \end_inset
  212. \end_layout
  213. \begin_deeper
  214. \begin_layout Itemize
  215. Toute l'arborescence des dossiers est respectée
  216. \end_layout
  217. \begin_layout Itemize
  218. Seul les changements de s1 sont transférés vers s2
  219. \end_layout
  220. \begin_layout Itemize
  221. L'arrêt inopiné et la reprise sont gérés, pas de doublon.
  222. \end_layout
  223. \begin_layout Itemize
  224. Les étiquettes/flags sont aussi transférées et synchronisées
  225. \end_layout
  226. \begin_layout Itemize
  227. Aucun format de fichier n'est à définir ou à rechercher, il s'impose de
  228. lui-même, c'est celui de la messagerie d'internet : RFC 2822 - Internet
  229. Message Format.
  230. \end_layout
  231. \end_deeper
  232. \begin_layout Separator
  233. \end_layout
  234. \begin_layout Frame
  235. \begin_inset Argument 4
  236. status open
  237. \begin_layout Plain Layout
  238. Les informations nécessaires
  239. \end_layout
  240. \end_inset
  241. \end_layout
  242. \begin_deeper
  243. \begin_layout FrameSubtitle
  244. Le strict minimum pour pouvoir relever ou lire ses messages
  245. \end_layout
  246. \begin_layout Standard
  247. 4 informations sont strictement nécessaires pour relever le courriel d'une
  248. boite aux lettres :
  249. \end_layout
  250. \begin_layout Itemize
  251. Le protocole géré par le serveur : POP ou IMAP ou HTTP
  252. \end_layout
  253. \begin_layout Itemize
  254. Le serveur : son nom ou son adresse ip :
  255. \end_layout
  256. \begin_deeper
  257. \begin_layout Itemize
  258. imap.truc.com
  259. \end_layout
  260. \begin_layout Itemize
  261. 82.98.86.162
  262. \end_layout
  263. \end_deeper
  264. \begin_layout Itemize
  265. Le nom de connexion au service :
  266. \end_layout
  267. \begin_deeper
  268. \begin_layout Itemize
  269. toto
  270. \end_layout
  271. \end_deeper
  272. \begin_layout Itemize
  273. Le mot de passe :
  274. \end_layout
  275. \begin_deeper
  276. \begin_layout Itemize
  277. supersecret
  278. \end_layout
  279. \end_deeper
  280. \end_deeper
  281. \begin_layout Separator
  282. \end_layout
  283. \begin_layout Frame
  284. \begin_inset Argument 4
  285. status open
  286. \begin_layout Plain Layout
  287. Exemple de base avec imapsync
  288. \end_layout
  289. \end_inset
  290. \end_layout
  291. \begin_deeper
  292. \begin_layout FrameSubtitle
  293. Où nous pouvons difficilement faire plus court
  294. \end_layout
  295. \begin_layout Itemize
  296. Imapsync parle IMAP seulement.
  297. Il synchronise un compte imap vers un compte imap.
  298. \end_layout
  299. \begin_layout Itemize
  300. Pour synchroniser un compte pop vers un compte imap, confer le logiciel
  301. libre pop2imap.
  302. \end_layout
  303. \begin_layout Itemize
  304. Pour un transfert de la boite john sur imap.truc.org vers la boite rodo sur
  305. imap.trac.com
  306. \end_layout
  307. \begin_layout Standard
  308. \family typewriter
  309. \size footnotesize
  310. imapsync
  311. \backslash
  312. \end_layout
  313. \begin_layout Standard
  314. \family typewriter
  315. \size footnotesize
  316. --host1 imap.truc.org --user1 john --password1 superdur
  317. \backslash
  318. \end_layout
  319. \begin_layout Standard
  320. \family typewriter
  321. \size footnotesize
  322. --host2 imap.trac.com --user2 rodo --password2 bof
  323. \end_layout
  324. \end_deeper
  325. \begin_layout Separator
  326. \end_layout
  327. \begin_layout Frame
  328. \begin_inset Argument 4
  329. status open
  330. \begin_layout Plain Layout
  331. Succès d'imapsync
  332. \end_layout
  333. \end_inset
  334. \end_layout
  335. \begin_deeper
  336. \begin_layout FrameSubtitle
  337. Succès quand tu nous tiens
  338. \end_layout
  339. \begin_layout Itemize
  340. 81 logiciels serveur imap supportés par imapsync (pensiez-vous qu'il existait
  341. autant de logiciel server imap ?).
  342. \end_layout
  343. \begin_layout Itemize
  344. Fonctionne sous windows.
  345. Un binaire imapsync.exe est disponible.
  346. \end_layout
  347. \begin_layout Itemize
  348. Fonctionne sous Mac.
  349. Un binaire imapsync_bin_Darwin est disponible.
  350. \end_layout
  351. \begin_layout Itemize
  352. Disponible dans les crémeries Centos, Fedora, FreeBSD, Gentoo, et OpenBSD
  353. (au moins).
  354. \end_layout
  355. \end_deeper
  356. \begin_layout Separator
  357. \end_layout
  358. \begin_layout Frame
  359. \begin_inset Argument 4
  360. status open
  361. \begin_layout Plain Layout
  362. Quelques dates pour imapsync
  363. \end_layout
  364. \end_inset
  365. \end_layout
  366. \begin_deeper
  367. \begin_layout Itemize
  368. Première version 1.1 du 29 juillet 2001 : Écriture initiale du programme
  369. imapsync (taille : 5 126 octets).
  370. Version qui a servi à remplir avec succès le premier besoin (adresses ip
  371. en dur dans le script).
  372. \end_layout
  373. \begin_layout Itemize
  374. 14 Mars 2003 : première annonce sur freshmeat (devenu freecode), version
  375. 1.7 (taille : 13 506 octets).
  376. \end_layout
  377. \begin_layout Itemize
  378. 25 octobre 2010 : dernière version libre, ouverte et gratuite par l'auteur,
  379. la 1.366 (taille : 139 343 octets).
  380. \end_layout
  381. \begin_layout Itemize
  382. 18 janvier 2020 : dernière version libre, ouverte et payante par l'auteur,
  383. la 1.980 (taille : 648 808 octets).
  384. \end_layout
  385. \begin_layout Itemize
  386. Toutes les versions sont là : https://imapsync.lamiral.info/dist/
  387. \end_layout
  388. \end_deeper
  389. \begin_layout Separator
  390. \end_layout
  391. \begin_layout Frame
  392. \begin_inset Argument 4
  393. status open
  394. \begin_layout Plain Layout
  395. Quelques nombres
  396. \end_layout
  397. \end_inset
  398. \end_layout
  399. \begin_layout Frame
  400. \end_layout
  401. \begin_deeper
  402. \begin_layout Itemize
  403. En 2019 :
  404. \end_layout
  405. \begin_deeper
  406. \begin_layout Itemize
  407. 160 millions de synchronisations.
  408. \end_layout
  409. \begin_layout Itemize
  410. 700 millions de messages par jour.
  411. \end_layout
  412. \begin_layout Itemize
  413. 70 Petaoctets (1 PiB = 2^50 octets = 1024^5 ~10^15).
  414. \end_layout
  415. \begin_layout Itemize
  416. 0,25% du traffic courriel internet.
  417. \end_layout
  418. \begin_layout Itemize
  419. 7000 utilisateurs.
  420. \end_layout
  421. \end_deeper
  422. \end_deeper
  423. \begin_layout Separator
  424. \end_layout
  425. \begin_layout Frame
  426. \begin_inset Argument 4
  427. status open
  428. \begin_layout Plain Layout
  429. Histoire d'imapsync
  430. \end_layout
  431. \end_inset
  432. \end_layout
  433. \begin_deeper
  434. \begin_layout FrameSubtitle
  435. Le besoin initial
  436. \end_layout
  437. \begin_layout Itemize
  438. Besoins et contraintes initiaux :
  439. \end_layout
  440. \begin_deeper
  441. \begin_layout Itemize
  442. Un transfert de boites aux lettres d'un serveur imap Domino (Notes) vers
  443. un serveur imap Cyrus.
  444. \end_layout
  445. \begin_layout Itemize
  446. Une faible bande passante (rnis) qui plante fréquemment sans prévenir.
  447. \end_layout
  448. \begin_layout Itemize
  449. peu de jours pour transférer et vérifier les transferts de bal, ligne rnis
  450. fermée définitivement.
  451. \end_layout
  452. \end_deeper
  453. \end_deeper
  454. \end_body
  455. \end_document