معشرَ الأفاضلِ في مجتمع (إتقان) الأكارم، السلام عليكم ورحمة الله وبركاته.
هذا أولُ عهدي بمحفلكم العامرِ، وبضاعتي في صناعةِ البرمجياتِ مُزجاةٌ، بَيْدَ أني أبتغي تقديمَ هذا المشروعِ راجياً أن ينفعَ اللهُ بهِ الأمةَ، ويُيسّرَ إدماجَهُ في التطبيقاتِ والبرامجِ، ليكونَ رافداً لمختلفِ المشاريعِ التقنيةِ المعنيةِ بخدمةِ تفسيرِ كتابِ اللهِ عزَّ وجلَّ.
إنَّ الغايةَ التقنيةَ من هذا العملِ تكمنُ في ترويضِ المادةِ العلميةِ الضخمةِ لموسوعةِ «التفسير المحرّرِ» (الصادرة عن مؤسسة الدرر السنية)، وتحويلِها من صفحاتِ شابكةٍ متفرقةٍ إلى ملفاتِ JSON مهيكلةٍ مُهذبةٍ تشملُ سورَ القرآنِ الكريمِ الـ 114 كاملةً، وتخلو تماماً من وسومِ HTML؛ ممّا يرفعُ عن كاهلِ المطورينَ مشقةَ تصفيةِ النصوصِ وتنقيتها، ويُتيحُ لهم دمجَ هذه المادةِ العلميةِ الغنيةِ في قواعدِ بياناتهمْ بيسرٍ وبناءِ تطبيقاتهمْ مباشرةً.
وقد عُمِدَ فيهِ إلى عزلِ الحواشي والمراجعِ عزلًا منهجياً، وعُزِيَ كلُّ فصٍّ منها إلى بابهِ الأصيلِ (كالإعرابِ، والبلاغةِ، وغريبِ الكلماتِ، والفوائدِ واللطائفِ)؛ الأمرُ الذي يمنحُ واجهاتِ المستخدمِ مرونةً فائقةً لعرضِ الحقولِ أو حجبِها في تبويباتٍ مستقلةٍ تُلائمُ رغباتِ القراءِ.
ولم أقتصرْ على إتاحةِ الملفاتِ المهيكلةِ فحسبْ؛ بل أُلحقَ بالمشروعِ أداةٌ تفاعليةٌ سريعةٌ تعملُ عبرَ واجهةِ سطرِ الأوامرِ (get_tafsir.py)، تُمكّنُ المطورَ أو الباحثَ من استعراضِ النصوصِ، والغريبِ، والإعرابِ مباشرةً من الطرفيةِ بنطاقٍ محددٍ من الآياتِ، كأن يُنفَّذَ الأمرُ:
python scripts/get_tafsir.py 112 -f 2 -t 3 --verses --detail
ليظهرَ له النصُّ القرآنيُّ مشفوعاً بتفسيرهِ التفصيليِّ في ثوانٍ معدودةٍ ودونَ حاجةٍ إلى اتصالٍ بالشابكةِ.
وأودُّ الإشارةَ إلى أنَّ هذه الأدواتِ والسكربتاتِ قد صُنِعَتْ بالاستعانةِ بأدواتِ الذكاءِ الاصطناعيِّ لضعفِ خِبرتي البرمجيةِ؛ ومنْ ثَمَّ فإني أهيبُ بأهلِ التخصصِ في هذا المجتمعِ الأريبِ أن يوجّهوا جهدهمْ لمراجعةِ وتطويرِ السكربتاتِ المسؤولةِ عن توليدِ البياناتِ ومطابقتها، وهما: (json_generator.py) و (validator.py)؛ إذ إنَّ سلامةَ المادةِ العلميةِ بأسرِها مرهونةٌ بصحةِ المنطقِ البرمجيِّ فيهما (وقد أرفقنا بالمشروع أداةَ مطابقةٍ نصيةٍ بمقارنةِ البصماتِ SHA-256 لضمانِ التطابقِ التامِ). وجديرٌ بالبيانِ أنَّ هذه السكربتاتِ قد تضخّمتْ وتشعّبتْ لعلاجِ اضطرابِ بنيةِ الصفحاتِ المصدريةِ في موقعِ "الدرر السنية"؛ حيثُ لم يعتمدْ مطورو الموقعِ على حقولٍ ومعرفاتٍ (Selectors) ثابتةٍ، ممّا تسبَّبَ في حدوثِ أخطاءٍ هيكليةٍ متكررةٍ تُعالجُها السكربتاتُ حالياً عبرَ قواعدَ استثنائيةٍ شتى. لذا, فإنَّ تظافرَ الجهودِ في تبسيطِ هذا المنطقِ وترقيتِهِ أمرٌ بالغُ الأهميةِ لضمانِ سلامةِ النصِّ وخلوّ المخرجاتِ من السقطِ.
والمشروعُ بأسرهِ مفتوحُ المصدرِ ومتاحٌ على منصةِ GitHub؛ تيسيراً لتداولهِ، ودعوةً للمطورينَ لاستغلالِ هذه البياناتِ والأكوادِ في شتى البرمجياتِ الإسلاميةِ. وأرحبُ بملحوظاتكمْ وتصويباتكمْ عبرَ فتحِ بلاغاتِ الخللِ (Issues) أو إرسالِ طلباتِ الدمجِ (Pull Requests) مباشرةً في المستودعِ. كما أرجو ممّن يجدُ في نفسهِ الرغبةَ والقدرةَ على التعاونِ لتطويرِ المشروعِ والتوسعِ فيهِ أن يتواصلَ معنا مباشرةً؛ إذ نطمحُ مستقبلاً -بمعاونتِكم- إلى توفيرِ البياناتِ بصيغٍ أخرى متنوعةٍ غيرِ الـ JSON (مثل SQLite أو CSV أو قواعد بيانات SQL جاهزة) لتوسيعِ دائرةِ الاستفادةِ منها.
وتجدرُ الإشارةُ إلى أنَّ حقوقَ المحتوى العلميِّ الأصليِّ محفوظةٌ لمؤسسةِ "الدرر السنية"، وإنما ينحصرُ عملي في هذا المشروعِ في الجانبِ البرمجيِّ والتهيئةِ التقنيةِ لتيسيرِ النفاذِ للبياناتِ والبحثِ العلميِّ غيرِ التجاريِّ.
وللتواصلِ أو الاستفسارِ وتبادلِ الآراءِ حولَ المشروعِ: