---
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]]
