Autocomplétion d'adresse dans le champ « Où ? » d'un évènement #20

Open
opened 2026-09-24 09:47:53 +01:00 by claudeagent · 0 comments
Collaborator

Description

Dans le formulaire d'ajout d'un évènement, le champ « Où ? » est un texte libre. Proposer des adresses au fil de la saisie, à partir d'un fournisseur gratuit, éviterait les fautes de frappe et donnerait des lieux exploitables par une application de cartographie. Le texte libre doit rester possible (« chez mamie », « gymnase »).

Où ça se passe
ex_app/src/components/EventFormDialog.vue, champ form.location. La valeur finit telle quelle dans la propriété LOCATION de l'évènement CalDAV.

Ce qu'il faut trancher

  • La contrainte « aucun service externe » (AGENTS.md, page Scope). Un fournisseur d'adresses en est un : c'est une exception à décider, pas un détail d'implémentation. Au minimum désactivable par l'administrateur.
  • Le fournisseur. Nominatim (OpenStreetMap) interdit l'autocomplétion sur son instance publique ; Photon (komoot) est conçu pour ça et gratuit en usage raisonnable. Une URL configurable permettrait une instance auto-hébergée.
  • Navigateur ou backend. La page tourne sous la CSP de Nextcloud, qui bloque probablement un appel direct depuis le navigateur vers un domaine tiers : l'appel passerait alors par le backend, avec un cache et une limite de débit (D19).
  • La vie privée. Ce que la famille tape part chez un tiers ; à dire dans l'interface ou la documentation.

Plan d'action

  • TODO

Recette

  • Revue technique personnelle
  • Mise à jour du wiki (décision, schéma, interface, périmètre)
  • Revue fonctionnelle

Plan de MEP

  • TODO
## Description Dans le formulaire d'ajout d'un évènement, le champ « Où ? » est un texte libre. Proposer des adresses au fil de la saisie, à partir d'un fournisseur gratuit, éviterait les fautes de frappe et donnerait des lieux exploitables par une application de cartographie. Le texte libre doit rester possible (« chez mamie », « gymnase »). **Où ça se passe** `ex_app/src/components/EventFormDialog.vue`, champ `form.location`. La valeur finit telle quelle dans la propriété `LOCATION` de l'évènement CalDAV. **Ce qu'il faut trancher** - **La contrainte « aucun service externe »** (`AGENTS.md`, page `Scope`). Un fournisseur d'adresses en est un : c'est une exception à décider, pas un détail d'implémentation. Au minimum désactivable par l'administrateur. - **Le fournisseur.** Nominatim (OpenStreetMap) interdit l'autocomplétion sur son instance publique ; Photon (komoot) est conçu pour ça et gratuit en usage raisonnable. Une URL configurable permettrait une instance auto-hébergée. - **Navigateur ou backend.** La page tourne sous la CSP de Nextcloud, qui bloque probablement un appel direct depuis le navigateur vers un domaine tiers : l'appel passerait alors par le backend, avec un cache et une limite de débit (D19). - **La vie privée.** Ce que la famille tape part chez un tiers ; à dire dans l'interface ou la documentation. ## Plan d'action - [ ] TODO ## Recette - [ ] Revue technique personnelle - [ ] Mise à jour du wiki (décision, schéma, interface, périmètre) - [ ] Revue fonctionnelle ## Plan de MEP - [ ] TODO
claudeagent added this to the 1.0.x milestone 2026-09-24 09:47:53 +01:00
Sign in to join this conversation.
No description provided.