⬆ إلى الأعلى
نظرة شفافة على Ta-Na-Si Media & Document Repository — البنية المعمارية والتقنيات المستخدمة والمساهمون في التطوير.

نواة المستودع

تشرح هذه الصفحة مِمَّ بُني Ta-Na-Si Media & Document Repository — بنيته المعمارية وتقنيته والأشخاص وراء تطويره. نحن نؤمن بالشفافية الكاملة: كل من يستخدم أرشيفًا، أو يفكر في إدارة أرشيف خاص به، يستحق أن يعرف بالضبط مِمَّ يتكون النظام. صفحة «من نحن» تشرح ما غاية الأرشيف؛ وهذه الصفحة تشرح كيف يعمل.

1. ما نواة المستودع

نواة المستودع هي البرمجية التي يعمل عليها هذا الأرشيف: نظام أرشفة رقمي مستقل تمامًا وذاتيّ الاستضافة، كُتب من الصفر لغرض واحد — تخزين الوثائق والوسائط وتنظيمها وتقديمها علنًا بوصفها مواد مصدرية مُسنَدة بالأدلة. لا يقوم على WordPress ولا Joomla ولا Drupal ولا أي نظام إدارة محتوى جاهز آخر، ولا يستخدم أي إطار عمل PHP. كل مكوِّن — طبقة قاعدة البيانات، ومحرك البحث، وورشة التنسيق، والصفحات العامة — صُمم وكُتب خصوصًا لهذه المهمة.

والبرمجية مبنية منصةً متعددة التنصيبات: فهي لا تخدم أرشيفًا مركزيًا واحدًا، بل تشغّل أرشيفات كثيرة منفصلة مستقلة. كل أرشيف — مجموعةً عائلية صغيرة كان أو مستودعًا إقليميًا كبيرًا — تنصيبٌ كامل قائم بذاته له قاعدة بياناته وملفاته وقيِّمه. لا بنية تحتية مشتركة بين الأرشيفات، ولا خدمة مركزية تعتمد عليها.

2. قاعدة شيفرة واحدة، أرشيفات مستقلة كثيرة

كل تنصيب يشغّل قاعدة الشيفرة المتطابقة نفسها. وكل ما يخص خادمًا بعينه — عنوانه العام، وبيانات الوصول إلى قاعدة بياناته، ومرسِل بريده — يعيش في ملف بيئة واحد يُنشأ مرة واحدة أثناء الإعداد ولا يسافر مع الشيفرة أبدًا. هذا الفصل الصارم هو ما يجعل النموذج ممكنًا: تحديث البرمجية نفسه يمكن تطبيقه على كل أرشيف، صغيرًا كان أو كبيرًا، دون المساس بالإعدادات الخاصة بأي أرشيف.

ويُنصَّب الأرشيف الجديد عبر مساعد إعداد موجَّه في المتصفح — لا سطر أوامر، ولا ملفات إعداد تُحرَّر يدويًا. يتحدث المساعد 18 لغة، ويفحص متطلبات الخادم، ويختبر الاتصال بقاعدة البيانات قبل كتابة أي شيء، وينشئ حساب المالك بكلمة مرور مجزّأة تجزئة آمنة. وتُنشأ جداول قاعدة البيانات بواسطة نظام ترحيل ثابت النتيجة (idempotent): يمكن تشغيله أي عدد من المرات ويؤول دائمًا إلى المخطط الصحيح. وتغييرات المخطط اللاحقة مرقَّمة الإصدارات ومتتبَّعة، فيرى كل تنصيب بالضبط أين يقف؛ التغييرات الروتينية تُطبَّق تلقائيًا، أما الثقيلة فتنتظر تأكيد المالك المتعمد. والتحديثات تتبع الترتيب الحريص نفسه: نسخ احتياطي أولًا، ثم ترحيل، ثم مسح الذاكرة المؤقتة.

3. حزمة التقنيات الإصدار 1.0.0 (Thuringia)

