Files
2026-06-09 18:40:21 +02:00

5.4 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
AdventureLog 2026-06-07 2026-06-07 app
catalogue
tracking
voyages
aventures
gps
django
vue
carte
high false
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é)

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

Pages Liées