# 5 · التجهيز: الحساب والأدوات 🛠️

> ملف مراجعة من ورشة «من جهازك إلى العالم» · مجتمع الـ Vibe Coding

ابدأ من المستوى الذي يناسبك. الأول ما يحتاج حسابًا أصلًا.

---

## المستوى 0: بدون حساب ولا تسجيل

تقدر تشارك مشروعك مع العالم **الآن** بأمر واحد، بدون أي حساب.

### ثبّت الأداة مرة واحدة

**ماك:**

```bash
brew install cloudflared
```

**ويندوز:**

```
winget install Cloudflare.cloudflared
```

**لينكس أو تحميل مباشر:** ابحث عن `cloudflared downloads`

### شغّلها

شغّل مشروعك محليًا، ثم في نافذة طرفية ثانية:

```bash
cloudflared tunnel --url http://localhost:3000
```

يعطيك رابطًا مثل `https://calm-river-4821.trycloudflare.com` تشاركه فورًا.

| الميزة | الحالة |
|---|---|
| حساب مطلوب | ❌ لا |
| بطاقة ائتمانية | ❌ لا |
| الرابط دائم | ❌ ينتهي بإغلاق الأمر |
| مناسب للإطلاق الرسمي | ❌ لا |
| مناسب لعرض سريع | ✅ ممتاز |

> **متى يكفيك هذا المستوى؟** إذا كنت تبي تور مشروعك لصديق أو عميل، أو تجربه من جوالك، أو تعرض شيئًا ثقيلًا يشتغل على جهازك.

---

## المستوى 1: حساب مجاني + سحب وإفلات

هذا كل ما تحتاجه لنشر موقع دائم. **بدون تثبيت أي شيء.**

### أنشئ الحساب

1. افتح `dash.cloudflare.com/sign-up`
2. بريد إلكتروني وكلمة مرور
3. أكّد البريد

**لا تحتاج بطاقة ائتمانية.** ولا تحتاج تشتري دومينًا.

### انشر موقعك

1. من القائمة: **Workers & Pages**
2. **Create** ثم تبويب **Pages**
3. **Upload assets**
4. اسحب مجلد موقعك (اللي فيه `index.html`)
5. سمِّ المشروع ← **Deploy**

خلال ثوانٍ يصير عندك `اسم-مشروعك.pages.dev` 🎉

> **الشرط الوحيد:** لازم يكون في المجلد ملف اسمه `index.html` بالضبط، وفي جذر المجلد لا داخل مجلد فرعي.

---

## المستوى 2: سطر الأوامر (wrangler)

تحتاجه إذا بغيت تنشر بأمر واحد، أو تشتغل بـ Workers وKV.

### المتطلّب الوحيد: Node.js

تأكد أنه مثبّت:

```bash
node --version
```

إذا ما ظهر رقم، ثبّته من `nodejs.org` (اختر LTS).

### استخدم wrangler بدون تثبيت

```bash
npx wrangler login
```

`npx` يشغّل الأداة مباشرة بدون تثبيت دائم. يفتح المتصفح للموافقة مرة واحدة.

### الأوامر التي ستحتاجها فعلًا

```bash
# تأكد من تسجيل دخولك
npx wrangler whoami

# انشر موقعًا ساكنًا
npx wrangler pages deploy ./مجلد-موقعك

# انشر Worker
npx wrangler deploy

# احفظ مفتاحًا سرًّا (لا يظهر في الكود أبدًا)
npx wrangler secret put GEMINI_API_KEY
```

---

## أي مستوى يناسب مشروعك؟

| ما تبي تسويه | المستوى | حساب؟ |
|---|---|---|
| أوري صديقي مشروعي الحين | 0 · Tunnel | ❌ |
| أنشر موقعي برابط دائم | 1 · سحب وإفلات | ✅ مجاني |
| أعدّل موقعي كل يوم | 2 · wrangler أو GitHub | ✅ مجاني |
| أخفي مفتاح API | 2 · Worker + Secret | ✅ مجاني |
| أربط دومين اشتريته | 1 · من لوحة التحكم | ✅ مجاني |

---

## الحدود المجانية (ما راح تصطدم فيها غالبًا)

| المورد | الحد |
|---|---|
| زيارات الموقع | **بلا حدود** |
| عمليات نشر | 500 شهريًا |
| طلبات Workers | 100,000 يوميًا |
| قراءات KV | 100,000 يوميًا |
| كتابات KV | 1,000 يوميًا |
| عدد المشاريع | 100 |

> **ما يوجد "تجربة مجانية تنتهي".** الخطة المجانية دائمة، والزيارات بلا حدود يعني ما راح توصلك فاتورة مفاجئة لو انتشر مشروعك.

---

## مشاكل شائعة وحلولها

**`command not found: cloudflared`**
ما ثُبِّتت الأداة، أو الطرفية تحتاج إعادة فتح بعد التثبيت. سكّرها وافتحها من جديد.

**`command not found: npx`**
Node.js غير مثبّت. حمّله من `nodejs.org`.

**`wrangler login` يفتح المتصفح وما يرجع**
تأكد أنك سجّلت دخولك في كلاودفلير داخل نفس المتصفح، ثم أعد الأمر.

**الموقع نُشر لكنه صفحة بيضاء**
`index.html` مو في جذر المجلد، أو فيه خطأ. افتح أدوات المطوّر وشوف رسالة الخطأ.

**الصور ما تظهر بعد النشر**
مسارات الصور مطلقة. لازم تكون نسبية: `images/pic.png` وليس `/Users/…/pic.png`.

---

## القاعدة الذهبية

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

هذي مو غش، هذي هي الطريقة 😄

---

## روابط

- إنشاء حساب: `dash.cloudflare.com/sign-up`
- توثيق Pages: `developers.cloudflare.com/pages`
- توثيق Workers: `developers.cloudflare.com/workers`
- توثيق wrangler: `developers.cloudflare.com/workers/wrangler`
- تحميل cloudflared: ابحث عن "cloudflared downloads"