🖥️ الخادمبيئة Apache + PHP قياسية — يعمل على استضافة مشتركة عادية أو أي خادم خاص؛ لا حاويات ولا أدوات بناء ولا خدمات خارجية مطلوبة
🐘 الواجهة الخلفيةPHP 8.1 أو أحدث — بلا إطار عمل؛ مكتبة الطرف الثالث الوحيدة على جانب الخادم هي محلل Markdown الصغير Parsedown
🗄️ قاعدة البياناتطبقة واحدة متعددة المشغّلات تدعم SQLite (دون أي إعداد) وMySQL/MariaDB وPostgreSQL — كل أرشيف يختار ما يناسب حجمه
🔎 البحثفهرس نص كامل يغطي كل نصوص السجلات، إضافة إلى تسعة محاور تصنيف (الموضوع، المكان، اللغة، المساهم، النوع، جزء من، المجموعة، السلسلة، الوصول) مع عدّادات نتائج حية
🌐 اللغاتواجهة مهيأة لـ18 حزمة لغات (قيد الترجمة)؛ و49 لغة محتوى مدعومة أصلًا في البحث ومحاور التصنيف، بما في ذلك الكتابات من اليمين إلى اليسار
📦 تخزين الملفاتشجرة وسائط مجزأة بمعرّفات UUID وبمسارات حتمية — مصممة للنمو حتى ملايين الملفات؛ مع نسخ اختياري خارج الموقع إلى تخزين كائنات متوافق مع S3
🎨 الواجهة الأماميةHTML5 وCSS3 مكتوبتان يدويًا في نظام تصميم متعدد الطبقات، مع حد أدنى من JavaScript الصِّرف — كل صفحة تعمل أولًا دون نصوص برمجية
🧩 مكتبات المتصفحثلاثة مكونات مفتوحة المصدر ذاتية الاستضافة، تُقدَّم من الأرشيف نفسه وليس من CDN أبدًا: OpenSeadragon للعرض العميق القابل للتكبير للصور (رخصة New BSD 3-Clause)، ومحرر النصوص المنسقة Jodit (رخصة MIT)، ومحرر Markdown المسمى EasyMDE (رخصة MIT)
🔒 الاستيثاقتسجيل دخول قائم على الجلسات مع تجزئة قوية لكلمات المرور، ورموز ثنائية العامل اختيارية (TOTP)، وإقفال عند تكرار محاولات الدخول، وحماية CSRF في كل نموذج
⚡ التخزين المؤقتذاكرة صفحات مؤقتة قائمة على الملفات مع حماية من التدافع وأعمار منفصلة للخادم والمتصفح وCDN؛ ومع إمكانية وضع Cloudflare في المقدمة اختياريًا
🗺️ SEO والاكتشافخريطة موقع XML متدفقة (ملف واحد أو وضع فهرس للأرشيفات الكبيرة جدًا)، وrobots.txt مولَّد تلقائيًا، وبيانات وصفية منظمة (JSON-LD)، وعناوين نظيفة ثابتة
💾 النسخ الاحتياطيةأربعة أنواع نسخ ZIP قابلة للاختيار مع سياسة استبقاء، ومزامنة اختيارية خارج الموقع عبر rclone، واستعادة محروسة تأخذ نسخة أمان أولًا

4. البحث والتنقل التصنيفي

