---
title: "Hébergez vos itinéraires de voyage avec TREK et Docker"
description: "Découvrez comment déployer TREK avec Docker, le sécuriser via Cloudflare R2 et Caddy, et exploiter des agents d'IA avec MCP pour planifier sans aucun effort."
canonical_url: "https://techvoyage.dev/fr/article/self-hosted-travel-planner-trek"
last_updated: "2026-09-03"
---

La partie la plus fastidieuse de la planification d'un voyage réside dans la dispersion des informations : les fichiers PDF de réservation de vol, les confirmations d'hôtel, les discussions avec les compagnons de voyage et les listes de lieux à visiter se retrouvent éparpillés. Et au moment de calculer les dépenses totales et de diviser la facture, un effort considérable est nécessaire pour parcourir toutes ces données de voyage.

TREK est un planificateur de voyage open source qui peut être auto-hébergé, regroupant votre itinéraire, vos réservations, votre budget et vos listes de bagages au même endroit. Le serveur MCP intégré permet aux agents d'IA (tels que Claude Desktop) d'interagir et de manipuler directement vos données de voyage.

Ce guide vous accompagnera étape par étape, depuis le déploiement jusqu'à la gestion complète d'un voyage réel du début à la fin.

### 1. Comment déployer le planificateur de voyage TREK avec Docker

#### Installer Docker sur un VPS Ubuntu

```bash
# Add Docker's official GPG key and set up the Docker repository
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Add the official Docker repository
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Update package list
sudo apt update

# Install Docker Engine, Docker Community Edition, and containerd runtime
sudo apt install docker-ce docker-ce-cli containerd.io -y

# Verify docker is installed
docker --version

# Starts automatically when your system boots
sudo systemctl enable docker
```

#### Générer la clé de chiffrement

TREK utilise une clé pour chiffrer les données sensibles. Utilisez la commande suivante ou cet [outil en ligne](/fr/tools/secret-key-hex) pour générer votre clé de chiffrement :

```bash
openssl rand -hex 32
```

Conservez-la en lieu sûr ; sa perte signifie la perte d'accès à vos données chiffrées.

#### Démarrer le conteneur

```bash
docker run -d \
  --name trek \
  -p 3000:3000 \
  -e ENCRYPTION_KEY="<generated_key>" \
  -e APP_URL="https://trek.pafor.me" \
  -v ./data:/app/data \
  -v ./uploads:/app/uploads \
  --restart unless-stopped \
  mauriceboe/trek:latest
```

- **APP_URL doit être correctement configuré** — le flux de découverte OAuth du serveur MCP en dépend. Configurez-le dès le départ avec votre adresse HTTPS publique définitive.

Le premier lancement prend un certain temps pour télécharger l'image :

![Journaux de docker pull et run pour TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-docker-pull-image.webp)Vérifiez que le conteneur fonctionne :

```bash
docker ps
```

![Vérification de l'état du conteneur en cours d'exécution via docker ps](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-docker-ps-status.webp)### 2. Configuration du routage de domaine et SSL avec le reverse proxy Caddy

Le protocole HTTPS est indispensable pour les clés de sécurité (passkeys) et OAuth pour MCP. Le nom de domaine est hébergé sur Cloudflare, qui fournit un certificat SSL gratuit et une protection DDoS.

Caddy est configuré comme reverse proxy sécurisé pointant vers le port 3000. Voici un exemple de Caddyfile :

```json
{$TREK_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:3000
}
```

### 3. Configuration initiale et configuration de l'administrateur sécurisé

Il existe deux façons de créer le compte administrateur :

- **ADMIN_EMAIL et ADMIN_PASSWORD** sont configurés comme variables d'environnement ; ces valeurs sont utilisées directement.
- **TREK crée l'e-mail admin@trek.local, l'identifiant admin et un mot de passe généré de manière aléatoire et affiché dans les logs du conteneur. Exécutez docker logs trek pour le récupérer.**

Si vous ne trouvez pas le mot de passe dans les logs, réinitialisez-le :

