PHP واللغة العربية م . خالد الشمعة نقاط هذا العرض التقديمي بيئة التطوير الحرة المفتوحة المصدر لتطبيقات الويب طبيعة تفاعلنا مع عالم.
Download
Report
Transcript PHP واللغة العربية م . خالد الشمعة نقاط هذا العرض التقديمي بيئة التطوير الحرة المفتوحة المصدر لتطبيقات الويب طبيعة تفاعلنا مع عالم.
PHPواللغة العربية
م .خالد الشمعة
نقاط هذا العرض التقديمي
بيئة التطوير الحرة المفتوحة المصدر لتطبيقات الويب
طبيعة تفاعلنا مع عالم البرمجيات الحرة المفتوحة المصدر
مشروع PHPواللغة العربية
كيف كانت البداية؟ من صندوق الرمل إلى العالم!
منتجات المشروع وطرق االستفادة منها
ما هي الخطوات التالية؟
بيئة LAMP
نظام التشغيل Linux
مخدم الويب Apache
قاعدة البيانات MySQL
لغة البرمجية PHP, Perl, Python
أسباب االستهالك السلبي
الطابع الفردي في العمل البرمجي (ثقافة البطل)
ضعف مهارات تنظيم وتنسيق العمل الجماعي
حاجز اللغة األجنبية
فقد الثقة بالنفس ،والشعور بالتأخر زمنيا ومهاريا
أشكال المساهمة اإليجابية
طرح فكرة أو عرض اقتراح أو حتى إبداء رأي
مشاركة في اختبار أو تقييم منتج مفتوح المصدر
تعريب برمجية حرة مفتوحة المصدر
المساهمة في تطوير وبرمجة منتج مفتوح المصدر
تغيير قواعد اللعبة
علينا االنطالق من فكرة خدمة لغتنا العربية وذلك من خالل
جملة من البرمجيات والحلول المخصصة للتعامل معها.
سيكون لنا في هذا المضمار أفضلية نسبية عن سوانا
كوننا األعرف بلغتنا واألعلم بخفاياها ،وهو ما سيزيل
حاجز الرهبة أو التردد حول أهمية المشاركة التي نضيفها
إلى مجتمع البرمجيات الحرة المفتوحة المصدر.
مشروع PHPواللغة العربية
مشروع فردي بدأ في كانون الثاني /يناير 2006
هدف المشروع هو تطوير مكتبة حرة مفتوحة
المصدر من الوظائف لدعم ومعالجة النصوص
العربية بخصائصها وخصوصياتها.
الموقع على شبكة الويبwww.ar-php.org :
كيف كانت البداية؟
المشكلة :البحث عن النصوص العربية في قاعدة
MySQLللبيانات.
الحل :تم تطوير صنف ArQueryليقوم ببناء قسم
Whereمن استعالم SQLيستفيد من تقنية
Regular Expressionsلمطابقة النص العربي.
أعراض مشكلة البحث
البحث الحرفي يعجز عن التعامل مع حاالت منها:
التشكيل (برمجية لن تتطابق مع برمجية)
عالمات التثنية (مبرمجان لن تتطابق مع مبرمجين)
عالمات الجمع (مبرمجون لن تتطابق مع مبرمجين)
أخطاء شائعة (برمجية لن تتطابق مع برمجيه)
الهمزات (إنجاز لن تتطابق مع انجاز)
مثال برمجي
من صندوق الرمل إلى العالم
تم بداية نشر الصنف في موقع phpclasses.org
لألسباب التالية:
هو الموقع الذي كنت أعتمد عليه حينما كنت مستخدما سلبيا
قيود أقل صرامة من مكانز أخرى مثل PEAR
له آلية قبول تعتمد على تدقيق مشرفين من البشر
ينظم مسابقة شهرية ألفضل األصناف المنشورة
المذاق الحلو للنجاح
ArQueryحل بالمركز الثامن من بين أكثر من 60صنف
نشرت في الموقع خالل شهر شباط /فبراير .2006
خالل عام 2007تم نشر 17صنفا في إطار هذا المشروع،
حصدت 7جوائز منها 4في مركز الصدارة.
تم تأليف كتاب بعنوان PHPواللغة العربية نشرته دار شعاع
يتحدث بالتفصيل عن بعض الخوارزميات المستخدمة.
مزيد من النمو خالل 2008
تم جمع جملة األصناف المطورة ضمن مكتبة واحدة وفق
أحدث معايير البرمجة الغرضية التوجه.
تم إضافة توثيق معياري للشيفرة المصدرية.
تم بناء آلية اختبار مؤتمتة لوظائف المكتبة لضبط الجودة.
تم نقل الشيفرة المصدرية إلى مخدم CVSونشرها على
موقع sourceforge.net
التوثيق المعياري
يعد التوثيق واحدا من أهم سمات االحترافية في العمل
البرمجي ،لكنه أيضا واحد من المهام المملة كونه يستهلك
الكثير من الوقت بعيدا عن البرمجة ،لذا وجب على المحترف
أن يجد حال وسطا ما بين شغف البرمجة ورصانة التوثيق.
يهدف phpDocumentorإلى المساعدة في توليد توثيق
معياري بصيغ مثل HTML-PDF-CHMبشكل آلي انطالقا
من المالحظات والتعليقات المكتوبة في الشيفرة المصدرية.
ضبط الجودة باستخدام PHPUnit
إن إلحاق شيفرات االختبارات المؤتمتة بأي برمجية حرة مفتوحة
المصدر تمكن المستخدم من التحقق من صحة عملها على منصته،
ويمنحه مزيدا من الثقة بها كون فريق العمل المعني بتطويرها يتبع
إجراءات ضمان الجودة المتعارف عليها.
إن فائدة توفر مثل هذه االختبارات المؤتمتة يساعد أيضا كل من
يحاول تعديل أو تطوير برمجية ما على التأكد من أن التغييرات التي
قام بها لم تتسبب في ظهور أي خلل في بقية أرجاء البرمجية.
إدارة الشيفرة المصدرية
إن كنت مبرمجا تطمح للمساهمة يوما ما في أي مشروع برمجي
مفتوح المصدر ،البد لك من أن تتقن طريقة التعامل مع مخدم
CVSلتكون قادرا على استخراج الشيفرة المصدرية والحصول
عليها ،فتقوم بعد ذلك بإضافة تعديالتك إليها ،ومن ثم إيداع تلك
التعديالت التي أضفتها مجددا في مكنز الشيفرة المصدرية األصلية
للمشروع ،لتصبح جزءا منه وتكون بالتالي متاحة لآلخرين.
فوائد استخدام نظام CVS
يسمح لعدة مطورين بالعمل بشكل جماعي على ذات الملفات
يسمح لك بتتبع من قام بإجراء التعديالت؟ وأين؟ ومتى؟ ولماذا؟
دليل قوي في المحكمة إلثبات تطوير البرمجية
توفير نسخ احتياطية موزعة على أجهزة المطورين
حفظ كافة اإلصدارات بدءا من تاريخ استخدام النظام
توفير إمكانية التراجع عن أي من التعديالت التي تمت
نشر هذه الخبرات
المزيد والمزيد من التوسع
توفير المكتبة بصيغة مالئمة إلطار عمل CakePHP
ومكتبة PEARلسهولة االستخدام والتطبيق.
فتح باب المشاركة وتنظيمه في :البرمجة ،ضبط الجودة،
الكتابة ،التسويق ،الرسوميات ،مساعدة المستخدمين.
توفير الدعم في :التنصيب ،الترقية ،اإلعداد والتخصيص،
دمج وتطبيق ،حل مشاكل ،تحسين أداء ،استشارة ،تدريب.
منتجات أخرى للمشروع
التلخيص اآللي للنص العربي ،وهي ميزة متاحة في
معالجات النصوص مثل Wordأو حتى كمنتج تجاري
للويب مثل السراج من صخر
كشف التشابه اللفظي بين األسماء ،فمثال :كلينتون،
كلينتن ،كلينطون ،كلنتن ،كلنتون لها جميعا القيمة
K453فيما كلينزمان يعيد القيمة K452
المزيد من المنتجات
توليد مكافئات لفظية بأحرف عربية للكلمات اإلنجليزية،
مثال كلمة
Internetتصبح إنترنت ،وكلمة
Arizonaتصبح أريزونه ،وكذلك الوظيفة المعاكسة
لكتابة المسميات العربية بأبجدية إنجليزية ،فمثال نِزار
قبَّانِي تصبح Nizar Qab'bani
تحويل أي نص عربي يصف التاريخ إلى Timestamp
أيضا وأيضا
التحويل فيما بين صيغة التأريخ الهجري والميالدي
إضافة إلى وظائف إظهار التأريخ باألسماء العربية
لألشهر واأليام
التفقيط (كتابة األرقام بالعربية)
التعرف اآللي على مجموعة المحارف المستخدمة لنص
عربي معطى
دعم التنقيب في البيانات
تحديد التعابير االسمية أو التي تتضمن أرقاما أو تواريخ
ضمن النص ،وهي عادة ما تكون المقاطع التي تتضمن
أكبر قدر من المعلومات.
استخراج النصوص العربية الموجودة ضمن وثيقة
متعددة اللغات تستخدم مجموعة المحارف العالمية
الموحدة UTF-8في ترميزها.
!GD, PDF, Flash and VRML
جميع هذه المكتبات تتعامل مع األحرف العربية بشكل
مصمت دون أي معالجة للسياق ،فتظهر األحرف العربية
منفصلة عن بعضها البعض ضمن الكلمة الواحدة
تتيح هذه المكتبة إجراء معالجة أولية على النص العربي
ليولد سلسلة رموز UTF-8الموافقة لألشكال التي يجب
أن تظهر عليها تلك األحرف بحسب مكانها من الكلمة
تطبيقات عملية
إضافة إلى محرر TinyMCEتزوده ببعض وظائف
مشروع PHPواللغة العربية من خالل تقديم مجموعة من
األزرار الجديدة التي تنجز المهام التالية:
إدخال التاريخ الحالي باللغة العربية
إدخال التاريخ الهجري الحالي (التقويم اإلسالمي)
التفقيط :كتابة الرقم المحدد باللغة العربية
تصحيح اإلعداد الخاطئ للغة لوحة المفاتيح للنص المحدد
الترجمة اللفظية للنص اإلنجليزي المحدد بالعربية وبالعكس
ما هي الخطوات التالية؟
ضم هذا العمل إلى مكتبة PEARالمعيارية ،وربما بعدها
إنجاز نسخة مترجمة لمكتبة ،PECLمن يدري!
العمل على تقنيات تدمج ما بين اللغة العربية من جهة
والنماذج الرياضية اإلحصائية من جهة أخرى (الترجمة
اآللية بين العربية واإلنجليزية من Googleوالمشكل
اآللي المطور في مدينة الملك عبد العزيز للعلوم والتقنية)
شكرا لكم
لمزيد من المعلومات يمكن العودة إلى الموقع
المخصص لهذا المشروع على شبكة الويب على
العنوان التالي:
www.ar-php.org