vendredi 13 janvier 2017

WEBDEV


avantage de webdev : 
-rapidité de développement. On développe rapidement et facilement.
-idéal pour des développeurs qui ne maitrisent pas trop php mysql.
-convient bien pour des appli de gestion.
-support gratuit pour la version en cours de commercialisation.

désavantage de webdev :
-impossibilité d'intégrer des templates design pro disponibles sur des sites de référence (inutiles de donner les noms, vous les connaissez probablement ).
-quelques bugs sur l'interface de développement, plantage, fermeture.
-moins poussé que windev qui a plus d'années de développement derrière lui.
-des limites au niveau développement, même si on peut intégrer des champs html par exemple.

Pour résumer, pour des appli de gestion classique, je préfère webdev, par contre pour des sites plus généraliste, je préfère php mysql.

jeudi 12 janvier 2017

WINDEV: ماهي لغة الجافا Java ""Quelle est la langue de Ja...

WINDEV: ماهي لغة الجافا Java ""Quelle est la langue de Ja...: ماهي لغة الجافا Java الـ جافا هي لغة برمجة من الجيل الثالث (المستوى الثالث) تم اصدارها لأول مرة عام 1995 عن طريق شركة صن ميكروسيستمس. و ...

ماهي لغة الجافا Java ""Quelle est la langue de Java Java""

ماهي لغة الجافا Java

الـ جافا هي لغة برمجة من الجيل الثالث (المستوى الثالث) تم اصدارها لأول مرة عام 1995 عن طريق شركة صن ميكروسيستمس. و تتميز هذه اللغة بأنها كائنية التوجه كليا مما يجعلها مناسبة جدا لتطوير النظم المعقدة جدا و في نفس الوقت فهي بسيطة و سهلة الاستخدام فيمكن استعمالها بسهولة لتطوير برمجيات بسيطة كذالك.
من مميزات الجافا ان جميع البرمجيات التي تكتب بالجافا لا يتم ترجمتها للغة الآلة مثل باقي لغات البرمجة بل يتم ترجمتها إلى ما يسمى بالـ ByteCode (تحفظ كملف بإمتداد “.class”) وهذه الأخيرة عبارة عن لغة وسيطة بين لغة البرمجة و لغة الآلة بالتالي فإن برمجيات الجافا تعمل على “جهاز جافا الإفتراضي” (Java Virtual Machine)و هو عبارة عن برنامج مشغل لبرمجيات الجافا، مما يجعل برمجيات الجافا غير قابلة للتشغيل في حالة عدم وجود هذا البرنامج و لكن في نفس الوقت فإن هذه الخاصية تجعل لغة الجافا أقوى بكثير من نظيراتها حيث أنه بفضل هذه الخاصية يمكننا تشغيل اي برنامج جافا كتب على أي نظام تشغيل على أي نظام تشغيل آخر دون الحاجة لإعادة عملية البرمجة والترجمة.
صنعت لغة جافا حتى تقدم بعض الخدمات المتميزة عن لغات الأخرى و هي :
  • الإنتقالية (portability) : و هي امكانية تشغيل برمجيات الجافا على أي نظام تشغيل كما ذكرنا بالأعلى
  • الأمان (security) : كون برمجيات الجافا لا تعمل إلا عن طريق جهاز جافا الإفتراضي فبالتالي فإن هذا الجهاز يضع  حدودا لإمكانيات بعض البرمجيات مما يعيق إمكانية صنع برمجيات مخربة عن طريق هذه اللغة
  • كائنية التوجه (Object Oriented): أن ابسط برنامج يمكن عمله بالجافا لا بد ان يتبع توجه البرمجة الكائنية التي تسهل الكثير و الكثير من المشاكل بالنسبة لمتطور البرمجيات كما سترون في تدوينات قادمة
  • —- (Distributed): يمكن صنع برامج جافا تعمل على الشبكة و تتخاطب مع بعضها البعض بكل سهولة.
مع أن لغة الجافا تختلف كثيرا عن قريناتها في طريقة عملها و في خصائصها إلا أنها تتشابه كثيرا في قواعد تركيب و كتابة شفرتها بلغة الـ C++ المشهورة ، مما يسهل عملية تعلم الجافا لمبرمجي هذه اللغة ، أما إذا كنت جديدا في عالم البرمجة فلا عليك فإننا سنأخذك خطوة بخطوة إلى داخل عالم البرمجة بالجافا ثم سيكون الأمر بين يديك لتطوير نفسك بالتدريب المتواصل.

