4.4 · النشر: التثبيت والتحديث التلقائي

المستوى 4 · الخبير: التطبيقات المهنية والنشر

4.4النشر: التثبيت والتحديث التلقائي

الهدف: توليد الملف التنفيذي، وإنشاء برنامج التثبيت، وضبط التحديث التلقائي، مع اختبار على جهاز نظيف وخطة رجوع.
الوقت المقدّر: 12 دقيقة · قراءة ذاتية · إذا كان لديك 5 دقائق فقط: اقرأ «الأساسي في 30 ثانية» + المخطط.

الأساسي في 30 ثانية

  • سلسلة التسليم في WinDev: توليد الملف التنفيذي (إعداد 32/64 بت)، مكتبة العناصر، برنامج التثبيت المولّد بمعالج (ملفات، اختصارات، متطلبات، قاعدة، إلغاء التثبيت) والتحديث التلقائي.
  • ⚠️ لا تنسَ شيئًا: الملف التنفيذي وحده لا يكفي — يلزم framework WinDev، والوصولات الأصلية إلى القاعدة، والصور، والتقارير، والموارد، وملفات الإعداد؛ والنشر الناقص يترجم إلى أخطاء عند بدء التشغيل لدى العميل.
  • ⚠️ القاعدة الذهبية: اختبار التثبيت على جهاز نظيف، مختلف عن جهاز التطوير؛ وللتحديث، انسخ البيانات احتياطيًا قبلًا، واختبر على نسخة، وجهّز رجوعًا.

حالة مصغّرة متسلسلة — ياسين يسلّم إدارة تجارته لدى العميل

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

حالة مستقلة لهذا القسم: تعود في الدرس والمخطط والسكريبت وتحدي 48 ساعة للقسم 4.4.

1. سلسلة التسليم

التطوير شيء، والتسليم شيء آخر. يوفّر WinDev سلسلة كاملة. (1) توليد الملف التنفيذي: ننتج البرنامج من المشروع، باختيار الإعداد (32/64 بت، خيارات). (2) المكتبة: يمكن تعبئة عناصر المشروع (نوافذ، تقارير، استعلامات) في ملف مرافق للملف التنفيذي. (3) برنامج التثبيت: يولّد معالج مثبّتًا كاملًا (ملفات، اختصارات، متطلبات، قاعدة بيانات، إلغاء تثبيت). (4) التحديث التلقائي: آلية مدمجة تسمح للتطبيق المنشور بـاكتشاف إصدار جديد وتثبيته — راحة كبيرة بمجرد تجاوز عدد قليل من الأجهزة.

2. لا تنسَ شيئًا واختبر على جهاز نظيف

نقاط اليقظة في نشر ناجح. (1) لا تنسَ شيئًا: الملف التنفيذي وحده لا يكفي عمومًا — يلزم framework WinDev (مكتبات التشغيل)، والوصولات الأصلية إلى القاعدة، والصور والموارد، والتقارير، وملفات الإعداد، والخطوط الخاصة. النشر الناقص يظهر على شكل أخطاء عند بدء التشغيل. (2) اختبر على جهاز نظيف، مختلف عن جهاز التطوير: هذه الطريقة الوحيدة لرصد ما لديك «زائدًا» على جهازك — إنها القاعدة الذهبية للنشر. جهازك يحتوي كل شيء مسبقًا، والتطبيق يعمل عليه بالضرورة، وهذا يحجب النواقص.

3. إدارة البيانات والتحديثات

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

خطأ شائع في الفهم: «الملف التنفيذي وحده يكفي لتسليم تطبيق؛ ونختبر عندنا، فالأمر سواء عند العميل؛ والتحديث لا يحتاج نسخًا احتياطيًا». لا، ثلاثة أخطاء. الملف التنفيذي وحده ناقص: كثيرًا ما ينقصه framework، والوصولات الأصلية، والموارد، والخطوط. الاختبار عندنا لا يثبت شيئًا، لأن جهاز التطوير يحتوي كل شيء مسبقًا: فقط جهاز نظيف يكشف النواقص. والتحديث الذي يعدّل بنية البيانات يستلزم نسخًا احتياطيًا مسبقًا — وياسين يختبر أولًا على نسخة من البيانات الحقيقية.
من الورشة إلى جهاز العميل التوليد، والتعبئة، والتثبيت، والاختبار على جهاز نظيف، ثم التحديث مع الحفاظ على البيانات. التوليد والمكتبة ملفتنفيذي + عناصربرنامج التثبيت ملفات،متطلبات، قاعدةاختبار جهاز نظيفوالتحديث بيانات محفوظة، رجوع
التوليد، والتعبئة، والتثبيت، والاختبار على جهاز نظيف، ثم التحديث مع الحفاظ على البيانات.
نص المخطط (SEO / قارئات الشاشة / الترجمة): 1) ياسين، مطوّر WinDev في شركة صغيرة لتجارة المعدات الكهربائية في وهران، يتعلم أن التسليم يمر بسلسلة: توليد الملف التنفيذي (إعداد 32/64 بت)، مكتبة العناصر، برنامج التثبيت المولّد بمعالج (ملفات، اختصارات، متطلبات، قاعدة، إلغاء تثبيت) والتحديث التلقائي. 2) يستنتج أنه لا يجب نسيان شيء (framework، وصولات أصلية، صور، تقارير، ملفات إعداد، خطوط)، والأهم اختبار التثبيت على جهاز نظيف، وهو الطريقة الوحيدة لرصد النواقص؛ وللتحديث، يجب الحفاظ على البيانات وتطوير البنية بحذر، والنسخ الاحتياطي قبلًا وتجهيز رجوع. 3) لذلك يولّد الملف التنفيذي، وينشئ المثبّت، ويختبر على جهاز نظيف، ويضبط التحديث التلقائي، ويجهّز تحديثًا مُختبرًا على نسخة من البيانات الحقيقية. الدرس: الاختبار على جهاز نظيف هو القاعدة الذهبية للنشر.

