Chapter 6 — General Topics (مواضيع عامّة في عالم التكنولوجيا والبرمجيات)
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
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 موش كتاب أكاديمي جامد، وموش قاموس متاع كود.
هو كتاب يحكي على مفاهيم Software Engineering بطريقة قريبة، ساهلة، وبأسلوب تونسي يخليك تفهم وتتصوّر.
خليت المصطلحات التقنية بالإنڨليزي خاطرها لغة الكود في العالم الكلّ، أمّا الباقي كلّو تونسي، مفهوم، وديما قريب من الواقع.
الفكرة إنّو التكنولوچيا ما هيش حاجة بعيدة علينا، وما ثماش سبب يخلّينا نحسّوها غريبة.
الدرجة تنجم تكون لغة علم، كيف ما كانت زمان لغة شعر وتاريخ.
بها نجّمو نفسّرو، نتعلّمو، ونبنيو حاجات كبار من بلادنا.
إن شاء الله Tech B Derja يكون سبب باش تلميذ تونسي ولا شابّ ديڤلوبر يفهم الكود بلغتو،
ويحسّ إليّ الدنيا الرقميّة ما هيش للناس اللّي “فهمين وحدهم”،
بل هي لينا الكلّ،
كيف نفهموها بطريقتنا.
سامي بالحاج
كاتب ومكوّن في التكنولوچيا
تونس، 2025
في الفصول اللّي فاتو، حكينا على الأساسيات:
Distributed Systems, Databases, Operating Systems, Networks, وAI.
أما عالم التكنولوجيا فيه ديما مفاهيم إضافية، عامة، لازم كل مهندس يفهمها باش يكون عندو نظرة كاملة.
الفصل هذا يجمع أهمّ المواضيع العامة اللّي يكمّلو الصورة:
من Cloud Computing, DevOps, وSoftware Architecture,
للغات البرمجة، الـ Version Control, والـ Testing.
الـ Cloud اليوم ولى كيف الكهرباء: ما نراوهاش، أما نستعملوها في كل شي.
بدل ما نركّبو سيرفرات عندنا، نكرّيو موارد من الإنترنت.
الـ Cloud Computing معناها تستعمل storage, servers, وdatabases عن بعد.
تحاسب فقط على الاستعمال، كيف فاتورة الكهرباء.
أشهر المزودين: AWS, Google Cloud, Azure, Oracle Cloud, وحتّى OVH المستعملة برشة في تونس.
الـ DevOps هو عقلية قبل ما يكون مهنة.
يجمع بين Development (التطوير) وOperations (التشغيل).
الهدف: نخلي الكود يوصل من مرحلة التطوير للإنتاج بسرعة وأمان.
الـ DevOps هو اللي يخلّي السيستام ما يطيحش، والتحديثات تصير أوتوماتيكيًا، بلا خوف.
الـ Architecture هي الخطة الكبيرة للنظام.
موش الكود، بل كيفاش الأجزاء مربوطة ببعضها.
أنواع مشهورة:
الفكرة إنك تبني architecture مرنة وسهلة في التطوير على المدى الطويل.
في تونس، الشركات بدات تعتمد أكثر على microservices وAPI-first design باش يسهل التوسيع وقت المشروع يكبر.
كل لغة برمجة عندها طريقة تفكير (paradigm).
فهمها يسهّل اختيار اللغة الصحّ للمشروع.
| النوع | التفسير | أمثلة |
|---|---|---|
| Procedural | تسلسل أوامر خطوة بخطوة | C, Pascal |
| Object-Oriented | كل شي عبارة عن كائنات | Java, C++, Python |
| Functional | تستعمل الدوال ككيان أساسي | Haskell, Scala, JS |
| Event-Driven | تتفاعل مع الأحداث | JavaScript, Node.js |
المهندس المتمكّن يعرف يخدم في أكثر من أسلوب، موش مربوط بلغة وحدة.
الـ Version Control هو الأساس في أي مشروع تطوير.
يسمحلك تتابع التغييرات، ترجع للإصدارات القديمة، وتخدم في تيم بلا ما يصير تضارب.
أشهر نظام: Git
والمنصّات اللي تخدم بيه: GitHub, GitLab, Bitbucket.
أوامر أساسية:
git init
git add .
git commit -m "First commit"
git push origin main
في كل مشروع احترافي، الـ Git لازم يكون موجود.
من غيره، الكود يضيع، والتعاون يولّي فوضى.
الـ APIs هي اللغة اللي تخلي الأنظمة المختلفة تفهم بعضها.
كل سيستام لازم يعرف يتواصل مع غيره — بالـ REST, GraphQL, ولا gRPC.
أمثلة:
الـ Integration هو مستقبل التطوير، خاطر اليوم ما ثماش نظام يخدم وحدو.
الـ Testing هو المرحلة اللي نضمنو فيها إن الكود يخدم كيما نحبّو، بلا مفاجآت.
أنواع:
| النوع | التفسير | الأدوات |
|---|---|---|
| Unit Testing | نختبر كل جزء صغير وحدو | Jest, PyTest, JUnit |
| Integration Testing | نختبر كيف تتفاعل المكونات | Postman, Cypress |
| System Testing | نختبر السيستام كامل | Selenium |
| User Acceptance Testing (UAT) | المستخدم يجرب بنفسو | Manual tests |
من غير testing، الكود مهما كان قوي ينجم يطيح من حاجة صغيرة.
الـ Documentation هي الذاكرة متاع المشروع.
من غيرها، حتى أقوى تيم يضيع بعد فترة.
أنواعها:
أدوات مفيدة: Markdown, Notion, Confluence, Swagger.
المطور الذكي يكتب documentation وهو يخدم، مش بعد ما يكمّل.
طريقة إدارة المشاريع تطوّرت.
ما عادش نخدمو “خطة طويلة ونستناو النتيجة بعد عامين”.
توا نخدمو Agile — يعني تطوير مستمرّ خطوة بخطوة.
المنهج الأكثر انتشار هو Scrum:
الفكرة: نعمل value بسرعة، ونصلّح كل دورة على حسب feedback.
الـ Deployment هو كيفاش نطلّعو الكود للإنتاج (production environment).
الأنظمة الحديثة تستعمل:
في المشاريع الصغيرة، نجم نعملها يدوي.
أما في المؤسسات، لازم تكون مؤتمتة (automated) باش نضمن الاستقرار.
الـ Open Source ثقافة قبل ما تكون كود مجاني.
معناها التعاون والمشاركة.
أكبر الأنظمة في العالم اليوم Open Source:
Linux, Python, VS Code, TensorFlow…
في تونس، الطلبة والمهندسين ينجمو يساهمو في مشاريع عالمية على GitHub,
وهاك كيف تنجم تبني portfolio قوي حتى من غير خبرة رسمية.
البرمجة ما هيش مجرّد كود.
هي طريقة تفكير: منظمّة، منطقية، وتحلّ المشكل.
المهندس الحقيقي:
اليوم الكود يتبدّل، اللغات تتبدّل،
أما اللي يبقى هو طريقة التفكير.
في تونس، المجال التقني كبر برشا في آخر عشر سنين.
عنا شباب يخدم في AI, Blockchain, Fintech, IoT, Game Dev, وحتّى Cybersecurity.
وشركات تخدم عالمياً من تونس.
أهمّ الحاجات اللي تخلي المهندس ينجح:
تونس فيها إمكانيات كبيرة، يكفي نعرفو كيفاش نستغلوها.
الـ Tech وحدها ما تكفيش.
يلزمك زادة مهارات بشرية (Soft Skills):
اللي يعرف يبرمج ويتواصل في نفس الوقت،
هو اللي يوصل للقيادة (Tech Lead, CTO).
الفصل هذا جمع أهمّ المفاهيم العامّة اللي لازم كل مطوّر، مهندس، ولا طالب يكون على علم بيها.
مش لازم تكون expert في الكل، أما لازم تفهمهم بالأساس باش تكون مهيّأ تخدم في أي مشروع.
البرمجة اليوم ما هيش كود فقط، هي منظومة كاملة فيها Teamwork, Cloud, DevOps, Security, وLearning متواصل.
المستقبل للّي يتعلّم كل يوم،
والّي ما يكتفيش بالكود،
بل يفهم الصورة الكاملة متاع التكنولوجيات الحديثة.