طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 132 · تقنيات تطوير الواجهات الخلفية

🧪 التدريبات

كل تمرين «جرّب بنفسك» في مكان واحد: اقرأ المطلوب، ثم اكتب الحل وشغّله داخل صفحة الدرس.

الوحدة 1: تطوير المنطق لمعالجة الطلبات

حلّل واجهة خلفية لمكتبة الكليةسهل · الدرس 1: كيف يعمل الويب من جهة الخادم؟
مكتبة الكلية تريد موقعًا بسيطًا: «يبحث المتدرب عن كتاب بعنوانه، ويرى تفاصيل كتاب معيّن، ويحجز كتابًا متاحًا. ويضيف أمين المكتبة كتبًا جديدة». قبل أي كود، حلّل الطلبات في جدول كالذي في القسم 6، ثم سلّمه لمعلمك.
←
بطاقة متدربسهل · الدرس 2: أول صفحة PHP
اصنع صفحة تعرض بطاقة متدرب. البيانات تُحفظ في متغيرات أعلى الملف، ثم يعرضها قالب HTML بالأسفل.
←
قائمة المنتجات المتوفرةمتوسط · الدرس 3: أساسيات PHP: المصفوفات والشروط والحلقات
متجر الواحة يريد صفحة تعرض المنتجات المتوفرة فقط (المخزون أكبر من صفر) في قائمة نقطية، مع سعر كل منتج، وفي آخرها عدد المنتجات المتوفرة.
←
حاسبة على الخادممتوسط · الدرس 4: استقبال الطلبات: GET و POST
اكتب الملف calc.php: إن جاءه طلب GET يعرض نموذج الحاسبة، وإن جاءه POST يحسب ويعرض النتيجة. الحساب يتم على الخادم.
←

الوحدة 2: الدوال

فاتورة المتجرمتوسط · الدرس 5: الدوال في PHP
اكتب دالتين، ثم استخدمهما لطباعة فاتورة طلب. الدوال تجعل الحساب في مكان واحد.
←
موجّه لموقع الكليةمتوسط · الدرس 6: خادم Apache والمنافذ وتوجيه الطلبات
اكتب موجّهًا في index.php لموقع قسم البرمجة. يعرض الصفحة حسب المعامل page، ويرد بـ 404 للصفحات غير الموجودة.
←

الوحدة 3: تنفيذ منطق التطبيق واستجابة الطلبات

التحقق من طلب حجز قاعةمتوسط · الدرس 7: التحقق من بيانات الطلب ورموز الاستجابة
نظام حجز قاعات التدريب يستقبل POST فيه: room (رقم القاعة)، و hours (عدد الساعات)، و email. اكتب التحقق.
←
قائمة المفضلة في الجلسةمتوسط · الدرس 8: الكوكيز والجلسات
اكتب fav.php لقائمة الدورات المفضلة لكل متدرب، تُحفظ في الجلسة.
←

الوحدة 4: إنشاء وحدات من الجانب الخادم لوظائف التطبيق

أزل التكرارمتوسط · الدرس 9: تقسيم التطبيق إلى ملفات: include و require
الصفحتان index.php و courses.php تكرران الدالة e() والقائمة والتذييل. انقل الأجزاء المشتركة إلى ملفي layout، ثم أضف رابطًا ثالثًا للقائمة.
←
صنف المتدربمتوسط · الدرس 10: الأصناف والكائنات لتنظيم الكود
اكتب الصنف Trainee في src/Trainee.php، واستخدمه في report.php لطباعة تقرير الدرجات.
←

الوحدة 5: تنفيذ المنطق التجاري وقواعد التطبيق

قواعد السحب من المحفظةمتوسط · الدرس 11: قواعد العمل في الكود
محفظة المتدرب الإلكترونية في المقصف. اكتب في wallet.php دالة القواعد وردود الطلب.
←
مستودع الكتبمتقدم · الدرس 12: الأخطاء والاستثناءات
الدالة borrow() في library.php تطبّق قواعد استعارة الكتب. عدّلها لترمي استثناءات بدل طباعة الأخطاء، ثم حوّلها إلى ردود HTTP.
←

الوحدة 6: الدمج مع الخدمات وواجهات برمجة التطبيقات