🔎 مثال ملموس — 🔎 مثال ملموس — سلسلة التسليم

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

Chaine de livraison WinDev :
1) Generer l'executable (configuration 32/64 bits)
2) Bibliotheque : fenetres, etats, requetes empaquetes
3) Programme d'installation (assistant) : fichiers, raccourcis,
   prerequis, base, desinstallation
4) Mise a jour automatique : l'application detecte et installe
   la nouvelle version

REGLE D'OR : tester l'installation sur une MACHINE VIERGE
   -> revele le framework manquant, les acces natifs,
      les ressources, les polices, les droits

القراءة: التسليم ليس «نسخ الملف التنفيذي»: إنه سلسلة تمتد من التوليد إلى التحديث التلقائي.

الدرس: الاختبار على جهاز نظيف هو ما يفرّق بين نشر ناجح وفشل أمام المستخدم.

مفردات القسم

توليد الملف التنفيذي
إنتاج البرنامج من المشروع، باختيار الإعداد (32/64 بت، خيارات) — الخطوة الأولى في التسليم.

مثال بسيط: ياسين يولّد الملف التنفيذي لتطبيق تجارته.

ما ليس كذلك: إرسال المشروع المصدري إلى العميل.

رد فعل: إنتاج البرنامج → التوليد.

برنامج التثبيت
المثبّت المولّد بمعالج: يضع الملفات، وينشئ الاختصارات، ويثبّت المتطلبات، ويهيّئ القاعدة، ويدير إلغاء التثبيت.

مثال بسيط: ياسين يولّد المثبّت بمعالج WinDev.

ما ليس كذلك: نسخ الملفات يدويًا على كل جهاز.

رد فعل: تثبيت سليم → برنامج التثبيت.

التحديث التلقائي
آلية مدمجة تسمح للتطبيق المنشور باكتشاف إصدار جديد وتثبيته.

مثال بسيط: ياسين يضبط التحديث التلقائي للأجهزة الستة.

ما ليس كذلك: إعادة تثبيت كل جهاز يدويًا مع كل إصدار.

رد فعل: نشر إصدار → التحديث التلقائي.

الاختبار على جهاز نظيف (⚠️)
القاعدة الذهبية: اختبار التثبيت على جهاز مختلف عن جهاز التطوير، وهو الطريقة الوحيدة لرصد العناصر الناقصة (framework، وصولات أصلية، موارد).

مثال بسيط: ياسين يثبّت على جهاز نظيف ويكتشف وصولًا أصليًا منسيًا.

ما ليس كذلك: الاختبار على جهاز التطوير فقط.

رد فعل: كشف النواقص → الاختبار على جهاز نظيف.

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

مثال بسيط: ياسين يحوّل البنية على نسخة من البيانات الحقيقية قبل النشر.

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

رد فعل: التطوير دون فقدان → تطوير البنية المُختبر.

في التطبيق — تطبيقيًا — نشر تطبيق

  1. ولّد الملف التنفيذي بالإعداد الصحيح، ثم أنشئ برنامج التثبيت بالمعالج (ملفات، اختصارات، متطلبات، قاعدة)، كما فعل ياسين.
  2. تحقق من تضمين كل شيء: framework WinDev، الوصولات الأصلية إلى القاعدة، الصور، التقارير، الموارد، ملفات الإعداد.
  3. اختبر التثبيت على جهاز نظيف، مختلف عن جهاز تطويرك — الطريقة الوحيدة لكشف ما ينقص.
  4. ميّز التثبيت الأول (إنشاء القاعدة) من التحديث (الحفاظ على البيانات، تطوير البنية)؛ وانسخ احتياطيًا قبل أي تحديث وجهّز رجوعًا.
