تطابق هذه الأدلة مفاهيم القطاع مع العناصر الموجودة في المنصة اليوم (باقات القنوات والخطوط والحزم وحسابات الموزّعين والعقد وواجهة API). وهي مطابقات مفاهيمية لا ميزات خاصة بقطاع، وحساب الموزّع حساب مفوَّض لا tenant معزول.
المطابقة المفاهيمية
لا شيء في اللوحة يُسمّى فريقًا أو عضوًا. يبيّن الجدول أي كائن يؤدي أي دور؛ وتُعدّه الفصول أدناه بهذا الترتيب.
| في قطاعك | على المنصة | أين في اللوحة |
|---|---|---|
| بث مباراة أو تدريب | قناة مباشرة: بث بمصادره وEPG وصيغ الإخراج | Streams ← إضافة بث مباشر (رابط المصدر أو دفع RTMP) |
| مكتبة التحليل والإعادة | كتالوج VOD: أفلام ومسلسلات بمواسم وحلقات وتصنيفات وبيانات وصفية | Movies وSeries، أو مهمة استيراد VOD |
| حزمة فريق أو مسابقة | باقة قنوات (bouquet): مجموعة مسمّاة من القنوات أو الأفلام أو المسلسلات تمنحها الحزمة | Bouquets، من Streams وMovies / Series |
| وصول عضو أو عائلة | الخط: وصول واحد بحزمته وباقات قنواته وانتهائه وحد اتصالاته ومخرجاته | Lines ← إضافة، أو رموز التفعيل، أو Reseller API |
| الموسم أو فترة العضوية | تاريخ انتهاء الخط، يُجدَّد بحزمة أو رصيد أو واجهة API | تاريخ انتهاء الخط ومدة الحزمة |
| حساب موظفي الفريق أو الأكاديمية | حساب موزّع (reseller): لوحة مفوَّضة بأرصدة وصلاحيات وخطوطه الخاصة | Users ← إضافة موزّع؛ Groups لصلاحياته |
| تكامل المتجر أو إدارة النادي | Reseller API وwebhooks: عمليات اللوحة من نظامك الخاص | مفاتيح Reseller API وwebhooks في لوحة الموزّع |
المتطلبات
ما يجب توفيره قبل التثبيت.
- خادم (Ubuntu 22.04 أو 24.04) بعنوان عام أو نطاق، وعرض نطاق صاعد يكفي للمباريات التي تنوي بثها.
- الكاميرا والمشفّر في الملعب القادران على دفع RTMP، وملفات التدريب والتحليل المسجّلة التي يحتفظ بها مدربوك أصلًا.
- قرار بشأن من يرى ماذا: أي الفرق تتشارك المواد، وأي المباريات للأعضاء فقط، ومن في الجهاز الفني يحصل على حساب في اللوحة.
نشر البنية
الأكاديمية أولًا، وعقدة حين تتطلبها أيام المباريات.
- شغّل المثبّت على خادم الأكاديمية وضع اللوحة خلف وكيل عكسي مع TLS؛ واضبط الوكلاء الموثوقين لترى السجلات وقواعد IP عنوان المشاهد الحقيقي.
- اضبط عنوان أساس التشغيل على العنوان العام الذي يصل إليه المشاهدون، لتعمل الروابط التي تصدرها اللوحة من المنزل.
- إن شاهدت عائلات كثيرة المباراة نفسها، فسجّل عقدة من الخوادم؛ تثبّتها اللوحة عبر SSH وتوزّع منها القناة المباشرة.
- أنشئ حساب شريك (موزّع) للجهاز الفني بأذونات للكتالوج ودون أذونات لخطوط الأعضاء.
تنظيم المحتوى
الفرق والمواسم كتصنيفات، والوصول كباقات.
- أنشئ تصنيفات لكل فئة عمرية ولكل موسم، ومسلسلات للمسابقات بحلقة لكل مباراة.
- أنشئ باقة قنوات لمواد تحليل كل فريق، وباقة لقنوات المباريات المباشرة، وباقة للأكاديمية كلها.
- أنشئ حزمة لكل نوع عضوية: الباقات التي تمنحها، والموسم كمدة، وسعرًا بالرصيد إن كان الموظفون يبيعونها.
- سمِّ الباقات باسم الفريق أو المسابقة التي تتبعها، ليعرف الموظفون أي حزمة يمنحون العائلة.
إعداد الشركاء (الموزّعين)
موظفون يديرون أعضاءهم بأنفسهم، إن أراد النادي ذلك.
- أنشئ مجموعة بأذونات الكتالوج للمدربين ومجموعة بأذونات الخطوط لسكرتير العضوية.
- أضف كلًّا منهم كموزّع بالمجموعة المناسبة؛ ولا تمنح السكرتير رصيدًا إلا إن كانت العضويات تُباع عبر اللوحة.
- أكاديمية تابعة أو نادي مشجعين له أعضاؤه يحصل على حساب شريك وحزم خاصة به.
إعداد وصول الأعضاء والعائلات
خط لكل عضو أو لكل عائلة.
- أنشئ مفتاح Reseller API للمتجر أو نظام إدارة النادي واحتفظ به ضمن أسرار ذلك النظام.
- عند التسجيل يستدعي النظام action=create_line مع حزمة العضوية ومعرّف الطلب؛ والموسم هو مدة الحزمة.
- اضبط الحد الأقصى للاتصالات على الأجهزة التي تحتاجها العائلة (عادةً ثلاثة أو أربعة) حتى لا تُشارك عضوية واحدة خارج المنزل.
- ليوم مباراة تجريبي، أضف خطًا من الخطوط ← إضافة بحزمة تجريبية، أو اطبع رموز تفعيل للمشجعين في المدرجات.
مكتبة التحليل والإعادة
المباريات والحصص عند الطلب.
- ارفع كل مباراة أو حصة كمصدر حلقة، أو استوردها بمهمة استيراد الفيديو عند الطلب؛ واحتفظ بالتاريخ والخصم والفريق في العنوان.
- اربط التسجيل بباقة الفريق عبر مسلسله، فلا ترى خطوط ذلك الفريق وحدها.
- افحص التشغيل بخط تجريبي من كل عضوية للتأكد من من يرى ماذا.
بث المباريات والتدريبات
كاميرا الملعب كقناة مباشرة.
- أضف بثًا مباشرًا لكل مشفّر في الملعب (دفع RTMP) وضعه في باقة يوم المباراة.
- فعّل Catch-up ليتمكن الأهل المتأخرون من الرجوع إلى الوراء، وأضف التسجيل إلى المكتبة بعد صافرة النهاية.
- في يوم مباراة مزدحم، تحقق من أن العقدة تأخذ القناة مرة واحدة من المصدر الأصلي وتخدم المشاهدين الموجَّهين إليها.
انتهاء العضوية
الوصول يتبع الموسم.
- ينتهي الخط في نهاية فترة حزمته؛ ويجدّده المتجر بـ action=renew_line حين تُدفع رسوم الموسم التالي.
- اشترك بالمتجر في webhooks لإرسال تذكير عند line.expiring ولإغلاق العضوية عند line.expired.
- اللاعب الذي يغادر في منتصف الموسم يعطّله المتجر بـ action=disable_line؛ ويُحتفظ بالخط للسجلات.
التكامل مع المتجر أو برنامج النادي
الأنظمة تدير الوصول؛ والمشغّل يشغّل.
- ثبّت موصّل منصة التجارة (WooCommerce وShopify وغيرهما) في جانب المتجر ليُنشئ الشراء الخط ويجدّده الدفع.
- يرتبط نظام إدارة النادي أو التذاكر عبر Reseller API وwebhooks؛ ولا يوجد موصّل أصلي له.
- لا يوجد تسجيل دخول موحّد للمشاهدين: يسجّل الأعضاء الدخول إلى المشغّل ببيانات خطوطهم، التي يرسلها المتجر إليهم.
اعتبارات الأمان
مواد الفريق تبقى مع الفريق.
- قدّم اللوحة وعنوان أساس التشغيل عبر TLS واضبط TRUSTED_PROXIES على وكيلك العكسي.
- دخول بخطوتين لكل حساب في اللوحة، ومجموعات أذونات حتى لا يغيّر السكرتير الكتالوج ولا يرى المدربون الخطوط.
- روابط تشغيل موقّعة ومنتهية الصلاحية، وحدّ اتصالات لكل خط، وربط بعنوان IP أو بلد لخطوط الموظفين.
- نسخ احتياطية مشفّرة لقاعدة البيانات مع نسخة خارج الموقع، وسجل التدقيق لكل تغيير في الخطوط والكتالوج.
استكشاف الأخطاء
الفحوص الأولى المعتادة.
- ولي أمر يرى تحليل الفريق الأول: افحص حزمة الخط والباقات التي تمنحها.
- عضو جديد بلا وصول بعد الدفع: افحص سجل استدعاءات Reseller API لطلب المتجر وتاريخ انتهاء الخط.
- يتقطّع بث المباراة عند الانطلاق: افحص رفع المشفّر في الملعب، ونبض العقدة إن كانت تخدم المشاهدين.
- يُظهر سجل التدقيق عنوان الوكيل: اضبط TRUSTED_PROXIES على الوكيل وأعد تشغيل اللوحة.