Tech B Derja – Software Engineering Fi Loughtek : Chapter 3 — Networks & Cybersecurity (الشبكات وأمن الأنظمة)

SAMI
أكتوبر 28, 2025 5 mins to read
Share

Chapter 3 — Networks & Cybersecurity (الشبكات وأمن الأنظمة)


Préface

Pourquoi j’ai écrit Tech B Derja

Quand j’ai commencé à apprendre l’informatique, je me suis rapidement rendu compte d’une chose : presque toutes les ressources étaient en anglais ou en arabe classique.
Pour comprendre une seule notion, il fallait traduire, interpréter, puis essayer de l’adapter à notre réalité tunisienne. Beaucoup d’étudiants se découragent à ce stade : non pas parce qu’ils manquent de curiosité ou d’intelligence, mais simplement parce que la barrière linguistique rend l’accès au savoir plus difficile qu’il ne devrait l’être.

Tech B Derja est né de cette frustration — et d’un rêve : rendre la technologie compréhensible dans la langue que nous utilisons tous les jours.
Je voulais qu’un étudiant, un développeur débutant, ou même quelqu’un qui aime la tech sans être ingénieur, puisse ouvrir ce livre et dire : “Ah, enfin un cours qui parle comme moi.”
Parce que la Derja n’est pas un obstacle : c’est un pont entre notre culture et la connaissance moderne.

Ce livre n’a pas la prétention d’être académique. Il cherche simplement à expliquer les grands principes du Software Engineering d’une manière directe, humaine, et fidèle à notre manière tunisienne de raisonner : simple, concrète, et souvent pleine d’humour.
Les termes techniques restent en anglais — parce qu’ils font partie du langage universel des ingénieurs — mais tout ce qui entoure ces mots, tout ce qui fait sens, est raconté avec la voix du pays, avec nos expressions, notre ton, notre réalité.

J’espère que Tech B Derja donnera envie à une nouvelle génération de Tunisiens de comprendre la technologie, de créer, et de partager leurs idées.
Si, grâce à ce livre, un étudiant réussit à voir le code autrement — non plus comme une langue étrangère, mais comme un outil qu’il peut maîtriser — alors le pari est gagné.

Sami BELHADJ
Auteur & Formateur en Technologies
Tunis, 2025

Préface b Derja

3lech katabt Tech B Derja

Ki bdit ntaallam fi domaine ta3 l’informatique, chft elli akther men 90% men l resources kolhom b anglais, w elli ba9i b 3arbi fous7a ki te9ra fih, t7ess rouhek ta9ra traduction, mochkla fel logha 9bal ma tkon mochkla fel tech.

Bech tfhem concept wahda, tkoun 3andek trois mashakel : logha, contexte, w style ta3 teaching li ma ychabahch lina. W barcha tlamdha ysaybou el parcours 5aterhom ma y9drouch ywaff9ou bin el terminology ta3 tech w el 3arbi el 9adim.

Men hna ja l’idée ta3 Tech B Derja.
7bit na3mel livre tech fi loghetna — Derja — logha li nkalmo beha kol youm, li fahminha, li t3abber 3lina.
7bit el student ki y7ell el livre, y9oul : “eyy, hadha yekalmni, mafhmou w 9rib men 9albi.”

Tech B Derja ma houwech cours académique, houwa mouch dictionary ta3 code.
Houwa kitab yfassar el concepts ta3 Software Engineering b derja sahla, b exemples men el 7ay w b respect lel technical terms fi anglais.
El anglaizi b9a f ma7lou, 5ater el engineer fi el dounya lkol yesta3melha, ama el fahm walla fi loughtek inti.

El message ta3i b ssa7 : el tech ma hyaach 7a9r 3la wa7din, w el Derja ma hyaach 3a9ba.
El Derja najmou biha nfahmou, n5arjou projects kbira, w na3mlou innovation men bladna.

Inchallah Tech B Derja ykoun sabab bich talmidh wala developer tounsi yfhem el code b twensa, y7ess elli el tech 9riba menou, w elli el “engineering” ma houwech logha ghorba, bel hiya logha najmou n5alouha tounsia ken na3rfou kif.

Sami BELHADJ
Auteur w Formateur fi Technologies
Tounes, 2025

مقدّمة

علاش كتبت Tech B Derja

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

من غادي جات الفكرة متاع Tech B Derja.
قلت: علاش ما نكتبش كتاب في التكنولوچيا بلغتنا نحنا؟
بالدرجة، بالأسلوب اللي نحكيو بيه كلّ يوم، بلا تكليف، بلا فصحى، بلا غُربة.
نحبّ الطالب كي يقرى يقول: “هاو الكتاب هذا يفهمني، يحكي كيفي، ومخّي يمشي معاه.”

Tech B Derja موش كتاب أكاديمي جامد، وموش قاموس متاع كود.
هو كتاب يحكي على مفاهيم Software Engineering بطريقة قريبة، ساهلة، وبأسلوب تونسي يخليك تفهم وتتصوّر.
خليت المصطلحات التقنية بالإنڨليزي خاطرها لغة الكود في العالم الكلّ، أمّا الباقي كلّو تونسي، مفهوم، وديما قريب من الواقع.

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

