aboutsummaryrefslogtreecommitdiff
path: root/files/ar/learn/server-side
diff options
context:
space:
mode:
Diffstat (limited to 'files/ar/learn/server-side')
-rw-r--r--files/ar/learn/server-side/django/index.html70
-rw-r--r--files/ar/learn/server-side/express_nodejs/index.html77
-rw-r--r--files/ar/learn/server-side/index.html58
3 files changed, 205 insertions, 0 deletions
diff --git a/files/ar/learn/server-side/django/index.html b/files/ar/learn/server-side/django/index.html
new file mode 100644
index 0000000000..27acf45d5e
--- /dev/null
+++ b/files/ar/learn/server-side/django/index.html
@@ -0,0 +1,70 @@
+---
+title: Django Web Framework (Python)
+slug: Learn/Server-side/Django
+tags:
+ - Beginner
+ - CodingScripting
+ - Intro
+ - Learn
+ - NeedsTranslation
+ - Python
+ - Server-side programming
+ - TopicStub
+ - django
+translation_of: Learn/Server-side/Django
+---
+<div>{{LearnSidebar}}</div>
+
+<p><font>Django هو إطار ويب بشعبية كبيرة ومميز بالكامل ، مكتوب بلغة Python. </font><font>توضح لك هذه الوحدة سبب كون Django أحد أكثر أطر خادم الويب شيوعًا ، وكيفية إعداد بيئة تطوير ، وكيفية البدء في استخدامه لإنشاء تطبيقات الويب الخاصة بك.</font></p>
+
+<h2 id="المتطلبات_الأساسية"><font><font>المتطلبات الأساسية</font></font></h2>
+
+<p><font><font>قبل البدء في هذه الوحدة ، لا تحتاج إلى أي معرفة بجانغو. </font><font>من الناحية المثالية ، ستحتاج إلى فهم برمجة الويب من جانب الخادم وأطر الويب من خلال قراءة الموضوعات في </font><font>وحدة </font></font><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps"><font><font>الخطوات الأولى لبرمجة موقع الويب من جانب الخادم</font></font></a><font><font> .</font></font></p>
+
+<p><font><font>يوصى </font><font>بمعرفة عامة بمفاهيم البرمجة  </font></font><a href="https://developer.mozilla.org/en-US/docs/Glossary/Python"><font><font>Python</font></font></a><font><font> ، ولكنها ليست ضرورية لفهم المفاهيم الأساسية.</font></font></p>
+
+<div class="note">
+<p><strong>Note</strong>: Python is one of the easiest programming languages for novices to read and understand. That said, if you want to understand this module better, there are numerous free books and tutorials available on the Internet to help you out (new programmers might want to check out the <a href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">Python for Non Programmers</a> page on the python.org wiki).</p>
+</div>
+
+<h2 id="Guides">Guides</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Introduction">Django introduction</a></dt>
+ <dd>In this first Django article we answer the question "What is Django?" and give you an overview of what makes this web framework special. We'll outline the main features, including some advanced functionality that we won't have time to cover in detail in this module. We'll also show you some of the main building blocks of a Django application, to give you an idea of what it can do before you set it up and start playing.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/development_environment">Setting up a Django development environment</a></dt>
+ <dd>Now that you know what Django is for, we'll show you how to set up and test a Django development environment on Windows, Linux (Ubuntu), and macOS — whatever common operating system you are using, this article should give you what you need to be able to start developing Django apps.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Tutorial_local_library_website">Django Tutorial: The Local Library website</a></dt>
+ <dd>The first article in our practical tutorial series explains what you'll learn, and provides an overview of the "local library" — an example website we'll be working through and evolving in subsequent articles.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/skeleton_website">Django Tutorial Part 2: Creating a skeleton website</a></dt>
+ <dd>This article shows how you can create a "skeleton" website project as a basis, which you can then go on to populate with site-specific settings, urls, models, views, and templates.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Models">Django Tutorial Part 3: Using models</a></dt>
+ <dd>This article shows how to define models for the <em>LocalLibrary</em> website — models represent the data structures we want to store our app's data in, and also allow Django to store data in a database for us (and modify it later on). It explains what a model is, how it is declared, and some of the main field types. It also briefly shows a few of the main ways you can access model data.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Admin_site">Django Tutorial Part 4: Django admin site</a></dt>
+ <dd>Now that we've created models for the <em>LocalLibrary </em>website, we'll use the Django Admin site to add some "real" book data. First we'll show you how to register the models with the admin site, then we'll show you how to login and create some data. At the end we show some ways in which you can further improve the presentation of the admin site.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Home_page">Django Tutorial Part 5: Creating our home page</a></dt>
+ <dd>We're now ready to add the code to display our first full page — a home page for the <em>LocalLibrary</em> that shows how many records we have of each model type and provides sidebar navigation links to our other pages. Along the way we'll gain practical experience in writing basic URL maps and views, getting records from the database, and using templates.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Generic_views">Django Tutorial Part 6: Generic list and detail views</a></dt>
+ <dd>This tutorial extends our <em>LocalLibrary</em> website, adding list and detail pages for books and authors. Here we'll learn about generic class-based views, and show how they can reduce the amount of code you have to write for common use cases. We'll also go into URL handling in greater detail, showing how to perform basic pattern matching.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Sessions">Django Tutorial Part 7: Sessions framework</a></dt>
+ <dd>This tutorial extends our <em>LocalLibrary</em> website, adding a session-based visit-counter to the home page. This is a relatively simple example, but it does show how you can use the session framework to provide persistent behaviour for anonymous users in your own sites.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Authentication">Django Tutorial Part 8: User authentication and permissions</a></dt>
+ <dd>In this tutorial we'll show you how to allow users to login to your site with their own accounts, and how to control what they can do and see based on whether or not they are logged in and their <em>permissions</em>. As part of this demonstration we'll extend the <em>LocalLibrary</em> website, adding login and logout pages, and user- and staff-specific pages for viewing books that have been borrowed.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Forms">Django Tutorial Part 9: Working with forms</a></dt>
+ <dd>In this tutorial we'll show you how to work with <a href="/en-US/docs/Web/Guide/HTML/Forms">HTML Forms</a> in Django, and in particular the easiest way to write forms to create, update, and delete model instances. As part of this demonstration we'll extend the <em>LocalLibrary</em> website so that librarians can renew books, and create, update, and delete authors using our own forms (rather than using the admin application).</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Testing">Django Tutorial Part 10: Testing a Django web application</a></dt>
+ <dd>As websites grow they become harder to test manually — not only is there more to test, but, as the interactions between components become more complex, a small change in one area can require many additional tests to verify its impact on other areas. One way to mitigate these problems is to write automated tests, which can easily and reliably be run every time you make a change. This tutorial shows how to automate <em>unit testing</em> of your website using Django's test framework.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/Deployment">Django Tutorial Part 11: Deploying Django to production</a></dt>
+ <dd>Now you've created (and tested) an awesome <em>LocalLibrary</em> website, you're going to want to install it on a public web server so that it can be accessed by library staff and members over the Internet. This article provides an overview of how you might go about finding a host to deploy your website, and what you need to do in order to get your site ready for production.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/web_application_security">Django web application security</a></dt>
+ <dd>Protecting user data is an essential part of any website design. We previously explained some of the more common security threats in the article <a href="https://developer.mozilla.org/en-US/docs/Web/Security">Web security</a> — this article provides a practical demonstration of how Django's built-in protections handle such threats.</dd>
+</dl>
+
+<h2 id="Assessments">Assessments</h2>
+
+<p>The following assessment will test your understanding of how to create a website using Django, as described in the guides listed above.</p>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/Server-side/Django/django_assessment_blog">DIY Django mini blog</a></dt>
+ <dd>In this assessment you'll use some of the knowledge you've learned from this module to create your own blog.</dd>
+</dl>
diff --git a/files/ar/learn/server-side/express_nodejs/index.html b/files/ar/learn/server-side/express_nodejs/index.html
new file mode 100644
index 0000000000..4a5dc0699f
--- /dev/null
+++ b/files/ar/learn/server-side/express_nodejs/index.html
@@ -0,0 +1,77 @@
+---
+title: Express web framework (Node.js/JavaScript)
+slug: Learn/Server-side/Express_Nodejs
+tags:
+ - Beginner
+ - CodingScripting
+ - Express
+ - Express.js
+ - Intro
+ - JavaScript
+ - Learn
+ - NeedsTranslation
+ - Node
+ - Server-side programming
+ - TopicStub
+ - node.js
+translation_of: Learn/Server-side/Express_Nodejs
+---
+<div>{{LearnSidebar}}</div>
+
+<p class="summary">Express is a popular unopinionated web framework, written in JavaScript and hosted within the Node.js runtime environment. This module explains some of the key benefits of the framework, how to set up your development environment and how to perform common web development and deployment tasks.</p>
+
+<h2 id="Prerequisites">Prerequisites</h2>
+
+<p>Before starting this module you will need to understand what server-side web programming and web frameworks are, ideally by reading the topics in our <a href="/en-US/docs/Learn/Server-side/First_steps">Server-side website programming first steps</a> module. A general knowledge of programming concepts and <a href="/en-US/docs/Web/JavaScript">JavaScript</a> is highly recommended, but not essential to understanding the core concepts.</p>
+
+<div class="note">
+<p><strong>Note</strong>: This website has many useful resources for learning JavaScript<em> in the context of client-side development</em>: <a href="/en-US/docs/Web/JavaScript">JavaScript</a>, <a href="/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a>, <a href="/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics">JavaScript Basics</a>, <a href="/en-US/docs/Learn/JavaScript">JavaScript</a> (learning). The core JavaScript language and concepts are the same for server-side development on Node.js and this material will be relevant. Node.js offers <a href="https://nodejs.org/dist/latest-v10.x/docs/api/">additional APIs</a> for supporting functionality that is useful in browserless environments (e.g., to create HTTP servers and access the file system), but does not support JavaScript APIs for working with the browser and DOM.</p>
+
+<p>This guide will provide some information about working with Node.js and Express, and there are numerous other excellent resources on the Internet and in books — some of these linked from <a href="http://stackoverflow.com/a/5511507/894359">How do I get started with Node.js</a> (StackOverflow) and <a href="https://www.quora.com/What-are-the-best-resources-for-learning-Node-js?">What are the best resources for learning Node.js?</a> (Quora).</p>
+</div>
+
+<h2 id="Guides">Guides</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction">Express/Node introduction</a></dt>
+ <dd>In this first Express article we answer the questions "What is Node?" and "What is Express?" and give you an overview of what makes the Express web framework special. We'll outline the main features and show you some of the main building blocks of an Express application (although at this point you won't yet have a development environment in which to test it).</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment">Setting up a Node (Express) development environment</a></dt>
+ <dd>Now that you know what Express is for, we'll show you how to set up and test a Node/Express development environment on Windows, Linux (Ubuntu), and Mac OS X. Whatever common operating system you are using, this article should give you what you need to be able to start developing Express apps.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Tutorial_local_library_website">Express Tutorial: The Local Library website</a></dt>
+ <dd>The first article in our practical tutorial series explains what you'll learn and provides an overview of the "local library" example website we'll be working through and evolving in subsequent articles.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website">Express Tutorial Part 2: Creating a skeleton website</a></dt>
+ <dd>This article shows how you can create a "skeleton" website project, which you can then go on to populate with site-specific routes, templates/views, and databases.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose">Express Tutorial Part 3: Using a Database (with Mongoose)</a></dt>
+ <dd>This article briefly introduces databases for Node/Express. It then goes on to show how we can use <a href="http://mongoosejs.com/">Mongoose</a> to provide database access for the <em>LocalLibrary</em> website. It explains how object schema and models are declared, the main field types, and basic validation. It also briefly shows a few of the main ways you can access model data.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/routes">Express Tutorial Part 4: Routes and controllers</a></dt>
+ <dd>In this tutorial we'll set up routes (URL handling code) with "dummy" handler functions for all the resource endpoints that we'll eventually need in the <em>LocalLibrary</em> website. On completion, we'll have a modular structure for our route handling code, that we can extend with real handler functions in the following articles. We'll also have a really good understanding of how to create modular routes using Express.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data">Express Tutorial Part 5: Displaying library data</a></dt>
+ <dd>We're now ready to add the pages that display the <em>LocalLibrary</em> website books and other data. The pages will include a home page that shows how many records we have of each model type and list and detail pages for all of our models. Along the way, we'll gain practical experience in getting records from the database and using templates.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/forms">Express Tutorial Part 6: Working with forms</a></dt>
+ <dd>In this tutorial we'll show you how to work with <a href="/en-US/docs/Web/Guide/HTML/Forms">HTML Forms</a> in Express, using Pug, and in particular how to write forms to create, update, and delete documents from the database.</dd>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/deployment">Express Tutorial Part 7: Deploying to production</a></dt>
+ <dd>Now you've created an awesome <em>LocalLibrary</em> website, you're going to want to install it on a public web server so that it can be accessed by library staff and members over the Internet. This article provides an overview of how you might go about finding a host to deploy your website, and what you need to do in order to get your site ready for production.</dd>
+</dl>
+
+<h2 id="See_also">See also</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Learn/Server-side/Express_Nodejs/Installing_on_PWS_Cloud_Foundry">Installing LocalLibrary on PWS/Cloud Foundry</a></dt>
+ <dd>This article provides a practical demonstration of how to install <em>LocalLibrary</em> on the <a href="http://run.pivotal.io">Pivotal Web Services PaaS cloud</a> — this is a full-featured, open source alternative to Heroku, the PaaS cloud service used in Part 7 of the tutorial, listed above. PWS/Cloud Foundry is definitely worth checking out if you are looking for an alternative to Heroku (or another PaaS cloud service), or simply feel like trying something different. </dd>
+</dl>
+
+<h2 id="Adding_more_tutorials">Adding more tutorials</h2>
+
+<div>
+<p>All existing tutorials are listed above, but if you would like to extend this module, some other interesting topics to cover include:</p>
+
+<ul>
+ <li>Using sessions.</li>
+ <li>User authentication.</li>
+ <li>User authorization and permissions.</li>
+ <li>Testing an Express web application.</li>
+ <li>Web security for Express web applications.</li>
+</ul>
+
+<p>An assessment for the module would also make a wonderful addition!</p>
+</div>
diff --git a/files/ar/learn/server-side/index.html b/files/ar/learn/server-side/index.html
new file mode 100644
index 0000000000..520715f1a2
--- /dev/null
+++ b/files/ar/learn/server-side/index.html
@@ -0,0 +1,58 @@
+---
+title: برمجة موقع الويب من ناحية الخادم
+slug: Learn/Server-side
+translation_of: Learn/Server-side
+---
+<div dir="rtl">{{LearnSidebar}}</div>
+
+<p class="summary" dir="rtl"> </p>
+
+<p dir="rtl"><strong>المواقع الديناميكية - البرمجة من جانب الخادم </strong>عبارة عن سلسلة من الوحدات التي تُظهر كيفية إنشاء مواقع ويب ديناميكية ؛ مواقع الويب التي تقدم معلومات مخصصة استجابة لطلبات HTTP. توفر الوحدات مدخلاً عامًا للبرمجة من جانب الخادم ، إلى جانب توجيهات للمبتدئين حول كيفية استخدام الأطر الشبكية ل Django (Python) و Express (Node.js / JavaScript) لإنشاء التطبيقات الأساسية.</p>
+
+<p dir="rtl">تستخدم معظم مواقع الويب الرئيسية نوعًا من تقنية جانب الخادم لعرض البيانات المختلفة ديناميكيًا كما هو مطلوب. على سبيل المثال ، تخيل كم عدد المنتجات المتوفرة على Amazon ، وتخيل عدد الرسائل التي تمت كتابتها على Facebook؟ إن عرض كل هذه الصفحات باستخدام صفحات ثابتة مختلفة تمامًا سيكون غير فعال تمامًا ، لذلك تعرض هذه المواقع بدلاً من ذلك قوالب ثابتة (تم إنشاؤها باستخدام <a href="https://developer.mozilla.org/ar/docs/Learn/HTML">HTML </a>و <a href="https://developer.mozilla.org/ar/docs/Learn/CSS">CSS</a> و <a href="https://developer.mozilla.org/ar/docs/Learn/JavaScript">JavaScript</a> ) ، ثم تقوم بتحديث البيانات المعروضة داخل تلك النماذج ديناميكيًا عند الحاجة ، على سبيل المثال ، عندما تريد عرض منتج مختلف على Amazon.</p>
+
+<p dir="rtl">في عالم تطوير الويب الحديث ، ينصح بالتعلم عن التطوير من جانب الخادم.</p>
+
+<p class="summary" dir="rtl"> </p>
+
+<p dir="rtl"> </p>
+
+<h2 dir="rtl" id="مسار_التعلم"><span class="tlid-translation translation"><span title="">مسار التعلم</span></span></h2>
+
+<p dir="rtl"> </p>
+
+<p dir="rtl">عادة ما تكون عملية البدء بالبرمجة من جانب الخادم أسهل من عملية التطوير من جانب العميل ، لأن مواقع الويب الديناميكية تميل إلى تنفيذ الكثير من العمليات المتشابهة (استرداد البيانات من قاعدة بيانات وعرضها في صفحة ، والتحقق من صحة البيانات المدخلة من قبل المستخدم وحفظها في قاعدة بيانات ، وفحص أذونات المستخدم ومستخدمي تسجيل الدخول ، وما إلى ذلك) ، ويتم بناؤها باستخدام أطر الويب التي تجعل هذه العمليات وغيرها من عمليات خادم الويب الشائعة سهلة.</p>
+
+<p dir="rtl">تعتبر المعرفة الأساسية لمفاهيم البرمجة (أو لغة برمجة معينة) مفيدة ، ولكنها ليست ضرورية. وبالمثل ، ليست هناك حاجة إلى خبرة في كتابة التعليمات البرمجية من جانب العميل ، ولكن المعرفة الأساسية ستساعدك على العمل بشكل أفضل مع المطورين الذين ينشئون "واجهة المستخدم" على جانب العميل.</p>
+
+<p dir="rtl">ستحتاج إلى فهم "كيفية عمل الويب". نوصيك أولاً بقراءة المواضيع التالية:</p>
+
+<p> </p>
+
+<ul dir="rtl">
+ <li><a href="https://developer.mozilla.org/ar/docs/Learn/Common_questions/What_is_a_web_server">ما هو خادم الويب؟</a></li>
+ <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_software_do_I_need">ما هي البرامج التي أحتاجها لإنشاء موقع ويب؟</a></li>
+ <li><a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Upload_files_to_a_web_server">كيف تقوم بتحميل الملفات إلى خادم الويب؟</a></li>
+</ul>
+
+<p dir="rtl"><span class="tlid-translation translation"><span title="">مع هذا الفهم الأساسي ، ستكون مستعدًا للعمل في طريقك من خلال الوحدات في هذا القسم.</span></span></p>
+
+<h2 dir="rtl" id="الوحدات">الوحدات</h2>
+
+<p dir="rtl">هذا الموضوع يحتوي على الوحدات التالية. يجب أن تبدأ بالوحدة الأولى ، ثم انتقل إلى احدى الوحدات التالية ، والتي توضح كيفية العمل مع اثنين من اللغات الشائعة جدًا من جانب الخادم باستخدام إطارات ويب مناسبة.</p>
+
+<dl>
+ <dt dir="rtl"><a href="https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps">برمجة موقع الويب من ناحية الخادم الخطوات الأولى<span style="display: none;"> </span><span style="display: none;"> </span></a></dt>
+ <dd dir="rtl">توفر هذه الوحدة معلومات عن تكنولوجيا الخادم و برمجة مواقع الويب من جانب الخادم ، بما في ذلك إجابات على الأسئلة الأساسية حول البرمجة من جانب الخادم - "ما هو" ، "كيف تختلف عن برمجة العميل" ، و "لماذا هي كذلك مفيدة "- ونظرة عامة على بعض الأطر الأكثر شعبية على شبكة الإنترنت من جانب الخادم والإرشادات حول كيفية اختيار الأنسب لموقعك. وأخيرًا ، نقدم قسمًا تقديميًا حول أمان خادم الويب.<span style="display: none;"> </span><span style="display: none;"> </span></dd>
+ <dt dir="rtl"><a href="/en-US/docs/Learn/Server-side/Django">Django Web Framework (Python)</a></dt>
+ <dd dir="rtl"><span class="tlid-translation translation"><span title="">Django هو إطار عمل شائع للغاية ومميز للغاية من جانب الخادم ، مكتوب بلغة بايثون.</span> <span title="">تشرح الوحدة النمطية لماذا يعتبر Django إطارًا جيدًا لخادم الويب ، وكيفية إعداد بيئة تطوير وكيفية تنفيذ المهام الشائعة معها.</span></span></dd>
+ <dt dir="rtl"><a href="/en-US/docs/Learn/Server-side/Express_Nodejs">Express Web Framework (Node.js/JavaScript)</a></dt>
+ <dd dir="rtl"><span class="tlid-translation translation"><span title="">Express هو إطار ويب شائع ، مكتوب بلغة JavaScript ومُستضاف في بيئة تشغيل node.js.</span> <span title="">تشرح الوحدة بعض الفوائد الأساسية لهذا الإطار ، وكيفية إعداد بيئة التطوير الخاصة بك وكيفية تنفيذ مهام مشتركة لتطوير الويب ونشره.</span></span></dd>
+</dl>
+
+<h2 dir="rtl" id="أنظر_أيضا"><span class="tlid-translation translation"><span title="">أنظر أيضا</span></span></h2>
+
+<dl>
+ <dt dir="rtl"><a href="/en-US/docs/Learn/Server-side/Node_server_without_framework">Node server without framework</a></dt>
+ <dd dir="rtl"><span class="tlid-translation translation"><span title="">توفر هذه المقالة ملقم ملفات ثابت بسيطًا تم إنشاؤه باستخدام Node.js خالصًا ، وذلك لمن لا يريد استخدام إطار عمل.</span></span></dd>
+</dl>