حوّل العروض التقديمية أحادية الاتجاه إلى تفاعل مباشر: نشر Claper وممارسة إتاحة وصول الجمهور العام
*الإصدار 1: يستعرض هذا المقال العملية الكاملة لنشر Claper باستخدام Docker وPostgreSQL، ثم ربط المنفذ المحلي 4000 بالإنترنت العام باستخدام cpolar. وهو مناسب لسيناريوهات التدريس في الفصول الدراسية، وعروض المنتجات، والتدريب عبر الإنترنت، والمشاركة التفاعلية.

تحويل العروض التقديمية أحادية الاتجاه إلى تفاعل مباشر: نشر Claper وممارسة إتاحة وصول الجمهور عبر الإنترنت العام
المصدر: مقالة CSDN أصلية
العنوان الأصلي: «让演示从单向讲解变成现场互动:Claper部署与公网参与实践»
ملاحظة: هذه إعادة صياغة على مستوى الأسلوب استنادًا إلى المقالة الأصلية. تم الحفاظ على البنية الأصلية والخطوات والأوامر ومنطق مواضع الصور.
يخضع المحتوى الأصلي لترخيص CC 4.0 BY-SA. يُرجى الإبقاء على إشعار المصدر والترخيص عند النشر.
المقدمة
في سيناريوهات مثل التدريس داخل الصف، وإطلاق المنتجات، والعروض التقديمية في العمل، لا يعني الانتهاء من عرض المحتوى دائمًا أن الجمهور قد شارك فعليًا.
في كثير من الأحيان، تفقد جلسات الأسئلة والأجوبة المباشرة زخمها بسهولة. ومن الصعب إحصاء التصويت الشفهي. كما يجد المشاركون عن بُعد صعوبة في مشاركة أفكارهم في الوقت المناسب. وفي النهاية، لا يبقى أمامك سوى الاعتماد على استبيان بعد انتهاء الفعالية لجمع الملاحظات، وغالبًا لا تكون النتيجة مثالية.
يتيح لك Claper رفع ملفات PPT أو PDF إلى منصة عروض تقديمية مستقلة، وإضافة تعليقات فورية، واستبيانات، وتصويتات، وأسئلة وأجوبة أثناء العرض. ولا يحتاج الجمهور إلا إلى فتح صفحة الفعالية في المتصفح للمشاركة مباشرة. كما يمكن للمقدم رؤية الملاحظات في الوقت الفعلي من واجهة العرض التقديمي.
بهذه الطريقة، يمكن لما كان في السابق عرض شرائح أحادي الاتجاه أن يتحول إلى عملية تتضمن استجابات فورية وتفاعلًا مباشرًا.
في هذا الإعداد، يتولى Claper التعامل مع ملفات العرض التقديمي والميزات التفاعلية. وتقوم PostgreSQL بتخزين بيانات المنصة. ويتولى Docker عملية النشر. ويقوم cpolar بربط المنفذ المحلي 4000 داخل شبكة LAN بعنوان URL عام.
هذا الحل مناسب للتدريس داخل الصف، والتدريب الداخلي، والمشاركة عبر الإنترنت، والفعاليات الصغيرة إلى المتوسطة الحجم. وتجدر الإشارة إلى أن Claper ليس إضافة تُثبَّت مباشرة داخل PowerPoint. يتم تقديم العرض الفعلي عبر Claper نفسه.
عبر صفحة Claper.