تاريخ الجافا
بدأ ظهور الجافا في العالم كمشروع لشركة صن يسمى “اواك” (OAK) في عام 1991 و تحد قيادة أب الجافا “جيمس غوسلينغ“. كان هدف المشروع صنع لغة برمجمة تعمل على اي جهاز صغير، خلال فترة صغيرة تغيرت أهداف المشروع و تغير المشروع نفسه إلى جافا وقد اصدر الإصدار الأول منها عام 1995. كان الإصدار الأول من جافا يهتم بتوفير امكانية صنع بريمجات الويب ( التي تعمل في متصفح الانترنت) و خلال و قت وجيز اصبحت معظم متصفحات الإنترنت تدعم الجافا بسبب امكانيات العالية و الثبات والأمان التي وفرتهم الجافا في تلك الفترة.
في عام 1998 تم تطوير الجافا بشكل جذري و اصبحت تسمى جافا2 و من اهم التطويرات التي وضعت في هذه الإصدارة هي امكانيات الجافا في الواجهة الرسومية للمستخدم.من ثم كان هنالك العديد من تطويرات للجافا هنا نوجزها
JDK 1.1.4 (Sparkler) September 12, 1997
JDK 1.1.5 (Pumpkin) December 3, 1997
JDK 1.1.6 (Abigail) April 24, 1998
JDK 1.1.7 (Brutus) September 28, 1998
JDK 1.1.8 (Chelsea) April 8, 1999
J2SE 1.2 (Playground) December 4, 1998
J2SE 1.2.1 (none) March 30, 1999
J2SE 1.2.2 (Cricket) July 8, 1999
J2SE 1.3 (Kestrel) May 8, 2000
J2SE 1.3.1 (Ladybird) May 17, 2001
J2SE 1.4.0 (Merlin) February 13, 2002
J2SE 1.4.1 (Hopper) September 16, 2002
J2SE 1.4.2 (Mantis) June 26, 2003
J2SE 5.0 (1.5.0) (Tiger) September 29, 2004
Java SE 6 (1.6.0) (Mustang) December 11, 2006
Java SE 7 (1.7.0) (Dolphin) قريبا

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

منصات الجافا
تقدم لغة برمجة الجافا اكثر من منصة عمل للمبرمجين و مطوري النظمكل من هذه المنصات لها خصائص و تقنيات تختلف عن بعضها البعض مما يجعل كل من هذه المنصات متخصصة في تطوير انواع معينة من برمجيات الجافا دون غيرها.
فلنرى كل من هذه المنصات و ما تقدمه لنا كمبرمجين و مطوري نظم:
  • Java 2 Standard EditionJ2SE :تعتبر هذه المنصة الأكثر استخداما في الجافا لتطوير برمجيات المكتبية و (Appletes).عموما توفر هذه المنصة وحدات البناء الأساسية لأي برنامج جافا مثلا:
    • الأمور الأساسية بالجافا : توفر اساسيات الكائنات و وحدات تعريف المتغيرات و النصوص و غيرها من الأمور الأساسية في لغة الجافا في رزمة مثل Java.lang
    • إمكانيات القراءة و الكتابة : التي توفر وسيلة الكتابة و القراءة للبرمجيات إما من و في الملفات، قواعد البيانات ، الشبكات و غيرها متوفرة في رزمة Java.io
    • المكتبات المرئية : هي مكتبات تساعد في تكوين الواجهة الرسومية للمستخدم و أشهر رزمتين لتكوين الواجهات الرسومية هم : Java.awt, and Javax.swing
    • التعامل مع قواعد البيانات : توفير امكانية إدخال البيانات و البحث عنها، أغلبها في رزمة java.sqlو هنالك غير هذه الكثير من الرزم المفيدة المتوفرة مع هذه المنصة
  • Java 2 Micro Edition J2ME:مجموعة من مكتبات الجافا التي توفر امكانية صنع بريمجيات تعمل في بيئة تفتقر لقوة الحوسبة الكاملة مثل الأجهزة الصغيرة و اجهزة الهاتف النقالاشتهرت الـ J2ME بسبب توفيرها بيئة سهلة لتصميم برمجيات اجهزة الهاتف النقال و ايضا امكانية ان يعمل البريمج على اكثر من نوع من انواع الهواتف.
  • Java 2 Enterprise Edition J2EE:هذه المنصة تستعمل لتطوير بريمجات الجافا التي تعمل على جهة الخادم مثل صفحات الـ (JSP) و السيرفرليتس و غيرها من الأدوات و البريمجات المستعملة في تطوير المواقع و البرامج الشبكية.
