تخطَّ إلى المحتوى

التثبيت والاختبارات

PHP 8.3 مع pdo_pgsql، وComposer، وNode 22 أو أحدث، وPostgreSQL 16 مع دور pls بلا كلمة مرور على 127.0.0.1:5432 وقاعدتين: pls وpls_test.

نافذة طرفيّة
composer install && npm install
cp .env.example .env && php artisan key:generate
php artisan migrate:fresh --seed
npm run build
php artisan serve

ينشئ الـ seeder كتالوج العرض التوضيحي، ومديرًا (ADMIN_EMAIL / ADMIN_PASSWORD من ملف .env)، وثلاثة مختبِرين مدعوّين.

العنوان المحتوى
/ الموقع العام — يوجّه إلى /ar أو /fr
/admin لوحة الإدارة
/docs/api المرجع التفاعلي لواجهة البرمجة (API)
/api/v1/catalogue واجهة البرمجة (API) نفسها
/documentation هذا التوثيق

لاختبار الدخول بالرمز محليًا، القناة هي log: اطلب رمزًا ثم اقرأ storage/logs/laravel.log (السطر «OTP pour …»). مقاطع العرض التجريبي بلا ملفات صوتية: php artisan demo:audios ينزّل الكتب الصوتية الثلاثة التجريبية ويربطها بكل مقطع للاستماع من البداية إلى النهاية.

نافذة طرفيّة
php artisan test # la suite complète, sur la base pls_test
./vendor/bin/pint # le style

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

يشغّل تدفق GitHub Actions أداة Pint، وبناء الواجهة، ومجموعة الاختبارات على PostgreSQL 16 عند كل push.

يُبنى باستخدام Starlight (Astro) في docs/site ويُنشر في public/documentation، ومن هناك يقدّمه التطبيق.

نافذة طرفيّة
npm run docs:dev # aperçu avec rechargement
npm run docs:build # construction, recherche comprise

الصفحات الفرنسية في docs/site/src/content/docs/fr، والعربية في …/ar، بالبنية الشجرية نفسها. مرجع الجداول مولّد من المخطط الفعلي: يجب إعادة توليده بعد كل ترحيل.