```bash
docker exec -it -e RESET_ADMIN_EMAIL=admin@trek.local -e RESET_ADMIN_PASSWORD='YourNewPassword' trek node server/reset-admin.js
```

Il vous sera demandé de modifier ce mot de passe lors de votre première connexion.

![Invite de connexion initiale et de réinitialisation du mot de passe administrateur](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-initial-login-password-prompt.webp)Cliquez sur **Admin** et mettez à jour l'adresse e-mail :![Configuration d'un e-mail personnalisé dans les paramètres d'administration de TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-admin-email-update-panel.webp)

#### 3.1 Sauvegardes (Backups)

Configurez les sauvegardes automatiques avec une politique de rétention dans le panneau d'administration :
![Configuration des planifications de sauvegarde automatisées et des règles de rétention](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-admin-backup-retention-policy.webp)

#### 3.2 Stocker les fichiers téléchargés sur Cloudflare R2

Le stockage des fichiers transférés, des photos et des sauvegardes dans Cloudflare R2 permet de préserver l'espace disque de votre VPS. TREK prend en charge les backends compatibles S3, et Cloudflare R2 s'y prête parfaitement.

1. Créez un bucket R2 nommé `trek`.
2. Dans la section **Account Details**, trouvez votre ID de compte :
  ![Localisation de l'ID de compte Cloudflare dans le portail](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-r2-account-details-id.webp)
3. Cliquez sur **Manage API Tokens** :
  ![Écran de gestion des jetons API du portail Cloudflare](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-r2-manage-api-tokens-button.webp)
4. Cliquez sur **Create Account API token** avec des permissions d'écriture/lecture sur le bucket :
  ![Création d'un jeton d'accès R2 avec autorisations de lecture et d'écriture](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-r2-create-token-permissions.webp)
5. Cliquez sur **Storage** dans le panneau **ADMINISTRATION** :
  ![Navigation vers les paramètres de stockage dans le panneau de configuration de TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-administration-storage-menu.webp)
6. Cliquez sur le bouton **Add Backend** et renseignez le point de terminaison (endpoint), le bucket et les identifiants :
  ![Configuration du backend de stockage Cloudflare R2 compatible S3](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-storage-backend-credentials.webp)
7. Cliquez sur **Apply**, puis sur le bouton **Test**. Vous devriez voir s'afficher "Connection OK" :
  ![Test de connexion de stockage réussi affichant Connection OK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-test-storage-backend-connection-ok.webp)
8. Basculez toutes les catégories de stockage vers Cloudflare R2 puis cliquez sur **Save changes** :
  ![Routage de toutes les catégories de stockage de fichiers vers Cloudflare R2](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-switch-storage-categories-r2.webp)

#### 3.3 Connexion par clé de sécurité (Passkeys)

TREK prend en charge les passkeys, l'authentification à deux facteurs (2FA) et l'authentification unique (SSO) via OIDC. Pour utiliser les passkeys, saisissez votre nom de domaine et les origines autorisées dans les paramètres, puis cliquez sur **Save** :

![Enregistrement des origines autorisées pour l'authentification sécurisée par clé d'accès](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-passkey-allowed-origins-settings.webp)Si les **allowed origins** ne sont pas correctement configurées, l'enregistrement de la passkey échouera.

#### 3.4 Clé API Google Maps

Une clé Google Maps permet d'enrichir la recherche de lieux avec des notes, des horaires d'ouverture et des photos. Sans cette clé, TREK bascule automatiquement sur OpenStreetMap, mais sans afficher les notes ni les photos.

Suivez ce lien [enlace](https://mapsplatform.google.com/maps-demo-key/) et cliquez sur **Get demo key** pour en demander une :                                                  ![Demande de clé API Google Maps Platform](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/google-maps-get-demo-api-key.webp)

Collez la clé dans les paramètres et cliquez sur **Test** pour confirmer la connexion :
![Vérification de la connectivité de la clé API Google Maps dans les paramètres](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-google-maps-key-test-connection.webp)

#### 3.5 Intégration de l'IA

Le modèle d'IA est utilisé pour analyser les e-mails de confirmation et les fichiers PDF de réservation afin de les transformer en réservations structurées.

Cliquez sur **Addons** dans le menu de gauche et activez **AI Parsing**. Sélectionnez "OpenAI" (ou un autre fournisseur compatible) et renseignez les détails :

![Activation de l'addon d'analyse IA avec intégration d'OpenAI](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-addons-enable-ai-parsing-openai.webp)#### 3.6 Accès MCP

Dans l'onglet **Addons**, activez **MCP** :

![Activation de l'addon de serveur MCP du protocole Model Context](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-addons-enable-mcp.webp)#### 3.7 Plugins

Les plugins suivants sont recommandés et méritent d'être activés :

![Liste des plugins et addons recommandés actifs](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-recommended-addons-plugins-activation.webp)#### 3.8 Créer votre utilisateur quotidien

Planifiez vos voyages avec un compte utilisateur standard plutôt qu'avec le compte administrateur. Créez un utilisateur classique et connectez-vous avec :

![Création d'un compte utilisateur standard dans le panneau de TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-create-regular-user-form.webp)Une fois connecté, ajoutez une clé de sécurité ou configurez la double authentification (2FA) pour sécuriser le compte :

![Configuration des paramètres de sécurité de l'utilisateur avec clés d'accès et 2FA](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-user-security-passkey-2fa-setup.webp)Cliquez sur **+ Add a passkey**, saisissez votre mot de passe actuel et validez :

![Confirmation du mot de passe pour enregistrer une nouvelle clé d'accès matérielle](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-passkey-confirm-password.webp)### 4. Tester votre déploiement : importer des données de voyage historiques

Une excellente façon de découvrir TREK est de renseigner l'historique de vos précédents voyages.

#### 4.1 Créer le voyage

Cliquez sur **+ New Trip** et définissez la date de début (**Start Date**) et de fin (**End Date**) sur les dates passées de votre séjour :

![Création d'un nouveau voyage avec des plages de dates personnalisées](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-create-new-trip-details.webp)Ajoutez une image de couverture (glissez-déposez une image ou collez-la depuis le presse-papiers) et cliquez sur **Create New Trip** :

![Configuration d'une image de couverture de voyage de haute qualité](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-cover-image-upload.webp)#### 4.2 Importer les réservations

Déposez-y tous vos fichiers de vol, de train et d'autres moyens de transport :

![Zone de glisser-déposer pour importer des fichiers PDF de voyage et réservations](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-import-travel-booking-files.webp)![Fenêtre de traitement de la réservation téléchargée montrant l'extraction](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-import-booking-pdf-processing-status.webp)Une fois le modèle d'IA activé, les PDF de confirmation de réservation sont analysés et convertis en réservations structurées.

Vérifiez les résultats de l'analyse et cliquez sur **Add** pour enregistrer les détails de la réservation :

![Examen des détails de réservation structurés extraits par l'IA](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-review-parsed-booking-details.webp)Si une réservation se trouve uniquement dans un e-mail, exportez cet e-mail au format PDF et importez-le ; le même traitement d'extraction automatique s'appliquera.

Les captures d'écran suivantes montrent comment les réservations s'affichent :

![Affichage complet de la chronologie des réservations de voyage](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-bookings-timeline-view.webp)![Vue détaillée d'une réservation de transport confirmée](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-booking-confirmation-details.webp)

Sur la page **Plan**, tous vos hébergements s'afficheront sur la carte :

![Carte interactive affichant tous les hébergements hôteliers](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-plan-accommodations-map-display.webp)Cliquez sur **Atlas** dans la barre de menu supérieure pour voir la liste (et la carte) de tous les pays que vous avez visités :

![Aperçu de l'historique de voyage dans le suivi Atlas personnel](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-atlas-countries-visited-summary.webp)#### 4.3 Ajouter des compagnons de voyage

Cliquez sur le bouton **Share** :

![Ouverture de la boîte de dialogue de partage de voyage dans TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-share-options-button.webp)En bas de la boîte de dialogue, vous pouvez ajouter des invités :

![Ajout de compagnons de voyage et d'invités personnalisés](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-add-companions-guests.webp)#### 4.4 Enregistrer les dépenses

Cliquez sur **Add expense** pour ajouter des dépenses autres que les réservations (comme l'assurance santé, les transports locaux, les cartes SIM) :

![Saisie de données de dépenses détaillées dans le formulaire de dépenses](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-custom-expense-form.webp)![Détail du partage des frais et registre de suivi des coûts](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-expenses-list-billing-split.webp)#### 4.5 Etapes de voyage

Cette fonctionnalité nécessite l'installation du plugin Trip Segment.

Les longs voyages se découpent de manière harmonieuse en étapes, chaque tronçon affichant ses propres réservations, lieux et coûts :

![Division d'un itinéraire complexe en segments de voyage](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-segments-overview-display.webp)![Segment de voyage actif affichant les lieux et les horaires](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-segment-itinerary-details.webp)![Cartographie des différentes étapes du voyage sur la chronologie](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-segments-interactive-map.webp)#### 4.6 Créer un journal de voyage (Journey) et consulter votre atlas

Regroupez vos voyages dans un **Journey** (journal de bord) et rédigez des récits à partager avec vos amis :

![Consolidation de plusieurs voyages dans un parcours visuel (Journey)](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-create-new-journey-group.webp)![Rédaction d'histoires visuelles dans le panneau des parcours](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-journey-timeline-story-writing.webp)![Collection de médias et grille de galerie au sein d'un parcours](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-journey-gallery-media-grid.webp)![Génération de liens de partage publics pour des parcours collaboratifs](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-journey-public-share-link.webp)### 5. Concevoir des itinéraires personnalisés et des listes de bagages

Cliquez sur **+ New Trip**, saisissez un nom et définissez les dates :

![Boîte de dialogue initiale pour créer un voyage sans date](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-planning-new-trip-setup.webp)**Si vous n'avez pas encore arrêté vos dates, laissez les deux champs vides.** Un champ indiquant le "nombre de jours" apparaîtra (jusqu'à 365). Planifiez d'abord, programmez les dates plus tard.

#### 5.1 Ajouter des lieux

C'est l'étape la plus chronophage de toute planification, et TREK propose plusieurs approches pour l'accélérer :

![Méthodes multicanaux pour ajouter de nouveaux lieux aux itinéraires](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-places-methods-overview.webp)**1. Faites un clic droit sur la carte** pour créer un lieu à cet endroit précis (l'adresse est automatiquement récupérée par géocodage inversé) :

![Clic droit sur la carte pour localiser précisément des emplacements](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-right-click-map-location.webp)![Géocodage inversé automatique des coordonnées cartographiques sélectionnées](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-right-click-reverse-geocode-address.webp)**2. Cliquez sur + Add Place/Activity** et recherchez par nom :

![Recherche de lieux réels à l'aide d'entrées de texte](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-search-place-by-name-input.webp)![Affichage des résultats de recherche de lieux avec superposition d'adresses](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-select-place-search-results-list.webp)![Fiche d'information complète sur le lieu avec avis et évaluations](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-place-details-rich-info-card.webp)**3. Collez une URL Google Maps** (`maps.app.goo.gl/…` ou `maps.google.com/…`) dans le champ de recherche. TREK en extrait le nom, l'adresse et les coordonnées :

![Analyse des emplacements directement à partir de liens de partage Google Maps collés](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-paste-google-maps-share-link.webp)![Extraction réussie de coordonnées à partir de l'URL Google Maps](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-google-maps-parsed-location.webp)**4. Importation en lot** — la méthode la plus simple. Si vous avez déjà une liste de lieux à visiter sur Google Maps, exportez-la au format `.gpx` (les formats `.kml` et `.kmz` fonctionnent également) et cliquez sur **Import file** dans le panneau latéral droit pour tout importer d'un coup :

![Importation en masse de lieux à l'aide de fichiers GPX ou KML](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-bulk-import-places-gpx-file.webp)Ajoutez d'abord tout ce qui vous intéresse, sans vous soucier de savoir si cela rentre dans votre emploi du temps. Vous attribuerez les lieux aux différents jours par la suite.

#### 5.2 Programmes quotidiens et notes

Le programme quotidien organise les lieux jour par jour, dans l'ordre. Il s'agit d'une liste repliable pour chaque journée, entièrement gérable par glisser-déposer :

![Personnalisation des itinéraires quotidiens par glisser-déposer](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-drag-drop-ordering.webp)Les détails pratiques qui font la différence :

- **Transports entre les arrêts** : l'icône de bus en haut à gauche d'une journée permet d'ajouter un trajet (train, bus ou avion à l'intérieur de la même journée) :
![Enregistrement du transport de liaison entre les segments de la journée](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-commuting-transport-button.webp)
- **Notes journalières** : l'icône de bloc-notes en bas à gauche permet d'associer des notes agrémentées d'une icône — "départ matinal aujourd'hui", "réservation obligatoire pour ce musée" :
![Ajout de notes personnalisées étiquetées par des icônes très visibles](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-icon-tagged-notes-button.webp)
- **Créneaux horaires** : glissez un lieu depuis le panneau latéral droit vers une journée, puis attribuez-lui un horaire. Les lieux ayant des horaires définis sont reliés automatiquement sur la carte :
![Calcul automatique des itinéraires de transport entre des lieux planifiés](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-timed-places-routing.webp)
- Veuillez consulter la [page wiki des Programmes Quotidiens et Notes](https://github.com/liketrek/TREK/wiki/Day-Plans-and-Notes) pour en savoir plus sur l'**Optimisation d'itinéraires** et la **Météo**.

#### 5.3 Collections : listes de lieux réutilisables

Les Collections permettent de conserver des listes de lieux indépendamment de tout voyage. Elles peuvent être partagées avec des amies et réutilisées pour un futur séjour. Les lieux étant **copiés** dans les voyages, l'édition d'une étape au sein d'un itinéraire n'affectera jamais votre collection de base, et inversement.

Cliquez sur **Collections** dans la barre de menu supérieure :

![Accès aux collections d'utilisateurs personnalisées pour les lieux enregistrés](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-dashboard-view.webp)Cliquez sur **+ New list** pour en créer une :

![Création de listes personnalisées dans les collections d'utilisateurs](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-create-new-list.webp)Cliquez sur **+ Add a place** et renseignez les détails :

![Saisie manuelle dans le formulaire pour remplir les listes de collections](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-add-place-manually-form.webp)**Note :** la recherche à l'intérieur de la fenêtre "Add a place" ne semble pas fonctionner, vous devrez donc saisir les informations manuellement.

Si les coordonnées géographiques des lieux sont fournies, ils s'afficheront sur la carte :

![Visualisation des lieux de collections personnalisées sur une carte interactive](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-map-places-display.webp)Pour organiser vos lieux avec des étiquettes (labels), cliquez sur l'icône de la **case à cocher** :

![Mode de sélection pour le marquage en masse de lieux enregistrés](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-select-places-tickbox.webp)Sélectionnez les lieux à regrouper, puis cliquez sur **Assign label** :

![Attribution d'étiquettes descriptives aux lieux de collection sélectionnés](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-group-assign-label.webp)Cliquez sur **Manage labels** pour créer d'abord les étiquettes :

![Création et gestion d'étiquettes personnalisées](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-manage-custom-labels.webp)Sélectionnez une étiquette et cliquez sur **Assign label** :

![Application d'étiquettes personnalisées à des groupes de lieux](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-confirm-label-selection.webp)#### 5.4 Coûts et budget

Il est possible d'ajouter d'autres dépenses pour le voyage sur l'onglet 'Costs'.

![Tableau des dépenses complet et registre de règlement des comptes](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-costs-budget-overall-expenses-list.webp)Les paiements effectués par vos compagnons de voyage peuvent être renseignés et divisés sur cette même page.

Le panneau de règlement s'appuie sur un algorithme glouton (greedy) pour calculer le **nombre minimal de transferts d'argent** nécessaires pour équilibrer les comptes.

### 6. Exploiter Model Context Protocol (MCP) pour une planification assistée par IA

TREK intègre son propre **serveur MCP (Model Context Protocol)**, permettant aux agents d'IA de lire et de modifier directement vos données de voyage — à l'aide de plus de 150 outils et 30 ressources dédiés aux voyages, lieux, budgets, bagages, réservations et à la collaboration.

#### 6.1 Cloudflare Zero Trust

Étant donné que TREK s'exécute derrière un réseau [Cloudflare Zero Trust](/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp), vous devrez ajouter votre domaine à la liste d'inclusion des Split Tunnels. Sinon, vous rencontrerez des problèmes d'autorisation OAuth. Référez-vous à cette page d'issue GitHub : [ticket github](https://github.com/liketrek/TREK/issues/1463).

<article-card description="Apprenez à exposer et à accéder mondialement à votre Hermes Agent en toute sécurité via Cloudflare WARP et Zero Trust, sans ouvrir de port pare-feu entrant." image="https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/FR-Exposing-Hermes-Agent-to-Private-Network-Using-Cloudflare-WARP.webp" image-alt="Exposer en toute sécurité Hermes Agent à un réseau privé via Cloudflare Zero Trust et un tunnel WARP" label="Guide connexe" min-read="9" title="Exposer Hermes Agent en privé via Cloudflare WARP" to="/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp">



</article-card>

![Ajout de domaines personnalisés aux Split Tunnels de Cloudflare Warp](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-zero-trust-split-tunnels-domain.webp)#### 6.2 Claude Desktop

Cliquez sur **+ New Client** pour créer un nouveau client d'agent d'IA :
![Enregistrement d'un nouveau jeton client personnalisé dans les paramètres](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-register-new-mcp-client.webp)

Sélectionnez l'onglet **Claude Desktop** et cliquez sur **Register Client** :

![Génération d'identifiants client pour Claude Desktop](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-mcp-claude-desktop-client-credentials.webp)Un couple d'ID de client et de secret de client s'affiche. Copiez-les en lieu sûr, puis cliquez sur **Client Configuration** pour faire apparaître les paramètres MCP :

![Récupération du bloc de configuration préformaté du serveur MCP](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-mcp-client-configuration-block.webp)Dans Claude Desktop, cliquez sur **Edit Config** pour ouvrir le fichier de configuration des serveurs MCP locaux :

![Édition du fichier json de configuration MCP locale de Claude Desktop](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-config-json.webp)Collez la configuration de TREK en remplaçant les valeurs fictives par vos identifiants :

```json
"mcpServers": {
    "trek": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://trek.pafor.me/mcp",
        "--static-oauth-client-info",
        "{\"client_id\": \"<your_client_id>\", \"client_secret\": \"<your_client_secret>\"}"
      ]
    }
  },
```

Redémarrez Claude Desktop ; le serveur TREK s'affiche désormais comme connecté sous l'onglet **Local MCP servers** :

![Vérification de l'état de la connexion active de TREK dans l'interface Claude](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-trek-server-connected.webp)Lancez maintenant une invite (prompt) :

![Saisie de requêtes en langage naturel dans Claude pour manipuler les données de voyage](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-natural-language-prompt.webp)Ajoutons une dépense en langage naturel :

```text
For the West Europe trip, the Grab from KLIA1 to the hotel cost RM115.90 on 26/4/2025. Please add it as an expense without split to the trip.
```

![Claude utilise des outils pour enregistrer automatiquement une dépense](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-add-expense-response.webp)En consultant la page **Costs**, on constate que la dépense a bien été créée avec la mention "Personne n'a payé pour l'instant", car aucun payeur n'a été spécifié :

![Confirmation de la dépense d'IA nouvellement analysée dans la vue des coûts](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-costs-page-mcp-parsed-expense.webp)L'ajout d'éléments à la liste de bagages s'effectue exactement de la même manière :

![Claude ajoute des éléments de bagage à l'aide de requêtes en langage naturel](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-add-packing-items.webp)Actualisez l'onglet **Packing List** : les trois éléments y figurent désormais :

![Confirmation des articles de bagage nouvellement analysés sur la page Liste de bagages](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-packing-list-mcp-parsed-items.webp)#### 6.3 Gemini CLI (enregistrement dynamique)

Gemini CLI prend en charge l'**enregistrement dynamique**, ce qui signifie qu'aucun client préalablement enregistré n'est requis. Ajoutez ceci à `.gemini/settings.json` :

```json
"trek": {
      "httpUrl": "https://trek.pafor.me/mcp",
      "oauth": {
        "enabled": true
      }
    }
```

Exécutez `gemini` dans votre terminal et cliquez sur **Approve** lorsque l'invite d'autorisation apparaît :
![Approbation de l'accès OAuth pour le serveur MCP TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/mcp-client-oauth-authorization-prompt.webp)

Commencez ensuite par une invite simple :

![Saisie de requêtes dans Gemini CLI pour récupérer des itinéraires de voyage](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/gemini-cli-mcp-prompt-itinerary.webp)![Gemini CLI affichant avec succès des informations de voyage structurées](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/gemini-cli-mcp-display-itinerary.webp)#### 6.4 Kimi CLI (enregistrement dynamique)

Même démarche — ajoutez ceci au fichier `mcp.json` dans le dossier `/Users/<user>/.kimi/` :

```json
"trek": {
      "type": "http",
      "url": "https://trek.pafor.me/mcp",
      "auth": "oauth"
    }
```

Exécutez `kimi mcp auth trek` dans le terminal et cliquez sur **Approve** :
![Approbation de l'accès OAuth pour le serveur MCP TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/mcp-client-oauth-authorization-prompt.webp)

Une fois l'autorisation validée, les outils disponibles s'affichent :

![Kimi CLI affichant les outils disponibles après une autorisation réussie](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/kimi-cli-mcp-authorized-tools-list.webp)### 7. Expérience mobile

TREK est une PWA (progressive web app) sur les appareils mobiles. Un service worker met en cache les cartes et les données d'API, de sorte que votre itinéraire reste accessible hors ligne. Cependant, les notifications push peuvent accuser un léger retard par rapport à une application native.

### Réflexions finales

La connexion d'agents d'IA via MCP évite la pénible saisie manuelle des réservations de vols et d'hôtels. De plus, les agents peuvent proposer des points d'intérêt adaptés à vos dates et saisons de voyage. Un seul échange avec un agent d'IA peut couvrir l'ensemble du flux : de la recherche d'idées à l'élaboration de l'itinéraire, jusqu'au suivi du budget et à la liste de bagages.

On relève toutefois quelques légers désagréments techniques. Par exemple, lors de l'importation de réservations depuis des fichiers PDF, la devise par défaut est celle du voyage plutôt que celle réellement payée. De même, lors de la création d'une nouvelle liste dans les Collections, toute image de couverture ajoutée disparaît à la sauvegarde, même s'il est possible de la rajouter manuellement lors de l'édition ultérieure.

Il existe une légère barrière technique puisque vous devez l'héberger sur votre propre serveur. TREK est avant tout conçu pour les grands voyageurs exigeants quant à l'organisation de leurs données. Nous vous suggérons d'essayer la démo officielle sur [demo.liketrek.com](https://demo.liketrek.com/) avant d'envisager de l'auto-héberger.

### Références :

- [Prise en main de TREK](https://github.com/liketrek/TREK/wiki/Quick-Start)
- [Dépannage de TREK](https://github.com/liketrek/TREK/wiki/Troubleshooting)
- [Périmètres de sécurité (Scopes) MCP de TREK](https://github.com/liketrek/TREK/wiki/MCP-Scopes)
