Hamdy Tabsissi
日本語

Alim'confiance Archive 毎週自動で実行 個人プロジェクト

消える前に、公的な衛生検査の記録を保存する

フランス政府が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月時点の利用者数(正直に記載)

アーカイブは毎週ひとりでに増えていきます。まだ画面も利用者もありません。これは、検査結果を飲食店を選ぶ前に読める情報に変えるという、より大きな構想の土台です。

画面で見る

図:公式の情報源は12か月で記録を削除し、毎週月曜日に自動収集が動き、日付つきのアーカイブがすべてを保存する

学んだこと

作る前に、ニーズが本物かどうかを確かめること。今回はリサーチがプロジェクトを決めたのであって、その逆ではありません。そして自動化は、信頼できてこそ意味があります。毎回の実行で、保存する前に自分の出力を検証しています。

技術的な詳細 技術スタック、アーキテクチャ、設計判断(技術職の方向け)

技術スタック

  • GitHub Actions
  • opendatasoft API
  • cron
  • Windows タスク スケジューラ
  • OneDrive

仕組み

  • 毎週の GitHub Actions ワークフロー(月曜 06:00 UTC):CSV 全体のダウンロード、サイズとヘッダーの検証、圧縮、ISO 週ごとの冪等なコミット。
  • 初回の実行でつまずいた落とし穴:opendatasoft API は指定しなくても gzip で応答するため、curl --compressed を加えるまでファイルが読めませんでした。
  • GitHub の外、自分が管理するマシンに2つ目のコピーを置き、OneDrive に複製しています。
  • 過去にさかのぼって補うことはできません。取りこぼした週は永久に失われるため、毎回の実行で検証しています。

まだ足りない点

  • まだ利用者向けの画面がない
  • まだ利用者がいない