قلب الأرشيف العام هو بحثه. فهرس نص كامل واحد يغطي كل سجل منشور — العنوان والوصف والملخص والملاحظات ونص المقال — فحقل بحث واحد يصل إلى كل شيء. لكن النص الكامل وحده لا يكفي للبحث الجاد، ولهذا يُصنَّف كل سجل أيضًا على تسعة محاور تصنيف:

  • الموضوع — الموضوعات والقضايا التي يتناولها السجل.
  • المكان — المواقع الجغرافية التي يتصل بها السجل، مستمدة من دليل أماكن منظَّم (انظر قسم GeoNames أدناه).
  • اللغة — لغة محتوى السجل، من بين 49 لغة مدعومة أصلًا.
  • المساهم — الأشخاص المعنيون: مؤلفون ومتحدثون ومصورون ومحررون.
  • النوع — طبيعة المادة: شهادة، تحليل، تقرير، وهكذا.
  • جزء من — العمل الأكبر الذي ينتمي إليه السجل، يربط المواد متعددة الأجزاء.
  • المجموعة — تجميعات مسماة منسَّقة يرعاها القائمون على الأرشيف.
  • السلسلة — تجميعات مرتَّبة للمواد التي تتبع تسلسلًا.
  • الوصول — مستوى الوصول إلى السجل، عامًّا كان مثلًا أو للأعضاء فقط.

يعمل التنقل التصنيفي كما يتوقعه الباحثون من الأرشيفات المؤسسية الكبيرة. فبجوار النتائج يعرض كل محور أكثر قيمه تكرارًا مع عدّادات نتائج حية — نقرة واحدة تضيّق النتائج، والمرشحات من محاور مختلفة يمكن تركيبها بحرية: مثلًا، كل سجلات الصوتيات باللغة الألمانية في موضوع التعليم من تسعينيات القرن العشرين. وتظهر المرشحات النشطة شرائحَ قابلة للإزالة فوق النتائج، فيبقى التضييق الحالي مرئيًا دائمًا ويمكن إسقاط أي مرشح من جديد بنقرة واحدة. وحيث يحمل محورٌ قيمًا أكثر مما يعرضه الشريط الجانبي، يمكن تصفح فهرس أبجدي كامل للمحور بأكمله، حرفًا حرفًا.

وفيما وراء محاور التصنيف، يمكن حصر النتائج حسب نوع المادة (مقالات، تسجيلات صوتية، فيديو، وثائق، صور، مجموعات بيانات — وعدة أنواع معًا إن شئت) وحسب التاريخ، إما عبر روابط عقود سريعة أو نطاق سنوات محدد. ويمكن ترتيب النتائج حسب الصلة أو العنوان أو التاريخ، وعرضها بأربع طرق: قائمة مفصلة، أو معرض صور، أو شبكة مدمجة، أو عرض شرائح بملء الشاشة. وحالة البحث بأكملها — الاستعلام والمرشحات والترتيب وطريقة العرض — تعيش في شريط العنوان، فأي صفحة نتائج يمكن حفظها إشارةً مرجعية والاستشهاد بها ومشاركتها كما هي تمامًا.

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

5. صفحات السجلات

لكل سجل صفحته الخاصة بعرض يناسب نوعه: الصوت والفيديو يُشغَّلان داخل الصفحة مباشرة، ووثائق PDF تُفتح في عارض مضمَّن، والصور يمكن فحصها في عرض عميق قابل للتكبير، والمقالات تُصيَّر من Markdown مُرشَّح بأمان. وإلى جانب الملف نفسه، تعرض صفحة السجل الوصف الكامل، والمساهمين، والعمل الأكبر الذي تنتمي إليه (مع تنقّل بين أجزائه)، ومواد ذات صلة تستحق الاطلاع بعدها، واستشهادات جاهزة بصيغ Chicago وAPA وMLA. وكل سجل يحمل بيانات وصفية قابلة للقراءة الآلية (schema.org JSON-LD) وعنوانًا ثابتًا لا يتغير أبدًا؛ ويمكن تخصيص روابط دائمة قصيرة بالشكل /go/… للاستشهاد في المطبوعات والمراجع الخارجية.

6. اللغات

بُني الأرشيف لعالم متعدد اللغات، على مستويين متمايزين.

الواجهة — كل ما يقرؤه زائر أو قيِّم على الصفحات نفسها — مكتوبة بالإنجليزية وتُبقي كل نص مرئي في ملفات لغة قابلة للترجمة، لا مدفونًا في الشيفرة أبدًا. وحزم لغات الواجهة لـ18 لغة قيد الإعداد وهي حاليًا قيد الترجمة: الإنجليزية والألمانية والفرنسية والإيطالية والإسبانية والبرتغالية والهولندية والروسية والبولندية والسويدية والدنماركية والنرويجية والصينية واليابانية والكورية والتركية والتشيكية والرومانية. تُنصَّب الحزم وتُدار من لوحة الإدارة، التي تتتبع أيضًا مدى اكتمال كل ترجمة قياسًا على المصدر الإنجليزي. ومساعد الإعداد يتحدث اللغات الثماني عشرة كلها اليوم بالفعل.

المحتوى — المواد المؤرشفة نفسها — يدعم أصلًا 49 لغة: الإنجليزية والألمانية والفرنسية والإيطالية والإسبانية والبرتغالية والهولندية والروسية والأوكرانية والبولندية واليونانية والسويدية والدنماركية والنرويجية والتركية والصينية والهندية والعربية والإندونيسية واليابانية والفيتنامية والكورية والبيلاروسية والتشيكية والسلوفاكية والمجرية والرومانية والبلغارية والكرواتية والسلوفينية والفنلندية والبنغالية والأردية والفارسية والآيسلندية والأيرلندية والسواحلية والتايلندية والفلبينية والعبرية والبنجابية والتيلوغوية والتاميلية والماراثية والهوسا واليوروبا والأمهرية والجاوية والبشتوية. تُوسَم السجلات بلغة محتواها، ومحور اللغة في البحث يرشِّح بأي منها — فيستطيع القارئ مثلًا استحضار كل ما يحفظه الأرشيف بالأوكرانية أو بالعربية بنقرة واحدة. والكتابات من اليمين إلى اليسار كالعربية والعبرية والفارسية والأردية تُعرض عرضًا صحيحًا في كل مكان.

إضافة إلى ذلك، يفتح مبدِّل لغة في كل صفحة عامة عرضًا مترجمًا آليًا للصفحة، دون تحميل أي نص برمجي من طرف ثالث في الصفحة نفسها.

7. بيانات الأماكن: GeoNames

يستند محور المكان إلى دليل جغرافي منظَّم هرميًا — بلد، منطقة، مكان — بحيث يمكن تحديد موقع السجلات بدقة والعثور عليها من جديد جغرافيًا. البيانات الأساسية (البلدان ومناطقها الإدارية في أنحاء العالم) تأتي من قاعدة البيانات الجغرافية GeoNames وتُستورد إلى مخزن بحث محلي أثناء الإعداد أو لاحقًا من لوحة الإدارة؛ ويستطيع القائمون على الأرشيف توسيعها بأماكنهم المحلية. بيانات الأماكن: GeoNames.org، مرخَّصة بموجب CC BY 4.0.

8. بيانات المفردات: كتالوجات الموضوع والنوع

المفردات المنسَّقة وراء محاور كالموضوع والنوع تُشحن مع البرمجية وتُترجم مركزيًا، لتحمل مصطلحاتها معنى في كل لغة واجهة. وللحفاظ على توافقها مع معايير تنظيم المعرفة الراسخة، تعمل المفردات المضبوطة العامة التالية مصادرَ مرجعية لعمل الكتالوج: EuroVoc، المكنز متعدد اللغات للاتحاد الأوروبي (© الاتحاد الأوروبي، CC BY 4.0)، وIPTC Media Topics (© IPTC، CC BY 4.0)، وGetty Art & Architecture Thesaurus (ODC-By 1.0). وكل مصطلح كتالوج مشتق من مفردات خارجية يسجّل أصله، والقائمة الكاملة لجميع مكونات الأطراف الثالثة ومصادر البيانات تُشحن مع كل تنصيب: اقرأها هنا.

9. جانب العمل

