Hamdy Tabsissi
العربية

Alim'confiance Archive يعمل تلقائيًا كل أسبوع مشروع شخصي

حفظ نتائج التفتيش الصحي العامة قبل أن تختفي

نسخة احتياطية أسبوعية تلقائية لنتائج التفتيش الصحي العامة على المطاعم في فرنسا، التي تحذفها الإدارة بعد 12 شهرًا.

الحاجة

تنشر فرنسا نتائج تفتيش النظافة في المطاعم ومحلات الأغذية كبيانات مفتوحة، لكنها لا تحتفظ إلا بآخر 12 شهرًا. وأي سجل يُحذف من المصدر يضيع ما لم يكن أحد قد حفظه.

الفكرة

أثمن ما في هذه البيانات هو تاريخها، والتاريخ لا يمكن إعادة بنائه لاحقًا. أرشيف يبدأ اليوم أثمن من تطبيق مثالي يبدأ العام المقبل.

ما الذي بنيته

  • التحقق أولًا: راجعت إعادات الاستخدام الثماني عشرة المعروفة لمجموعة البيانات، وGitHub، وWayback Machine؛ ولم أجد نسخة من السجل الكامل (أغسطس 2026).
  • مهمة مجدولة تنزّل الملف كاملًا كل يوم اثنين في الساعة 6:00 بالتوقيت العالمي، وتتأكد من أنه غير مبتور، ثم تضغطه وتحفظه بتاريخ الأسبوع.
  • تشغيل الأسبوع نفسه مرتين لا يُنشئ نسخة مكررة أبدًا.
  • نسخة ثانية على جهاز أتحكم فيه، تُنسخ إلى OneDrive؛ فالأرشيف الموجود في مكان واحد ليس أرشيفًا.

النتيجة

  • 72,688عملية تفتيش محفوظة في اللقطة الأولى
  • ⁦45 → 9.9 MB⁩بعد الضغط
  • كل اثنينتلقائيًا منذ 16 أغسطس 2026
  • 0مستخدم حتى أكتوبر 2026، بكل وضوح

يكبر الأرشيف من تلقاء نفسه كل أسبوع. ليست له واجهة ولا مستخدمون بعد: إنه الأساس لفكرة أكبر، وهي تحويل نتائج التفتيش هذه إلى معلومات يمكن قراءتها قبل اختيار مطعم.

بالصور

مخطط: المصدر الرسمي يحذف السجلات بعد 12 شهرًا، وعملية جمع تلقائية تعمل كل يوم اثنين، وأرشيف مؤرَّخ يحتفظ بكل شيء

ما الذي تعلّمته

تحقّق من أن الحاجة حقيقية قبل البناء: هنا كان البحث هو ما حدّد المشروع، لا العكس. والأتمتة لا قيمة لها إلا إذا أمكن الوثوق بها: كل تشغيل يتحقق من ناتجه قبل حفظه.

التفاصيل التقنية التقنيات والبنية والقرارات، للقرّاء التقنيين

التقنيات المستخدمة

  • GitHub Actions
  • opendatasoft API
  • cron
  • Windows Task Scheduler
  • OneDrive

كيف يعمل

  • سير عمل أسبوعي في GitHub Actions (الاثنين 06:00 بالتوقيت العالمي): تنزيل ملف CSV كاملًا، والتحقق من الحجم والترويسة، والضغط، والإيداع بشكل لا يتكرر لكل أسبوع ISO.
  • العقبة التي أفشلت التشغيل الأول: واجهة opendatasoft البرمجية تردّ بصيغة gzip حتى دون طلب ذلك، فظل الملف غير مقروء إلى أن أُضيف الخيار curl --compressed.
  • نسخة ثانية خارج GitHub، على جهاز أتحكم فيه، تُنسخ إلى OneDrive.
  • لا يمكن استرجاع ما فات: الأسبوع الذي لا يُلتقط يضيع إلى الأبد، ومن هنا التحقق في كل تشغيل.

ما لا يزال ناقصًا

  • لا واجهة للمستخدم بعد
  • لا مستخدمين بعد