إن شاء الله Tech B Derja يكون سبب باش تلميذ تونسي ولا شابّ ديڤلوبر يفهم الكود بلغتو،
ويحسّ إليّ الدنيا الرقميّة ما هيش للناس اللّي “فهمين وحدهم”،
بل هي لينا الكلّ،
كيف نفهموها بطريقتنا.

سامي بالحاج
كاتب ومكوّن في التكنولوچيا
تونس، 2025


Introduction

كل application ولا system اليوم مربوط بشبكة.
باش user يوصل للـ server, لازم تمرّ البيانات عبر الإنترنت، واللي هو في الأصل شبكة كبيرة متكوّنة من ملايين الأجهزة مربوطة ببعضها.

باش تفهم كيف السيستام يخدم، لازم تفهم الأساسيات متاع networking:
كيفاش الطلب (request) يمشي من browser متاعك للسيرفر، كيفاش يرجع response, وكيف نحمي هالعملية الكلّ من الاختراقات.

في هالفصل، باش نحكيو على المفاهيم الأساسية:
URL، DNS، HTTP، APIs، REST، GraphQL، Cookies، Sessions، JWT، HTTPS، وشنية طرق الحماية في السيستامات الحديثة.


1. URL Structure (تركيبة الـ URL)

الـ URL (Uniform Resource Locator) هو العنوان اللي نستعملوه باش نوصلو لأي موقع ولا API.

مثال:

https://www.techbderja.tn:443/articles?id=5

الـ URL هذا يتقسم لأجزاء:

الجزءالتفسير
httpsالبروتوكول (protocol)
www.techbderja.tnالدومين (domain name)
443رقم البورت (port)
/articlesالمسار (path)
?id=5الـ query parameters

كل جزء عندو وظيفة.
البروتوكول يحدّد طريقة الاتصال، الدومين يورّينا السيرفر، والـ path والـ query يورّيو شنوّة نطلبو بالضبط.


2. DNS (Domain Name System)

الـ DNS هو الكاتالوج متاع الإنترنت.
هو اللي يبدّل الاسم اللي نكتبو (domain) إلى عنوان IP اللي يفهموه السيرفرات.

مثلاً:

www.techbderja.tn → 192.168.1.10

لو ما فماش DNS, لازم نحفظ عناوين IP لكل موقع، حاجة مستحيلة عملياً.

العملية تصير هكّا:

  • المستخدم يكتب الـ domain
  • المتصفح يسأل DNS resolver
  • السيرفر يردّ بالـ IP address الصحيح
  • بعدها يبدأ الاتصال.

3. HTTP & HTTPS

الـ HTTP (HyperText Transfer Protocol) هو البروتوكول الأساسي اللي نستعملوه باش نبعثو ونستقبلو بيانات عبر الويب.
كل مرّة تفتح موقع، browser يبعث HTTP request, والسيرفر يجاوب بـ HTTP response.

لكن HTTP وحدها ما فيهاش تشفير.
يعني أي حد في الطريق ينجم يشوف الـ data (مثلاً كلمات السر).

باش نحمي البيانات، نستعمل HTTPS — نفس البروتوكول أما فيه تشفير عن طريق SSL/TLS.

الـ S في HTTPS تعني Secure.
هو اللي يخلّي الاتصال آمن بينك وبين السيرفر، ويمنع الناس من التّنصّت (sniffing) ولا التلاعب بالبيانات.


4. APIs (Application Programming Interfaces)

الـ API هو الجسر بين التطبيقات.
كيما كي تطلب Uber, الـ app متاعك يبعث API request للسيرفر، والسيرفر يجاوبك بالمعلومات (مثلاً: وين السواق، قداش الكلفة، شنوة الحالة).

الـ APIs تخلّي البرامج تحكي مع بعضها، بلا ما تكون مربوطة مباشرة.

الأنواع الأكثر استعمالاً اليوم:

  • REST API
  • GraphQL API

5. REST vs GraphQL

REST (Representational State Transfer)

في REST, كل resource عندها عنوان خاص (endpoint) ونتعامل معاها بطرق كيما GET, POST, PUT, DELETE.

مثلاً:

GET /api/users
POST /api/users
GET /api/users/5

الفايدة: بسيطة ومفهومة، أما فيها عيب: كل request ترجع data ثابتة، حتى لو نحتاجو جزء صغير منها.

GraphQL

في GraphQL, نطلب بالضبط الـ data اللي نحبّها.
السيرفر يرجع كان اللي طلبناه.

مثلاً:

{
  user(id: 5) {
    name
    email
  }
}

الفايدة: أسرع، أخف، ومرن برشا.
أما إعدادو أصعب شوية، ومناسب أكثر للـ complex systems.


6. Cookies vs Sessions

وقت user يعمل login, لازم السيستام يعرفو في كل request بعديّة.
باش يصير هذا، نستعمل cookies وsessions.

Cookies