واجهة إحصاءات الدرجاتمتوسط · الدرس 13: JSON: لغة تبادل البيانات
اكتب stats.php: تستقبل POST بجسم JSON فيه مصفوفة درجات، وترد بإحصاءاتها JSON.
←
حالة الطقس للمعهدمتوسط · الدرس 14: استهلاك خدمة خارجية
اكتب weather.php: تطلب حالة الطقس لمدينة من خدمة (محاكاة عبر http_get)، وتعرضها. الملفات http.php وردود الخدمة جاهزة.
←

الوحدة 7: التعامل مع حالة التطبيق والبيانات

لوحة الإعلاناتمتوسط · الدرس 15: حالة التطبيق: ما يبقى وما يزول
اكتب board.php: لوحة إعلانات يراها كل المستخدمين، مع عدّاد خاص لكل مستخدم بعدد ما نشره هو.
←
احمِ صفحة الإدارةمتقدم · الدرس 16: تسجيل الدخول والخروج
نظام الدخول من الدرس جاهز. أكمل admin.php لتكون للمدير وحده، وأصلح ثغرة في login.php.
←

الوحدة 8: تنفيذ كود برمجي لمعالجة وإدارة البيانات

تقرير الحضور من CSVمتقدم · الدرس 17: استقبال البيانات وتحليلها
المشرف يلصق بيانات الحضور (CSV) في حقل نصي ويرسلها POST. اكتب attendance.php يحللها.
←
سجل الزوارمتوسط · الدرس 18: حفظ البيانات في الملفات
اكتب guestbook.php مع وحدة تخزين في JSON. الزائر يكتب اسمه ورسالته، والكل يرى الرسائل.
←

الوحدة 9: ربط الكود من جانب الخادم مع قواعد البيانات

لوحة إحصاءات المتجرمتوسط · الدرس 19: الاتصال بقاعدة البيانات عبر PDO
اكتب stats.php التي تقرأ من قاعدة «متجر الواحة» وتعرض لوحة إحصاءات. db.php جاهز.
←
تحديث السعر بأمانمتقدم · الدرس 20: الإضافة والتعديل والحذف بأمان
الملف price.php فيه ثغرة حقن SQL، ولا يتحقق من شيء. أصلحه.
←
أكمل حرف U: صفحة التعديلمتقدم · الدرس 21: تطبيق متكامل: إدارة المستخدمين
التطبيق ينقصه التعديل. اكتب edit.php مستخدمًا دوال users.php.
←

الوحدة 10: ربط الكود من جانب الخادم مع واجهات البرمجة (API)

واجهة المنتجاتمتقدم · الدرس 22: بناء واجهة برمجة REST API
اكتب api/products.php لقاعدة «متجر الواحة» بأسلوب REST، وكل الردود JSON.
←
افتح الواجهة لتطبيق Reactمتقدم · الدرس 23: ربط الواجهة الأمامية بالـ API
فريق الواجهة الأمامية يبني تطبيق React على عنوانين، ويحتاج أن يقرأ api/list.php. أضف دعم CORS للأصلين فقط.
←

الوحدة 11: اختيار بيئة الاستضافة وتكوين الخادم

صفحة جاهزية الخادممتوسط · الدرس 24: خيارات الاستضافة وتكوين الخادم
قبل رفع التطبيق، نريد صفحة ready.php تفحص الخادم الجديد وترد JSON.
←

الوحدة 12: نشر التطبيق على بيئة الاستضافة

انشر تطبيق إدارة المستخدمينمتقدم · الدرس 25: نشر التطبيق خطوة بخطوة
انشر تطبيق الدرس 21 (مع الدخول من الدرس 16) على استضافة مجانية أو استضافة القسم، ثم سلّم الرابط ولقطات الشاشة لمعلمك.
←

الوحدة 13: تكوين النطاق وإمكانية الوصول عبر الويب

أجبر HTTPSمتوسط · الدرس 26: النطاق وDNS وHTTPS
اكتب secure.php ليعمل التطبيق المنشور على HTTPS فقط، خلف وكيل الاستضافة.
←

الوحدة 14: اختبار عملية النشر والتحقق منها

اختبار الدخانمتوسط · الدرس 27: اختبار النشر والتحقق منه
أكمل smoke.php: يطلب كل رابط في القائمة من الموقع المنشور (المحاكى) ويطبع تقريرًا.
←
سلّم مشروعكمشروع · الدرس 28: المشروع الختامي: واجهة خلفية لإدارة بيانات المستخدمين
ابنِ الواجهة الخلفية لإدارة بيانات المستخدمين وانشرها، ثم سلّم الرابط والتقرير وملفات المشروع (بلا ملف الأسرار) لمعلمك.
←