Módulo 5 · 5.1
CalDAV e CardDAV: como sincronizar a agenda e os contactos
Módulo 5: Agenda e contactos · Tempo de leitura: 10 minutos
Objetivo de aprendizagem: Após esta lição, saberá explicar como o CalDAV e o CardDAV mantêm a sua agenda e os seus contactos sincronizados entre o servidor e os dispositivos, por que motivo só os nota quando configura uma aplicação, e que dados precisa para associar uma aplicação.
Conceitos-chave: CalDAV, CardDAV, WebDAV, sincronizar, endereço do servidor, .well-known/caldav, .well-known/carddav, principal, palavra-passe de aplicação, Exchange ActiveSync, calendário predefinido
A agenda e os contactos residem num servidor
Com o Google e a Microsoft não se repara em como a agenda chega ao telemóvel. Inicia sessão com a sua conta, e a agenda e os contactos estão lá. Nos bastidores, estes serviços utilizam frequentemente o seu próprio método de sincronização: a Microsoft utiliza o Exchange ActiveSync e ligações próprias, o Google utiliza a sua própria sincronização de conta no Android.
Com um fornecedor europeu, isto passa quase sempre por duas normas abertas:
- CalDAV (RFC 4791) para agendas e listas de tarefas;
- CardDAV (RFC 6352) para contactos.
Ambas assentam no WebDAV, uma extensão do tráfego web normal (HTTPS) que permite ler e escrever ficheiros num servidor. Para o CalDAV, um compromisso é um pequeno ficheiro em formato iCalendar (lição 5.2), um contacto é um pequeno ficheiro em formato vCard. O servidor guarda esses ficheiros numa pasta por agenda ou livro de endereços. O seu telemóvel, o seu computador portátil e a agenda web perguntam a cada poucos minutos: "o que mudou desde a última vez?" e obtêm apenas as alterações.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webagenda in de browserA grande vantagem de uma norma aberta: não fica preso a uma única aplicação. A aplicação de agenda do seu iPhone, o DAVx5 no Android, o Thunderbird, o Calendário no Mac e muitas outras aplicações falam CalDAV. Se mais tarde mudar novamente para outro fornecedor que também tenha CalDAV, basta configurar de novo as mesmas aplicações.
Por que motivo não repara nisto até configurar uma aplicação
Depois de transferir a sua agenda (lições 5.2 e 5.3), tudo fica devidamente organizado na agenda web do seu novo serviço. O seu telemóvel ainda não sabe nada disso. Não existe uma aplicação que apareça automaticamente: tem de adicionar uma conta em cada dispositivo. Para isso, precisa de três coisas:
| Dado | Exemplo na Padaria De Korrel |
|---|---|
| O endereço do servidor | https://cloud.example.com ou o endereço DAV completo, como https://cloud.example.com/remote.php/dav |
| O nome de utilizador | anne |
| Uma palavra-passe | uma palavra-passe de aplicação, veja abaixo |
O endereço do servidor e .well-known
Cada serviço tem um caminho próprio onde residem o CalDAV e o CardDAV. No Nextcloud, é /remote.php/dav; noutros servidores, pode ser diferente. Para evitar que todos tenham de saber esse caminho, existe um acordo (RFC 6764): uma aplicação que recebe apenas o nome de domínio procura primeiro num local fixo:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavO servidor responde aí com um redirecionamento para o caminho real. Se esse redirecionamento funcionar bem, só precisa de preencher cloud.example.com no seu iPhone. Se não funcionar, a aplicação indica "não é possível verificar a conta" e terá de introduzir o endereço completo. A mesma RFC também descreve registos SRV (_caldavs._tcp.example.com) com os quais uma aplicação pode encontrar o servidor a partir do seu domínio de correio eletrónico. Nem todas as aplicações utilizam isto.
Depois disso, a aplicação pergunta ao servidor pelo seu principal: o local fixo da sua conta no servidor, com a lista das suas agendas e livros de endereços. Assim, a aplicação encontra automaticamente todas as agendas, incluindo as que foram partilhadas consigo.
Por que motivo precisa de uma palavra-passe de aplicação
A maioria dos serviços de cloud europeus pede, ao iniciar sessão no navegador, um segundo passo: um código por correio eletrónico, uma aplicação autenticadora ou uma chave de acesso (passkey). Uma aplicação de agenda no telemóvel não consegue preencher esse segundo passo. Só tem um campo para o nome de utilizador e a palavra-passe.
Por isso, cria-se para essa aplicação uma palavra-passe de aplicação: uma palavra-passe longa e aleatória que é válida apenas para essa aplicação específica. Cria-a nas definições de segurança da sua cloud, atribui-lhe um nome reconhecível ("Agenda iPhone Anne") e introduz-a na aplicação.
Vantagens:
- A sua palavra-passe verdadeira não fica no telemóvel.
- Se perder o telemóvel, basta revogar essa palavra-passe de aplicação; o resto continua a funcionar.
- Se alterar a sua palavra-passe normal, as suas aplicações continuam a funcionar.
Algumas aplicações também conseguem iniciar sessão através do navegador: abrem o ecrã de início de sessão da sua cloud, aí realiza o segundo passo, e a aplicação recebe automaticamente uma palavra-passe de aplicação. O DAVx5 no Android consegue fazer isto com o Nextcloud, por exemplo.
O erro mais conhecido nas aplicações de agenda é 401 Unauthorized. Quase sempre significa que: utilizou a sua palavra-passe normal em vez de uma palavra-passe de aplicação, ou a palavra-passe de aplicação foi revogada.
Agendas do Exchange e o que se perde
Quem vem do Microsoft 365 está habituado a algumas coisas que, com o CalDAV, funcionam de forma diferente ou não funcionam:
- Ver a disponibilidade (livre/ocupado) dos colegas ao planear. O Nextcloud e outros servidores CalDAV têm uma forma própria (disponibilidade dentro do mesmo servidor), mas isso não funciona entre serviços diferentes e nem sempre em todas as aplicações.
- Reservar salas e equipamentos (sala de reuniões, projetor). Alguns servidores têm agendas de recursos, outros não.
- Acesso delegado ("a secretária gere a agenda do diretor"). Com o CalDAV, isto resolve-se partilhando com permissões de edição.
Coloque isto na sua lista (módulo 3). Raramente é um motivo para não mudar, mas os colegas devem saber disso antecipadamente.
Na prática: como se apresenta junto de um fornecedor
Num Nextcloud WebOké, encontra os endereços na aplicação Calendário, em baixo à esquerda em Configurações do calendário: o URL CalDAV e o Endereço do Servidor para iOS e macOS, cada um com um botão de cópia. O endereço geral é https://<o-seu-endereço>/remote.php/dav. Cria-se uma palavra-passe de aplicação em Definições, Segurança, Dispositivos e sessões. Aí verá mais tarde também qual o dispositivo que contactou pela última vez e quando, e poderá revogar uma palavra-passe de aplicação. Outros fornecedores de Nextcloud funcionam exatamente da mesma forma; noutros serviços europeus (por exemplo, mailbox.org, Posteo ou um ambiente Open-Xchange), o endereço CalDAV encontra-se nas páginas de ajuda ou nas definições, e as palavras-passe de aplicação chamam-se por vezes "palavra-passe de dispositivo" ou "palavra-passe de aplicação".
Resumo
- O CalDAV (agenda, tarefas) e o CardDAV (contactos) são normas abertas assentes no WebDAV e no HTTPS; cada alteração é um pequeno ficheiro no servidor.
- Tem de adicionar você mesmo uma conta em cada dispositivo: endereço do servidor, nome de utilizador e uma palavra-passe de aplicação.
- Através de
.well-known/caldave.well-known/carddav, uma aplicação encontra o caminho real apenas a partir do nome de domínio; se isso não funcionar, introduza o endereço DAV completo. - É necessária uma palavra-passe de aplicação porque as aplicações de agenda não conseguem realizar um segundo passo de início de sessão; um erro 401 significa quase sempre uma palavra-passe incorreta.
- Funcionalidades do Exchange, como a disponibilidade (livre/ocupado) entre colegas, a reserva de salas e a delegação, funcionam de forma diferente; coloque-as na sua lista.
Quiz
Exercício
Exercício A5.1: Uma aplicação encontra a sua agenda? Introduza o endereço da sua (nova) cloud, por exemplo cloud.example.com. O programa verifica se /.well-known/caldav e /.well-known/carddav redirecionam corretamente para um caminho DAV, e se o servidor responde aí como servidor DAV. Assim, saberá se, num telemóvel, basta introduzir o nome de domínio.
Para saber mais
Os passos descritos nestes artigos aplicam-se aos serviços da WebOké; noutros fornecedores, o funcionamento é semelhante.
- Manual do Nextcloud 3.5: Palavras-passe de aplicação: quando e como
- Manual do Nextcloud 9.9: Calendário e contactos no iPhone e iPad
- Manual do Nextcloud 9.10: Calendário e contactos no Android com o DAVx5
- Manual do Nextcloud 15.6: O calendário ou os contactos não aparecem no telemóvel
- Criar uma palavra-passe de aplicação (necessária para ligar aplicações e dispositivos)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known e SRV para CalDAV e CardDAV)