كما ان هنالك منصات للجافا لا تأتي مع الجافا نفسها ولا هي من صنع صن ميكروسيستمس على سبيل المثال (وليس الحصر) الـ GWT والـ android و هاتين المنصتين هما من صنع جوجل الأولى لبرمجة تطبيقات الويب و الثانية لتطوير برامج تعمل على نظام تشغيل جوجل للجوالات الأندرويد.

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

mercredi 11 janvier 2017

Site devdocs guide le plus complet aux langages de programmation et développement Web

Le meilleur site pour les langages de programmation web Aktar merveilleuse
Ce site fournit un guide pour les plus différents langages de programmation tels que C ++, ainsi que pour Web langages de programmation ainsi que des langages tels que css web design, qui combine toutes ces langues en un seul endroit qui faciliterait le passage d'une langue à l'autre ..

Certaines bibliothèques sont Désactiver handicapés regroupés au sein du Département des personnes handicapées, vous pouvez être activé en cliquant à côté du nom de la langue bouton Activer comme indiqué dans l'image.
Vous pouvez également naviguer sur le site sans l'Internet, fournissant un moyen intelligent pour sauver complet répertoire ou langue spécifique bibliothèque dans le cache du navigateur, et devrait IndexedDB navigateur prend en charge et est disponible dans le navigateur Firefox a été testé avec succès.



     lien de site http://devdocs.io/:

اكتر من رائع موقع دليل شامل لمعظم لغات البرمجة وتطوير الويب devdocs

يوفر هذا الموقع دليل لمعظم لغات البرمجة المختلفة مثل c++ وكذلك لغات برمجة الويب وكذلك لغات تصميم الويب مثل css، حيث يجمع كل تلك اللغات في مكان واحد يسهل معه الانتقال من لغة إلى اخرى..
بعض المكتبات غير مفعلة Disable مجمعة في قسم Disabled يمكنك تفعليها عن طريق نقر زر Enable المجاور لاسم اللغة كما هو موضح في الصورة.
كما يمكنك تصفح الموقع بدون انترنت حيث يوفر طريقة ذكية لحفظ الدليل كاملاً أو مكتبة لغة معينة في ذاكرة المتصفح، وينبغي أن يدعم المتصفح IndexedDB وهي متوفرة في متصفح Firefox وقد تمت تجربته بنجاح.

    http://devdocs.io/رابط الموقع :

dimanche 8 janvier 2017

WinDev : Le développement par les tests تطوير طريق اختبار

La conception d'un logiciel, site internet, web service, API… comporte différentes étapes : • analyse ; • spécifications techniques et fonctionnelles ; • développement ; • tests (unitaires, intégrations, validations) ; • recettes ; • maintenance. Cette liste n'est pas exhaustive, elle peut varier, être réduite ou complétée selon le contexte technique, client, budgétaire… La conception d'un logiciel et ses étapes s'orientent autour du cycle de développement, il en existe plusieurs : • modèle en cascade ; • cycle en V ; • cycle en spirale ; • cycle semi-itératif ; • cycle itératif. Chaque cycle possède ses avantages et ses inconvénients, ainsi que des défenseurs et des détracteurs. Ils ont tous un point commun, placer en premier l'écriture du code avant la phase de tests dans le cycle de développement. Cet ordre chronologique paraît logique, on teste ce que l'on vient de produire, pourtant une autre technique préconise l'écriture des tests avant l'écriture de l'application.
I - Le développement par les tests
Commençons cet article par la définition du TDD (source Wikipédia) : Le Test Driven Development (TDD) ou en français le développement piloté par les tests est une technique de développement de logiciel qui préconise d'écrire les tests unitaires avant d'écrire le code source d'un logiciel. Contrairement à d'autres cycles de développement logiciel (modèle en cascade, cycle itératif) plaçant les tests en fin de cycle, le TDD place les tests en première place dans le cycle de développement. C'est une méthode dans laquelle l'écriture des tests automatisés dirige l'écriture du code source.
La mise en place de la méthode TDD offre de nombreux avantages au sein du développement d'un logiciel. Voici les avantages apportés par l'emploi de cette méthode. 
Les tests unitaires sont réellement écrits
Comme évoqué dans les autres cycles de développement, les tests sont effectués à la fin d'un projet. D'après plusieurs enquêtes, 70 % des projets informatiques se terminent en retard, pour diminuer ce retard la phase de test est souvent réduite au strict minimum. Le fait de commencer par rédiger les tests permet de s'assurer que les tests seront écrits. 
Fiabilité du code 
En suivant la méthode traditionnelle, le développeur écrit une fonctionnalité et va ensuite procéder aux tests afin de s'assurer que ce qu'il a codé est valide. Mais inconsciemment le développeur teste son code comme il l'a conçu, le nombre de bogues trouvés est peu important et le risque de passer à côté de bogues est élevé.
Analyse détaillée et plus précise 
En effet, lorsque le développeur écrit du code de test pour tester une implémentation qui n'existe pas encore, il va devoir penser aux détails de la méthode dont il a besoin pour écrire la spécification. Aussi, il va alors s'interroger sur le nom de la méthode, sa valeur de retour, ses paramètres, son comportement…, cela permet de clarifier la conception et d'écrire seulement du code utile.
Vérification démontrable,
 répétable et automatisée Le fait de disposer d'un grand nombre de tests permet de s'assurer de la solidité et garantie du code. 
