Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,131 @@
---
title: AdventureLog
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, tracking, voyages, aventures, gps, django, vue, carte]
confidence: high
contested: false
sources: [https://selfh.st/apps/adventurelog, https://github.com/seanmorley15/AdventureLog]
---
# AdventureLog 🌍
> Un journal de voyages et d'aventures géolocalisé, avec carte interactive, planification d'itinéraires et suivi GPS.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://adventurelog.app/ |
| **GitHub** | https://github.com/seanmorley15/AdventureLog |
| **License** | GPL-3.0 |
| **Langage principal** | Django (Python) + Vue.js (TS) |
| **Étoiles GitHub** | ⭐225 |
| **Dernière MAJ** | 2026-05-30 |
| **Catégorie** | [[cat-tracking]] |
## Description
AdventureLog est un **journal de bord du voyageur** self-hosted : on y consigne ses voyages, ses étapes, ses hébergements, ses activités, et chaque point est géolocalisé sur une **carte du monde interactive** (basée sur Leaflet, compatible avec n'importe quel fournisseur de tuiles — OpenStreetMap, MapTiler, Stadia Maps, etc.). C'est l'équivalent auto-hébergé d'un Polarsteps ou d'un FindPenguins, mais avec une **souveraineté totale** sur ses données.
L'application est bâtie sur **Django + Django REST Framework** côté backend et **Vue 3 + TypeScript** côté frontend, avec PostgreSQL/PostGIS pour les données géospatiales. Le projet est **actif** et a une roadmap publique — le développement a démarré fin 2023 et continue régulièrement.
Les fonctionnalités notables incluent : **partage public** d'un voyage (URL type `/share/uuid` avec vue lecture seule), **import GPX/KML** pour réinjecter les traces GPS, **collections thématiques** (roadtrip Asie, treks Pyrénées, voyages en camping-car), **téléversement de photos** avec EXIF/GPS automatiques, et **statistiques** (km parcourus, pays visités, durée cumulée). L'application expose une API REST documentée.
## Installation
### Via Docker (recommandé)
```yaml
services:
backend:
container_name: adventurelog-backend
image: ghcr.io/seanmorley15/adventurelog-backend:latest
restart: unless-stopped
ports:
- "8000:8000"
environment:
- DJANGO_SECRET_KEY=changez-moi-en-production
- DJANGO_ALLOWED_HOSTS=aventure.example.com
- DATABASE_URL=postgresql://adventurelog:secret@db:5432/adventurelog
- REDIS_URL=redis://redis:6379/0
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
frontend:
container_name: adventurelog-frontend
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
restart: unless-stopped
ports:
- "3000:3000"
environment:
- PUBLIC_API_URL=https://aventure.example.com/api
db:
image: postgis/postgis:16-3.4-alpine
restart: unless-stopped
environment:
- POSTGRES_DB=adventurelog
- POSTGRES_USER=adventurelog
- POSTGRES_PASSWORD=secret
volumes:
- adventurelog-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U adventurelog"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
adventurelog-db:
```
### Installation manuelle
1. Pré-requis : Python 3.11+, Node 20+, PostgreSQL 15+ avec extension PostGIS, Redis 7+.
2. Cloner : `git clone https://github.com/seanmorley15/AdventureLog.git`
3. Backend : `cd backend && pip install -r requirements.txt && python manage.py migrate`
4. Frontend : `cd frontend && npm install && npm run build`
5. Servir le frontend compilé via Nginx, le backend via Gunicorn.
## Configuration
- Créer un **compte administrateur** via `python manage.py createsuperuser`.
- Configurer le **fournisseur de tuiles** dans `settings.py` (par défaut OSM, mais il est recommandé d'utiliser sa propre clé MapTiler/Stadia en production pour éviter le rate-limit OSM).
- Activer le **téléversement de photos** en configurant un volume persistant et le `MEDIA_ROOT`.
- Configurer la **clé Mapbox/MapTiler** côté frontend pour le géocodage (autocomplétion d'adresses).
- Définir les **limites de partage public** (quels voyages sont partageables, par qui).
## Alternatives
### Open source
- **Polarsteps** *(propriétaire)* — remplacé par AdventureLog
- **FindPenguins** *(propriétaire)* — équivalent mobile-only
- [[app-wanderer]] — réseau social pour randonneurs avec traces GPX
- **OwnTracks** — tracker GPS brut, sans notion de voyage
### Propriétaires
- **Polarsteps** — référence, mais hébergé chez eux
- **FindPenguins** — idem
- **TravelMap** — payant, public uniquement
## Sécurité
- **Changer `DJANGO_SECRET_KEY`** par une valeur aléatoire forte.
- **DEBUG=False** impératif en production.
- L'API REST est authentifiée par token, sauf les **endpoints publics de partage** — surveillez-les.
- Les **photos** peuvent contenir des EXIF GPS — attention si partage public.
- **Sauvegardes** : `pg_dump` régulier de la base, plus synchronisation du dossier médias.
- Placer derrière HTTPS (Traefik/Caddy) — Let's Encrypt automatique.
## Ressources
- Site officiel : https://adventurelog.app/
- Dépôt GitHub : https://github.com/seanmorley15/AdventureLog
- Documentation : https://docs.adventurelog.app/
- Démo : https://demo.adventurelog.app/
- selfh.st : https://selfh.st/apps/adventurelog
## Pages Liées
- [[cat-tracking]]
- [[recettes-docker-compose]]