1. نشر Claper باستخدام Docker دفعة واحدة
ما دمت تملك جهازًا يدعم Docker، يمكنك تشغيل Claper بسرعة نسبيًا. لا تحتاج إلى إعداد بيئة معقد، كما أنه غير مرتبط بنظام تشغيل محدد.
في هذا المثال، أستخدم CentOS 7. لنستعرض عملية النشر خطوة بخطوة.
أولًا، ثبّته وشغّله باستخدام Docker، وأنشئ دليلًا لتخزين الملفات:
mkdir -p /docker/Claper
cd /docker/Claper
![تعرض هذه الصورة عمليات أوامر متعلقة بتهيئة الدليل عند نشر Claper في واجهة سطر الأوامر لنظام CentOS 7. وتحديدًا، ضمن صلاحيات المستخدم [root@zookeeper1 docker]، تم أولًا تنفيذ الأمر mkdir claper لإنشاء دليل باسم claper، ثم استخدام الأمر cd claper للدخول إلى هذا الدليل، وأخيرًا تنفيذ الأمر ls لعرض محتويات الدليل الحالي. يتوافق هذا المحتوى مع خطوة “تثبيت Docker وتشغيله، وإنشاء دليل لتخزين الملفات” ضمن عملية نشر Claper.](https://we0-cms.oss-cn-beijing.aliyuncs.com/cms-assets/article-images/2026/07/72da0e03-72c8-442c-aec2-e57a34ce8f08-claper-docker-cpolar-public-access-1.png)
بعد ذلك، احفظ المحتوى التالي كملف باسم docker-compose.yml.
عند بدء PostgreSQL لأول مرة وكان دليل البيانات فارغًا، فإنه ينشئ المستخدم وقاعدة البيانات بناءً على متغيرات البيئة POSTGRES_*:
POSTGRES_PASSWORD: claper
POSTGRES_USER: claper
POSTGRES_DB: claper
يمكنك إنشاء SECRET_KEY_BASE باستخدام الأمر التالي:
openssl rand -hex 64

تكون تهيئة docker-compose.yml الكاملة كما يلي:
version: "3.0"
services:
db:
image:
postgres:9
volumes:
- ./postgres-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: claper
POSTGRES_USER: claper
POSTGRES_DB: claper
healthcheck:
test: ["CMD-SHELL", "pg_isready -U claper"]
interval: 5s
timeout: 5s
retries: 10
app:
image: ghcr.io/claperco/claper:latest
user: "0:0"
ports:
- "4000:4000"
volumes:
- uploads:/app/uploads
environment:
DATABASE_URL: postgres://claper:claper@db:5432/claper
SECRET_KEY_BASE: 08fdecbc274177363ad3e5457ae910005216dc6d27b470cf69d9524e4fc6b951156b3c4709290054cb76778899ef
ENDPOINT_PORT: 4000
ENDPOINT_HOST: 192.168.42.140
MAX_FILE_SIZE_MB: 50
depends_on:
db:
condition: service_healthy
volumes:
uploads:
ثم شغّل الأمر التالي لبدء الخدمة:
# بدء جميع الخدمات
docker-compose up -d

بعد بدء الخدمة، يمكنك الدخول إلى حاوية PostgreSQL للتحقق منها:
docker exec -it claper-db-1 psql -U claper -d claper
إذا تمكنت من الدخول إلى موجه psql بشكل طبيعي، فهذا يعني أنه تم إنشاء المستخدم وقاعدة البيانات بنجاح.
يمكنك أيضًا استخدام المستخدم postgres لعرض جميع الأدوار:
docker exec -it claper-db-1 psql -U postgres -c '\du'

بعد اكتمال بدء التشغيل، تحقّق مما إذا كان المنفذ 4000 متاحًا:
curl http://192.168.42.140:4000

افتح العنوان التالي، ومن المفترض أن ترى صفحة الترحيب الخاصة بـ Claper:
http://localhost:4000

سجّل حسابًا ثم سجّل الدخول:

بعد تسجيل الدخول بنجاح، يمكنك الدخول إلى لوحة تحكم المسؤول:

بعد ذلك، يمكنك إنشاء فعالية عرض تقديمي:

اتبع التعليمات الظاهرة على الصفحة.
انقر على Create في الزاوية العلوية اليمنى، وارفع ملف PPT أو PDF، ثم اضبط المكونات التفاعلية. يُنصح بتفعيل التعليقات واستطلاعات الرأي، لأن ذلك يجعل تأثير التفاعل أكثر وضوحًا.

في هذه المرحلة، تكون منصة Claper للعروض التقديمية التفاعلية قد تم نشرها.
يمكنك الآن إنشاء فعالية عرض تقديمي ودعوة الجمهور للانضمام. سواء قاموا بمسح رمز QR في الموقع أو فتحوا رابطًا عن بُعد، يمكن للجمهور المشاركة من خلال التعليقات والاستبيانات واستطلاعات الرأي ووسائل أخرى. كما يمكنهم ترك بيانات ملاحظات مفيدة أثناء العملية.
سواء كان ذلك تقريرًا في غرفة اجتماعات، أو محاضرة صفية، أو فعالية إطلاق عبر الإنترنت، يمكن لـ Claper تحويل الشرح أحادي الاتجاه إلى تفاعل ثنائي الاتجاه يمنح المشاركين إحساسًا أقوى بالمشاركة.
2. تثبيت cpolar
إذا كنت قد نشرت Claper محليًا بالفعل، وقمت بضبط ميزات التعليقات والاستبيانات والملاحظات الفورية، فقد تواجه مع ذلك مشكلة عندما ترغب في أن يشارك الزملاء أو العملاء أو الطلاب عن بُعد. فهم لا يستطيعون
الوصول:
السبب بسيط: الخدمة تعمل داخل شبكة محلية LAN ولا تملك عنوان IP عامًا، لذلك لا يمكن للأجهزة الخارجية الوصول إليها.
هنا يمكن أن يساعد cpolar في حل مشكلة الوصول العام.
يمكن لـ cpolar ربط الخدمات التي تعمل على جهازك المحلي، مثل SSH وخدمات الويب وقواعد البيانات، بالإنترنت العام. وهذا يعني أنه حتى إذا كانت الخدمة تعمل في المنزل أو في المكتب أو داخل آلة افتراضية، فلا يزال من الممكن الوصول إليها عبر عنوان URL عام.
فيما يلي خطوات تثبيت cpolar.
ثبّته باستخدام سكربت التثبيت بنقرة واحدة:
sudo curl https://get.cpolar.sh | sh

بعد التثبيت، شغّل الأمر التالي للتحقق من حالة خدمة cpolar. إذا كانت الحالة طبيعية، فهذا يعني أن الخدمة قد بدأت بنجاح.
sudo systemctl status cpolar

بعد تثبيت cpolar وتشغيله بنجاح، أدخل عنوان IP الخاص بمضيف الآلة الافتراضية مع المنفذ 9200 في المتصفح للوصول إلى واجهة الإدارة:
يمكنك أيضًا فتحها محليًا:
بعد تسجيل الدخول باستخدام الحساب المسجل على الـ
الموقع الرسمي لـ cpolar، وسترى واجهة إعدادات cpolar على الويب. يمكن إكمال إعدادات النفق لاحقًا من هذه الصفحة.

3. إعداد عنوان URL عام
بعد تسجيل الدخول إلى واجهة إدارة cpolar Web UI، انقر على إدارة الأنفاق → إنشاء نفق في لوحة التحكم اليسرى.
قم بإعداده باستخدام المعلمات التالية:
- اسم النفق: قيمة مخصصة. يستخدم هذا المثال
claper. تأكد من أنه لا يكرر اسم نفق موجود. - البروتوكول:
http - العنوان المحلي:
4000 - نوع النطاق: نطاق عشوائي
- المنطقة: اختر
China Top

بعد نجاح الإنشاء، افتح قائمة الأنفاق المتصلة من الجهة اليسرى. سترى عنوان URL العام الذي تم إنشاؤه للتو.
بعد ذلك، استخدم هذا العنوان على جهاز كمبيوتر آخر أو هاتف، وستتمكن من الوصول إلى صفحة Claper المنشورة محليًا من الإنترنت العام.

بعد الوصول بنجاح، ستبدو الصفحة كما يلي:

4. حجز عنوان URL عام ثابت
يمكن استخدام عنوان URL عام عشوائي مؤقتًا. ولكن إذا كنت تريد مشاركة الخدمة مع الآخرين لفترة أطول، فلن يكون العنوان الذي يتغير بشكل متكرر مناسبًا جدًا.
لذلك، يمكنك هنا تكوين نطاق فرعي ثابت من المستوى الثاني في cpolar. بعد إتمام التكوين، لن يتغير عنوان URL العام هذا عشوائيًا في كل مرة.

انقر على Reserve في الجهة اليسرى، ثم اختر Reserve second-level subdomain. اختر China Top كمنطقة، ثم عيّن اسم نطاق فرعي من المستوى الثاني.
في هذا المثال، النطاق الفرعي المستخدم هو capler. يمكنك تخصيصه وفقًا لاحتياجاتك. بعد ملء معلومات الملاحظة، انقر على Reserve.

ثم ارجع إلى واجهة إدارة cpolar Web UI. انقر على Tunnel Management → Tunnel List في لوحة التحكم اليسرى. ابحث عن النفق الذي تريد تكوينه، ثم انقر على Edit في الجهة اليمنى.

بعد ذلك، عدّل معلومات النفق واضبط اسم النطاق الفرعي المحجوز من المستوى الثاني داخل النفق:
- نوع النطاق: اختر اسم نطاق فرعي من المستوى الثاني
- Sub Domain: أدخل اسم النطاق الفرعي من المستوى الثاني الذي تم حجزه بنجاح
- المنطقة:
China Top
بعد الانتهاء من الإعدادات، انقر على تحديث.

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

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

الخلاصة
لا يحل Claper مشكلة تنسيق عروض PPT. بل يحل مشكلة المشاركة أثناء العرض التقديمي.
يمكن للجمهور عرض المحتوى، وإرسال الأسئلة، والمشاركة في الاستطلاعات من الصفحة نفسها. كما يمكن للمقدّم رؤية التعليقات الفورية من الحضور بسرعة أكبر. هذا الأسلوب مناسب بشكل خاص للمحاضرات، والتدريبات، وفعاليات الإطلاق التي تتطلب تواصلاً ثنائي الاتجاه.
قبل استخدامه بشكل رسمي، هناك بعض النقاط التي يُستحسن التحقق منها مسبقًا:
- استبدل كلمة مرور قاعدة البيانات الافتراضية في
docker-compose.yml. - استخدم الأمر التالي لإنشاء قيمة مستقلة لـ
SECRET_KEY_BASE. لا تستخدم قيمة المثال الواردة في هذه المقالة مباشرةً.
openssl rand -hex 64
- بعد تكوين عنوان URL العام، تحقق مما إذا كان يجب تغيير
ENDPOINT_HOSTإلى نطاق الوصول الفعلي. وإلا فقد تظل روابط الدعوة أو الاتصالات الفورية تشير إلى عنوان IP الخاص بالشبكة المحلية. - بالنسبة إلى صورة PostgreSQL، يُوصى باستخدام إصدار مدعوم حاليًا من المشروع. ولا يُنصح بالاستمرار في استخدام الإصدار الأقدم
postgres:9لفترة طويلة.
بشكل عام، الفكرة الأساسية لهذا الحل واضحة:
أولًا، استخدم Docker لتشغيل Claper. ثم استخدم cpolar لربط المنفذ المحلي 4000 بالإنترنت العام. وبهذه الطريقة، سواء كان الحدث حضوريًا أو عرضًا تقديميًا عن بُعد، يمكن للجمهور الانضمام عبر المتصفح.
بالنسبة إلى الفصول الدراسية، وجلسات التدريب، والعروض التوضيحية للمنتجات، والمشاركة عبر الإنترنت، يوفّر هذا الأسلوب قدرًا أكبر من التفاعل مقارنةً بمجرد تشغيل عرض PPT، كما يجعل مشاركة الجمهور أسهل.