Absence de régression
 Lorsqu'un développeur modifie une méthode existante lors d'une phase de factorisation, il peut relancer les tests unitaires afin de s'assurer que sa modification n'a pas impacté l'existant et bénéficie d'un retour immédiat. 
Couplage plus faible et conception simplifiée 
Le TDD impose d'écrire le code des tests en peu de temps ce qui amène le développeur à concevoir du code avec un faible couplage et avec un niveau relativement simple. Malgré les avantages listés ci-dessus, il faut bien comprendre que le TDD n'est pas une réponse miracle aux problèmes de développements dans les équipes, il n'empêche pas les bogues et les erreurs d'analyse, de conception… Quand on évoque le TDD, un inconvénient revient souvent : 
Plus de travail 
Depuis longtemps le développeur n'aime pas effectuer les tests, il trouve cette partie du travail fastidieuse, non valorisante et limite hors cadre de sa fonction. En écrivant des tests unitaires, le développeur a plus de travail.

mercredi 4 janvier 2017

ماهي افضل طريقة لدخول عالم البرمجة و برمجة مواقع أو برمجة برامج


لعل من اهم الأشياء التي تساعدك على تحديد لغتك البرمجية هي صنفك البرمجي ، فالبرمجة تنقسم الى صنفين اما برمجة الويباو برمجة البرامج ، فيجب عليك هنا ان تحدد ميولك الشخصي ، هل تريد صناعة مواقع ؟ ام تريد صناعة برامج ؟ و بالتأكيد رغبتك في دخول عالم البرمجة كانت مبنية على رغبة كبيرة في الوصول الى شيء معين او بالأحرى انطلاقا من تسائل معين ، فقد يكون سبب دخولك لميدان البرمجة مبني على سؤال : كيف صنع الفايسبوك ؟ او على سؤال كيف تصنع برامج الحماية ؟ و انطلاقا من هذه الرغبة او من هذا التسائل بمكنك تحديد صنفك البرمجي
فلو كنت تريد التمرس في برمجة الويب فليس لديك خيارات كثيرة :
1- تعلم الـ HTML و Css
2- تعلم احدة اللغتين ال php أو الـ Asp ، انصك بتعلم الـ asp لكن في المقابل عليك دفع مبلغ لـ Microsoft لنشر مواقعك المبرمجة بها غير ذلك فالأفضل هي الـ php لأنها بسيطة و جميلة و مفتوحة المصدر
3- تعلم الـ Javascripte
اما اذا كنت تريد التمرس في برمجة البرامج فتابع المعايير القادمة
ما هو هدفك من البرمجة ؟
تعم ان هدفك في البرمجة يحدد بطريقة مباشرة اللغة البرمجية التي تناسبك . فما هو هدفك من البرمجة ؟
اغلب من يدخل ميدان البرمجة فهو يدخلها لهدفان لا ثالت لهما. و هما :
  • الاستمتاع بالبرمجة لأنك تجدها ممتعة و تعشق التحديات ( هنا تسمى انت بهاوي )
  • الرغبة في الاحتراف و اتخاد البرمجة كعمل (تسمى هنا بمحترف )
