消える前に、公的な衛生検査の記録を保存する
フランス政府が12か月で削除してしまう、飲食店の衛生検査のオープンデータを、毎週自動でバックアップしています。
ニーズ
フランスは飲食店や食料品店の衛生検査の結果をオープンデータとして公開していますが、残すのは直近12か月分だけです。元のデータから消えた記録は、誰かが保存していない限り失われます。
アイデア
このデータでいちばん価値があるのは履歴で、履歴は後から作り直せません。今日始めるアーカイブは、来年始める完璧なアプリより価値があります。
つくったもの
- まず確認から。データの既知の再利用例18件、GitHub、Wayback Machine を調べましたが、履歴全体のコピーは見つかりませんでした(2026年8月)。
- 毎週月曜日 6:00(UTC)にファイル全体をダウンロードし、途中で切れていないかを確かめ、圧縮して、その週の日付で保存する定期ジョブ。
- 同じ週を2回実行しても、重複は生まれません。
- 自分が管理するマシンに2つ目のコピーを置き、OneDrive に複製。1か所にしかないアーカイブは、アーカイブとは言えません。
成果
- 72,688最初のスナップショットで保存した検査件数
- 45 → 9.9 MB圧縮後のサイズ
- 毎週月曜日2026年8月16日から自動で実行
- 02026年10月時点の利用者数(正直に記載)
アーカイブは毎週ひとりでに増えていきます。まだ画面も利用者もありません。これは、検査結果を飲食店を選ぶ前に読める情報に変えるという、より大きな構想の土台です。
画面で見る
学んだこと
作る前に、ニーズが本物かどうかを確かめること。今回はリサーチがプロジェクトを決めたのであって、その逆ではありません。そして自動化は、信頼できてこそ意味があります。毎回の実行で、保存する前に自分の出力を検証しています。
技術的な詳細 技術スタック、アーキテクチャ、設計判断(技術職の方向け)
技術スタック
- GitHub Actions
- opendatasoft API
- cron
- Windows タスク スケジューラ
- OneDrive
仕組み
- 毎週の GitHub Actions ワークフロー(月曜 06:00 UTC):CSV 全体のダウンロード、サイズとヘッダーの検証、圧縮、ISO 週ごとの冪等なコミット。
- 初回の実行でつまずいた落とし穴:opendatasoft API は指定しなくても gzip で応答するため、curl --compressed を加えるまでファイルが読めませんでした。
- GitHub の外、自分が管理するマシンに2つ目のコピーを置き、OneDrive に複製しています。
- 過去にさかのぼって補うことはできません。取りこぼした週は永久に失われるため、毎回の実行で検証しています。
まだ足りない点
- まだ利用者向けの画面がない
- まだ利用者がいない