ملف صغير يتخزّن في المتصفح (browser) يحتوي على معلومات user.
كل مرّة تبعث request، الـ cookie تمشي معاها.

Sessions

تتخزّن في السيرفر، مش في المتصفح.
الـ cookie فيها session ID، والسيرفر يستعملها باش يعرف شكون داخل.

الفرق الرئيسي:

  • Cookie: البيانات عند user.
  • Session: البيانات عند السيرفر.

7. JWT (JSON Web Token)

في التطبيقات الحديثة، نستعمل JWT كبديل للجلسات الكلاسيكية.
هي token فيها معلومات user مشفّرة، السيرفر ينجم يتثبّت منها بلا ما يخزّنها.

الـ JWT عندها ثلاث أجزاء:

  1. Header – نوع التشفير
  2. Payload – بيانات المستخدم
  3. Signature – توقيع رقمي باش ما يتبدّلوش البيانات

تتبعث الـ JWT في كل request header, وبهالطريقة السيستام يعرف المستخدم بسرعة.


8. WebSockets

الـ WebSocket هو نوع خاص من الاتصال بين client وserver.
عوض ما كل مرّة تبعث HTTP request, يفتح خطّ اتصال مباشر وثابت.

مثلاً في chat application, المستخدمين يتبادلو الرسائل في الوقت الحقيقي (real-time).
هنا WebSocket هو الحل، خاطر فيه bi-directional communication (الاتصال في الاتجاهين).


9. Cybersecurity Basics

الأمان في السيستام يبدأ من أبسط حاجة: ما نثقوش في المستخدم.
كل input لازم يتفحّص، كل connection لازم يتأمّن.

أكثر المشاكل المعروفة:

  • SQL Injection
  • Cross-Site Scripting (XSS)
  • Cross-Site Request Forgery (CSRF)
  • Broken Authentication

SQL Injection

يستغلّ المهاجم ضعف في الكود باش يدخل أوامر خايبة للـ database.
الحل: Prepared Statements, ORM, وفلترة البيانات.

XSS (Cross-Site Scripting)

المهاجم يدخل JavaScript خايب في صفحات المستخدمين.
الحل: منع إدخال أكواد مباشرة في النصوص، واستعمال escaping.

CSRF

المهاجم يبعث request باسم المستخدم من غير ما هو يدري.
الحل: CSRF tokens، وفلترة الـ origins.

Broken Authentication

تصير وقتلي عملية الدخول ما تكونش محمية مزيان.
الحل: كلمات سر قوية، rate limiting, و2FA (Two-Factor Authentication).


10. Encryption (التشفير)

التشفير هو اللي يخلّي البيانات المرسلة بين client وserver ما تتقراش من أي طرف ثالث.

أنواع التشفير:

  • Symmetric Encryption: نفس المفتاح للتشفير والفكّ. مثال: AES.
  • Asymmetric Encryption: مفتاح للتشفير وآخر للفكّ. مثال: RSA.

نستعملهم في SSL/TLS, password hashing, وsecure messaging.


11. Password Hashing

ما يلزمناش نخزّنو كلمات السر بنصّها الأصلي.
لازمنا نستعمل hashing algorithms كيما bcrypt, scrypt, ولا Argon2.

الـ hash هو بصمة رقمية مستحيل ترجّع منها الكلمة الأصلية.
وحتى لو hacker سرق الـ database، ما ينجمش يفسّرها بسهولة.


12. Firewalls & Network Security

الـ Firewall هو الحارس متاع الشبكة.
يقرر شنوّة يدخل وشنوّة يخرج.

يخدم حسب قواعد (rules) تحدّد:

  • شنوّة البروتوكولات المسموحة (HTTP, SSH, FTP…)
  • شنوّة البورتات المفتوحة
  • شنوّة المصادر (IP addresses) المسموح بيها

في الـ cloud systems, الـ firewalls ولات رقمية (Security Groups, Network ACLs).


13. VPN (Virtual Private Network)

الـ VPN يسمحلك توصل بالشبكة بطريقة مشفّرة، كأنك داخل من مكان آخر.
يحمي الترافيك متاعك، ويخفي الـ IP الحقيقي.
مفيد وقت تستعمل شبكات عمومية، كيما Wi-Fi متاع كافيه.


14. Security in Practice

الأمان ما يجيش من firewall وحده ولا من encryption وحدو.
هو طريقة تفكير لازم تكون في كل طبقة من السيستام:

  • Validate كل input
  • Encrypt كل connection
  • Log كل action
  • Update كل software بانتظام
  • Educate فريقك على الأمان

الـ Cybersecurity موش حاجة إضافية، هي ثقافة لازم تكون جزء من التطوير اليومي.


Summary

الـ Network هي العمود الفقري متاع أي نظام متّصل،
والـ Security هي الدرع اللي يحميه.

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

في عالم اليوم، السيستام القوي موش اللي يخدم برك،
هو اللي يخدم بسرعة، بأمان، ويفضّل حماية المستخدمين قبل كل شي.


Leave a comment

Your email address will not be published. الحقول الإلزامية مشار إليها بـ *