فلغات البرمجة منها الصعبة و الاحترافية و منها السهلة و البسيطة لكنها غير احترافية ، اي انك لو كنت هاوٍ فعليك اختيار اللغة البرمجية الأكثر سهولة التي توفر لك كل متطلبات برمجة برامج بسيطة فقط حسب امكانياتك و ظروفك (وقت فراغك ) اما لو كنت ترغب في الاحتراف فعليك اختيار لغات البرمجية الصعبة الاحترافية التي تمكنك من التعامل مع مختلف مكونات الحاسوب المرنة و الصلبة ، و تستطيع من خلالها برمجة اي شيء يخطر على بالك انطلاقا من مؤهلاتك و تكريش وقتك
اما اللغات البرمجية التي انصح بها الهواة فهي : Vb6 - Pascal - Go - Windev
رغم ان هناك البعض من سيعارضني بخصوص الـ Windev لانها لغة تبسيط اكثر مما هي لغة هواية
اما اللغات البرمجية الاحترافية و التي تحتوي على تقنيات عالية : C++ C Delphi Vb.net C# Java
و غيرها من اللغات
الآن لو كنت هاوي فلديك خيارين البرمجة بالكود فقط انصحك باختيار الـ Pascal او البرمجة بتقنية الـ Rad (سحب جر ) انصك بالـ
Vb6و لو انت تريد الاحتراف فتابع المعيار الثالت .

ما نوع البرامج الي تريد برمجتها ؟
تحدثنا في النوع الأول عن الصنف اما الآن فسنتحدث عن نوع البرامج التي تريد برمجتها
فالبرامج انواع كثيرة فنحن نجد على الحاسوب العابا و برامج مكتبية و تطبيقات و برامج تسيير و برامج حماية و الكثير من الأشياء الاخرى
فاعتمادا على نوع البرامج التي تريد برمجتها تحدد لغتك البرمجية
فلو كنت تريد التمرس في صناعة الألعاب فلديك خيارات محدودة هي C# و ++C و Java هذا لا يعني ان اللغات الاخرى لا يمكن صناعة العاب بها ، و لكن هذه اللغات احترافية في صناعة الألعاب فالـ ++C متلا توفر لك تعامل مثالي مع الـ OpenGL لصناعة الالعاب ، و يمكنك اختيار اي لغة انطلاقا من درجة الصعوبة ، فلو كنت تريد صعوبة اكثر توجه الى الـ ++C و اقل C# و Java
مع مراعات علاقة الصعوبة بمدى الاحترافية .
اما لو كنت صناعة برامج تطبيقية مكتبية عادية مثل برنامج تحويل العملات ، او برنامج قارئ PDF و الكثير من البرامج التطبيقية الأخرى فاي لغة برمجية كافية للقيام بذلك بكفاءة لكن الـ Java ستكون الخيار الأكثر ملائمة بالنسبة لبرامج التسيير اي برامج تسيير شركات و مدارس و مكتبات و غيرهم فمعظم اللغات كفيلة بصناعتها ، لكن لغات برمجية كـ Vb.net و Delphi و كدى الـ Windev تعد الأفضل في هذا المجال ، لتعاملها السلس مع قواعد البيانات بالنسبة لبرامج الحماية - التكسير و الضغط و التشفير و التعامل مع مكونات الحاسوب و غيرها من الوظائف الاحترافية جدا فان الخيار الأمثل سيكون لغة احترافية كالـ C او الـ ++C رغم ان هاتان اللتان يمكناك ايضا من صناعة برامج متنوعة مكتبية - للتسيير و تطبيقية بسيطة الا ان درجة صعوبتهما تجعل من صناعة برامج عادية مثل تلك البرامج امرا صعبا و عاديا في نفس الوقت ، فما الذي ساستفيده من تضييع الوقت و حرق خلايا العصبية في سبيل انشاء برنامج يمكنني انشائه بسهولة بلغة اخرى

افضل الطرق لتجاوز حظر المواقع TOR ، VPN و Linux

طرق ليس للاختراق بل للتوعية وحماية اجهزتنا وفي المستقبل ساشرح طرق و TRUC سهلة ل KALI و كذلك metasploit  فلنبدء إذا: هناك العديد من...