Une carte interactive pour trouver un abri en randonnée. https://trouve-mon-refuge.liberateur.fr
  • JavaScript 66%
  • HTML 26.6%
  • Shell 4.6%
  • Dockerfile 2.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
mat 59b914bb19
All checks were successful
/ tests (push) Successful in 23s
✨ Bouton pour copier la localisation dans la popup du refuge (#27)
## Contexte

La popup d'un refuge affiche ses coordonnées, mais il faut les recopier à la main pour les coller dans un GPS ou les partager.

## Impact

Un bouton « Copier la localisation » apparaît dans la popup de chaque refuge. Un clic copie `lat, lon` en décimal à 5 décimales (identique à l'affichage) via `navigator.clipboard` :

- feedback « Copié ! » pendant 2 s, puis retour au libellé initial ;
- feedback « Copie impossible » en cas d'échec (permission refusée, contexte non sécurisé), sans fallback `execCommand` déprécié.

Le clic est géré par délégation sur le conteneur de la carte, les coordonnées étant portées par un attribut `data-localisation` du bouton.

## Tests

- [x] `node --test tests/*.test.mjs` — 58 tests verts, dont 3 nouveaux : présence du bouton et format copié, succès avec rétablissement du libellé (mock timers), échec signalé puis rétabli.

Co-authored-by: Mateo Greil <mateo@go-electra.com>
Reviewed-on: #27
2026-09-29 12:52:41 +00:00
.forgejo/workflows 🏗️ Rendre le rafraîchissement portable avec Compose (#12) 2026-09-22 18:11:00 +02:00
docker 🐛 Ne garde que les types d'hébergement dans le snapshot (#22) 2026-09-23 18:00:00 +02:00
tests ✨ Bouton pour copier la localisation dans la popup du refuge (#27) 2026-09-29 12:52:41 +00:00
.dockerignore Snapshot hebdomadaire des refuges maintenu par le conteneur (#7) 2026-09-22 18:05:00 +02:00
AGENTS.md 🏗️ Rendre le rafraîchissement portable avec Compose (#12) 2026-09-22 18:11:00 +02:00
compose.yml 🏗️ Rendre le rafraîchissement portable avec Compose (#12) 2026-09-22 18:11:00 +02:00
Dockerfile 🏗️ Rendre le rafraîchissement portable avec Compose (#12) 2026-09-22 18:11:00 +02:00
favicon.svg ✨ Ajoute un favicon au site (#10) 2026-09-22 18:08:00 +02:00
index.html ✨ Bouton pour copier la localisation dans la popup du refuge (#27) 2026-09-29 12:52:41 +00:00
README.md 🏗️ Rendre le rafraîchissement portable avec Compose (#12) 2026-09-22 18:11:00 +02:00

trouve-mon-refuge

Carte des cabanes et refuges (données refuges.info), publiée sur https://trouve-mon-refuge.liberateur.fr.

Lancer en local

docker compose up --build -d

Puis ouvrir http://localhost:8080. Le port peut être changé avec TMR_PORT=18080 docker compose up --build -d.

La stack contient deux services et un volume partagé :

  • web sert le site et monte le snapshot en lecture seule ;
  • updater récupère les données et monte le snapshot en lecture/écriture ;
  • refuges-data conserve le snapshot entre les recréations de conteneurs.

Au premier démarrage, la page affiche son erreur réseau jusqu'à la création du snapshot. Supercronic vérifie ensuite le snapshot tous les jours à 04:20 UTC ; le téléchargement n'a lieu que si les données dépassent 7 jours. L'updater devient unhealthy après 14 jours sans mise à jour réussie, sans arrêter nginx.

Tests

Lancés par la CI (Forgejo Actions) ; en local : node --test tests/*.test.mjs.