Presentazione per papero

master
blallo 2021-09-03 16:36:18 +02:00
parent 01d8d669bc
commit c59b92fbe5
Signed by: blallo
GPG Key ID: 0CBE577C9B72DC3F
7 changed files with 5823 additions and 17272 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

BIN
data/papero-cli.png 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -8,7 +8,7 @@
<link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/black.css">
<link rel="stylesheet" href="dist/theme/sky.css">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="plugin/highlight/monokai.css">
@ -16,8 +16,141 @@
<body>
<div class="reveal">
<div class="slides">
<section>Slide 1</section>
<section>Slide 2</section>
<section data-markdown>
# Papero
Un coso per le email
</section>
<section>
<section data-markdown>
# Riassuntone sulle email
</section>
<section data-markdown>
# SMTP
- protocollo con cui i server mail parlano tra di loro
- protocollo con cui un client delega un server per consegnare una mail
</section>
<section data-markdown>
# POP(3)
- protocollo con cui un client chiede delle email ad un server e le salva in locale
</section>
<section data-markdown>
# IMAP(v4rev1)
- protocollo con cui un client chiede al server, che conserva le email per lei, di leggere qualche messaggio
- in generale, protocollo con cui si accede ad un albero di cartelle, in cui le email possono essere organizzate
</section>
</section>
<section>
<section data-markdown>
### Lo stack
![The local software stack](./data/mailstack.drawio.svg)
[https://github.com/boyska/mailbundle](https://github.com/boyska/mailbundle)
</section>
<section data-markdown>
### Con papero
![The local software stack](./data/mailstack-papero.drawio.svg)
[https://github.com/boyska/mailbundle](https://github.com/boyska/mailbundle)
</section>
</section>
<section>
<section data-markdown>
### Anatomia di papero
![Le due cli](./data/papero-cli.png)
</section>
<section data-markdown>
Due eseguibili:
- `papero`: per interagire senza stato con un server IMAP
- `paperod`: un demone, per sincronizzare delle cartelle IMAP remote con una Maildir locale
</section>
<section data-markdown>
### `papero`
```
$ papero --help
USAGE: papero [--config --debug --account] SUBCOMMAND [subcommand opts]
SUBCOMMANDS:
get
set
add
del
```
</section>
<section data-markdown>
### `papero`
Fin'ora:
- `get`: `content`, `subscriptions`, `mailboxes`, `messages`
- `set`: `flags`
- `add`: `message`, `mailbox`
- `del`: `message`, `mailbox`
</section>
</section>
<section>
<section data-markdown>
# `paperod`
</section>
<section data-markdown>
Sincronizza in locale su formato `Maildir`:
- `new`
- `cur`
- `tmp`
(il percorso è configurabile per account)
</section>
<section data-markdown>
Copia dal server in locale:
- `new` ⬅️
- `cur`
- `tmp`
ciclicamente (ogni 30s, per ora)
</section>
<section data-markdown>
Copia da locale sul server:
- `new`
- `cur` ⬅️
- `tmp`
ogni volta che un file viene cambiato in `cur`
</section>
</section>
<section>
<section data-markdown>
### Prossimi passi
- Inserire in `mailbundle`
- Rendere intervallo di sync configurabile
</section>
<section data-markdown>
### Poi (`paperod`)
- Aggiungere filtri in locale (pipe a script/eseguibili e anche script python)
- Supporare salvataggio in db `sqlite`
- Permettere log in json (?)
</section>
<section data-markdown>
### Poi (`papero`)
- creare e rimuovere subscriptions
- muovere (`mv`) o copiare (`cp`) email tra mailbox diverse
</section>
<section data-markdown>
### Collaborare?
# Volentieri!
</section>
<section data-markdown>
### Collaborare?
## `blallo@autistici.org`
</section>
<section data-markdown>
### Collaborare?
## `git format-patch`
</section>
</section>
</div>
</div>
@ -38,3 +171,4 @@
</script>
</body>
</html>
<!-- vim: et ts=2 sts=0 sw=0

17240
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -96,5 +96,9 @@
"no-eq-null": 2,
"no-unused-expressions": 0
}
},
"dependencies": {
"node-static": "^0.7.11",
"reveal-multiplex": "^0.1.0"
}
}

5647
yarn.lock 100644

File diff suppressed because it is too large Load Diff