Documentation › Agenda et contacts
Agenda et contacts
Chaque boîte a un agenda et un carnet de contacts. Un téléphone les affiche avec un mot de passe d’application : un par appareil, créé par l’humain de l’espace, retiré d’un geste. Il n’envoie pas d’e-mail : les envois passent toujours par Subagent.
Ce qu’ouvre un mot de passe d’application
| Accès | Ce qu’il ouvre | Pour |
|---|---|---|
calendar_contacts | L’agenda (CalDAV) et les contacts (CardDAV) de la boîte, avec les demandes de rendez-vous : un rendez-vous créé avec des participants leur part par e-mail, depuis l’adresse de la boîte, et leurs réponses reviennent dans l’agenda. | Un téléphone, un logiciel d’agenda. |
mail_read | La lecture de la boîte en IMAP : ses dossiers et ses messages. Rien ne s’y écrit, ne s’y déplace ni ne s’y efface. | Escouade, ou un logiciel qui lit seulement. |
- Aucun n’envoie d’e-mail. Un message parti d’un téléphone échapperait au créneau, aux quotas, à la montée progressive, à la liste de blocage et à la validation : les envois passent par
send_emailetreply_to_thread. - Le mot de passe de la boîte ne se donne jamais. Chaque appareil a le sien ; en retirer un ne touche pas aux autres.
- Il s’affiche une seule fois, à la création. Subagent ne le garde pas : perdu, on en crée un autre et on retire l’ancien.
- L’humain de l’espace est prévenu par e-mail de chaque création. Dix mots de passe au plus par boîte, vingt créations au plus par espace et par jour.
Obtenir le mot de passe
C’est un geste de l’humain de l’espace : il demande la permission approve. Un agent ne se donne pas l’agenda d’une boîte.
- Dans l’établi, dans son assistant ou sur la page web : Boîtes, la boîte, « Agenda, contacts et lecture », puis « Brancher un téléphone ou un logiciel ». Le mot de passe s’affiche une fois, avec le serveur et l’identifiant à saisir.
- En le demandant à son assistant, par exemple : « Branche mon iPhone sur l’agenda de contact@exemple.fr. » L’assistant appelle
create_app_password.
Ce qu’on saisit dans l’appareil :
| Champ | Valeur |
|---|---|
| Serveur | mx1.subagent.fr |
| Nom d’utilisateur | L’adresse de la boîte, par exemple contact@exemple.fr |
| Mot de passe | Le mot de passe d’application |
iPhone et iPad
- Réglages › Apps › Calendrier › Comptes de calendrier › Ajouter un compte › Autre › Ajouter un compte CalDAV. Avant iOS 18 : Réglages › Calendrier › Comptes.
- Serveur
mx1.subagent.fr, l’adresse de la boîte en nom d’utilisateur, le mot de passe d’application, et une description (le nom de la boîte, par exemple). Suivant. - Les contacts : Réglages › Apps › Contacts › Comptes de contacts › Ajouter un compte › Autre › Ajouter un compte CardDAV, avec les mêmes valeurs.
L’agenda de la boîte apparaît dans Calendrier, son carnet dans Contacts. Un rendez-vous créé sur le téléphone dans cet agenda est enregistré dans la boîte, et inversement.
Android
Android n’a pas de compte CalDAV intégré : on passe par l’application DAVx⁵, sur Google Play ou F-Droid.
- Dans DAVx⁵ : ajouter un compte, Connexion avec une URL et un nom d’utilisateur.
- URL de base
https://mx1.subagent.fr, l’adresse de la boîte en nom d’utilisateur, le mot de passe d’application. - Cocher l’agenda et le carnet à synchroniser. Ils apparaissent dans l’agenda et les contacts du téléphone.
Sur un ordinateur
Calendrier et Contacts sur Mac, Thunderbird et les autres logiciels d’agenda : un compte CalDAV et un compte CardDAV, serveur mx1.subagent.fr, mêmes identifiants. Un logiciel qui demande l’adresse entière : https://mx1.subagent.fr/.well-known/caldav pour l’agenda, https://mx1.subagent.fr/.well-known/carddav pour les contacts.
Les demandes de rendez-vous
- Un rendez-vous avec des participants, créé dans l’agenda de la boîte, leur part par e-mail depuis l’adresse de la boîte : le rendez-vous en pièce jointe (
.ics) et un lien pour répondre en un clic, sans agenda. Leurs réponses reviennent dans l’agenda de la boîte. - Vingt participants au plus par rendez-vous. Ces e-mails sont des demandes de rendez-vous, une par participant, pas une campagne : ils ne comptent pas dans le quota du jour de la boîte.
- Une demande reçue arrive dans la boîte comme un e-mail, que Subagent range dans un fil. Elle s’ajoute d’elle-même à l’agenda quand son expéditeur est authentifié (DMARC) et figure dans les contacts de la boîte ; sinon, on l’accepte depuis le téléphone.
La lecture par Escouade
Une boîte se lit dans Escouade comme ses autres boîtes : ses messages se rattachent aux fiches de leurs correspondants.
- Dans Subagent : créer un mot de passe d’application avec l’accès
mail_read(dans l’établi : « Lecture de la boîte en IMAP (Escouade) »). - Dans Escouade : Réglages › Comptes › Boîte Escouade Mail, l’adresse de la boîte et ce mot de passe. Le réglage « Boîtes Escouade Mail » de l’espace Escouade (Réglages › Modules) doit être allumé.
Escouade lit seulement : il ne marque rien comme lu, ne déplace rien, n’envoie rien. Les envois de la boîte restent dans Subagent ; Escouade voit ce qu’elle reçoit. Pour un autre logiciel de lecture : serveur IMAP mx1.subagent.fr, port 993, TLS.
Votre propre domaine
Rien à publier : l’appareil se branche sur mx1.subagent.fr. Pour qu’un logiciel trouve le serveur à partir de la seule adresse de la boîte (DAVx⁵ en connexion par adresse e-mail, un compte CalDAV dont le serveur est le domaine), publiez dans le DNS du domaine :
| Type | Nom | Valeur |
|---|---|---|
| SRV | _caldavs._tcp.exemple.fr | 0 1 443 mx1.subagent.fr. |
| SRV | _carddavs._tcp.exemple.fr | 0 1 443 mx1.subagent.fr. |
| TXT | _caldavs._tcp.exemple.fr | path=/.well-known/caldav |
| TXT | _carddavs._tcp.exemple.fr | path=/.well-known/carddav |
Ils sont conseillés, pas exigés : verify_domain ne les contrôle pas.
Retirer un appareil
Un téléphone perdu, un logiciel qui ne sert plus : on retire son mot de passe. L’appareil ne se connecte plus ; l’agenda et les contacts restent dans la boîte. Dans l’établi : « Agenda, contacts et lecture », l’appareil, « Retirer ». Par l’outil : revoke_app_password.
Supprimer la boîte avec delete_inbox retire tout : ses mots de passe, son agenda et ses contacts.
create_app_password
Crée un mot de passe d’application pour une boîte. Permission : approve. L’espace doit être vérifié.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
inbox_id | texte | oui | La boîte (inb_…, voir list_inboxes). |
access | texte | non | calendar_contacts (par défaut) : l’agenda et les contacts. mail_read : la lecture en IMAP. |
label | texte | non | Le nom de l’appareil, 2 à 60 caractères, une ligne. Absent : « Téléphone », ou « Escouade » pour la lecture. |
Le résultat porte password (cette seule fois), username, server, caldav_url, carddav_url, imap (host, port, security), guide_url et app_password (id, label, access, created_at).
Refus propres à l’outil : app_passwords_unavailable (le serveur ne l’a pas encore ouvert), app_password_limit (dix déjà sur la boîte), inbox_not_managed (une boîte dont Subagent ne garde pas le mot de passe), space_rate_limited, provisioning_failed.
list_app_passwords
Liste les mots de passe d’application d’une boîte : le nom de l’appareil, l’accès, la date de création, jamais le secret. Il rend aussi le serveur et le nom d’utilisateur à saisir. Permission : approve.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
inbox_id | texte | oui | La boîte (inb_…, voir list_inboxes). |
revoke_app_password
Retire un mot de passe d’application : l’appareil qui s’en sert ne se connecte plus. Sans retour. Permission : approve. Un mot de passe déjà retiré rend already_revoked: true, sans rien changer.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
inbox_id | texte | oui | La boîte (inb_…, voir list_inboxes). |
app_password_id | texte | oui | Le mot de passe à retirer, tel que list_app_passwords le donne. |
confirm | booléen | oui | Doit valoir true. |