-->
44
لم يتم العثور على الصفحة ! معذرة، فالصفحة التي تبحث عنها في هذه المدونة ليست متوفرة. رئيسية المدونة
‏إظهار الرسائل ذات التسميات برمجة. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات برمجة. إظهار كافة الرسائل

    قبل نسخ ولصق أي كود برمجي أو مكتبة أو مصدر بيانات تجده على الإنترنت من الضروري أن تفهم رخصته جيدًا وتعرف كيف تتعامل معها بالطريقة المناسبة التي تجنبك أي مشكلات قانونية


    أنواع رخص البرمجيات

    1. رخص النشر العكسي Copyleft

    تتطلب إبقاء أي تعديل أو تطوير على الكود مفتوح المصدر لضمان استمرار مساهمة المجتمع. من الأمثلة عليه: GNU AGPLv3, GNU GPLv3.

    2. الرخص المرنة Permissive

    تسمح باستخدام الكود بحرية في مشاريع مفتوحة المصدر أو خاصة. من الأمثلة عليها: MIT, Apache License.

    المتطلبات الرئيسية التي قد تحتويها الرخص

    1. التحكم في الاستخدام: تمييز بين الاستخدام التجاري (بيع، إعلانات، منتجات مدفوعة، ذكاء اصطناعي تجاري) والاستخدام الخيري.
    2. قيود الذكاء الاصطناعي: اشتراط إذن صريح لاستخدام البيانات أو الكود في تدريب النماذج، مع تقنيات حماية (علامات مائية، بيانات وصفية).
    3. الالتزام بمشاركة الكود: لضمان مساهمة التطوير في المجتمع

    أمثلة على كل نوع من التراخيص


    GPL:
    برنامج مثل XY مرخّص برخصة GPL يمكن تعديله بحرية. لكن إذا استخدمته في مشروعك، فيجب أن يكون مشروعك أيضًا مفتوح المصدر تحت رخصة GPL.

    LGPL:
    مشغّل فيديو يستخدم مكتبة مرخّصة برخصة LGPL مثل FFmpeg. لستَ مُلزَمًا بجعل مشغّل الفيديو مفتوح المصدر، ولكن إذا عدّلت على مكتبة FFmpeg نفسها، فيجب عليك مشاركة تعديلاتك.

    MIT:
    مطوّر يستخدم مكتبة React.js (المرخّصة برخصة MIT) في تطبيق ويب خاص مملوك له. يمكنه بيع التطبيق دون نشر الشيفرة المصدرية، بشرط تضمين نص رخصة MIT في التوثيق.

    Apache:
    أداة تحليلات سحابية تستخدم مكتبة مرخّصة برخصة Apache مثل TensorFlow. يمكن أن تبقى الأداة برمجية مملوكة (غير مفتوحة المصدر)، لكن يجب على المطوّرين الإشارة إلى TensorFlow والالتزام بشروط الرخصة.

    قيود الرخص الحالية


    الرخص المرنة (MIT, Apache, BSD): تسمح بالاستخدام التجاري وAI بدون أي قيود.

    رخص النشر العكسي (GPL, AGPL): تفرض مشاركة الكود لكنها لا تحد من استخدامه في AI أو تجاريًا.

    رخص مثل CC BY-NC: تحظر الاستخدام التجاري لكن لا تمنع AI.

    رخص جديدة (Hippocratic, Fair Source, RPL): تقدم قيودًا، لكنها لا تغطي كل التحديات المتعلقة بالذكاء الاصطناعي والاستخدام التجاري.

    المزيد حول رخصة GPL


    تعد رخصة GPL أو رخصة General Public License العمومية أشهر نوع من تراخيص البرمجيات مفتوحة المصدر. فهيتتيح للمستخدمين استخدام وتعديل وتوزيع البرمجيات بحرية، ولكن بشرط رئيسي: أي برنامج يحتوي على شيفرة مرخّصة بـ GPL يجب توزيعه أيضًا بنفس الرخصة، أي أن الشيفرة المصدرية يجب أن تكون متاحة للجميع.

    بمعنى أنها تمنحك الحرية لكن مع مسؤولية: يمكنك استخدام وتعديل برمجيات GPL مجانًا، لكن إذا وزعتها (حتى مع تعديلاتك)، يجب أن تشارك الشيفرة المصدرية.

    كما أن عليك الالتزام بشرط حقوق متروكة (Copyleft): أي برنامج يدمج شيفرة GPL يجب أن يُوزع بنفس الرخصة إذا كان موجهاً للتوزيع.

    دراسة حالة: عين وسين

    السيناريو 1: عين يستخدم تطبيق "XY" (مرخّص بـ GPL) داخل برنامجه

    التزام عين:

    إذا دمج عين تطبيق XY داخل برنامجه ووزّعه:

    يجب أن يصدر برنامجه بالكامل برخصة GPL.

    يجب مشاركة الشيفرة المصدرية مع أي شخص يحصل على البرنامج.

    مثال: عين يطور برنامج إدارة مهام، ويستخدم مكتبة XY لتحسين عرض الجداول. بمجرد توزيعه البرنامج، يجب أن يكون كله مفتوح المصدر.

    السيناريو 2: سين يعدّل تطبيق XY

    التزام سين:

    إذا قام سين بتعديل شيفرة XY ووزعها:

    يجب نشر الشيفرة المعدّلة علنًا.

    أي جزء مرتبط بـ XY يجب أن يبقى مرخّصًا بـ GPL.

    مثال: سين يضيف خاصية بحث ذكي داخل XY ويشارك البرنامج مع عملائه. هنا يجب نشر التعديلات تحت GPL.

    وبالتالي 

    كيف يمكن لعين وسين حماية برمجياتهم من الالتزام بفتح المصدر؟

    • تجنّب إدراج شيفرة GPL مباشرة: باستخدم مكتبات بترخيص مرن مثل MIT أو Apache أو كتابة الكود من الصفر.
    • تشغيل XY كبرنامج منفصل: أي تشغيله كخدمة مستقلة أو عبر API دون دمج الكود مباشرة.
    • الاعتماد على LGPL بدلاً من GPL: فهو يسمح بالربط بالمكتبة دون إلزام بجعل البرنامج مفتوح المصدر (طالما لم يتم تعديل المكتبة). شراء ترخيص تجاري: فبعض المشاريع توفر خيار شراء ترخيص تجاري لتجنب شروط GPL.




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

      ما هو Elasticsearch



      هو محرك بحث وتحليلات مفتوح المصدر، مبني على مكتبة قوية تُسمى Apache Lucene. يمكنه التعامل مع البيانات النصية والعددية وحتى البيانات شبه المهيكلة مثل JSON.

      أهم ما يميّزه:
      • البحث السريع في وقت شبه فوري Near Real-Time Search.
      • القدرة على تحليل البيانات واستخراج الإحصائيات.
      • قابلية التوسع بحيث يمكن تشغيله على جهاز واحد أو مئات الخوادم.

      معلومة مهمة: Elasticsearch لا يقتصر على النصوص، بل يمكنه العمل مع الأرقام، التواريخ، والمواقع الجغرافية.

      مجالات استخدام Elasticsearch

      1. محركات البحث في المواقع: مثل البحث عن المنتجات في أمازون أو المقالات في ويكيبيديا.
      2. تحليل بيانات السجلات (Logs): مثل مراقبة أداء الخوادم والتطبيقات.
      3. التحليلات الأمنية: اكتشاف محاولات الاختراق أو الأنشطة المشبوهة.
      4. أنظمة إدارة المحتوى: لتوفير بحث سريع ودقيق في منصات الأخبار أو المدونات.
      5. لوحات المراقبة اللحظية: مثل عرض بيانات المبيعات أو الزوار بشكل مباشر.

       المفاهيم الأساسية في Elasticsearch


      الفهرس Index

      مثل قاعدة البيانات التي تخزن مجموعات من الوثائق.

      الوثيقة Document

      وحدة البيانات الأساسية، تُخزن بصيغة JSON، مثل بيانات منتج واحد (الاسم، السعر، الوصف).

      الحقل Field

      عنصر داخل الوثيقة مثل "السعر" أو "اسم المنتج".

      الشظية Shard

      جزء من الفهرس لتوزيع البيانات على عدة خوادم لتسريع الأداء.

      النسخة الاحتياطية Replica

      نسخة من الشظية لضمان الأمان في حال فشل الخادم.

      المحلل Analyzer

      أداة لمعالجة النصوص قبل الفهرسة، مثل تحويل النصوص إلى أحرف صغيرة أو إزالة الرموز

      كيف يعمل Elasticsearch


      الفهرسة Indexing


      عند إدخال البيانات، يقوم Elasticsearch بتحليل النصوص وإنشاء فهرس معكوس يربط الكلمات بالوثائق التي تحتويها.
      مثال: إذا خزّنت الجملة "الذكاء الاصطناعي يغيّر العالم"، سيقوم المحرك بتقسيمها إلى كلمات: "الذكاء"، "الاصطناعي"، "يغيّر"، "العالم"، ويخزن موقع كل كلمة لسرعة البحث.

      البحث Searching


      عند البحث، يستخدم Elasticsearch لغة استعلام خاصة تُسمى Query DSL للعثور على الوثائق المطابقة.
      مثال على استعلام بحث:GET /products/_search { "query": { "match": { "name": "هاتف ذكي" } } }


      هذا الاستعلام يبحث عن كل المنتجات التي تحتوي أسماؤها على عبارة "هاتف ذكي".

      التوزيع والتوسع Scaling & Distribution


      يمكن لـ Elasticsearch توزيع البيانات على عدة خوادم (عُقد Nodes) بحيث تعمل معًا، ويضمن وجود نسخ احتياطية لزيادة الأمان.

      أهم العمليات في Elasticsearch


      • إضافة أو تحديث وثيقة: يتم ذلك باستخدام أمر PUT أو POST، حيث يمكن إضافة بيانات جديدة أو تحديث بيانات موجودة.
      • جلب البيانات: باستخدام أمر GET لاسترجاع وثيقة أو مجموعة وثائق.
      • البحث: عبر أوامر GET أو POST مع Query DSL للبحث المعقّد.
      • التحديث الجزئي: باستخدام _update لتغيير بعض الحقول فقط
      • الحذف: باستخدام DELETE لإزالة وثيقة أو فهرس بالكامل.
      • العمليات المجمّعة: عبر _bulk لتنفيذ عدة أوامر دفعة واحدة.
      • عدّ الوثائق: باستخدام _count لمعرفة عدد الوثائق التي تطابق شرطًا معينًا.
      • إدارة الفهارس: أوامر لإنشاء الفهرس، معرفة معلوماته، أو حذفه.

       لماذا نستخدم Elasticsearch بدل قواعد البيانات التقليدية؟

      قواعد البيانات التقليدية ممتازة للتخزين المنظم، لكنها ليست مُصممة للبحث السريع في النصوص الضخمة.
      أما Elasticsearch فهو مُخصص للبحث والتحليل السريع، ويمكنه إرجاع النتائج في أجزاء من الثانية حتى مع ملايين السجلات.

      نصائح للمبتدئين

      1. ابدأ بفهم الأساسيات مثل الفهرس، الوثيقة، الحقول.
      2. جرّب استخدام Kibana لعرض النتائج بشكل رسومي.
      3. عند إدخال بيانات كبيرة، استخدم العمليات المجمعة لتوفير الوقت.
      4. تأكد من وجود نسخ احتياطية عبر نظام الـ Replicas.

      ختامًأ

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



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

        AI Projects


        1. علم البيانات Data Science

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

        مشاريع المستوى المبتدئ

        التحليل الاستكشافي للبيانات (EDA): مشروع يركز على فهم البيانات من خلال الرسوم البيانية والإحصائيات الوصفية لاكتشاف الأنماط والاتجاهات الأساسية.

        توقع هجرة العملاء: نظام يحلل سلوك العملاء لتوقع احتمالية تركهم للخدمة، مما يساعد الشركات في اتخاذ إجراءات استباقية للاحتفاظ بهم.

        نظام التوصية للأفلام: تطبيق يقترح أفلاماً للمستخدمين بناءً على تفضيلاتهم السابقة وتقييماتهم، باستخدام خوارزميات التصفية التعاونية.

        مشاريع المستوى المتوسط

        كشف الأخبار المزيفة: نظام يستخدم معالجة اللغات الطبيعية والتعلم الآلي لتحليل محتوى الأخبار وتحديد مدى مصداقيتها.

        توقع أسعار الأسهم: نموذج يحلل البيانات التاريخية والمؤشرات الاقتصادية للتنبؤ بحركة أسعار الأسهم في المستقبل القريب.

        التعرف على الصور باستخدام الشبكات العصبية الالتفافية CNNs: نظام يصنف الصور أو يتعرف على الأشياء فيها باستخدام تقنيات التعلم العميق.

        مشاريع المستوى المتقدم

        روبوت المحادثة: نظام ذكي يتفاعل مع المستخدمين باللغة الطبيعية، يفهم الاستفسارات ويقدم إجابات مناسبة باستخدام تقنيات معالجة اللغات الطبيعية المتقدمة.

        توليد اللغة الطبيعية: نظام يولد نصوصاً مترابطة ومفيدة تشبه الكتابة البشرية، مثل كتابة المقالات أو القصص.

        مشاريع الرؤية الحاسوبية: تطبيقات متقدمة تحلل وتفسر المحتوى البصري، مثل التعرف على الوجوه أو تحليل المشاعر من الصور.

        2. التعلم الآلي والذكاء الاصطناعي (Machine Learning/AI)

        يركز هذا المجال على تطوير أنظمة قادرة على التعلم والتحسن من البيانات دون برمجة صريحة لكل حالة.

        مشاريع المستوى المبتدئ

        كشف الاحتيال في بطاقات الائتمان: نظام يحلل معاملات البطاقات الائتمانية لتحديد الأنشطة المشبوهة والاحتيالية بناءً على الأنماط غير العادية.

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

        تصنيف الأنواع الموسيقية: نظام يحلل الخصائص الصوتية للموسيقى لتصنيفها إلى أنواع مختلفة مثل الروك أو الجاز أو الكلاسيكية.

        مشاريع المستوى المتوسط

        تحليل المشاعر لبيانات وسائل التواصل الاجتماعي: أداة تحلل التعليقات والمنشورات لتحديد المشاعر العامة (إيجابية، سلبية، محايدة) تجاه موضوع معين.

        خوارزمية التشخيص الذاتي: نظام يساعد في التشخيص الطبي الأولي بناءً على الأعراض المدخلة، مع التأكيد على أنه لا يحل محل الاستشارة الطبية.

        توقع الطقس باستخدام التعلم الآلي: نموذج يحلل البيانات الجوية التاريخية والحالية للتنبؤ بالأحوال الجوية المستقبلية.

        مشاريع المستوى المتقدم

        الشبكات التوليدية التنافسية (GANs) لتوليد الصور: تقنية متقدمة تولد صوراً جديدة واقعية من خلال تدريب شبكتين عصبيتين في منافسة مستمرة.

        التشخيص الطبي باستخدام التعلم الآلي: نظام متطور يساعد الأطباء في تشخيص الأمراض من خلال تحليل الصور الطبية أو البيانات المختبرية.

        روبوت المحادثة التحاورية: نظام ذكي قادر على إجراء محادثات طبيعية ومعقدة مع المستخدمين في مواضيع متنوعة.

        3. إنترنت الأشياء (Internet of Things - IoT)

        يهتم هذا المجال بربط الأجهزة والمستشعرات بالإنترنت لجمع البيانات وأتمتة العمليات.

        مشاريع المستوى المبتدئ

        مساعد المنزل الذكي: نظام يتحكم في أجهزة المنزل مثل الإضاءة والتكييف عبر الأوامر الصوتية أو تطبيق الهاتف المحمول.

        محطة مراقبة الطقس: جهاز يجمع بيانات الطقس المحلية مثل درجة الحرارة والرطوبة وسرعة الرياح ويرسلها إلى قاعدة بيانات أو تطبيق.

        نظام سقي النباتات: نظام آلي يراقب رطوبة التربة ويسقي النباتات عند الحاجة، مما يوفر الوقت والماء.

        مشاريع المستوى المتوسط

        نظام مراقبة جودة الهواء: شبكة من المستشعرات تقيس ملوثات الهواء المختلفة وترسل تنبيهات عند تجاوز المستويات الآمنة.

        أجهزة مراقبة الصحة القابلة للارتداء: جهاز يراقب العلامات الحيوية مثل معدل ضربات القلب والنشاط البدني ويقدم تقارير صحية.

        نظام الري الذكي: نظام متطور يحلل بيانات الطقس ورطوبة التربة لتحسين جدولة الري وتوفير المياه.

        مشاريع المستوى المتقدم

        نظام إدارة حركة المرور الذكي: شبكة متكاملة من المستشعرات والكاميرات لمراقبة وتحسين تدفق المرور في المدن.

        نظام توصيل الطائرات المسيرة الذكي: منصة لإدارة أسطول من الطائرات المسيرة للتوصيل الآلي للطرود والبضائع.

        الصيانة التنبؤية الصناعية: نظام يراقب الآلات الصناعية ويتنبأ بالأعطال قبل حدوثها لتجنب توقف الإنتاج.

        نظام إدارة الشبكة الذكية: منصة لإدارة توزيع الطاقة الكهربائية بكفاءة باستخدام البيانات من المستهلكين والمولدات.

        4. هندسة البرمجيات (Software Engineering)

        تركز على تطوير وصيانة الأنظمة البرمجية المعقدة باستخدام منهجيات وأدوات متقدمة.

        مشاريع المستوى المبتدئ

        تطوير الواجهة الأمامية: تطوير واجهات مستخدم تفاعلية وجذابة باستخدام HTML, CSS, وJavaScript الحديث.

        تطبيقان الويب التقدمية PWA: تطبيق ويب يعمل مثل التطبيق المحلي، يمكن تثبيته على الأجهزة ويعمل دون اتصال بالإنترنت.

        منصة التعاون في الوقت الفعلي: تطبيق يتيح للمستخدمين العمل معاً على المستندات أو المشاريع في الوقت الفعلي.

        منصة تواصل اجتماعي: شبكة اجتماعية بسيطة تتيح للمستخدمين مشاركة المحتوى والتفاعل مع بعضهم البعض.

        لوحة معلومات تفاعلية لتصور البيانات: واجهة تعرض البيانات بشكل بصري تفاعلي باستخدام الرسوم البيانية والمخططات.

        مشاريع المستوى المتوسط

        تطوير تطبيقات الجوال:  تطبيقات الهاتف المحمول: تطوير تطبيقات أصلية أو هجينة للهواتف الذكية بوظائف متقدمة.

        تطبيق تتبع الميزانية مع رؤى الذكاء الاصطناعي: تطبيق يساعد في إدارة الأموال الشخصية ويقدم نصائح ذكية للتوفير.

        تطبيق تعلم اللغة مع تكامل الواقع المعزز: منصة تعليمية تستخدم الواقع المعزز لجعل تعلم اللغات أكثر تفاعلية وإمتاعاً.

        تطبيق ملاحظات منطوقة: تطبيق يركز على إدخال الملاحظات بالصوت وتحويلها إلى نص مع إمكانيات تنظيم متقدمة.

        مشاريع المستوى المتقدم

        أداة مراجعة وإعادة هيكلة الكود: نظام يحلل الكود البرمجي تلقائياً ويقترح تحسينات لجودة الكود وأدائه.

        منصة التوثيق التعاونية المبنية على السحابة: نظام شامل لإدارة وثائق المشاريع البرمجية مع إمكانيات التعاون الجماعي.

        نظام التوصية الموسيقية: منصة ذكية تحلل تفضيلات المستمعين وتقترح موسيقى جديدة بناءً على خوارزميات متقدمة.

        5. الأمن السيبراني Cybersecurity

        يهتم بحماية الأنظمة والشبكات والبيانات من التهديدات الرقمية.

        مشاريع المستوى المبتدئ

        شبكة الوصول الصفري الثقة ZTNA: نموذج أمني يتطلب التحقق من هوية كل مستخدم وجهاز قبل منح الوصول للموارد.

        نظام كشف التهديدات المدفوعة بالذكاء الاصطناعي: أداة تستخدم التعلم الآلي لتحديد الأنشطة المشبوهة في الشبكة.

        مشاركة المستندات الآمنة المبنية على البلوك تشين: نظام يستخدم تقنية البلوك تشين لضمان أمان وسلامة مشاركة الملفات.

        مشاريع المستوى المتوسط

        إطار عمل اختبار اختراق تطبيقات الويب: مجموعة أدوات لاختبار أمان تطبيقات الويب واكتشاف الثغرات الأمنية.

        أداة إدارة الوضعية الأمنية للسحابة: نظام يراقب ويدير الإعدادات الأمنية للخدمات السحابية.

        إطار عمل تحليل البرمجيات الخبيثة والطب الشرعي: أدوات لتحليل البرمجيات الضارة وجمع الأدلة الرقمية.

        مشاريع المستوى المتقدم

        نظام كشف الحالات الشاذة في سلوك المستخدم: نظام متقدم يحلل أنماط سلوك المستخدمين ويكشف الأنشطة غير العادية التي قد تشير إلى تسلل أمني.

        أداة تقييم مخاطر الأمن السيبراني: منصة شاملة لتقييم وإدارة المخاطر الأمنية في المؤسسات.

        شبكة خداع الحماية من التهديدات الداخلية: نظام يضع فخاخاً وطعوماً لاكتشاف المهاجمين الداخليين أو الخارجيين الذين تسللوا للشبكة.

        الخلاصة

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

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

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

        ما المشروع المفضل لديك، شاركنا إياه في التعليقات لنوفر لك نصائح إضافية حول طريقة تنفيذه.

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

          نستعرض في هذا المقال طريقة تثبيت Flarum باستخدام Docker، مع توضيح ميزاته، وكيفية تهيئته على خادم افتراضي VPS بطريقة احترافية خطوة خطوة.

          ما هو فلاريوم Flarum



          يعد Flarum برنامجًا مجانيًا ومفتوح المصدر لإنشاء المنتديات، وهو يتميز بتصميم عصري وتجربة استخدام خفيفة وسريعة، ويعتمد على واجهة "Mobile-First" مما يجعله مثاليًا للعمل على جميع الأجهزة.

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


          مميزات فلاريوم 

          يوفر Flarum العديد من المميزات مثل:

          1. تصميم أنيق وقابل للتخصيص
          2. دعم متعدد اللغات
          3. أداء سريع وخفيف
          4. بيئة آمنة وحديثة
          5. سهل التركيب والتحديث
          6. مجتمع داعم وإضافات متنوعة

          تجربة Flarum 

          يوفر الموقع الرسمي إمكانية تجربة Flarum دون تثبيته من خلال  صفحة العرض التجريبي الرسمية لنظام Flarum، يمكن للمستخدمين تجربة المنتدى بأنفسهم بطريقة سهلة وسريعة دون الحاجة لتثبيت أو إعداد مسبق. 

          تتيح المنصة إنشاء حساب فوري باستخدام أي بريد إلكتروني وهمي، ويتم تفعيل الحساب مباشرة. إذا بدأ البريد الإلكتروني بـ admin@ أو mod@، فسيحصل المستخدم على صلاحيات المشرف أو المراقب تلقائيًا، مما يتيح له استكشاف مزايا الإدارة. مع ذلك، يجب التنويه إلى أن هذا العرض التجريبي يُعاد تعيينه يوميًا، ولا يُنصح بإدخال أي معلومات حساسة أو استخدام بريد إلكتروني حقيقي. كما أن بعض إعدادات الإدارة محمية، ولا يمكن الوصول إليها أو تعديلها ضمن العرض. هذا النموذج يحتوي فقط على الإضافات الأساسية التي تأتي مع Flarum، في حين أن هناك أكثر من 1500 إضافة متاحة خارجه يمكن استكشافها لاحقًا عند تثبيت النظام فعليًا.

           بعد تسجيل حساب جديد باستخدام بيانات الوصول  الافتراضية مثل:

          اسم المستخدم:admin 

          البريد الإلكتروني admin@example.com أو mod@test.com

          كلمة المرور: password


          يمكنك استخدام النسخة التجريبية  كما في الصورة التالية.



          خطوات تثبيت Flarum  باستخدام Docker

          لتثبيت فلاريوم باستخادم دوكر تحتاج للمتطلبات التالية: 

          1. خادم VPS بنظام Linux ويفضل توزيعة Ubuntu
          2. صلاحية الوصول عبر SSH
          3. تثبيت Docker وDocker Compose
          4. نطاق مخصص (اختياري)
          5. Nginx Proxy Manager لإدارة بروتوكول HTTPS
          بعد توفير المتطلبات يمكنك اتباع الخطوات التالية:

          الخطوة 1: إعداد مجلد المشروع


          mkdir flarum
          cd flarum

          الخطوة 2: إنشاء ملف البيئة .env


          nano flarum.env

          يتضمن الملف المتغيرات التالية:


          FLARUM_URL=https://forum.example.com
          FLARUM_ADMIN_USER=admin
          FLARUM_ADMIN_PASS=strongpassword
          FLARUM_ADMIN_EMAIL=admin@example.com
          FLARUM_TITLE=My Flarum Forum

          تأكد من استخدام بروتوكول HTTPS، خاصة إذا كنت تستخدم Proxy Manager لتأمين الاتصال.

          الخطوة 3: إعداد docker-compose.yml

          nano docker-compose.yml

          يحتوي هذا الملف على إعدادات Flarum وMariaDB. من المهم تخصيص كل من الأمور التالية:

          • منافذ الاتصال (مثل 86 بدلاً من 80 إذا كان المنفذ مستخدمًا)
          • اسم المستخدم وكلمة مرور قاعدة البيانات
          • مسارات الحفظ

          الخطوة 4: تشغيل قاعدة البيانات أولًا


          docker-compose up -d mariadb

          الخطوة 5: تشغيل Flarum


          docker-compose up -d flarum
          ملاحظة: تأكد أن كلمة مرور المسؤول تتكون من 8 أحرف على الأقل وإلا ستفشل عملية التثبيت.

          ربط المنتدى بنطاق مخصص باستخدام Nginx Proxy Manager

          • انتقل إلى Nginx Proxy Manager، وأضف نطاقًا جديدًا مثل forum.liman.com
          • حدّد المنفذ 86
          • فعّل WebSocket وخيارات الأمان
          • بالنسبة لشهادة SSL، يمكنك استخدام شهادة واحدة للنطاق الرئيسي، ولن تحتاج إلى إصدار واحدة جديدة لكل تطبيق فرعي.
          الآن أنت جاهز لتجربة المنتدى الخاص بك.

          تخصيص وإدارة المنتدى



          بمجرد تسجيل دخولك إلى المنتدى، يمكنك من داخل الداشبورد تعديل ما تشاء مثل اسم المنتدى ووصفه وإدارة المستخدمين والمجموعات وتفعيل الوضع الليلي وتغيير الألوان وإعداد البريد الإلكتروني للإشعارات وتثبيت اللغات والإضافات وغيرها من الأمور العديدة الأخرى.

          كما يدعم فلاريوم لغات متعددة حيث يمكنك بسهولة تثبيت الحزم اللغوية من خلال لوحة الإدارة أو من خلال كومبوزر Composer، مما يجعله مناسبًا للمواقع العربية أو غيرها من اللغات.

          الخلاصة

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

          هل جربت Flarum من قبل؟ شاركنا رأيك وتجربتك في التعليقات، ولا تنسَ مشاركة المقال مع من قد يهتم ببناء منتدى خاص باستخدام حلول مفتوحة المصدر.


            يقدم VS Code طرقًا متنوعة لدمج أدوات كتابة الأكواد البرمجية بالذكاء الاصطناعي، لكن العديد من هذه الخيارات تتطلب الاتصال بخدمة طرف ثالث، مما قد يعرض المعلومات الحساسة أو السرية للخطر، لهذا السبب يفضل معظم المطورين استخدام مساعدا ت ذكية لكتابة الأكواد تعمل محليًا على أجهزة الحواسيب الخاصة بهم لتجنب مشاركة البيانات مع مزودي خدمات خارجية.



            خطوات دمج Llama 3 مع محرر الأكواد VS Code

            فيما يلي دليل يوضح لك خطوة بخطوة حول كيفية استخدام نموذج Llama 3 المجاني ومفتوح المصدر الذي يعمل محليًا على جهازك مع Visual Studio Code:

            الخطوة 1: تنزيل وتثبيت المتطلبات

            • تنزيل Visual Studio Code من الموقع الرسمي إذا لم تكن قد فعلت ذلك بالفعل.
            • تنزيل Ollama من موقع Ollama.com.
            • تثبيت Llama 3 باستخدام Ollama.

            الخطوة 2: إعداد Llama 3 في Visual Studio Code



            افتح محرر الأكواد Visual Studio Code ثم انقر في الجانب الأيسرعلى أيقونة الإضافات وابحث عن CodeGPT وقم بتثبيت الإضافة الرسمية التي تم تنزيلها أكثر من مليون مرة.

            بعد التثبيت، ستظهر لك في أعلى يمين نافذة الدردشة انقر على Connect. قم بالتسجيل وتسجيل الدخول بحسابك ثم انقر على أيقونة CodeGPT، ثم انقر على Extension Settings. وفي الإعدادات، اختر  Ollama كمزود من القائمة المنسدلة وقم بتمكين خيار CodeGPT Co-pilot ولتفعيل الإكمال التلقائي، اختر llama3:Instruct.


            الخطوة 3: تكوين إعدادات AI Co-pilot

            افتح نافذة الطرفية أو التيرمينال داخل Visual Studio Code  لكي تتمكن من تنفيذ الأوامر البرمجية،ثم قم بتشغيل الأوامر التالية لتكوين النماذج المطلوبة:

            Copyollama pull llama3:8b

            ollama pull llama3:instruct

            الخطوة 4: إنشاء ملف جديد

            على الجانب الأيسر، انقر على أيقونة ملف جديد وأنشئ ملفًا جديدًا باسم test.html.

            انقر على أيقونة CodeGPT، واختر المزود Ollama


             بعدها اختر نموذج llama-3-8b.


            الخطوة 5: كتابة وتشغيل أول طلب PROMPT لتوليد الأكواد

            اكتب أي طلب تحتاج من النموذج كتابته على سبيل المثال سنطلب من النموذج إنشاء صفحة رئيسية أساسية باستخدام Bootstrap 5 تشمل مكونات تجريبية مثل هيدر يحتوي على اسمك ووصف قصير، قسم يحتوي على صور لمشاريعك، نموذج اتصال يحتوي على حقول للاسم والبريد الإلكتروني والرسالة، وفوتر يحتوي على روابط لوسائل التواصل الاجتماعي.

            Create a basic Bootstrap 5 homepage including demo components such as a header with your name and a short description, a section with images of your projects, a contact form with fields for name, email, and message, and a footer with social media links.

            ملاحظة: من الأفضل كتابة PROMPT باللغة الانجليزية لضمان دقة النتائج. 

            سنحصل على كود برمجي مشابه لما يلي:

            <!DOCTYPE html>

            <html lang="en">

            <head>

              <meta charset="UTF-8">

              <meta name="viewport" content="width=device-width, initial-scale=1.0">

              <title>Liam's Homepage</title>

              <!-- Bootstrap 5 CSS -->

              <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">

            </head>

            <body>


            <!-- Header Section -->

            <header class="bg-primary text-white text-center py-5">

              <h1>Liam's Homepage</h1>

              <p class="lead">Welcome to my personal homepage! Here you can learn more about my projects and get in touch.</p>

            </header>


            <!-- Projects Section -->

            <section class="container my-5">

              <h2 class="text-center mb-4">My Projects</h2>

              <div class="row">

                <div class="col-md-4">

                  <div class="card">

                    <img src="https://via.placeholder.com/300x200" class="card-img-top" alt="Project 1">

                    <div class="card-body">

                      <h5 class="card-title">Project 1</h5>

                      <p class="card-text">Description of the first project goes here.</p>

                    </div>

                  </div>

                </div>

                <div class="col-md-4">

                  <div class="card">

                    <img src="https://via.placeholder.com/300x200" class="card-img-top" alt="Project 2">

                    <div class="card-body">

                      <h5 class="card-title">Project 2</h5>

                      <p class="card-text">Description of the second project goes here.</p>

                    </div>

                  </div>

                </div>

                <div class="col-md-4">

                  <div class="card">

                    <img src="https://via.placeholder.com/300x200" class="card-img-top" alt="Project 3">

                    <div class="card-body">

                      <h5 class="card-title">Project 3</h5>

                      <p class="card-text">Description of the third project goes here.</p>

                    </div>

                  </div>

                </div>

              </div>

            </section>


            <!-- Contact Section -->

            <section class="container my-5">

              <h2 class="text-center mb-4">Contact Me</h2>

              <form>

                <div class="mb-3">

                  <label for="name" class="form-label">Name</label>

                  <input type="text" class="form-control" id="name" required>

                </div>

                <div class="mb-3">

                  <label for="email" class="form-label">Email</label>

                  <input type="email" class="form-control" id="email" required>

                </div>

                <div class="mb-3">

                  <label for="message" class="form-label">Message</label>

                  <textarea class="form-control" id="message" rows="4" required></textarea>

                </div>

                <button type="submit" class="btn btn-primary">Submit</button>

              </form>

            </section>


            <!-- Footer Section -->

            <footer class="bg-dark text-white text-center py-4">

              <p>Follow me on social media:</p>

              <a href="#" class="text-white me-3">Facebook</a>

              <a href="#" class="text-white me-3">Twitter</a>

              <a href="#" class="text-white">LinkedIn</a>

            </footer>


            <!-- Bootstrap 5 JS and Popper -->

            <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>

            <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>


            </body>

            </html>

            بعد إنشاء الكود المطلوب انقر على إدراج لإضافة الكود إلى الملف البرمجي وهذه الصفحة التي حصلنا عليها.


            الخطوة 6: تحرير الكود

            قد تحتاج لإجراء تغييرات على الكود وتحريره إما يدويًا أو باستخدام طلبات اللغة الطبيعية في Ollama للوصول للنتيجة المطلوبة. 

            الخاتمة

            باتباع هذه الخطوات، يمكنك بسرعة إنشاء وتصحيح وتوثيق الكود باستخدام Llama 3 في Visual Studio Code، مما يحسن إنتاجيتك ويقلل من الأخطاء دون الحاجة إلى مشاركة معلوماتك السرية مع مزودي مساعدات الكود الخارجيين.



              تستخدم الأقواس المختلفة في البرمجة لأغراض متنوعة بناءً على اللغة والوظيفة. وإليك بعض الاستخدامات الشائعة لكل نوع:


              الأقواس الدائرية ()

              تسمى بالانجليزية  Round brackets  أو parentheses وتعد الأقواس الدائرية أساسية في لغات البرمجة لأنها توفر توضيحًا لكيفية استخدام أجزاء معينة من الشيفرة. بدونها، قد يكون من الصعب فهم الشيفرة البرمجية.

              على سبيل المثال، تستخدم في التعبيرات الرياضية حيث يتم تنفيذ عدة عمليات على أرقام متعددة في وقت واحد، تساعد الأقواس الدائرية في تحديد ترتيب العمليات.

               ومن أبرز الأمثلة على استخداماتها

              استدعاء الدوال: تُستخدم لتحديد المعاملات عند استدعاء دالة.

              print("Hello, World!")

              تجميع العمليات الحسابية: لتحديد أولويات العمليات الحسابية.

              result = (2 + 3) * 5

              التعابير الشرطية: تُستخدم في كتابة الشروط المنطقية

              if (a > b) {

                  // code

              }

              الأقواس المربعة []

              تسمى بالانجليزية Square brackets  تستخدم للوصول إلى عناصر المصفوفات أو القوائم للوصول إلى العناصر في هياكل البيانات.

              list = [1, 2, 3]

              print(list[0])

              التعابير المنتظمة: تُستخدم لتحديد نطاق من الأحرف.

              pattern = r"[a-z]"

              الأقواس المعقوفة {}

              تسمى بالانجليزية Curly brackets  أو (braces)

              تستخدم لتحديد كتل التعليمات البرمجية تُستخدم في لغات البرمجة مثل C و  Java  وJavaScript لتحديد بداية ونهاية الكتل البرمجية مثل الدوال، الحلقات، والتعابير الشرطية.

              function myFunction() {

                  // code

              }

              القواميس في بعض اللغات: في Python، تُستخدم لتعريف القواميس.

              dict = {"key": "value"}

              الأقواس الزاوية <>

              تسمى بالانجليزية Angle brackets أو  (chevrons) 

              قوالب البرمجة (Templates): تُستخدم في لغات مثل ++C لتحديد القوالب.

              template <typename T>

              T add(T a, T b) {

                  return a + b;

              }

              وسوم HTML: تُستخدم لتحديد الوسوم في لغة ترميز النص التشعبي.

              <div>

                  <p>Hello, World!</p>

              </div>

              ماذا يعني تداخل الأقواس؟

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

              لقراءة الأقواس المتداخلة ابدأ من الطبقة الداخلية للأقواس وتقدم نحو الخارج. قم بتقييم كل كتلة مغلقة بواسطة قوسين قبل الانتقال إلى الطبقة التالية، مثل تقشير البصل.

              هل تُستخدم الأقواس لشيء آخر غير البرمجة؟

              نعم! تُستخدم الأقواس في العديد من الأمور الأخرى خارج البرمجة، مثل الرياضيات والنصوص والكتابة، ولتحديد الفترات الزمنية للأحداث أو المعاملات، وحتى كوجوه تعبيرية مثل :) أو ;).

              كانت هذه أنواع الأقواس البرمجية وأهم الاستخدامات الشائعة لكل نوع من أنواع الأقواس في لغات البرمجة، وقد تختلف  استخداماتها قليلاً بناءً على لغة البرمجة التي تتعامل معها.

                 لكل مجال من مجالات العمل والحياة أقوال متدوالة واقتباسات شهيرة تترك أثرها وفي مقال اليوم أود أو أشارككم أكثر 5 اقتباسات برمجية أفضلها وأستخدمها بكثرة مع طلابي



                First, solve the problem. Then, write the code


                قم بحل المشكلة أولاً ثم ثم اكتب الكود

                جون جونسون


                Java is to JavaScript what Car is to Carpet 


                الفرق بين لغة جافا ولغة جافا سكريبت هو نفس الفرق بين السيارة  والسجاد (أي لا علاقة لهما ببعض)  



                Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code


                في بعض الأحيان من يكون من المفيد البقاء في السرير يوم الإثنين  بدلاً من قضاء بقية الأسبوع في تصحيح أخطاء الكود التي تم ارتكابها يوم الاثنين


                Before software can be reusable it first has to be usable.


                قبل أن تصبح البرمجيات قابلة لإعادة الاستخدام يجب أن تكون قابلة للاستخدام أولاً 



                Make it work, make it right, make it fast 


                اجعل الكود البرمجي يعمل، واجعله صحيحًا، واجعل سريعًا.



                هل هناك اقتباس  أو مقولة تحبونها في مجال البرمجيات؟ شاركونا إياها في التعليقات..




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

                  وبالتالي يملك الموقع نسختين هما: 

                  1. نسخة التطوير Development  أو ما يعرف اختصارًا بنسخة الـDev: وهي عبارة عن الموقع عندما يكون قيد التطوير. أي أن المطور لازال يعمل عليه ويختبره. وهنا يمكنك أن تنجز هذه النسخة على استضافة محلية خاصة بك قبل أن تقوم بإطلاقه فعلياً على استضافة فعلية. 
                  2. نسخة الإنتاج Production أو ما يعرف اختصارًا بنسخة الـpro:  وهو الموقع المباشر الذي يتم توزيع على العملاء وهو الموقع الذي يرفع على الاستضافة الفعلية. 


                   في هذا المقال ستتعلم طريقة إنشاء موقع ووردبريس على جهاز الحاسب المحلي من خلال تحويل جهاز الحاسب  إلى خادم محلي (سنقوم بتحويل جهاز حاسب يعمل بنظام التشغيل Windows  إلى سيرفر محليـ وإنشاء موقع ووردبريس عليه بطريقتين مختلفتين) 

                  فأنت لا تستطيع تطوير موقع ووردبريس على جهاز الحاسب المحلي الخاص بك (الذي يسمى عادة المضيف المحلي) بشكل مباشر، فأنت بحاجة قبل ذلك إلى توافر 3 برامج على الأقل على جهازك ليعمل كمضيف محلي لموقعك: 

                  البرامج اللازمة لتشغيل موقع ووردبريس على حاسوب محلي: 

                  1. سيرفر Apache 
                  2. و برنامج إدارة قواعد البيانات MySQL 
                  3. و لغة البرمجة PHP. 

                  بعدها يمكنك تنزيل وتشغيل موقع الووردبريس على جهازك. 

                  هناك عدة برامج تتضمن هذه البرامج الثلاثة معاً في حزمة واحدة  تسمى برامج الخادم المحلي  (Local Server Software) وأشهر هذه البرامج:

                  •  Xampp يعمل على جميع أنظمة التشغيل
                  • DesktopServer يعمل على جميع أنظمة التشغيل
                  •  Ampps يعمل على جميع أنظمة التشغيل
                  • Lamp  يعمل على أجهزة اللينوكس.
                  • WampServer  يعمل على نظام التشغيل ويندوز
                  •  MAMP يعمل على نظام الماك
                  • Xampp يعمل على جميع الأنظمة.
                  • Wamp يعمل على نظام التشغيل ويندوز
                  • Mamp يعمل على نظام الماك.

                  وفي مقال اليوم سنشرح لك كيفية تنصيب وودربريس على أول اثنين من هذه البرامج: 

                  • الطريقة الأولى تنصيب ووردبريس باستخدام DesktopServer 
                  • الطريقة الثانية تنصيب ووردبريس باستخدام XAMPP  

                  وسنعتمد في الشرح على  كما ذكرنا نظام التشغيل هو  ويندوز 10، مع ضرورة التنويه لأن خطوات التثبيت قد تختلف قليلاً  بين نظام تشغيل وآخر.

                  • أولاً: تثبيت ووردبريس محليًا باستخدام DesktopServer

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

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


                  الخطوة 1: انتقل إلى الموقع الرسمي لـServerPress  وقم بتنزيل برنامج DesktopServer المخصص لنظام تشغيل Windowsعلى جهاز حاسوبك المحلي. 

                  انقر فوق زر Free Download في الزاوية العلوية اليسرى من الصفحة كما هو مبين في الصورة التالية.



                  سيطلب منك إدخال بريدك الالكتروني قم بإدخاله وألغي خانة الاشتراك في القائمة البريدية لو لم تكن ترغب في استلام رسائل بريد الكتروني من الموقع، ثم انقر على الرابط No thanks, I just want to download DesktopServer Limited  الموجود أسفل الزر لبدء عملية تحميل الملف المضغوط  .zip  على جهازك مباشرة دون اشتراك.   سيؤدي هذا إلى تنزيل ملف مضغوط باسم  dsl-win-vXX.zip  على جهاز الكمبيوتر الخاص بك.


                  الخطوة 2: قم بفك ضغط الملف وتثبيت DesktopServer

                  بمجرد الانتهاء من تنزيل الملف المضغوط على جهازك، قم بفك الضغط ثم انقر بشكل مزدوج بالفأرة على الملف Install DSL لبدء عملية تنصيب  DesktopServer .


                  عند تشغيل البرنامج لأول مرة  سيطلب البرنامج منك إعادة التشغيل بامتيازات المسؤول. اضغط على زر Continue للاستمرار 

                  بعدها قم بقبول الاتفاقيات والشروط للمتابعة 


                  الأن ستظهر لك النافذة التالية. اترك الخيار الافتراضي (New DesktopServer Installation) كما هو، ثم انقر فوق الزر Continue  لمتابعة عملية التثبيت.

                  ستبدأ عملية التنزيل مباشرة. 


                   عند الانتهاء اضغط على زر Finish، لتظهر لك  بعدها النافذة المنبثقة التالية التي تخبرك  بموقع تشغيل البرنامج (افتراضياً على المسار C:\xampplite\desktopserver) انقر فوق زر OK  للإنهاء. 



                  الخطوة 3: بدء تشغيلش خدمات قاعدة البيانات وإنشاء موقع ويب جديد.

                   بمجرد اكتمال التثبيت، انتقل للمسار C:\xampplite\desktopserver  وقم بتشغيل الملف  التنفيذي DesktopServee.exe كما هو مبين في الصورة التالية

                     


                  بعد تشغيل الملف ستظهر شاشة بدء خدمات الويب وقاعدة البيانات 

                  يقوم برنامج DesktopServer بتثبيت ووردبريس تقائياً نيابة عنك حيث يتضمن برنامج DesktopServer دائمًا على أحدث إصدار من WordPress  ولا داعي للقلق بشأن تنزيله يدويًا وفك ضغطه.  كل ما عليك فعله هو اختيار الأمر  Create a new development website لبدء تثبيت جديد. ثم النقر على زر Next لإعداد الموقع. 



                  في النافذة التالية يتوجب عليك اختيار اسم موقعك، والذي سيكون أيضًا عنوانه على السيرفر المحلي.

                  اكتب الاسم الذي تريده لموقعك سأكتب هنا مثلاً: liman  ووفقاً لذلك سيكون عنوان URL لموقع التطوير على جهازك المحلي في هذه الحالة هو liman.dev


                  انقر فوق create لإنهاء التثبيت.

                  سيقوم DesktopServer تلقائيًا بإنشاء قاعدة البيانات المناسبة لموقعك وتعديل ملفات WordPress الأساسية اللازمة لربطها مع الموقع أليس هذا رائعًا :) بمجرد الانتهاء انقر على زر Next


                  في النهاية ستظهر لك نافذة تحوي رابط بالشكل التالي (https://www.liman.dev/wp-admin/install.php).

                  كل ماعليك النقر فوقه لبدء عملية تثبيت وتكوين موقع ووردبريس الخاص بك. 


                  الخطوة 4: تثبيت وتكوين موقع ووردبريس الخاص بك

                  عليك الآن الانتقال إلى الرابط السابق في المتصفح كي ينقلك هذا إلى صفحة إعدادات ووردبريس القياسية. هنا يتوجب عليك تحديد لغة الموقع الافتراضية  (يمكنك تغييرها لاحقاً إن رغبت)



                  بعدها عليك إدخال بياناتك الشخصية وتفاصيل موقعك مثل (عنوان الموقع واسم المستخدم وكلمة المرور وعنوان البريد الإلكتروني) وانقر على زر Insall Wordpress

                  ستظهر لك بعدها صفحة الترحيب الخاصة بموقع ووردبريس الجديد الخاص بك. وبهذا تكون قد انتهيت من كافة خطوات تثبيت ووردبريس محليًا وأصبح موقعك قيد التشغيل. 

                  يمكنك متى ما أردت استعراض موقعك من خلال  كتابة الرابط   الذي خصصته لموقعك (وهو هنا liman.dev ) في شريط عنوان المتصفح. 

                  الآن بعد أن تم تثبيت كل شيء، إليك بعض الملاحظات المفيدة حول التعامل مع موقعك في برنامج DesktopServer :

                  • للعثور على ملفات موقع الويب الخاص بك، انتقل إلى المجلد الجذر للموقع الذي قت بتحديده أثناء مراحل الإعداد. إذا تركت موقع جذر الموقع بالقيمة الافتراضية سيكون هذا المجلد في المسار التالي: مجلد المستندات > ثم المجلد sites 
                  • للوصول إلى قواعد بيانات موقع الويب الخاص بك، اكتب العبارة phpmyadmin بعد اسم الدومين الكامل للوصول إلى نظام إدارة قواعد البيانات الخاص بمواقعك  phpMyAdmin (في مثالنا سيكون الرابط كما يلي localhost.liman.dev/phpmyadmin). 



                  • لإنشاء مواقع WordPress إضافية أو تحريرها، ما عليك سوى تشغيل ملف DesktopServer.exe مرة أخرى واتباع الخطوات من جديد كما يمكنك من خلال تشغيل هذا الملف التنفيذي إيقاف الخدمات وإعادة تشغيلها فضلاً عن إنشاء مواقع جديدة ، وتحريرها، وتصديرها واستيرادها ...الخ
                  • أخيرًا الوصول إلى لوحة تحكم DesktopServer الخاصة بك من خلال كتابة (localhost) في شريط البحث الخاص بالمتصفح.  أو من خلال تشغيل ملف DesktopServee.exe ثم النقر على الزر Sites أسفل يسار النافذة. هذا سيؤدي لعرض كافة المواقع التي تملكها على المضيف المحلي ويمكنك الانتقال للموقع الذي تريده من بينها. 

                  تنبيه! 

                  قد تظهر لك رسالة الخطأ التالية (فشل تحديث ووردبريس) وذلك بسبب الطريقة التي يتعامل بها نظام التشغيل ويندوز مع أذونات الملفات الخاصة به ،

                  لإصلاح هذا الخطأ، قم بفتح موجه الأوامر كمسؤول قم اكتب الأمر التالي  بعد الانتقال لمجلد WordPress الخاص بك:

                  attrib -s *.*


                  • ثانيًا: تحميل ووردبريس محلياً من خلال برنامج  XAMPP

                  الخطوة 1: تحميل برنامج Xampp وتنصيبه على جهاز الحاسوب.

                  لتحميل البرنامج، عليك الذهاب إلى الموقع الرسمي للبرنامج،  ومن ثم تحديد نظام التشغيل (ويندوز) ثم قم اختيار رابط التحميل كما  هو مبين في الصورة، وسيتم تحميل التطبيق على جهازك بشكل ملف تنفيذي xampp-windows-xVS-installer.exe.


                  الخطوة 2: قم بتشغيل الملف التنفيذي الذي قمت بتحميله، لتبدأ عملية التنصيب.

                  ستظهر لك في البداية  شاشة الترحيب اضغط على زر Next.


                  بعدها ستظهر لك الشاشة التالية التي تمكنك من اختيار المكونات التي تريد تثبيتها على جهازك المحلي، من الضروري هنا اختيار كل  من MySQL وPHP وphpMyAdmin على الأقل كي يعمل موقعك 


                  الخطوة 3:بعدها عليك أن تقوم باختيار المسار الذي تريد حفظ الملفات بداخله على جهازك. افتراضياً يكون  C:\xampp  لكني أنصح بتغييره إلى مسار آخر على قرص مختلف أن ميزة الحماية  UAC في ويندوز 10 تمنع تنصيب برنامج XAMPP على القرص C لكونه قرص محمياً ومخصصاً لنظام التشغيل. (يمكنك أيضاً إلغاء ميزة الحماية لكني لا أنصح بهذا الإجراء) 


                  يمكنك  بدلًا من ذلك القيام بتحميله على المسار التالي D:\devel\xampp  مثلاً 


                  الخطوة 4: بعدها قم بالضغط على زر Next لتكوين الإعدادات والبدء بتنصيب  البرنامج.




                  ملاحظة:

                   قد تظهر لك  خلال  عملية التحميل رسالة من جدار الحماية خلال عملية  تحذرك من محاولة البرنامج  لاستخدام الشبكات في الحاسوب، انقر على الزر Allow access   حتى تكتمل عملية التنصيب بشكل صحيح. 


                  بعد الانتهاء ستظهر لك شاشة تخبرك باكتمال عملية التنصيب. اضغط على الزر Finish لإنهاء عملية التنصيب وفتح نافذة لوحة تحكم XAMPP التي تساعدك على تشغيل وتنظيم كافة المكونات الأخرى في البرنامج.


                  الخطوة 5: يمكنك تشغيل لوحة التحكم Xampp على جهازك من خلال الانتقال إلى  مسار تنصيب البرنامج وهو هنا D:\devel\xampp افتح المجلد xampp والبحث عن الملف المسمى  xampp-control.exe وتشغيله وسوف تفتح لك نافذة لوحة التحكم الخاصة بـXAMPP 


                  الخطوة 6: الآن كي نقوم بتشغيل الووردبريس على الخادم المحلي، عليك في البداية تشغيل كل من  Apache وMySQL، وذلك من خلال الضغط على زر Start بجانب كل منهما في لوحة التحكم. ستظهران باللون الأخضر إذا تمت عملية التشغيل بشكل صحيح وسيتحول زرStart   إلى زر Stop في حال رغبت بإيقاف تشغيل أي منهما. 

                  الخطوة 7: الآن يمكنك التأكد من عمل السيرفر المحلي على جهازك، وذلك من خلال الذهاب إلى المتصفح وكتابة العنوان التالي /http://localhost  في شريط عنوان المتصفح.  إذا كان كل شيء على ما يرام يجب أن تظهر لك الصورة التالية. 

                  الخطوة 8: بعد إعداد جهازك يتوجب عليك الآن أن تقوم بتنصيب الووردبريس وتشغيله على الجهاز المحلي من خلال الذهاب إلى الموقع الرسمي للووردبريس والضغط على رابط (Get WordPress) كما في الصورة التالية  لتنتقل إلى صفحة التحميل الخاصة بووردبريس أو اضغط مباشرة على الرابط التالي 

                  سوف تظهرلك الصفحة التالية التي تمكنك من تنزيل النسخة الأحدث من الووردبريس على جهازك على هيئة ملف مضغوط  (WordPress-5.8.zip) من خلال النقر على الزر Download WordPress 5.8 وهذا الملف على جهازك يحتوي على كافّة الملفات الضرورية لتنصيب الووردبريس على حاسوبك.


                  الخطوة 9: بعد اكتمال التحميل توجه من جديد  إلى المجلد الذي قمت بتنصيب الـ Xampp بداخله، وهو في حالتنا  D:\devel\xampp  وابحث بداخله  عن المجلد htdocs وقم بنقل الملف الذي حملته في الخطوة السابقة (WordPress-5.8.zip) إلى داخل هذا المجلد.  قم بفك ضغط الملف وإعادة تسميته بالاسم الذي تريده لتمييز الموقع عن غيره (سأسميه مثلاً wp_limantech)

                  الخطوة 10:.  خطوتك التالية هي إنشاء قاعدة بيانات الخاصة بهذا الموقع ويتم ذلك من خلال  الانتقال إلى صفحة إدارة قواعد البيانات PHPMyAdmin وإنشاء قاعدة بيانات جديدة من هناك.

                  يتم تشغيل صفحة PHPMyAdmin من خلال لوحة تحكم Xampp، وذلك عبر الضغط على زر Admin الموجود بجانب MySQL أو من خلال كتابة العنوان  http://localhost/phpmyadmin/  في شريط عنوان المتصفح. 


                   

                  ستظهر لك النافذة التالية الخاصة بإدارة قواعد البيانات لكافة مواقعك. لإنشاء قاعدة بيانات جديدة انقر على الرابط NEW كما هو مبين الصورة التالية. 


                  ثم قم بكتابة اسم قاعدة البيانات الجديدة واختر اسماً ملائماً لموقعك، مثلاً limantest أو أي اسم أخر  ثم اضغط على الزر تكوين Config. )عليك تذكر اسم قاعدة البيانات لأنك  ستحتاجها في الخطوات التالية.)

                  الخطوة 11  الآن عليك القيام بتنصيب  وإعداد موقع الووردبريس على السيرفر المحلي وربطه بقاعدة البيانات التي أنشأتها في الخطوة السابقة. ثم بالعودة إلى المتصفح وانتقل إلى عنوان موقعك وهو في حالتنا http://localhost/wp_limantech/ (انتبه لأن الاسم wp_limantech هنا هو الاسم الذي حددته في الخطوة 9)  لتفتح لك الصفحة المبينة في الصورة التالية.وكل ما عليك فعله هو الضغط على رابط المجلد المسمى wordpress لكي تبدأ عملية إعداد موقع الووردبريس على جهازك 


                   الخطوة 12  ستظهر لك بعدها رسالة توضيحية تلخص لك الإعدادات والمعلومات التي يتوجب عليك توفيرها لموقعك، للبدء قم بالضغط على زر ابدأ الآن  المبين في الصورة التالية. 




                  أول إعداد عليك القيام به هو قاعدة البيانات حيث ستحتاج لإدخال البيانات التالية: 

                  اسم قاعدة البيانات: أدخل هنا اسم قاعدة البيانات التي قمت بإنشائها حسب الخطوة السابقة وهي هنا  ( limantest)

                  اسم مستخدم قاعدة البيانات :بإمكانك كتابة أي اسم تريده هنا عادة يكون الاسم root هو اسم المستخدم الافتراضي لقاعدة البيانات.
                  كلمة المرور: يمكنك ترك حقل كلمة المرور فارغاً لكون الموقع على جهاز محلي.
                  اسم المستضيف:اكتب هنا (Localhost) لكون الموقع مستضاف بشكل محلي. 
                  بادئة الجدول: تكون بائدة اسم الجدول في ووردبريس هي _wp  يمكنك تركها كما هي أو تغييرها. يفضل البعض تغييرها لأسباب تتعلق بالحماية أو عند الرغبة في تركيب أكثر من موقع على نفس قاعدة البيانات.  


                  بعد إدخال كافة المعلومات المطلوبة اضغط على  زر إرسال  أسفل الصفحة. وستظهر لك صفحة جديدة، كل ما عليك هو الضغط على زر (البدء بعملية التنصيب)


                  بعدها ستظهر لك نافذة مخصصة لإدخال البيانات الأساسية الخاصة بموقعك، والتي تتضمن:

                  • اسم الموقع
                  • اسم المستخدم: تضع اسم المسؤول أو الأدمن للموقع. 
                  • كلمة المرور
                  • البريد الإلكتروني
                  • الظهور لمحركات البحث

                  هذه هي كافة الإعدادات المطلوبة منك. قم لإدخالها ثم اضغط على زر تنصيب الووردبريس للبدء بتنصيب وإعداد الموقع وفق الخيارات التي حددتها. 


                  الخطوة 13 بعد الانتهاء ستظهر  لك سالة  تخبرك بإتمام عملية التنصيب وتعرض لك اسم مسؤول الموقع. 


                   عند الضغط على دخول ستفتح لك نافذة تسجيل الدخول كأدمن للموقع. أدخل اسم المستخدم وكلمة المرور حسب ما حددت في الخطوة السابقة. 

                  بعد تسجيل الدخول بنجاح ستنتقل مباشرة إلى داخل  لوحة تحكم  موقع الووردبريس  الخاص بك. 

                  تهانينا أنت الآن جاهز للبدء بتطوير موقعك على المضيف المحلي على حاسوبك من داخل لوحة التحكم. 



                  لعرض موقعك انقر على الأيقونة الظاهرة في الأعلى والتي يظهر بجانبها اسم الموقع. 


                  ويمكنك في أي وقت تريده الوصول للوحة التحكم من خلال كتابة العنوان التالي في شريط عنوان المتصفح. 

                   http://localhost/limantech/wordpress/wp-admin/

                  وختاماً

                   نجد أن تثبيت ووردبريس على سيرفر محلي هو عملية سهلة و بسيطة وكل ما عليك القيام به هو إعداد حاسوبك ليعمل كسيرفر محلي من خلال تثبيت أحد البرامج المخصصة عليه ثم  اتباع الخطوات التي شرحناها لكم بالتفصيل والبدء بتجربة تطوير المواقع من خلال منصة ووردبريس وتجربة القوالب والإضافات وتعلم أساسيات النشر والتحكم  وغيرها في ووردبريس..

                   ما هي الخطوة التالية؟ 

                  بالطبع تطوير الموقع على جاهزك المحلي ليس كافياً، وعليك في النهاية رفع الموقع على استضافة فعلية على الانترنت ليكون متاحاً للجميع.  في مقالنا التالي نعلمك خطوات رفع موقع ووردبريس على استضافة فعلية.  



                  لمزيد من النصائح والإرشادات تابع صفحة limanعلى الفيسبوك