ケーススタディ — Google アカウント × GitHub アカウントの両立ワークフロー
Google と GitHub の両アカウントを持っている場合、Colab でのデータ準備と GitHub Pages での公開をどう組み合わせるかを整理します。
2026-09-11
想定するユーザー
「Google アカウントだけで完結」という構想は、初学者や教育現場を想定したハードル下げのための極論です。現実の典型ユーザーは Google と GitHub の両方を持っています。
両方を持っている人が、Portolan のデータコレクションを「準備 → 公開 → AI に読ませる」まで一気通貫で行うためのワークフローを整理します。
役割分担
| レイヤー | Google アカウント(Colab) | GitHub アカウント(リポジトリ) |
|---|---|---|
| 認証 | OAuth でログイン、追加基盤不要 | GitHub 自体が認証基盤 |
| データ生成・検証 | GeoPandas で前処理・CRS 変換 | / |
| コンテンツ配信 | / | GitHub Pages(GitHub Actions) |
| メタデータ・カタログ | collection.json を生成 | Pages 上の公開 URL で配信 |
| AI 連携 | Colab MCP server(パーソナル・開発サーバー) | Pages 公開データを参照(認証不要) |
| 版管理・コラボ | / | git / PR / Issue |
一気通貫の流れ
データ準備 (Colab)
└─ GeoPandas で 3857 → 4326 変換などの前処理・検証
└─ collection.json / AGENTS.md を生成
public/ に配置 → commit → push (GitHub アカウント)
└─ GitHub Actions が自動で build → Pages デプロイ
AI エージェント(任意の MCP クライアント)
└─ Pages 公開 URL (collection.json / *.parquet) を直接参照
└─ Colab MCP server を経由すれば Google アカウントの状態も操作
実装例(本リポジトリの実績)
本リポジトリはこの両立ワークフローを実際に動かして検証済みです。
1. Colab でデータを整える
# Colab 上で GeoDataFrame を EPSG:3857 から 4326 に変換し Parquet へ
import geopandas as gpd
gdf = gpd.read_parquet("data/poi.parquet") # 3857 で保存済み
gdf = gdf.to_crs("EPSG:4326")
gdf.to_parquet("data/poi_4326.parquet", schema_version="1.0.0")
2. public/ に置いて GitHub へ push
データは Astro プロジェクトの public/ に置くだけで、ビルド時に dist/ へコピーされ GitHub Pages でそのまま配信されます。
portolan-lp/public/demo-collection/
├── collection.json # メタデータ(機械可読)
├── README.md # 人間向け説明
└── data/poi.parquet # GeoParquet データ本体
git add -A
git commit -m "Add demo collection"
git push origin main
push 後、GitHub Actions が自動でビルドし、以下の URL で公開されます。
https://<username>.github.io/<repo>/demo-collection/collection.json
3. AI エージェントから直接参照
コレクションは公開 URL として存在するため、AI エージェントが認証なしで読み取れます(AGENTS.md の「3 つの入り口」の通り)。
# 公開 URL から直接読む(認証不要)
from server import read_collection
print(read_collection("https://<username>.github.io/<repo>/demo-collection/collection.json"))
使い分けの指針
| 状況 | 使うもの |
|---|---|
| 手元にいないがデータを確かめたい | Google アカウント + Colab(ブラウザだけで完結) |
| 公開・配信・版管理したい | GitHub アカウント(Pages / Actions / git) |
| エージェントに「読ませる」 | どちらでも可(Pages 公開 URL は認証不要) |
| 個人の開発サーバーにしたい | Google アカウント + Colab MCP server |
| データを外部 AI に渡さず解析したい | Google アカウント + ローカル LLM(Ollama) |
このケースが示すこと
両アカウントの持ち主にとって、GitHub Pages は「公開・配信」の主役であり、Colab は「データ準備・検証・プライベート解析」の主役です。この二つを接続しているのが Portolan の考え方——データは take down せず、開いた状態で公開しておく——です。
Colab MCP server を使えば、この両者の橋渡し(GitHub Pages へのデプロイ含む)も、ローカル .git 環境がなくても実行できます。詳細は「Colab MCP server に期待できる機能」を参照してください。