Admin Terrain
Accès réservé — entrez le mot de passe d'administration.
Mot de passe ou captcha incorrect
Admin — Terrain Data
public/api/admin-save.php → public_html/api/admin-save.php admin-env.php → public_html/api/admin-env.php À créer Comment créer admin-env.php sur O2Switch
- Ouvrir un terminal et lancer la commande suivante en remplaçant
VOTRE_MOT_DE_PASSE:
node -e "const crypto = require('crypto'); crypto.pbkdf2('VOTRE_MOT_DE_PASSE', 'salt123', 100000, 32, 'sha512', (err, key) => console.log(key.toString('hex')));" - Le résultat est un hash de 64 caractères hexadécimaux
- Créer
public_html/api/admin-env.phpavec ce contenu :
<?php
define('ADMIN_SECRET', 'coller-ici-le-hash-64-caracteres'); - Dans l'admin, cliquer Publier tout
- Saisir le mot de passe en clair (pas le hash)
- Le navigateur calcule le PBKDF2 automatiquement avant envoi
- La session mémorise le mot de passe 1h — pas besoin de ressaisir
Comment fonctionne l'administration en ligne
- Sauvegarder — enregistre dans le navigateur (localStorage). Ne modifie rien en ligne.
- Publier tout — envoie les données au serveur → met à jour
site-data.jsonvisible par tous les visiteurs + déclenche un rechargement automatique des navigateurs connectés. - Public / Privé — bascule la visibilité de la page Terrain pour les visiteurs.
- Importer / Exporter — sauvegarde/restaure un état complet au format JSON (backup local navigateur).
- Cache Radar — purge le cache PHP serveur (Overpass, communes OSM) pour forcer des données fraîches.
- Réinitialiser — efface toutes les données du navigateur (localStorage). Irréversible — faire un export JSON avant.
- Accès page — mot de passe hashé SHA-256 + CAPTCHA + session 1h.
- Publication — mot de passe haché SHA-256 côté navigateur avant envoi. Jamais de mot de passe en clair sur le réseau.
- admin-env.php — fichier secret sur O2Switch uniquement (jamais dans git). Contient le hash SHA-256.
Données du dashboard
Légende — que saisir dans chaque champ ?
- Km parcourus — Distance totale effectivement roulée depuis le départ (mis à jour chaque soir). Affiché dans le widget dashboard.
- Jours de route — Nombre de jours passés à pédaler (hors jours de repos ou préparation). Affiché dans le dashboard.
- Besoins identifiés — Nombre de besoins data/IA détectés lors des rencontres terrain. Compteur visible dans la sidebar.
- Rencontres entreprises — Nombre total d'entreprises rencontrées physiquement. Compteur visible dans la sidebar.
- Km entraînement — Total des km de préparation avant le départ. Affiché dans la metric card d'entraînement du dashboard.
- Étape en cours — Texte libre affiché sous "Actuellement". Ex :
En route vers Dreux,Étape à Lyon. - Prochaine étape — Ville de destination affiché dans l'encart "Prochaine étape →". Sélection parmi les étapes définies.
- Jours prévus — Durée totale estimée du parcours en jours calendaires (pas forcément des jours de route).
- Km total — Distance totale du tracé complet (affiché dans le bandeau hero). Format libre, ex :
~2 500. - Nombre d'étapes — Nombre d'étapes planifiées au total. Affiché comme 11 étapes dans le hero.
- Période — Plage de dates du parcours. Ex :
Avril – Juin 2026.
Infos parcours (hero)
Position actuelle
Gestion des étapes
Cliquez sur une étape pour la modifier. Changez le statut pour marquer une étape comme visitée.
| # | Ville | Région | Km | Statut | Lat | Lng | Visible | Actions |
|---|
Modifier l'étape
Journal du terrain
Nouvelle entrée
Les entrées du journal sont incluses dans Publier tout — aucune action supplémentaire.
Photos du parcours
Les photos sont référencées par leur chemin dans /Images/terrain/.
Uploadez-les via FTP ou le gestionnaire de fichiers O2switch, puis ajoutez le chemin ici.
Ajouter une photo
Fichier :
Chemin qui sera ajouté :
Parcours GPX
Importez vos fichiers GPX Garmin / Strava / Komoot. Le tracé sera stocké et affiché directement sur la carte Terrain. Activez/désactivez la visibilité de chaque parcours.
Fichiers GPX enregistrés
Aucun fichier GPX enregistré pour le moment.
Aperçu des données
Voici le JSON complet tel qu'il sera exporté. Vérifiez les données avant de les exporter.
Coordonnées des grandes villes de France
Recherchez une ville puis cliquez sur Copier pour récupérer ses coordonnées.
| Ville | Région | Latitude | Longitude | Action |
|---|
Espaces de coworking
Gérez les espaces de coworking. Ils apparaissent comme drapeaux sur la carte terrain.
| # | Nom | Ville | Lat | Lng | Carte | Actions |
|---|
Nouveau coworking
Gérez ici les liens affichés dans l'onglet Liens utiles du Radar. Organisateurs officiels, plateformes de veille, agrégateurs — publiés via Publier tout.
Liens & Sources utiles
| Nom | Catégorie | URL | Description | Actions |
|---|
Nouveau lien
Les liens sont inclus dans Publier tout (bouton en haut) — ils apparaissent dans l'onglet Liens utiles du Radar.
Statut API Strava
Configuration — strava-env.php
Uploader ce fichier sur le serveur via FTP dans public_html/api/strava-env.php.
Ne jamais le committer dans le repo.
<?php $STRAVA_CLIENT_ID = '213901'; $STRAVA_CLIENT_SECRET = 'f0e301f4e8e195e2b66628204fc7da1adfe22fdc'; $STRAVA_REFRESH_TOKEN = 'fe65e09336f38c60c1039816bb9924876dc39623'; $STRAVA_CRON_SECRET = 'op-cron-strava-2026-oceanphenix';
Tag activités TourData 2026
Ajouter ce tag dans le titre de l'activité sur Strava (web ou app mobile) pour qu'elle apparaisse sur la page /strava.
Exemple : "Sortie vélo Bordeaux #Tourdata2026"
Le renommage peut se faire après coup — effectif au prochain chargement de la page (cache 10 min).
Procédure de déploiement
npm run build › 2 Upload dist/ → public_html/ › 3 Vérifier /strava (point vert)
strava-env.php n'est à uploader qu'une seule fois. Il n'est pas inclus dans le build.
Gérez les jalons de la Vision Produit affichés sur la page /concept. Publiés via Publier tout — visibles immédiatement sans rebuild.
Jalons & Vision Produit
| # | Date | Titre | Sous-titre | Statut | Actions |
|---|
Nouveau jalon
Les jalons sont inclus dans Publier tout — la page /concept se met à jour en temps réel sans rebuild.