أربعة أجزاء لجلسة واحدة.
الملفات والطرفية وGit والمعاينات ليست أربع خدمات تسجّل الدخول إلى كل منها على حدة، بل أربع واجهات لنفس مساحة العمل. هذه الصفحة تشرح كل واحدة كما يستخدمها الطالب فعلًا.
الجلسة هي الجهاز.
مساحة العمل جلسة لينكس فيها مجلد منزلك وصدفتك وأدواتك. تصل إليها عبر المتصفح، لكن لا شيء فيها محاكاة. العمليات التي تبدأها تبقى تعمل حتى تتوقف الجلسة.
إيقاف الجلسة لا يعني فقدان المجلد.
التخزين منفصل عن دورة حياة الجلسة. هذا الفصل هو سبب إمكانية إيقاف مساحة العمل دون أن يتحول مشروعك إلى شيء تعيد بناءه من ملف مضغوط على ذاكرة USB.
منفذ محلي، يُفتح عبر HTTPS.
عندما يستمع تطبيقك على منفذ داخل مساحة العمل، يمكن فتح ذلك المنفذ في متصفحك عبر عنوان يُولَّد لجلستك. المنفذ لا يُنشر على جدار حماية الخادم، والعنوان لا يمكن تخمينه من رقم المنفذ وحده.
المستودع حيث يعمل الكود.
Git متاح في نفس الجلسة التي فيها المحرر والطرفية، فتراجع التغيير وتختبره وتسجّله في مكان واحد بدل التنقل بين حاسوب محمول وجهاز مختبر ومجلد مشترك.
whoami
pwd
uname -sr
# student
# /home/student
# Linux 6.x
- مجلد المنزل
مجلد
/homeخاص بك، وليس مساحة مؤقتة مشتركة. - العمليات
الخوادم والمهام الطويلة تستمر ما دامت الجلسة تعمل.
- الأدوات
ما تتضمنه صورة مساحة العمل. تحقق بـ
--versionقبل الافتراض.
الجلسة ليست موارد دائمة. يمكن إيقافها لتحرير الموارد، وكل ما يعمل بداخلها يتوقف معها. أما الملفات المحفوظة فلا تتأثر.
mkdir -p ~/projects/persistence-test
cd ~/projects/persistence-test
date > created.txt
# أوقف مساحة العمل ثم شغّلها مجددًا
cat ~/projects/persistence-test/created.txt
- احفظ عملك هنا
أي مسار تحت مجلد المنزل، وعادة
~/projects. - لا تحفظ عملك هنا
/tmpوالمسارات المؤقتة الأخرى، فهي مصممة ليُتخلص منها. - تحقق بنفسك
الأوامر أعلاه هي الاختبار الفعلي. شغّلها مرة واحدة وستطمئن.
هذه ليست نسخة احتياطية. تحميك من جلسة متوقفة، لا من rm -rf. ادفع كل ما يهمك إلى مستودع Git بعيد.
python3 -m http.server 3000 --bind 0.0.0.0
# ثم افتح المنفذ 3000 من واجهة مساحة العمل
- استمع على 0.0.0.0
الاستماع على
127.0.0.1فقط قد يمنع موجّه المعاينة من الوصول إلى العملية. - افتحه من الواجهة
استخدم أداة المنافذ داخل مساحة العمل، ولا تكتب العنوان يدويًا.
- أي منفذ
3000 و8080 و8888 وغيرها تعمل بالطريقة نفسها.
المعاينة ليست استضافة. العنوان مرتبط بجلسة قيد التشغيل ويتوقف بتوقفها، فهو ليس مكانًا لنشر مشروع مكتمل.
https://3000--main--web-lab--student.shamashcyber.com
- المنفذ3000
- الفرعmain
- مساحة العملweb-lab
- المستخدمstudent
git clone <repository-url>
cd <repository-directory>
git switch -c feature/my-work
git add .
git commit -m "finish lab work"
- فرع لكل تمرين
أبقِ عمل المختبر على فرع خاص به حتى يبقى الفرع الرئيسي مقروءًا.
- ادفع باستمرار
المستودع البعيد هو النسخة الاحتياطية الحقيقية الوحيدة لعملك.
- لا رموز في الملفات
لا تسجّل أبدًا رمز وصول في الشيفرة أو في ملف README أو في سكربت.
ShamashCyber لا تستضيف المستودعات. استخدم خدمة Git التي يعتمدها مقررك أو ناديك كمستودع بعيد.
٠١الجلسة
الجلسة هي الجهاز.
مساحة العمل جلسة لينكس فيها مجلد منزلك وصدفتك وأدواتك. تصل إليها عبر المتصفح، لكن لا شيء فيها محاكاة. العمليات التي تبدأها تبقى تعمل حتى تتوقف الجلسة.
whoami
pwd
uname -sr
# student
# /home/student
# Linux 6.x
- مجلد المنزل
مجلد
/homeخاص بك، وليس مساحة مؤقتة مشتركة. - العمليات
الخوادم والمهام الطويلة تستمر ما دامت الجلسة تعمل.
- الأدوات
ما تتضمنه صورة مساحة العمل. تحقق بـ
--versionقبل الافتراض.
الجلسة ليست موارد دائمة. يمكن إيقافها لتحرير الموارد، وكل ما يعمل بداخلها يتوقف معها. أما الملفات المحفوظة فلا تتأثر.
٠٢الملفات
إيقاف الجلسة لا يعني فقدان المجلد.
التخزين منفصل عن دورة حياة الجلسة. هذا الفصل هو سبب إمكانية إيقاف مساحة العمل دون أن يتحول مشروعك إلى شيء تعيد بناءه من ملف مضغوط على ذاكرة USB.
mkdir -p ~/projects/persistence-test
cd ~/projects/persistence-test
date > created.txt
# أوقف مساحة العمل ثم شغّلها مجددًا
cat ~/projects/persistence-test/created.txt
- احفظ عملك هنا
أي مسار تحت مجلد المنزل، وعادة
~/projects. - لا تحفظ عملك هنا
/tmpوالمسارات المؤقتة الأخرى، فهي مصممة ليُتخلص منها. - تحقق بنفسك
الأوامر أعلاه هي الاختبار الفعلي. شغّلها مرة واحدة وستطمئن.
هذه ليست نسخة احتياطية. تحميك من جلسة متوقفة، لا من rm -rf. ادفع كل ما يهمك إلى مستودع Git بعيد.
٠٣المعاينات
منفذ محلي، يُفتح عبر HTTPS.
عندما يستمع تطبيقك على منفذ داخل مساحة العمل، يمكن فتح ذلك المنفذ في متصفحك عبر عنوان يُولَّد لجلستك. المنفذ لا يُنشر على جدار حماية الخادم، والعنوان لا يمكن تخمينه من رقم المنفذ وحده.
python3 -m http.server 3000 --bind 0.0.0.0
# ثم افتح المنفذ 3000 من واجهة مساحة العمل
- استمع على 0.0.0.0
الاستماع على
127.0.0.1فقط قد يمنع موجّه المعاينة من الوصول إلى العملية. - افتحه من الواجهة
استخدم أداة المنافذ داخل مساحة العمل، ولا تكتب العنوان يدويًا.
- أي منفذ
3000 و8080 و8888 وغيرها تعمل بالطريقة نفسها.
المعاينة ليست استضافة. العنوان مرتبط بجلسة قيد التشغيل ويتوقف بتوقفها، فهو ليس مكانًا لنشر مشروع مكتمل.
https://3000--main--web-lab--student.shamashcyber.com
- المنفذ3000
- الفرعmain
- مساحة العملweb-lab
- المستخدمstudent
٠٤Git
المستودع حيث يعمل الكود.
Git متاح في نفس الجلسة التي فيها المحرر والطرفية، فتراجع التغيير وتختبره وتسجّله في مكان واحد بدل التنقل بين حاسوب محمول وجهاز مختبر ومجلد مشترك.
git clone <repository-url>
cd <repository-directory>
git switch -c feature/my-work
git add .
git commit -m "finish lab work"
- فرع لكل تمرين
أبقِ عمل المختبر على فرع خاص به حتى يبقى الفرع الرئيسي مقروءًا.
- ادفع باستمرار
المستودع البعيد هو النسخة الاحتياطية الحقيقية الوحيدة لعملك.
- لا رموز في الملفات
لا تسجّل أبدًا رمز وصول في الشيفرة أو في ملف README أو في سكربت.
ShamashCyber لا تستضيف المستودعات. استخدم خدمة Git التي يعتمدها مقررك أو ناديك كمستودع بعيد.
جرّب الدورة كاملة مرة واحدة.
شغّل خادمًا، افتح معاينته، ثم سجّل التغيير. تستغرق دقائق وهي أوضح شرح للمنصة.