تسلّم تطبيقًا يُثبّت بشكل سليم لدى العميل، ويُحدّث دون فقدان البيانات، مع حل بديل عند المشكلة.

سكريبت خطوة بخطوة — النشر كما فعل ياسين (5 دقائق)

1) ولّد الملف التنفيذي (إعداد 32/64 بت). 2) أنشئ برنامج التثبيت بالمعالج (ملفات، اختصارات، متطلبات، قاعدة). 3) تحقق من وجود framework، والوصولات الأصلية، والصور، والتقارير، وملفات الإعداد. 4) ثبّت على جهاز نظيف وسجّل كل ما ينقص. 5) اضبط التحديث التلقائي. 6) لتحديث في الإنتاج: انسخ احتياطيًا، واختبر التحويل على نسخة من البيانات الحقيقية، وخطط خارج ساعات الذروة، وجهّز رجوعًا.

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

نموذج للنسخ واللصق — بطاقة النشر الخاصة بي

Generation  : executable (configuration 32/64 bits)
Bibliotheque: fenetres, etats, requetes empaquetes
Installeur  : assistant (fichiers, raccourcis, prerequis, base)
MAJ auto    : l'application detecte et installe la nouvelle version
Ne rien oublier : framework, acces natifs, images, etats, config, polices
REGLE D'OR  : test sur MACHINE VIERGE (jamais le poste de dev)
Mise a jour : sauvegarder AVANT, tester sur COPIE, retour arriere

مثبّت مولّد

ياسين يولّد مثبّتًا كاملًا بمعالج WinDev.

اختبار جهاز نظيف

ياسين يثبّت على جهاز نظيف ويرصد framework ناقصًا.

تحديث تلقائي

ياسين يضبط التطبيق لاكتشاف الإصدارات الجديدة وتثبيتها.

رجوع

ياسين يجهّز حلًا بديلًا إن سبّب الإصدار الجديد مشكلة.

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

✓ ممارسات جيدة

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

✗ أخطاء شائعة

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

النقاط الأساسية

  • سلسلة التسليم: توليد، مكتبة، مثبّت، تحديث تلقائي.
  • ⚠️ لا تنسَ شيئًا: framework، وصولات أصلية، صور، تقارير، إعداد، خطوط.
  • ⚠️ القاعدة الذهبية: اختبار التثبيت على جهاز نظيف.
  • إدارة البيانات: نسخ احتياطي قبل التحديث، اختبار على نسخة، وتجهيز رجوع.

تحدي 48 ساعة — طبّقه غدًا

كما فعل ياسين، ولّد الملف التنفيذي لتطبيقك وأنشئ برنامج تثبيته. ثبّته على جهاز نظيف (أو جهاز افتراضي نظيف) وسجّل كل ما ينقص: framework، وصولات أصلية، صور، تقارير، خطوط. صحّح المثبّت حتى يصبح التثبيت سليمًا. ثم اضبط التحديث التلقائي، وإن كانت قاعدتك ستتطور، اختبر التحويل على نسخة من البيانات الحقيقية مع الاحتفاظ بـرجوع.

قائمة الخروج من القسم
  • أولّد الملف التنفيذي وأنشئ برنامج تثبيت.
  • أتحقق من عدم نقصان شيء وأختبر على جهاز نظيف.
  • أدير البيانات عند التحديث، مع نسخ احتياطي ورجوع.
تقييم ذاتي 1-5: هل أختبر تثبيتي دائمًا على جهاز نظيف؟تقييم ذاتي 1-5: هل أعرف تحضير تحديث دون خطر على البيانات؟

أسئلة شائعة

لماذا اختبار التثبيت على جهاز نظيف ضروري؟

لأن جهاز تطويرك يحتوي مسبقًا كل ما يلزم (framework، برامج تشغيل، وصولات أصلية، خطوط، مكوّنات): التطبيق يعمل عليه بالضرورة، وهذا يحجب كل ما سينقص لدى العميل — فقط اختبار على جهاز نظيف يكشف الحقيقة. ما يكشفه الاختبار: framework ناقص أو غير مكتمل، وصولات أصلية غير منشورة، موارد منسية (صور، تقارير، إعداد، قوالب)، خطوط غائبة، حقوق غير كافية، إعدادات إقليمية مختلفة، مسارات مضمّنة. هذا هو السبب الأول لفشل النشر، ويُكتشف في أسوأ لحظة: يوم التسليم.

كيف ندير تحديثات تطبيق في الإنتاج بالفعل؟

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

تحقّق من فهمك

ما القاعدة الذهبية قبل تسليم تطبيق WinDev؟

موارد إضافية (اختياري، للتعمّق أكثر)

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