كيف صُنع KM/OS

يشرح هذا الدليل كيف بُني KM/OS: ما الغرض منه، والقرارات التي وراءه، والتفاصيل التقنية التي تستحق التدوين.

‏KM/OS هو ملف أعمال كريم المصمودي، طالب هندسة في السنة الثالثة بجامعة MedTech في تونس، مبني كنظام تشغيل مكتبي يعمل داخل لسان متصفح.

الفكرة بسيطة: السيرة الذاتية قائمة ادعاءات، أما نظام التشغيل فشيء تستعمله. كل قسم في ملف أعمال تقليدي هو هنا تطبيق، والتطبيقات تعمل فعلاً.

المشروع

النطاق

كان الهدف بيئة صادقة تقنياً لا مجرد قشرة بمظهر نظام: أعراف مستعارة من macOS لشريط القوائم والرصيف وإدارة النوافذ، ومن لينكس لطرفية بأوامر حقيقية، ومن الهاتف لتخطيط الشاشة الصغيرة.

المشروع

التخطيط

جرى العمل على مراحل، كل واحدة اكتملت قبل التي تليها:

  1. دليل الأسلوبلوحة الألوان وسلّم الخطوط ورموز التصميم قبل أي مكوّن.
  2. بنية النظاممدير النوافذ وشريط القوائم والرصيف وحالة الجلسة.
  3. الهيكلنظام التشغيل، بلا محتوى حقيقي بعد.
  4. التطبيقاتكل تطبيق مبني فوق هيكل مكتمل.
  5. المحتوىالمشاريع والتقنيات والتعليم والتواصل كبيانات في القاموس.
  6. الترجمةالفرنسية والعربية، بما في ذلك مراجعة اتجاه اليمين إلى اليسار.
  7. الخدماتغرفة الحضور ونقطة إرسال نموذج التواصل.
  8. الصقلقياس مقابل المرجع، شاشة بعد شاشة.

المشروع

الكلفة والبنية التحتية

كلفة التشغيل هي اسم نطاق. وكل ما عداه يقع ضمن الباقات المجانية، وهذا قيد تصميمي لا مصادفة: الموقع ثابت، فلا يكاد يوجد شيء يُشغَّل.

الاستضافة على Vercel. تنتج عملية البناء مجلد ملفات يُقدَّم من مصدر واحد. وتتولّى دالتان بلا خادم الشيئين الوحيدين اللذين لا يقدر عليهما ملف ثابت: غرفة الدردشة، والمساعد - الذي يجب أن يعمل على خادم كي لا يصل مفتاح النموذج اللغوي إلى المتصفح.

لا توجد قاعدة بيانات. تعيش الغرفة في ذاكرة نسخة واحدة من الدالة ما دامت دافئة، وهو حجم مناسب لحركة زوار ملف أعمال، ويُعاد ضبطه بلا ضرر حين تبرد.

المشروع

المخاطر

المخاطر المهمّة في مشروع كهذا ليست أعطالاً تقنية، بل الطرق التي يكفّ بها بهدوء عن كونه مفيداً:

المشروع

الجودة

لا توجد مجموعة اختبارات. بدلاً من ذلك تُجرى الفحوص على الشيء الحقيقي في متصفح حقيقي: كل تطبيق يُفتح بكل لغة، مع مراقبة أخطاء وحدة التحكم والصور المعطوبة والفيض الأفقي والنوافذ التي تخرج عن الشاشة.

التخطيط يُقاس ولا يُقدَّر بالعين. تُقرأ الأنماط المحسوبة والأبعاد من الصفحة أثناء عملها وتُقارن بقيم متوقّعة، ولا يُبلَّغ إلا عن الفروق.

التصميم

الفكرة

الاتجاه البصري سواد دافئ: أسطح تكاد تكون سوداء، ولوحات عاجية، ولمسة شامبانيا واحدة. وهو هادئ عن قصد، لأن الواجهة نفسها تطلب من الزائر الكثير أصلاً.

الانضباط هو القاعدة. لون تمييز واحد، وخط رقعي واحد، وخط عادي واحد، ومجموعة صغيرة من مقادير التباعد. وكل ما أراد أن يكون زخرفة كان عليه أولاً أن يبرّر نفسه كمعلومة.

التصميم

سطح المكتب والهاتف

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

نسخة الهاتف منتج آخر يتشارك البيانات نفسها. شاشة رئيسية بأيقونات وبطاقات، ومجلد تطبيقات مقسّم إلى صفحات، وتطبيقات بملء الشاشة بدل النوافذ. والتطبيقات التي لا معنى لها بلا مؤشّر ليست على الهاتف ببساطة.