وراء الأرشيف العام لوحة إدارة منظمة في أربعة مجالات: الأشخاص والحوكمة (حسابات المشغّلين والأعضاء، والأدوار، والصلاحيات)، والنشر الداخلي (ورشة تنسيق السجلات والمحررات)، وإعداد المنصة (الإعدادات، وأشكال الوسائط، ومحاور التصنيف، واللغات، وبنية الموقع)، والتقنية والبيانات (حالة النظام، والتشخيصات، والنسخ الاحتياطية). كل ما يحتاج قيِّم الأرشيف إلى ضبطه يمكن الوصول إليه عبر هذه الصفحات — فإدارة أرشيف لا تتطلب أي تغيير في الشيفرة.

وتمر السجلات بسير عمل تنسيقي واضح: تُنشأ مسوداتٍ، وتُملأ بالبيانات الوصفية والتصنيفات، وتُقدَّم اختياريًا للمراجعة، ثم تُنشر — أو تُؤرشف لاحقًا من جديد. وتُرفع الملفات في أجزاء صغيرة قابلة للاستئناف، فتنجو الوسائط الكبيرة من الاتصالات غير المستقرة، وكل ملف مرفوع يُتحقق منه مقابل نوعه المعلن بفحص توقيع الملف قبل قبوله. وتُولَّد صور المعاينة تلقائيًا حيث يدعم الخادم ذلك.

ومنطقة أعضاء اختيارية تتيح للأرشيف أن ينمو إلى ما وراء القائمين عليه: فالأعضاء المسجلون يمكن الوثوق بهم خطوة خطوة عبر أربع درجات ثابتة، من القراءة والنقاش صعودًا إلى تنسيق السجلات ونشرها. والصلاحيات دقيقة التفصيل على الجانبين — فالأدوار الإدارية قابلة للتعريف بحرية وتستمد من سجل صلاحيات مفصل، والتجاوزات الفردية يمكنها توسيع وصول أي شخص بعينه أو تضييقه. أما وصول المالك فمُبقى عمدًا خارج قاعدة البيانات كليًا، فلا يمكن أبدًا أن يُوصَد باب أرشيف بملف تالف أو تغيير فاشل.

10. سلامة البيانات

النسخ الاحتياطية هنا من الدرجة الأولى: يستطيع قيِّم الأرشيف إنشاء نسخ ZIP موسومة بالتاريخ لقاعدة البيانات أو محتوى الوسائط أو التنصيب أو كل ذلك دفعة واحدة — عند الطلب، ومع سياسة استبقاء تُبقي الأحدث وتزيل الأقدم. ويمكن إضافةً إلى ذلك نسخ كل نسخة احتياطية خارج الموقع إلى أي مزوِّد تخزين متوافق مع S3. والاستعادة محروسة عمدًا: يتحقق النظام من أن النسخة الاحتياطية تطابق التنصيب ويأخذ نسخة أمان جديدة قبل أن يمس أي شيء. ومع تتبع المخطط مرقَّم الإصدارات، يعني هذا أن أرشيفًا بُني بعناية يمكن صيانته ونقله وإصلاحه على المدى الطويل.

11. مبادئ التصميم

بُني المستودع حول مجموعة صغيرة من المبادئ غير القابلة للتفاوض وجّهت كل قرار معماري:

  • لا تتبُّع، ولا تحليلات، ولا طلبات لأطراف ثالثة — كل أصل، بما في ذلك الخطوط ومكتبات النصوص البرمجية، يُقدَّم من خادم الأرشيف نفسه. لا يُرسَل أي شيء عن الزائر إلى أي مكان.
  • قابل للزحف عليه علنًا بحكم التصميم — HTML نظيف، وخريطة موقع منظمة، وبيانات وصفية واصفة، وrobots.txt يرحب بمحركات البحث وأنظمة الذكاء الاصطناعي، لتُعثَر الحقائق المؤرشفة وتُقرأ على نطاق واسع.
  • قابل للطباعة والتنزيل — الوثائق معدَّة لتغادر الشاشة وتدخل العالم الحقيقي.
  • مقروء بلغات كثيرة — 18 حزمة لغة واجهة قيد الإعداد، و49 لغة محتوى مدعومة أصلًا في البحث ومحاور التصنيف، ومبدِّل لغة في كل صفحة عامة (انظر قسم اللغات أعلاه).
  • اعتماديات قليلة محتواة — حفنة مكونات ذاتية الاستضافة (محلل Markdown على الخادم؛ ومكتبات محرر وعارض في المتصفح)، مفصولة فصلًا صارمًا عن شيفرة النظام نفسها. لا CDN، ولا مدير حزم، ولا خطوة بناء.
  • محايد تجاه البيئة — الشيفرة المتطابقة نفسها تعمل على كل تنصيب؛ ولا يختلف من خادم إلى خادم إلا ملف بيئة واحد.
  • تدهور رشيق — الميزات الاختيارية تفحص متطلباتها وتنطفئ بنظافة حيث لا يستطيع الخادم دعمها، بدل أن تكسر الأرشيف.

