Communitygithub.com

orodmorais/trip-map-3d

Créez un site web de carte 3D interactive d'un voyage, pour n'importe quelle destination, à partir d'une conversation. À utiliser lorsque quelqu'un souhaite transformer un voyage ou un itinéraire en site web avec un terrain réel, des itinéraires quotidiens et la météo.

Qu'est-ce que trip-map-3d ?

Cette compétence permet de transformer n'importe quel voyage ou itinéraire en un site web interactif avec une carte 3D réaliste, en utilisant une seule conversation. Elle utilise un fichier YAML (`trip.yaml`) pour décrire les dates, les lieux, les activités quotidiennes et l'hébergement. Le site généré affiche par région une carte 3D du terrain, des itinéraires animés pour chaque jour, des épingles, des fiches informatives, les conditions météo, et prend en charge le mode hors ligne. La compétence est conçue pour être exécutée localement ou via des pipelines automatisés (GitHub Actions). Elle assiste l'utilisateur pas à pas : demande des informations sur le voyage, génère le fichier YAML, construit le site avec vérification des géocodages, et publie sur GitHub Pages après confirmation. Elle intègre des API publiques comme Open-Meteo (conditions météo non commerciales) et un géocodeur personnel (évite Nominatim pour respecter sa politique d'utilisation). Le résultat final est un site web public, hébergé gratuitement sur GitHub, avec mentions légales obligatoires.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/orodmorais/trip-map-3d/tree/HEAD

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait trip-map-3d ?

Transformez un voyage en site web : une carte 3D réelle par région, un itinéraire animé par jour, des épingles, des fiches, la météo et le mode hors ligne. Tout provient d'un seul fichier, trip.yaml.

1. Renseignez-vous sur le voyage

Demandez ce que vous ne savez pas, quelques questions à la fois :

  • Où, quand et combien de jours.
  • Pour chaque jour : ce qu'ils prévoient de faire, et dans quel ordre. Les noms suffisent.
  • Où ils logent. Prévenez-les d'abord que le site est public sur un compte GitHub gratuit, donc un quartier suffit. N'écrivez jamais une adresse postale complète sauf s'ils insistent après cet avertissement.
  • Langue (en, pt-BR, es) et unités.
  • Facultatif : spots de surf, marées, photos, un thème.

Les photos doivent être les leurs ou sous licence. Ne téléchargez pas de photos depuis internet pour eux.

2. Écrivez trip.yaml

Suivez examples/trip.example.yaml. Seuls title, dates.start et days sont obligatoires. Ajoutez toujours la ville à un nom de lieu : "Panthéon, Rome", pas "Panthéon".

3. Construisez et révisez

python -m pip install -r requirements.txt
python -m pipeline check trip.yaml

Lisez le rapport ligne par ligne avec l'utilisateur. Le géocodeur peut être erroné en toute confiance, donc montrez-lui chaque lieu trouvé. Toute ligne marquée CHECK nécessite un examen. Si un lieu est incorrect ou manquant, ajoutez lat et lon dans places: au lieu de relancer la recherche.

Ensuite, construisez :

python -m pipeline build trip.yaml --out dist
python -m pip install -r requirements-dev.txt
python tools/check_site.py dist --shots shots --hashes "" dia-1

Ouvrez les captures d'écran et regardez-les avant de dire que cela fonctionne. Vérifiez que chaque lieu tient, qu'aucun itinéraire ne se trouve sous une fiche et qu'aucune erreur n'a été imprimée.

4. Publiez, seulement après confirmation de l'utilisateur

Confirmez le nom du dépôt et qu'il sera public. Ensuite :

  1. Poussez vers un dépôt créé à partir de ce modèle.
  2. Dans Paramètres, Pages, définissez Source sur GitHub Actions. Cette étape est manuelle.
  3. Le workflow construit et publie à chaque push.

Règles

  • Les services publics sont partagés. Ne les parcourez jamais en boucle. trip.lock.json conserve chaque réponse : commitez-le et ne le supprimez jamais pour réessayer.
  • Ce projet n'utilise pas l'API publique Nominatim. Sa politique interdit de l'intégrer dans des outils comme celui-ci en tant que géocodeur générique. Si l'utilisateur demande Nominatim, dirigez-le vers la politique d'utilisation et vers services.geocoder pour sa propre instance.
  • L'API gratuite Open-Meteo est destinée à un usage non commercial. Une agence de voyages a besoin d'une clé payante : définissez services.open_meteo_key.
  • Conservez les crédits de données dans le site. Ils sont légalement requis (voir DATA_SOURCES.md).

Skills associés