داخل النافذة، يستجيب التخطيط للنافذة لا للشاشة. هذه استعلامات حاويات في كل مكان: الصفحة نفسها تُرتَّب بشكل مختلف في نافذة ضيّقة وأخرى واسعة، على الشاشة ذاتها.

التصميم

اللون

كل لون في الواجهة خاصية مخصّصة. المكوّنات لا تسمّي لوناً أبداً، بل تسمّي دوراً، والسمة هي التي تعطي القيمة.

هذا الفصل هو ما يجعل خمس سمات ممكنة دون لمس أي مكوّن: champagne وmidnight وterminal وsandstone وember مجموعات رموز، تُطبَّق كصنف واحد على العنصر الجذر.

التصميم

الطباعة

عائلتان. يحمل Source Serif 4 العناوين وكل ما ينبغي أن يبدو مكتوباً، ويحمل Inter الواجهة. ويُحجز خط ثابت العرض للطرفية وللأرقام التي يجب أن تصطفّ في عمود.

العربية ليست الحروف اللاتينية بحجم آخر. اتجاه اليمين إلى اليسار يمسّ التخطيط وعلامات الترقيم واتجاه كل أيقونة توحي بحركة، وقد عولج بوصفه وضع تخطيط لا مجرد ترجمة.

تفاصيل تقنية

التقنيات

جافاسكربت خالصة في وحدات ES، تجمّعها esbuild في ملف واحد. وCSS مكتوبة يدوياً فوق مجموعة واحدة من رموز التصميم. اعتماديتان في المجموع، ووقت البناء فقط.

بلا إطار عمل. لواجهة مصنوعة على المقاس في معظمها، كان إطار العمل سيضيف بيئة تشغيل وخطوة بناء ومجموعة أعراف، مقابل القليل جداً مما يحتاجه هذا المشروع فعلاً.

تفاصيل تقنية

الأمان

شيئان يخرجان من هذا الموقع، ومن الأولى قول ذلك أولاً. السؤال الذي يُكتب في KM Intelligence يُرسَل إلى خادم الموقع نفسه ثم منه إلى مزوّد نموذج لغوي، لأن النموذج يعمل هناك، ويبقى مفتاح المزوّد على الخادم ولا يُرسل إلى المتصفح أبداً. ونموذج التواصل يُرسَل إلى الخدمة التي تحوّله بريداً إلكترونياً. وما عدا ذلك لا يخرج شيء: فسياسة أمان محتوى صارمة تجعل كل ما تحمّله الصفحة يأتي من مصدرها نفسه، ولهذا أيضاً لا يوجد سكربت تحليلات ولا شبكة توزيع خطوط.

لا كعكات ولا تتبّع. بضعة تفضيلات واجهة تعيش في التخزين المحلي للمتصفح، ولا تغادر الجهاز أبداً، وتُمحى بإعادة تشغيل KM/OS.

غرفة الدردشة هي الموضع الوحيد الذي يُعرض فيه نص قادم من الإنترنت على أشخاص آخرين. الرسائل محدودة الطول، ومجرّدة من محارف التحكّم، ومقيّدة المعدّل على الخادم، وتُكتب في الصفحة كنص لا كوسوم أبداً.

مدن الزوار في بطاقة الأمان تأتي من ترويسات يضيفها المستضيف إلى الطلب. لا شيء يسأل المتصفح عن موقع، ولا يُخزَّن أي موقع.

تفاصيل تقنية

الذكاء الاصطناعي

يجيب KM Intelligence من بيانات الموقع نفسه. فكل مشروع وتقنية وشهادة ووسيلة تواصل موجودة أصلاً في المصدر، كتبها كريم بثلاث لغات وتبقى محدَّثة لأن بقية النظام يعرضها منها، فلا يمكن للمساعد أن يخطئ في معلومة لم يُطلب منه اختراعها.

ثم يحوّل نموذج لغوي تلك البيانات إلى ردّ يُقرأ كإجابة لا كفقرة منقولة. ويعمل النموذج خلف خادم الموقع نفسه، فلا يصل مفتاح المزوّد إلى المتصفح أبداً، وتُجرَّب عدة مفاتيح بالترتيب: إذا نفد أحدها أجاب الذي يليه، وإذا تعذّر الوصول إليها جميعاً أجابت البيانات وحدها. لا شيء يُنزَّل، ويعمل على الهاتف.

تفاصيل تقنية

شكر وتنويه

‏KM/OS من تصميم وتطوير كريم المصمودي.

الخطوط هي Inter وSource Serif 4، بترخيص SIL Open Font. وهندسة الأيقونات تتبع مجموعة Tabler بترخيص MIT.