12. المساهمون في التطوير

👥 المشروع والمحتوى

Raven D. Pond & Keylam Folker — مؤسسا مشروع Ta-Na-Si والقيِّمان على برمجية هذا المستودع. كل التوجيه التحريري والقرارات التنسيقية ورؤية المشروع وراء هذه البرمجية تنبع كليًا من Raven وKeylam. هما حدَّدا كل متطلَّب، واختبرا كل ميزة، ووجَّها تطوير هذا النظام من الفكرة الأولى إلى شكله الحالي؛ وكل قرار معماري اتُّخذ وأُقرَّ من Keylam.

✨ تطوير البرمجية

Claude (Anthropic) — عمل المساعد الذكي Claude شريكَ التطوير الرئيسي لهذا المستودع. الواجهة الخلفية بلغة PHP، وطبقة قاعدة البيانات متعددة المشغّلات، ومحرك البحث والتصنيف، ولوحة الإدارة، ونظام تصميم الواجهة الأمامية، وكل الأدوات المساعدة — صُممت وكُتبت في عملية تعاونية بين متطلبات Raven وKeylam وعمل Claude على الشيفرة. وهذا المستودع مثال على أرشيف مستقل بُني عبر هندسة برمجيات تعاونية مباشرة بين الإنسان والذكاء الاصطناعي لمشروع من العالم الحقيقي.

📅 الجدول الزمني للتطوير

بدأ التطوير الأولي في منتصف مايو/أيار 2026 واستمر في تعاون يومي منذ ذلك الحين. تحمل البرمجية الإصدار 1.0.0؛ وهذه الصفحة تعكس حالتها كما في يوليو/تموز 2026.

13. القواعد التي تأتي بها هذه البرمجية

كل تنصيب لهذه البرمجية يحمل القواعد نفسها، ومن نصَّب هذا الأرشيف وافق عليها قبل أن يُكتب ملف واحد. وهي قصيرة، وكُتبت ليقرأها إنسان لا ليفكّكها محامٍ: اقرأها هنا.

في جملة واحدة: الأرشيف الذي تنظر إليه ملك كامل لمن يديرونه — اسمه ومجموعته وأعضاؤه وبياناته — والمشروع الذي وراء البرمجية لا يملك مفتاحًا لأي منها. ما يبقى، في كل تنصيب، هو اسم البرمجية نفسها، والنصوص التأسيسية، وذكر الشخصين اللذين صنعا المشروع. لا لأن رخصةً تنص على ذلك، بل لأن أرشيفًا يكذب بشأن أصله قد كسر عين الشيء الذي وُجد ليفعله.

14. التواصل والملاحظات

هذا نظام حي — يتطور مع المشروع. إذا واجهت مشكلة تقنية أو رابطًا مكسورًا، أو كانت لديك فكرة للتحسين، فتواصل معنا من فضلك عبر صفحة الاتصال المدرجة في تذييل كل صفحة، أو اترك تعليقًا على أي من قنواتنا على المنصات. نحن نقرأ كل شيء.