برمجة المواقع التعليمية Django Framework 2024 PDF
Document Details
Uploaded by Deleted User
جامعة دمياط
2024
هند عبد الحميد اللبان
Tags
Summary
هذا الكتاب يتناول برمجة المواقع التعليمية باستخدام إطار العمل Django. يقدم شرحًا مبسطًا وممنهجيًا لجميع الراغبين بدخول عالم برمجة المواقع التعليمية، ويشرح أساسيات إطار العمل Django وكيفية استخدامه لتطوير مواقع تعليمية. يغطي الكتاب أيضًا تطوير الواجهات الأمامية والخلفية للمواقع الإلكترونية.
Full Transcript
جــــــامعة دميــــــــاط كليــــة التربية النوعيــــة قــســم الحــاســب اآللــى برجمة املواقع التعليمية (باستخدام ) Django Framework د/هند عبد احلميد اللبان مدرس استخدامات الحاسب اآللى في التع...
جــــــامعة دميــــــــاط كليــــة التربية النوعيــــة قــســم الحــاســب اآللــى برجمة املواقع التعليمية (باستخدام ) Django Framework د/هند عبد احلميد اللبان مدرس استخدامات الحاسب اآللى في التعليم 2024م بسم اهلل الرمحن الرحيم الحمد هلل الذي علم اإلنسان ما لم يعلم ،وأسبغ عليه نعمة العلم والتعلّم ،والصالة والسالم على خير المعلمين سيدنا محمد ،وعلى آله وصحبه أجمعين. يسرني أن أقدم لكم هذا الكتاب المتخصص في برمجة المواقع التعليمية باستخدام إطار العمل ،Djangoوالذي يأتي استجابة لحاجة متزايدة لتوظيف التكنولوجيا الحديثة في تطوير العملية التعليمية ،وتمكين المعلمين والمطورين من إنشاء منصات تعليمية فعّالة وسهلة االستخدام. في عصر الثورة الرقمية الذي نعيشه اليوم ،أصبحت البرمجة واحدة من أهم األدوات التي تُسهم في صا عندما تُستخدم في تحسين التعليم وجعله أكثر شموالً وتفاعلية.ويُعدبناء المستقبل ،وخصو ً Djangoأحد أبرز أطر العمل التي تساعد المطورين على بناء مواقع قوية وقابلة للتوسع ،بفضل بساطته ومرونته وقوته في معالجة البيانات. يهدف هذا الكتاب إلى تقديم شرح مبسط وممنهج لكل من يرغب في دخول عالم برمجة المواقع التعليمية.ستتعرف من خالله على أساسيات إطار العمل ، Djangoوكيفية استخدامه لتطوير مواقع تعليمية تخدم الطالب والمعلمين على ح ٍد سواء. أسأل هللا أن يكون هذا الكتاب معينًا لكل من يسعى إلثراء التعليم باستخدام التكنولوجيا ،ودليالً عمليًا لكل مطور يرغب في اإلبداع في هذا المجال الحيوي. وهللا ولي التوفيق. د /هند عبد الحميد اللبان الفصل األول مدخل اىل برجمة املواقع التعليمية حماور الفصل: مقدمة عن تطوير الويب Web Development تطوير مواقع الويب أو املواقع االلكرتونيةWebsites Development برجمة املواقع التعليمية الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ مقدمة عن تطوير الويب Web Development تطوير الويب Web Developmentهو أحد أشهر مجاالت العمل الحر حاليًا ،فهو واح ٌد من بين أكثر المجاالت نظرا لكونه يتعلّق بإنشاء وصناعة المواقع اإللكترونية وتطبيقات الويب بصور ٍة أساسيةٍ، طلبًا في السوق التقنيةً ، حيث تحتاج إليه جميع المؤسسات والشركات واألفراد العاملون في هذا المجال. ونظرا لزيادة اعتماد العالم على اإلنترنت إلدارة وإتمام األعمال قد يحتاج الجميع إلى مواقع وتطبيقات وخدمات ً يوم منذ اختراع اإلنترنت إلكترونية ،هذا باإلضافة إلى التحول الرقمي للمؤسسات والحكومات الذي يزداد يو ًما بعد ٍ وظهور الويب ،حيث زاد بصور ٍة ملحوظ ٍة في اآلونة األخيرة بما تحْ مله من أحداث و ُمستجدات. سيساعدك تعلم تطوير الويب على إنشاء المواقع اإللكترونية وتطبيقات الويب سوا ًء لك أو لعمالئك المحتملين ،وهو سن من خبرتك أو سيجلب لك مصدر دخ ٍل إضافيٍ ،وقد يصبح مصدر دخلك األساسي. ما سيُح ّ ما هو جمال تطوير الويب Web Development؟ تطوير الويب هو المجال المختص بإنشاء وتطوير المواقع اإللكترونية وتطبيقات الويب التي تهدف إلى توفير ميزة أو خدمة معينة عبر اإلنترنت.كلمة تطوير الويب تتكون من كلمتين ،وهما: الويب : Webيشير إلى مواقع اإلنترنت Websitesأو تطبيقات الويب .Web Applications تطوير : Developmentيشير إلى بناء الموقع أو التطبيق من الصفر. توجد عدة مجاالت فرعية لمجال تطوير الويب من أبرزها: .1تطوير الواجهات األمامية Frontend Development .2تطوير الواجهات الخلفية Backend Development .3المطور الشامل Full-Stack ][4 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ أوال :تطوير الواجهة األمامية Frontend Development يُطلق على الجزء من موقع الويب الذي يتفاعل فيه المستخدم مباشرة ً اسم الواجهة األمامية . front endويُطلق عليه ضا اسم "جانب العميل "client sideللموقع.يختص بالمظهر الجمالي والهيكلة األمامية للمواقع والتطبيقات أي ً اإللكترونية. أشهر التقنيات المستخدمة في برمجة الواجهة األمامية للمواقع اإللكترونية Frontend Development :HTML هي اختصار الى .Hyper Text Markup Languageيتم استخدامها في إنشاء بنية موقع الويب. تستخدم لغة الترميز HTMLفي تصميم صفحات الويب أى بناء هيكل الموقع بالكامل.هي لغة هيكلة أو توصيف ِبنية صفحات اإلنترنت ،إذ تفهمها جميع متصفحات الويب؛ ويُحدِد المطورين في هذه الهيكلة األجزاء المختلفة من َعرض في نهاية األمر الصفحات اإللكترونية عبْر كتابة رموز بطريقة معينة لكي تفهمها المتصفحات ،وبالتالي فهي ت ِ النصوص والعناصر بهيكلية وطريقة ظاهرة في الواجهة األمامية يراها المستخدم. :CSS هي اختصار الى Cascading Style Sheets.وهي لغة تستخدم في تصميم الموقع من خالل تنفيذ التنسيقات الالزمة لعرض صفحات الموقع.هي لغة تنسيق تُستع َمل لتنسيق هيكلة وعناصر HTMLلتسمح للمطورين بتغيير تنسيق العناصر التي تُعَرض للمستخدمين مثل األلوان والحدود واألشكال والخلفيات والرسوميات والصور، بمعنى أنه من دون CSSستحصل على صفحا ٍ ت عديمة التنسيق واأللوان ،أي أن CSSتتحكم في كل شيءٍ مرئي ٍ. :Bootstrap عبارة عن مجموعة أدوات مجانية ومفتوحة المصدر إلنشاء مواقع ويب وتطبيقات ويب سريعة االستجابة.وهو إطار عمل CSSاألكثر شهرة لتطوير مواقع ويب سريعة االستجابة وموجهة لألجهزة المحمولة.في الوقت الحاضر ،أصبحت مواقع الويب مثالية لجميع المتصفحات ( IEو Firefoxو )Chromeولجميع أحجام الشاشات (أجهزة سطح المكتب واألجهزة اللوحية والهواتف المحمولة). :JavaScript هي لغة برمجة تستخدم لتوفير لجعل الموقع الويب الخاص بنا تفاعلى (ديناميكى).فهي تحتوي تضمن للخوارزميات والمتغيرات وهياكل البيانات وإجراء االتصاالت وقواعد البيانات، على المنطق البرمجي ال ُم ِ ُصعب العمل، وتدعمها جميع متصفحات الويب ،ويمكن تطوير مواقع إنترنت ال تستعمل جافاسكربت ،إال أن هذا سي ِ كما سيحد من مميزات وخصائص الموقع بصورةٍ كبيرةٍ. توجد أُطر العمل متوفرة للغة جافاسكربت وهى Reactو Angularو Vue.jsو ،jQueryهناك أي ً ضا مكتباتٌ أخرى تستعمل تنسيق جافاسكربت ولكن بمميزا ٍ ت وطريقة كتاب ٍة مختلف ٍة مثل .TypeScript ][5 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ثانيا :تطوير الواجهات الخلفية Backend Development الواجهة الخلفية هي جانب الخادم server sideلموقع الويب.وهي جزء من موقع الويب ال يمكن للمستخدمين رؤيته والتفاعل معه.وهي جزء من البرنامج ال يتصل مباشرة بالمستخدمين.وهي تستخدم لتخزين البيانات وترتيبها. أشهر التقنيات المستخدمة في برمجة الواجهة الخلفية للمواقع اإللكترونية Backend Development أوال :أشهر لغات البرمجة وأطر العمل الخاصة بها :PHP هي لغة برمجة يتم تنفيذها لدى الخادم server-side scripting languageمصممة خصي ً صا لتطوير الويب.إطار العمل ، Laravel : Frameworkنظام إدارة المحتوى WordPress : CMS :Java تعد لغة Javaواحدة من أكثر لغات البرمجة شيو ً عا واستخدا ًما.وهي قابلة للتطوير بدرجة كبيرة.إطار العمل Spring, Hibernate : Framework :Python بايثون هي لغة برمجة تمكنك من العمل بسرعة ودمج األنظمة بكفاءة أكبر. إطار العمل . Django, Flask :Frameworkإدارة الحزمة Python PIP :Package Manager :Node.js هي بيئة تشغيل مفتوحة المصدر ومتعددة األنظمة األساسية لتشغيل كود JavaScriptخارج المتصفح.إطار العمل Express : Framework ثانيا :قواعد البيانات : Databases في تكنولوجيا الويب ،ت ُ َعد قاعدة البيانات مجموعة منظمة من البيانات يتم تخزينها إلكترونيًا ويمكن الوصول إليها عبر تطبيق ويب.وهي تعمل كمكون خلفي حيث يتم تخزين البيانات وإدارتها واسترجاعها.وهي تمكن تطبيقات الويب من التعامل مع المحتوى الديناميكي وبيانات المستخدم والمعامالت والمزيد من خالل توفير قدرات تخزين واسترجاع ومعالجة فعالة.تُستخدم أنظمة إدارة قواعد البيانات Database management systemsللتفاعل مع قاعدة البيانات ،مما يضمن سالمة البيانات وأمانها وأدائها. .1قواعد البيانات عالئقية :Relation Database تخزن قاعدة البيانات العالئقية البيانات في جداول ،تشبه جداول البيانات ،حيث يحتوي كل جدول على صفوف وأعمدة. تحتوي الصفوف على سجالت فردية ،وتحدد األعمدة سمات البيانات.يمكن ربط الجداول ببعضها البعض من خالل مفاتيح خاصة ،مما يسمح بربط البيانات ذات الصلة. ][6 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ أشهر أنظمة إدارة قواعد البيانات العالئقية : Relational Database :Postgre SQL عبارة عن قاعدة بيانات عالئقية قوية مفتوحة المصدر تدعم ميزات SQLالمتقدمة واالستعالمات المعقدة.وهي تتعامل مع البيانات المنظمة وتضمن االمتثال لمعايير ،ACIDوهي معروفة بموثوقيتها وقابليتها للتوسع. :MariaDB هي قاعدة بيانات عالئقية مفتوحة المصدر تطورت من ،MySQLوتوفر أداء ً وأمانا ً وميزات محسنة.وهي تدعم استعالمات ،SQLوتتوافق مع ،ACIDومتوافقة بشكل كبير مع .MySQL :MySQL هو نظام إدارة قواعد بيانات عالئقية مفتوح المصدر يستخدم SQLإلدارة البيانات المنظمة.وهو معروف بموثوقيته وسهولة استخدامه وأدائه ،ويُستخدم على نطاق واسع في تطبيقات الويب. .2قواعد البيانات غير عالئقية :)NoSQL database ( non-relational Database تخزن قواعد بيانات NoSQLالبيانات بتنسيق مرن غير جدولي ،على عكس قواعد البيانات العالئقية التقليدية.فبدالً من استخدام الجداول ذات الصفوف واألعمدة ،قد تستخدم قواعد بيانات NoSQLالمستندات documentsأو أزواج قيمة المفتاح key-value pairsأو األعمدة العريضة wide-columnsأو الرسوم البيانية graphsلتخزين البيانات.وهذا يسمح لها بالتعامل مع كميات كبيرة من البيانات غير المنظمة أو شبه المنظمة بكفاءة.وهي مصممة للتوسع بسهولة وإدارة تطبيقات البيانات الضخمة. أشهر أنظمة إدارة قواعد البيانات غير عالئقية :NoSql Database :Mongodb هي قاعدة بيانات NoSQLتخزن البيانات في مستندات تشبه .JSONوهي تتعامل مع البيانات غير المنظمة ،وتدعم االستعالمات القوية ،وتتوسع بسهولة عبر الخوادم ،مما يجعلها شائعة للتطبيقات المرنة القابلة للتوسع. Apache Cassandra :Cassandra هي قاعدة بيانات NoSQLمفتوحة المصدر تُستخدم في التعامل مع البيانات الضخمة.تتمتع بالقدرة على التعامل مع البيانات المهيكلة وشبه المهيكلة وغير المهيكلة. :Redis هي قاعدة بيانات NoSQLمخزنة في الذاكرة ومعروفة بسرعتها.وهي تدعم هياكل بيانات مختلفة مثل البيانات النصية stringsو hashesوالقوائم ، listsمما يجعلها مثالية للتخزين المؤقت والتحليالت في الوقت الفعلي والمراسلة. ثالثا :المطور الشامل Full-Stack ص آخر من تخصصات تطوير ص ٌ يشمل تطوير الواجهتين األمامية والخلفية معًا ،Full-Stack Developerوهو ت َخ ُّ الو يب ،يجمع بين تطوير الواجهتين األمامية والخلفية ،إال أنه يزيد عليهما بإمتالك الشخص لبعض الخبرة في إدارة العمليات ،DevOpsحيث سيُطلب منه استالم كامل المشروع من األلف إلى الياء بما في ذلك النشر .Deployment ][7 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ تطوير مواقع الويب أو املواقع االلكرتونية Websites Development تطوير مواقع الويب يعني إنشاء المواقع وبرمجتها وصيانتها.والبرمجة تحديدا هي كواليس تشغيلها حيث إن كل موقع ظاهر لك ما هو إال سلسلة من األكواد البرمجية التي ال تكون وال تراها وإنما ترى آثارها وضمانها لتشغيل الموقع بأداء سريع يحقق تجربة جيدة للمستخدم. عند تطوير المواقع االلكترونية يقوم المبرمج من خالل لغات البرمجة بكتابة تعليمات برمجية تؤدي وظائف معينة! وعموما ينقسم تطوير مواقع الويب إلى الواجهة األمامية (ما يراه العمالء) والواجهة الخلفية (ما يراه مطور الويب ويضع فيه تعليماته البرمجية لتشغيل الموقع). الموقع االلكتروني Website عبارة عن مجموعة من صفحات الويب Web Pagesذات الصلة التي تحتوي على صور imagesونصوص Texts وصوت Audioوفيديو Videosو روابط ،Linksويمكن أن يتكون من صفحة واحدة ،أو عدة صفحات مرتبطة ببعضها البعض من خالل الروابط التشعبية .hyperlinksتوفر محتوى مرئيًا ون ً صا ويمكن تطويرها وصيانتها بواسطة فرد أو شركة ،ويتم إستضافة الموقع االلكتروني على خادم واحد أو على خوادم متعدد يوجد أمثلة كثيرة من المواقع االلكترونية مثل مواقع التدوين ،المواقع التجارية والمواقع الشخصية ،المواقع التعليمية. يشمل تطوير المواقع Website Developmentالعديد من الجوانب وهى: تصميم الموقع web design نشر الموقع web publishing برمجة الموقع web programming إدارة قواعد البيانات database management أنواع المواقع اإللكترونية: أوال ً :مواقع ساكنة (ثابتة) Static Web Pages تتضح من أسمها أنها مواقع ثابتة المحتوى دائ ًما ،وال يُمكن تغيير محتواها أو التعديل فيه أو إجراء أي تعديالت سواء في المحتوى أو تصميم الصفحات أو إضافة أي خدمات للموقع إال عن طريق مبرمج ،وال يمكن لصاحب أو مالك الموقع القيام بذلك اال اذا كان مبرمج ويستطيع التعامل مع االكواد ،وتحتوى على صفحات HTMLمنفصلة ،بمعنى أنه إذا أردت إضافة أي تعديل على موقعك الثابت تضطر إلى تغيير كل صفحة من صفحاته على حدة ،كما أنها ال تحتوي على قاعدة بيانات Databaseأو ملفات خارجية يمكن الرجوع إليها أثناء التعديل ،وبالتالي فإنه في حالة الحاجة إلى إجراء أي تعديل فلم تستطيع ذلك إال من خالل المبرمج الذي قام بتصميم الموقع. ][8 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ مميزات الصفحات الثابتة - : بسيطة للغاية بسبب محتواها الثابت دائما. سريعة التطوير ولكن من قِبل المبرمج فقط ،حيث أنها ال تتطلب إلى إجراءات كثيرة أو معقدة أثناء تطويرها. كثيرا. ً رخيصة التطوير ألنها ال تتطلب إمكانيات عالية ،وال تحتاج إلى العمل عليها رسوم االستضافة قليلة ألنها متواضعة الموارد. سريعة األرشفة والظهور في محركات البحث ألن محتواها ثابت وغير متغير ،وبالتالي يمكن لمحركات البحث الوصول إليها بسرعة وسهولة. سلبيات الصفحات الثابتة - : ال تستطيع تطويرها بنفسك ،ويتم ذلك فقط من خالل المبرمج ،حيث يمكنك إرسال التحديثات أو التعديالت واإلضافات التي تريدها ويتولى مصمم الموقع القيام بذلك. تتطلب الخبرة الكافية في التطوير وتحديث المواقع. تجعل موقعك غير جذاب أو غير ممتع وممل بعض الشيء ألن محتواه ثابت ،وبذلك يكون المستخدم قد اطلع على كافة تفاصيل ومحتويات الموقع الخاص بك من أول زيارة سواء كانت صور أو فيديوهات أو أي شيء أخر، وال يكن لديه الشغف لزيارته مرة أخرى. ثانيا ً :مواقع تفاعلية :Dynamic Web Pages هي مواقع سهلة ومرنة االستخدام وتفاعلية ومتنوعة المحتوى ،وقابلة للتجديد بكل سهولة من قبل صاحب أو مالك الموقع لذلك تسمى بالمواقع الديناميكية ،Dynamicحيث يمكنك بنفسك وبكل سهولة إجراء أي تحديثات أو تعديالت أو إضافة وإدخال خدمات أو خصائص ومزايا جديدة على موقعك ،وبالتالي تمنحك المواقع الديناميكية خاصية تجديد محتواك بنفسك دون الحاجة أو اللجوء إلى المبرمج ،فيمكنك نشر وتجديد األخبار أو األحداث أو الصور والفيديوهات وتحديث محتوى صفحات موقعك بالكامل من خالل لوحة التحكم الخاصة بالموقع ( ،)Admin areaوالتي تستطيع بواسطتها تحديث قواعد البيانات databasesالخاصة بك بمرونة وسهولة تامة ،فيستطيع صاحب الموقع أو المسؤول عن إدارته بتحديث بيانات الموقع من خالل لوحة التحكم المؤمنة دائ ًما بكلمة سر ال يعرفها سوى مسؤول إدارة الموقع. ولن يقتصر عمل المواقع الديناميكية فقط على إجراء التحديثات أو تعديل المحتوى ،ولكن بإمكانها التحكم في نظم إدارة الموقع ،ونظم التجارة اإللكترونية ،والتحكم في سياسات اإلعالنات المعروضة على الموقع ،مع القدرة على التحكم بصالحيات المستخدم؛ سواء بما يعرضه المستخدم إلنشاء محتوى أو إضافة معلومات إلى الموقع. ][9 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ مميزات المواقع الديناميكية - : سهلة التحديث وإدخال تعديالت وإضافات جديدة على المحتوى من قبل صاحب أو مالك الموقع أو المسؤول عن إدارته. الحرية الكاملة في التحديث وإجراء التعديالت؛ كالتحكم باأللوان أو إضافة الصور والفيديوهات ،وإدخال مزايا وخصائص جديدة للموقع. إدارة قواعد البيانات الخاصة بالموقع بسهولة وكفاءة عالية دون الحاجة إلى الرجوع لمطور الويب. مرنة وسهلة في التحديث. تمنحك محتوى جديد ومحدث باستمرار يمكنك من جذب الزوار إلى موقعك ،ويساعدك ذلك على الظهور في محركات البحث بسهولة ،ألن محركات البحث تفضل المحتوى المطور والمميز وتبحث عنه باستمرار ألرشفته وتصديره في أولى نتائج محركات البحث. تمكن المستخدمين بالتواصل والتعاون عن بُعد. تتمتع بدرجة عالية من الحماية واألمان مقارنة بالمواقع الثابتة. سلبيات المواقع الديناميكية -: تحتاج إلى تكاليف عالية للتطوير والتحديث المستمر. تكاليف االستضافة عالية مقارنة بالمواقع الثابتة. تتطلب المزيد من الجهد واإلجراءات الخاصة من أجل األرشفة والظهور في محركات البحث ،كالدقة في كتابة وعرض المحتوى وفق شروط ومتطلبات لتحسين موقعك في محركات البحث .SEO يستخدم هذا النوع من المواقع مع المحتوى الذي يتطلب تحديث على مدار الساعة؛ مثل المواقع اإلخبارية ،ومواقع ضا مع المواقع التجارية، شركات المبيعات التي تتطلب عرض ما لديها من منتجات جديدة كل لحظة ،وتستخدم أي ً المواقع التعليمية. أيضا تنقسم صفحات الويب التفاعلية وفقا لمكان تنفيذ كود الصفحة: صفحات تنفذ لدى جهاز العميل : Clientهي صفحات يقوم المستخدم بطلبها من الخادم serverالذى يقوم بالبحث عنها باستخدام أحد برامج خدمة الويب web serverوإرسالها بشكلها الكودى الى جهاز العميل clientوتنفذ لديه ويكون امتداد الصفحة HTML صفحات تنفذ لدى الجهاز الخادم : Serverهي صفحات تفاعلية يقوم المستخدم بطلبها من الجهاز الخادم الذى يقوم بالبحث عنها باستخدام أحد برامج خادمات الويب وتنفيذها لديه وإرسال النتيجة الى جهاز العميل وهذه الصفحات ال تكون بامتداد لغة HTMLولكن تكون بامتداد لغة البرمجة وليكن مثال .phpأو .ASP ][10 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ العميل Client هو جهاز مستخدم الويب مثل جهاز الكمبيوتر أو الهاتف الذى تتوفر فيه خدمة االتصال باالنترنت باستخدام برامج تصفح الويب Browsersمثل Firefox ، chrome الخادم server عبارة عن جهاز حاسوب بمواصفات خاصة عالية قادر على العمل لفترات طويلة جدا دون توقف ومتصل باالنترنت بسرعة كبيرة وكل ذلك حسب الوظيفة المحددة له. مكونات الخادم :هي المكونات الرئيسية لجهاز الحاسوب والتي هي: المكونات المادية : Hardwareوالتي تشمل األجزاء الملموسة للجهاز مثل المعالج والرام واللوحة األم والقرص الصلب وبقية القطع التي يمكن لمسها. المكونات البرمجية :Softwareوهو نظام التشغيل Operating Systemبنوعيه الويندوز Windows واللينوكس Linuxوما يشمل بداخله. أنواع الخوادم : Server أوال :أنواع الخوادم serversحسب الوظيفة: يمكن تصنيف السيرفرات حسب فوائد ومهام السيرفر التي صمم ألجلها إلى: -1خادم الويب :Web serverوهو الخادم المسؤول عن احتواء المواقع اإللكترونية وعرضها عند الطلب من خالل بروتوكول httpأو بروتوكول https -2خادم نظام أسماء النطاقات :DNS serverوهو المسؤول عن ترجمة عنوان IPللمواقع اإللكترونية إلى اسم قابل للقراءة والحفظ عند الطلب. -3خادم االيميل :Email serverوهو الخادم المسؤول عن استقبال وارسال االيميالت حسب البروتوكوالت المخصصة لذلك مثل POP3وغيرها. صمم بناء -4خادم التطبيقات :App serverوهو الخادم المخصص لتشغيل تطبيقات معينة دون غيرها أي أنه ُ على متطلبات تلك التطبيقات. ثانيا :أنواع الخوادم حسب نظام التشغيل: خادم لينوكس :Linux serverوهي تلك التي تعمل بنظام التشغيل لينوكس Linuxمثل Debianو CentOS وتعد األكثر شيوعا بسبب مجانية نظام التشغيل وألنه مفتوح المصدر. خوادم ويندوز :Windows Serversهي الخوادم المنصب عليها نظام التشغيل ويندوز مثل windows server 2012وغيره وتعد أقل شيوعا بسبب أن نظام التشغيل Windowsغير مجاني. ][11 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ ثالثا :أنواع خوادم استضافة المواقع اإللكترونية وهي 3أنواع وذلك حسب الموارد مثل المعالج والرام والباندويث وغيرهما وهي: خادم مشترك :Shared serverوهو المخصص الستضافة المواقع التي تكون على استضافة مشتركة ولذلك سمي بذلك.وينصح بها االستضافة المشتركة للمواقع الجديدة والصغيرة إلى المتوسطة.ومن أفضل شركات االستضافة.InterServer ، HostGator ، A2hosting : خادم افتراضي خاص :Virtual Private Server – VPSوهو جزء بموارد معينة من سيرفر كامل ويعمل دون التأثير في بقية السيرفرات االفتراضية الموجودة ضمن الخادم الكامل.ويستخدم للمواقع المتوسطة إلى الكبيرة. خادم متكامل أو كامل مخصص :Dedicated Serverونعني بذلك امتالك خادم بكامل موارده دون أن يتم استخدام أي من موارده من قبل أصحاب مواقع آخرين فيكون لك وحدك.ويستخدم الستضافة المواقع الضخمة. خادم الويب : Web Server خادم الويب هو جهاز كمبيوتر مخصص لتقديم صفحات الويب عبر اإلنترنت.وظيفته األساسية هي استقبال طلبات المستخدمين من خالل متصفح الويب ،web browserوإرسال الملفات المطلوبة بما فيها صفحات ،HTMLوملفات ،CSSوالصور ،والبيانات األخرى الضرورية لعرض صفحة ويب. هو جهاز كمبيوتر يستخدم الستضافة وتقديم محتوى الويب للمستخدمين عبر اإلنترنت أو عبر الشبكة الداخلية.يقوم خادم الويب بتقديم خدماته عبر بروتوكول HTTPأو HTTPSحيث يقوم بمعالجة طلبات [ HTTPأو ]HTTPS الواردة من العمالء [مثل المتصفحات ،والتطبيقات األخرى] ،وإرسال االستجابات المناسبة التي قد تتضمن صفحات ،HTMLملفات ،CSSصور ،نصوص ،JavaScriptأو أي موارد أخرى مطلوبة. خوادم الويب يمكن أن تعالج الطلبات باستعمال بروتوكول HTTPأو بروتوكول HTTPSاألكثر أمانًا والذي يضيف طبقة من التشفير لحماية البيانات المتنقلة بين الخادم والمستخدم الذي قام بطلب صفحة الويب. ضا لمواقع الويب أن تكون ديناميكية وتفاعلية عن طريق التكامل مع لغات البرمجة مثل PHP خوادم الويب تتيح أي ً ،Java،Python ،وقواعد البيانات مثل ،MySQLوأنظمة إدارة المحتوى مثل .WordPress ][12 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ وظائف خادم الويب: استقبال طلبات :HTTPيستلم طلبات HTTPالواردة من العمالء بما في ذلك الطلبات للحصول على صفحات الويب أو البيانات. معالجة الطلبات :يُفسر وبعالج الطلبات.قد يشمل ذلك قراءة الملفات الثابتة من نظام الملفات أو تنفيذ برامج نصية على الخادم. تقديم االستجابات :يُنشئ الردود التي يتم إرسالها للعمالء ،مثل صفحة HTMLأو بيانات JSONأو رسائل الحالة (مثل .)Not Found 404 التعامل مع بروتوكوالت األمان :يُدير االتصال اآلمن باستخدام ) HTTPS (HTTP Secureعبر بروتوكول SSL/TLSلتشفير البيانات المتبادلة بين العميل والخادم. التسجيل والتشخيص :يُسجل نشاطات الطلبات وتقدم معلومات التشخيص للمسؤولين عن النظام. كيفية عمل خادم الويب عندما يطلب المستخدم طلب لزيارة موقع ويب من خادم الويب web serverيحدث التالي: .1يرسل المتصفح طلبا ً :عندما يدخل المستخدم عنوان موقع ويب في المتصفح، يتصل المتصفح مع خادم أسماء النطاقات DNS Serverلمعرفة عنوان IPالمرتبط بذلك النطاق من خالل شبكة االنترنت لهذا من الضروري أن تكون متصال باالنترنت وإال فلن تستطيع زيارة المواقع اإللكترونية. يرسل خادم أسماء النطاقات عنوان IPالمعروف للتو إلى المتصفح. يقوم المتصفح بإنشاء طلب HTTPوإرساله إلى عنوان IPالمحدد للموقع. .2يستقبل الخادم الطلب :يتلقى الخادم الطلب ويحلله ليحدد الموارد المطلوبة مثل ملفات ،HTMLالصور ،أو ملفات الفيديو. .3استجابة الخادم بالموارد :يجمع الخادم الردود المناسبة ،ثم يرسلها مرة أخرى إلى المتصفح كحزمة بيانات. .4عرض الصفحة :يستقبل المتصفح البيانات ويعرضها كموقع ويب يمكن للمستخدم التفاعل معه. بالطبع تلك الخطوات تتم بسرعة كبيرة كما نالحظ عند زياراتنا للمواقع وتعتمد السرعة بشكل كبير على مواصفات وأداء الخادم. ][13 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ تاريخ خوادم الويب يرجع تاريخ خوادم الويب إلى بداية الويب في أوائل التسعينات والبداية كانت مع مشروع اإلنترنت العالمي World Wide Webالذي بدأه العالم تيم بيرنرز لي في عام .1989 :1991 -تم تقديم أول خادم ويب الذي وتم تنفيذه باستخدام برنامج يسمى CERN httpdوالذي يمكن القول بأنه أول برنامج خادم ويب. :1995 -ظهر خادم ،Apache HTTP Serverوالذي حصل على شعبية كبيرة بسبب كونه مفتوح المصدر، وسهل التخصيص ،ويعمل بشكل جيد ومستقر. مشهورا بفضل أدائه العالي واستهالكه المنخفض للموارد. ً :2004 -تم تقديم خادم الويب ،Nginxالذي أصبح دور خادم الويب في بنية اإلنترنت :يعتبر خادم الويب جز ًءا مه ًما من بنية اإلنترنت ويعمل كحلقة وصل بين المستخدم النهائي وموارد الويب الموجودة على الخادم. مفاهيم أساسية لخوادم الويب بروتوكول نقل النص الفائق :[Hyper Text Transfer Protocol] HTTPهو بروتوكول االتصال األساسي المستخدم في الويب لنقل البيانات بين المتصفح أو العميل والخادم ،ويستخدم هذا البروتوكول منفذ رقم ،80 وهو ال يقوم بتشفير البيانات ،مما يعني أنها قد تكون معرضة لالختراق أو الكشف. بروتوكول نقل النص الفائق اآلمن [ :HTTPS [Hyper Text Transfer Protocol Secureهو نفس بروتوكول HTTPلكن مع طبقة أمان إضافية تستخدم ،SSL/TLSويعمل على منفذ رقم ،443ويقوم بتشفير البيانات؛ مما يحميها من االعتراض أو التعديل. مفهوم التشفير وأهميته باستخدام :HTTPSالتشفير يحمي البيانات من االعتراض أو التالعب أثناء انتقالها بين المتصفح والخادم. ً اتصاال عبر HTTPSيبدأ تبادل يسمى SSL Handshakeبين كيفية عمل :HTTPSعندما يطلب المستخدم المتصفح والخادم لضبط اتصال آمن ،وخالل هذا التبادل يتم تبادل مفاتيح التشفير إلعداد قناة مشفرة. كيفية توليد وتثبيت شهادة :SSL/TLSشهادة SSL/TLSهي أداة عبارة عن مفتاح إلكتروني يستخدم لتشفير البيانات التي تنتقل بين الخادم والمتصفح لمنع المتلصصين من فهم البيانات.ويمكن أن تكون الشهادة ذاتية التوقيع لألغراض التجريبية أو من جهة مصدقة .]Certificate Authority] CA كيفية التحقق من أمان االتصال في المتصفح: غالبًا ما يعرض المتصفح رمز قفل بجوار عنوان URLلإلشارة إلى أن االتصال آمن ويمكن النقر على القفل لرؤية تفاصيل الشهادة والتحقق من صحة وأمان االتصال. ][14 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ أنواع طلبات :HTTP :GET -يُستخدم لطلب البيانات من الخادم ،وتُرسل البيانات المطلوبة في عنوان ،URLوهو مناسب لعمليات الجلب fetchدون تغيير النظام ويعني ذلك أن تلك البيانات يتم عرضها على جهاز المستخدم دون أن تتغير البيانات على الخادم. :POST -يستخدم إلرسال البيانات إلى الخادم إلنشاء مورد ،Resourceويستخدم عادة في عمليات اإلدخال مثل إرسال النماذج أو رفع الملفات ،ويتم إرسال البيانات في جسم الطلب bodyوليس في عنوان .URL :PUT -يُستخدم لنقل الملفات أو البيانات إلى الخادم لتحديث مورد موجود بالفعل على الخادم أو إلنشائه ويمكن أن يقوم بإنشائه في بعض األحيان إذا لم يكن موجودًا.عند القيام بإرسال طلب PUTعدة مرات بنفس البيانات فستظل النتيجة كما هي بعد أول طلب ،على عكس الطلب POSTفسيتم إنشاء تكرار لنفس المورد إذا تم إرساله عدة مرات. :DELETE -يُستخدم لحذف بيانات محددة من الخادم. :HEAD -يشبه GETلكنه يعيد المعلومات األساسية فقط دون محتوى الرد من الخادم ،ويستخدم عادة ً للحصول على معلومات حول البيانات دون تنزيلها. :OPTIONS -يُستخدم لالستعالم عن قدرات االتصال الخاصة بالخادم مثل طرق HTTPالمدعومة. أنواع خوادم الويب :Apache Web Server -هو أشهر خادم ويب مفتوح المصدر ،ويستخدم على نطاق واسع في تقديم صفحات الويب ،وهو يتميز بدعمه لعدد كبير من لغات البرمجة ومرونته في التحكم بإعداداته عبر ملفات htaccess؛ مما يجعله مناسبًا للمواقع الكبيرة. :IIS Web Server Internet Information Services -خادم ويب مقدم من Microsoftيندمج بشكل ممتاز مع بيئة ،Windowsوهو يتميز بواجهة مستخدم بسيطة وسهلة وبدعمه لتقنيات ASP.NET؛ مما يجعله خيارا جيدًا لتطبيقات الويب في المؤسسات. ً :Nginx Web Server -هو خادم ويب مشهور فهو يُعرف بأدائه العالي في إدارة الموارد ،ويستخدم لتقديم المحتوى الثابت بسرعة لقدرته على معالجة عدد كبير من االتصاالت المتزامنة؛ مما يجعله مثاليًا للمواقع ذات الزيارات العالية. :Node.js -بيئة مفتوحة المصدر لتشغيل التطبيقات عبر اإلنترنت وهي تتميز بوجود الكثير من األدوات التي يمكن استخدامها بسهولة وسرعتها؛ مما يجعلها مناسبة للتطبيقات التي تحتاج إلى التفاعل الفعلي مثل الدردشة. :LiteSpeed Web Server -يستخدم لعرض محتويات مواقع الويب الثابتة والديناميكية بسرعة وكفاءة فهو يقدم أدا ًء جيدًا وأمانًا عاليًا ،كما أنه متوافق مع إعدادات Apacheولكنه يستهلك موارد أقل. ][15 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ :Apache Tomcat -هذا الخادم موجه لتشغيل تطبيقات ،Javaويدعم تشغيل Java Servletو]JSP ] JavaServer Pages؛ مما يجعله مناسبًا لتطبيقات الويب الديناميكية التي تعتمد على لغة .Java :Lighttpd -خادم ويب خفيف الوزن وعالي الكفاءة ،ويستخدم في البيئات ذات الموارد المحدودة مثل الذاكرة والمعالج ،ومن أمثلة تلك البيئات :الخوادم االفتراضية الصغيرة ،أو المشاريع الصغيرة التي ال تحتاج لموارد كبيرة. :OpenLiteSpeed -هذا الخادم هو نسخة مجانية ومفتوحة المصدر من LiteSpeedوتتميز بسرعتها العالية وسهولة التحكم فيها ،وهي متوافقة بدرجة كبيرة مع إعدادات ،Apacheوتستخدم لجعل المواقع تعمل بسرعة. :Jigsaw Server -خادم ويب مفتوح المصدر تم تطويره بواسطة منظمة W3Cوهو يستخدم لألغراض التعليمية والتجريبية ويتضمن مميزات متقدمة تساعد المطورين في تطوير واختبار مواقع الويب. :Sun Java System Web Server -خادم ويب قامت بتطويره شركة Sun Microsystemsثم قامت شركة Oracleباالستحواذ عليه ،ويتكامل هذا الخادم بشكل جيد مع ،Javaويستخدم عادة ً لتشغيل تطبيقات الويب الكبيرة للمؤسسات فهو يتميز بكونه آمن جدًا ويقدم أدا ًء عاليًا في معالجة طلبات المستخدمين. البرمجة لدى العميل Client-side Scriptingو البرمجة لدى الخادم Server-side Scripting :Client-side Scripting الكود الذي يتم تشغيله على العميل (مثل متصفح الويب) وينفذ المهام مباشرة على جهاز المستخدم. :Server-side Scripting الكود الذي يتم تشغيله على الخادم ويقوم بإنشاء صفحات HTMLديناميكية يتم إرسالها إلى العميل. بشكل عام ،كود البرمجة من جانب العميل Client-side Scriptingأسرع ولكنها محدودة في الوظائف ،في حين تكون البرمجة من جانب الخادم Server-side Scriptingأبطأ ولكنها توفر المزيد من القوة والتنوع. ][16 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ Server-side Scripting Client-side Scripting المزايا إلضافة التفاعل إلى واجهة المستخدم لتنفيذ المهام لدى الخادم والتحكم في تدفق الغرض منها المعلومات بين الخادم والعميل وتحسين تجربة المستخدم يتم تنفيذه بواسطة متصفح الويب الخاص يتم تنفيذها بواسطة خادم الويب التنفيذ بالعميل Client Browser الكود يتم تنفيذه على المتصفح الخاص يتم تنفيذه على الخادم serverحيث الكود بالمستخدم Browserحيث يتم تحميله الخاص به يكون مخفى عن المستخدم وال يستطيع الحصول أو مشاهدة ذلك الكود غير على الجهاز الخاص به ومن ثم تنفيذه مكان التنفيذ فقط كود HTMLالمرتبط به والناتج النهائي عن تنفيذ الكود أسرع حيث تتم كافة العمليات على جهاز أبطأ أثناء المعالجة التي تتم على الخادم سرعة المعالجة العميل مزيد من تفاعل المستخدم ،حيث يتم تنفيذ تفاعل محدود للمستخدم ،حيث يتم تنفيذ الكود الكود البرمجى على جهاز الكمبيوتر البرمجى لدى الجهاز الخادم تفاعل المستخدم الخاص بالعميل أقل أمانًا حيث يمكن عرض الكود الخاص أكثر أمانًا ألن الكود الموجود لدى الخادم األمان غير متاح للعميل بالعميل وتعديله بسهولة الكود متاح للجميع حيث يتم تنفيذه على الكود ليس متا ًحا للجميع ألنه يتم تنفيذه على إمكانية الوصول الخادم متصفح العميل سرعة نقل البيانات يتطلب سرعة نقل بيانات قليلة حيث تتم يتطلب سرعة عالية في نقل البيانات أثناء حدوث المعالجة على الخادم معظم المعالجة على جهاز العميل Bandwidth ال يعتمد على خادم الويب ويمكن تشغيله يعتمد على خادم الويب وال يمكن تشغيله االعتمادية على الخادم بشكل مستقل بشكل مستقل PHP, Ruby on Rails, Python, JavaScript, JQuery, VBScript أمثلة ASP.NET عملية تطوير موقع الويب: على الرغم من أن إنشاء موقع ويب قد يبدو بسي ً طا عند نظرة أولية ،إال أنه يتضمن عملية متكاملة ومتعددة الخطوات تهدف إلى تصميم وتطوير موقع ويب متكامل وذو جودة عالية.إليك نظرة عامة على عملية تطوير موقع الويب: .1تحديد األهداف والمتطلبات :تبدأ عملية التطوير بفهم أهداف الموقع ومتطلباته.يجب تحديد الجمهور المستهدف والوظائف التي يجب أن يقدمها الموقع. .2تخطيط المحتوى :يتم تحديد نوع المحتوى الذي سيتضمنه الموقع ،مثل الصور والنصوص والفيديوهات.يتم تحديد هيكل الموقع وكيفية تنظيم الصفحات. .3تصميم الواجهة الرسومية :يتم إنشاء تصميم واجهة المستخدم الرسومية ( ،)UIوالذي يتضمن تحديد األلوان واألشكال والخطوط والرموز التي ستستخدم في الموقع. ][17 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ .4تطوير البرمجيات :تبدأ عملية كتابة الشيفرة البرمجية لتحقيق وظائف الموقع.تستخدم لغات البرمجة المختلفة مثل JavaScript ،CSS ،HTMLوغيرها. .5تطوير قاعدة البيانات :إذا كان الموقع يحتاج إلى تخزين بيانات المستخدمين أو المحتوى ،يتم تطوير قاعدة بيانات لتخزين واسترجاع هذه البيانات. .6تطوير وظائف متقدمة :إذا كان الموقع يتطلب وظائف متقدمة مثل البحث ،والمدفوعات اإللكترونية ،وتسجيل الدخول ،يتم برمجة هذه الوظائف وتكاملها مع الموقع. .7اختبار وتصحيح :يتم اختبار الموقع بشكل دقيق للتحقق من عمل جميع الوظائف بشكل صحيح وسليم.يتم تصحيح األخطاء والمشاكل التي تظهر خالل هذه المرحلة. .8نشر الموقع :بعد اكتمال تطوير الموقع وتجربته ،يتم نشره على الخوادم وجعله متا ًحا للجمهور عبر عنوان ويب. .9صيانة وتحديث :بعد نشر الموقع ،يتم مراقبته وصيانته بشكل دوري.يتم إجراء التحديثات وإصالح األخطاء وتحسين األداء على مر الزمن. .10تحليل وتقييم :يتم مراقبة أداء الموقع وتحليل تفاعل المستخدمين معه.يتم التقييم والبحث عن طرق لتحسين تجربة المستخدم وتحقيق األهداف المرجوة. الموارد المطلوبة للموقع اإللكتروني: إنشاء موقع ويب يتطلب تخصيص مجموعة من الموارد التي تشمل الوقت والمهارات واألدوات.باإلضافة إلى إنشاء محتوى الموقع وبنيته ،هناك عدة موارد أخرى يجب أخذها في االعتبار: كبيرا.يجب إعداد النصوص واختيار الصور ً -1المحتوى :إنشاء محتوى جذاب ومالئم للموقع يستغرق وقتًا والفيديوهات بعناية.يجب أن يكون المحتوى ذو جودة عالية ومالئ ًما لجمهور المستهدف. -2تصميم واجهة المستخدم ( :)UIتحتاج إلى مصمم واجهة مستخدم يقوم بتصميم عناصر الواجهة الرسومية مثل األلوان ،الخطوط ،األيقونات ،واألشكال.هذا يتطلب مهارات في التصميم الجرافيكي. -3تطوير الواجهة األمامية ( :)Front-End Developmentتحتاج إلى مطور واجهة أمامية لتحويل تصميم واجهة المستخدم إلى شيفرة برمجية قابلة للتفاعل.هذا يتطلب معرفة بلغات البرمجة مثل ،CSS ،HTML و.JavaScript -4تطوير الواجهة الخلفية ( :)Back-End Developmentتحتاج إلى مطور واجهة خلفية لبناء األنظمة والتطبيقات التي تدير العمليات وتخزين البيانات وتوفير الوظائف المتقدمة. -5مصمم قاعدة البيانات ( :)Database Designerإذا كان هناك حاجة لقاعدة بيانات ،ستحتاج إلى مصمم قاعدة بيانات لتصميم هيكل البيانات والجداول المطلوبة. ][18 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ -6اختبار وجودة ( :)Testing and Quality Assuranceتحتاج إلى وقت الختبار الموقع والتحقق من عمل الوظائف بشكل صحيح وتصحيح أي أخطاء. -7التحسين والتعديل :بنا ًء على نتائج اختبار التطبيق وتعليقات المستخدمين ،يتم إجراء التحسينات والتعديالت الالزمة لتحسين أداء التطبيق وتجربة المستخدم. -8إطالق التطبيق :بعد اجتياز جميع مراحل التطوير واالختبار والتحسين ،يتم إطالق التطبيق للجمهور.يجب مراقبة األداء بعد اإلطالق ومعالجة أي مشكالت ظهرت. -9التطوير المستمر :يتطلب تطبيقات الويب العناية المستمرة والتطوير لتلبية احتياجات المستخدمين المتغيرة والتحديثات التقنية والتغيرات في السوق. خطوات تطوير مواقع الويب أوالً :جمع البيانات في المرحلة األولى من تطوير مواقع الويب! من الضروري أوال أن يقوم المبرمج بجمع المعلومات حول األهداف والجمهور الذي سيستخدم الموقع! ونوعية المحتوى المضاف على صفحاته مع الوظائف الضرورية التي من المطلوب أن يحققها الموقع للمستخدمين.وألن هذه المعلومات ستؤثر في كل مرحلة من مراحل تطوير مواقع الويب فمن المهم أن تتحرى الدقة البالغة في جمع المعلومات وهذه نصائح لك ستساعدك في جمع البيانات بدقة: تحديد األهداف المرتبطة بالموقع يجب أن يخدم تطوير مواقع الويب الشركات والعالمات التجارية والمؤسسات المختلفة! فمواقع الويب التي تركز على تقديم خدمة ليست كموقع ويب يستخدم لترويج منتجات أو بضائع وبالتالي يحتاج تطوير مواقع الويب إلى معرفة الهدف الرئيس من الموقع لتوفير المعلومات الالزمة عن إجراء وتنفيذ أشياء معينة ضرورية بالموقع. تحديد الجمهور المستهدف من المهم مراعاة شخصية المستخدمين الذين سيركزون استخدامهم للموقع! سواء كانوا جمهورا داخليا وخارجي. فتحديد الجمهور بدقة بالغة سيؤثر في بينية تصميم الموقع وتكوينه وضمان جاذبيته ومناسبته لهذا الجمهور ومناسبته للمحتوى الذي سيقدم لهذا الجمهور.وبناء عليه فإن تحديد الجمهور المستهدف بخصائص مثل العمر أو الموقع الجغرافي أو األذواق والتفضيالت أو االحتياجات المحددة يمكن أن يكون حاس ًما في تقديم الموقع وعرض أقسامه المختلفة بما يناسب المستخدمين له. تحديد المحتوى على عكس ما قد يظنه البعض ،هذه المرحلة مهمة قبل تطوير مواقع الويب.حتى تتمكن من معرفة خصائص هذا المحتوى وحجمه! حيث سيؤثر تحديدك للمحتوى في تمثيل مخطط الصفحات وتنفيذها كما ينبغي. ][19 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ األمر ال يرتبط فقط بالمحتوى المكتوب ،بل يضم المحتوى النصوص والصور الفوتوغرافية أو الوسائط المتعددة مثل مقاطع الفيديو وأي صور التفاعل! ويجب تحديد ما سيحتاجه الموقع في هذه المرحلة بشكل أو بآخر قبل التصميم أو التخطيط أو تطوير مواقع الويب. ثانياً :التخطيط ع ند تصميم وتطوير مواقع الويب من األساسي والضروري تقسيم المشروع إلى مراحل محددة ومؤطرة بزمن محدد. حتى يكتمل كل جزء ويتم تقييمه واختباره والتحقق منه بعد تجميع بقية األجزاء.في التخطيط يبرز مصطلح خريطة الموقع أو التي تسهل عملية االنتقال فيه! ليعبر المفهوم عما سيكون ضروريا في الموقع وإبراز أهم الوظائف التي نريد للمتلقي أن يلتفت لها.مع ضمان رضاه فما هي عناصر عملية التخطيط في تطوير مواقع الويب؟ خريطة الموقع في مرحلة التخطيط ،من المهم إنشاء هيكل التبويبات لتخطيط الصفحات على موقع الويب من أجل تعزيز انتقال سهل وغيرمزعج بل وسريع داخل الموقع مع مراعاة تغطية كافة احتياجات الموقع من تبويبات تسهل على المتلقي أن يصل إلى ما يريد ،.فالتنظيم الصحيح للمحتوى وتقديمه بسيمترية واضحة وبسيطة يسهل على المتلقي سرعة االستيعاب عند التفاعل مع األقسام المختلفة. الجانب التقني في مرحلة التخطيط كذلك ،يحتاج تطوير مواقع الويب إلى تحديد التقنيات والنظم األساسية التي سيتم استخدامها وتقنيات الويب ولغات البرمجة ومنصة إدارة المحتوى ،ومهمة هذه الخطة تحديد وتقييم الخصائص والمزايا التي ستوفرها منصة إدارة المحتوى أو لغة البرمجة على مستوى التصميم والوظائف التي ينبغي أن تتوفر.ويتضمن هذا االختيار أيضا التفكير المستقبلي في إدارة الموقع وسهولة صيانته ومتابعته وهل سيكون هناك فريق من الدعم الفني أم شخص مستقل أم شركة التصميم التي صممت الموقع ستكون هي المسؤولة عن الدعم الفني وضمان تشغيل الموقع؟ التجاوب مع مختلف األجهزة ي عد تجاوب الموقع مع مختلف األجهزة قرارا في مرحلة التخطيط ،وهي نقطة غاية في األهمية ينبغي مراعاتها عند تطوير مواقع الويب مهما كانت ألنك ستحدد في هذه المرحلة آلية عرض الصفحات في األجهزة المختلفة والبدائل الممكنة ذات االستجابة السريعة عند تغير الجهاز. الرسم التخطيطي كل صفحة من صفحات الموقع لها تصميم يعتمد على نوعية المعلومات التي تعرضها.ومن أجل تحقيق تجربة سعيدة للمستخدمين مهم أن يتم الرسم على الورق قبل أن يذهب إلى الشاشة.قد يتم تقديم عدد من االسكتشات المختلفة التي فيها تخطيط لكل صفحة أو قائمة مع ترتيب لعناصر الصفحات ببساطة ووضوح وتخطيط القوالب وأماكن الصور ][20 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ والمحتوى بما يعطي لمطور الويب فرصة لدراسة الخيارات المختلفة واألشياء المطلوبة وتحسين النتيجة النهائية لتطوير مواقع الويب. تخطيط المحتوى المحتوى الجذاب ذو الصلة بنشاط المؤسسة والجمهور هو األكثر أهمية في النهاية.فما الذي سيظهر في كل صفحة؟ وبأي طريقة سيتم عرض هذه المواد؟ وبناء على اإلجابة على األسئلة المتعلقة بالمحتوى قد تنشأ مجموعة متنوعة من المراجعات المتعلقة بتغيير في هذه المرحلة أو مراحل أخرى إليجاد توازن في عرض الصفحات وتقديمها للمعلومات. ثالثاً :التصميم الجمالي والوظيفي في هذه المرحلة ،يتم االنتقال من العمل على الورق إلى العمل على الشاشات حيث يبدأ تصميم صفحات الموقع باستخدام تقنيات التصميم المختلفة والتطبيقات كذلك.ويجب أن يفي تصميم الموقع لتوقعات أصحاب الشركة والجمهور! من حيث ال جانب الفني والجمالي ومالذي يمثل العالمة التجارية ويعبر عنها؟ وأيضا الجانب الوظيفي في نفس الوقت! فكل عنصر في التصميم يؤدي وظيفة جمالية معينة. رابعاً :برمجة مواقع الويب يرتبط مفهوم تطوير مواقع الويب بالبرمجة وهي المرحلة التالية حيث يتم تحويل التصميمات إلى واجهة أمامية مصممة.ولكن ال تستجيب هذه الواجهة ما لم يتم تكويدها وإدماجها في الواجهة الخلفية حيث بذلك يستطيع المتلقي أن يبحث في الموقع ويتنقل فيه ويتفاعل معه.وهذه الخطوة مهمة ألنها تحول التصميم الجامد إلى موقع ديناميكي يستجيب. وبالتالي يتمكن الزائر من االشتراك أو التنزيل أو البحث أو الدفع.وكلها ال تتم إال من خالل لغات البرمجة المختلفة. خامساً :إطالق واختبار الموقع ب عد تطوير مواقع الويب يتم اختبار موقع الويب بالكامل بما في ذلك كل صفحة من صفحاته وأدائها لوظيفتها على أكمل وجه.ثم تجربة التنقل بين الصفحات واألقسام والقوائم واستجابة التصميم في مختلف األجهزة وتصحيح أي أخطاء أو أزرار ال تستجيب.ليقوم المطور بعد ذلك بحل هذه المشكلة قبل أن يجدها القارئ وينزعج. سادساً :صيانة وتحديث الموقع الهدف من تطوير مواقع الويب في النهاية هو التواصل مع القارئ.وبالتالي لتحقيق أهداف أي شركة بالتواصل الدائم مع عمالئها! عليها أن تضمن أن الموقع سليم بنسبة %100وضمان سالمته وصيانته وإجراء تحديثات عليه. باإلضافة إلى ذلك ،ترتبط أي إستراتيجية على اإلنترنت بالتحديث والتطوير! لجذب عمالء جدد والحفاظ على العمالء الحاليين وبالتالي سوف تح تاج إلى وضع آلية وجدول عمل لتنفيذ عمليات التحديث في المحتوى والدمج وغيرها من خططك للتطوير في الموقع. ][21 الفصل األول :مدخل اىل برجمة املواقع التعليمية ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ الفرق بين المواقع اإللكترونية Websitesوتطبيقات الويب Web Application الموقع االلكتروني Websiteعبارة عن مجموعة من صفحات الويب Web Pagesذات الصلة التي تحتوي على صور imagesونصوص Textsوصوت Audioوفيديو Videosو روابط ،Linksويمكن أن يتكون من صفحة واحدة ،أو عدة صفحات مرتبطة ببعضها البعض من خالل الروابط التشعبية .hyperlinks تطبيقات الويب : Web Applicationsبرنامج يمكن الوصول إليه باستخدام أي متصفح ويب ،يمكن القول إن تطبيقات الويب هي مواقع ويب ذات وظائف وعناصر تفاعلية ،فإن تطبيقات الويب قابلة للتخصيص ،ويمكن أن تؤدي مجموعة كبيرة ومختلفة من المهام والوظائف ،حيث أنها أكثر تعقيدًا وصعوبة في البناء،ويتطلب إلنشائها فريقًا محترفا ً من مطوري البرامج .مثل .Twitter (X) ، YouTube ، Facebook تطبيقات الويبWeb Application المواقع اإللكترونية Websites وجه المقارنة -1تُعد صيانة تطبيقات الويب أسهل مقارنةً