الطريقة
كيف يعمل Avalyz.
الثقة
مستويات الاختبار الـ13
يُثبت Avalyz ما رآه، ولا يعِد بما سواه. إليك، مستوى بمستوى، ما يُفحص اليوم، ومدى نضجه، وما يتيح الذهاب أبعد.
ماذا يعني النضج
- متين : يُفحص بعمق في كل اختبار.
- فعلي، سلبي : فحوص فعلية، تتم بقراءة إجابات الموقع، دون أي هجوم.
- فعلي مع حساب اختبار : فعلي ما إن تعطي حساب اختبار.
- جزئي : يُفحص جزء منه فقط: والتفصيل يبيّن أيّ جزء.
- جرد فقط : يُرصد الموجود ويُعدّ، ولا يُشغَّل شيء.
المستويات الـ13
| المستوى | ما يُفحص | النضج | للذهاب أبعد |
|---|---|---|---|
| تحليل الشيفرة | في شيفرة مستودعك: أسرار منسيّة، وتبعيات بها ثغرة معروفة (قاعدة osv.dev العامة)، وشيفرة خطرة. | جزئي | أعطِ عنوان مستودعك (الوضعان القياسي والكامل). لا يُشغَّل بعدُ فحص الأنواع ولا ESLint. |
| الاختبارات الوحدوية | تُرصد اختباراتك الوحدوية وتُعدّ في مستودعك. ولا تُشغَّل. | جرد فقط | عنوان المستودع: جرد. تشغيل اختباراتك غير متاح بعد. |
| اختبارات المكوّنات | تُرصد اختبارات مكوّناتك (Storybook وTesting Library) وتُعدّ. ولا تُشغَّل. | جرد فقط | عنوان المستودع: جرد. تشغيل اختباراتك غير متاح بعد. |
| واجهة البرمجة (API) | استدعاءات صفحاتك لواجهتها البرمجية: أخطاء الخادم والبطء حين يتكرران؛ ووصف OpenAPI إن كان منشورًا. | جزئي | انشر وصف OpenAPI لواجهتك البرمجية: يقرؤه Avalyz. |
| أمان البيانات | خدمات البيانات في تطبيقك (Supabase وFirebase) المرصودة في الصفحة، وما تنشره الصفحة عنها. | جزئي | وسم الملكية: يقرأ Avalyz قاعدة بياناتك بالمفتاح العام للصفحة، قراءةً فقط، للتحقق من أنها لا تسلّم شيئًا لزائر مجهول. |
| المسارات حسب الدور | مع حساب اختبار: تسجيل الدخول، ثم استكشاف الصفحات بعد الدخول. تُرصد المسارات حسب الدور، ولا تُنفَّذ. | فعلي مع حساب اختبار | أعطِ حساب اختبار: تسجيل الدخول هو النموذج الوحيد المُرسَل. |
| قواعد العمل | القواعد المستخلصة من وصف تطبيقك (الحدود والحالات والمبالغ)، مقارنةً بالشاشات التي رُئيت أثناء الاختبار. | جزئي | صِف تطبيقك عبر «من فكرتك» (عرضا Pro والفريق). |
| أمان التطبيق | ترويسات الأمان، والملفات الحساسة المتروكة متاحة للعموم، وملف security.txt، والمعامل المُعاد كما هو، وإعادة التوجيه المفتوحة، وتسريب الإصدارات. تحليل سلبي دون أي هجوم. | فعلي، سلبي | لا شيء تفعله: يُفحص في كل اختبار. وليس اختبار اختراق. |
| الأداء | مؤشرات Core Web Vitals (LCP وCLS وTTFB)، ووزن الصفحات، وملف الهاتف على شبكة بطيئة، وحمل خفيف. | متين | وسم الملكية: اختبار حمل متدرّج (10، 25، 50 زيارات متزامنة للصفحة الرئيسية). |
| إمكانية الوصول | عيوب سهولة الوصول مربوطة بمعايير WCAG 2.2 وRGAA 4.1. | متين | لا شيء تفعله: يُفحص في كل اختبار. وليس تدقيق مطابقة RGAA. |
| المظهر واللغات | التخطيط على الحاسوب والهاتف، ولقطات الشاشة، والمقارنة مع المرور السابق، واللغات. | متين | لا شيء تفعله: يُفحص في كل اختبار. |
| الصمود | ما يفعله تطبيقك دون اتصال، وعلى شبكة بطيئة، وحين تفشل واجهته البرمجية، في متصفح حقيقي. | متين | لا شيء تفعله: يُفحص في كل اختبار. |
| المطابقة | سياسة الخصوصية، والبيانات القانونية، وملفات تعريف الارتباط المودَعة قبل الموافقة، وشريط الموافقة. | فعلي، سلبي | لا شيء تفعله: يُفحص في كل اختبار. وليس رأيًا قانونيًا. |
ما يبقى خارج النطاق
- اختبارات الاختراق وأي شكل من أشكال الهجوم: لا يقوم بها Avalyz.
- تشغيل شيفرتك واختباراتك: اليوم تُقرأ وتُعدّ، ولا تُشغَّل.
- المسارات حسب الدور منفَّذةً من البداية إلى النهاية: تُرصد ولا تُنفَّذ.
- تدقيق مطابقة RGAA أو رأي قانوني.
- ما لم يره الاختبار: يذكر التقرير ما لم يُختبر.
التكاملات
اختبروا بواسطة Avalyz من أداتكم
أينما بنيتم تطبيقكم، تكفي خطوة واحدة. افتراضيًا، كل اختبار للقراءة فقط: لا يغيّر شيئًا في موقعكم، وتسجيل الدخول بحساب الاختبار هو النموذج الوحيد المُرسل.
رابط واحد، دون أي نقرة
هذا الرابط يملأ العنوان ويبدأ الاختبار تلقائيًا: الصقوه أينما شئتم (3 اختبارات مجانية في اليوم لكل زائر).
https://avalyz.com/essai?url=TON_URLLovable وBolt وv0 وReplit
أضيفوا هذه الشارة إلى ملف README أو إلى صفحتكم: نقرة واحدة عليها تشغّل اختبار تطبيقكم.
[](https://avalyz.com/essai?url=TON_URL)<a href="https://avalyz.com/essai?url=TON_URL"><img src="https://avalyz.com/av/badge.svg" alt="Tested with Avalyz"></a>Claude Code وCursor
الصقوا هذا المقطع في CLAUDE.md (Claude Code) أو .cursorrules (Cursor): مساعدكم يختبر التطبيق بعد كل نشر ويقرأ التقرير.
## Avalyz acceptance test
After every deployment, test the app with Avalyz (read-only by default) and read the report.
1. Run the command below.
curl -sS --max-time 150 -X POST https://avalyz.com/api/v1/tests -H "Authorization: Bearer $AVALYZ_API_KEY" -H "Content-Type: application/json" -d '{"url":"TON_URL","attendre":true}'
2. Read the JSON that comes back: "verdict" (GO, GO SOUS CONDITIONS, NO-GO, INCONCLUSIF), "pourquoi" (why), "constats" (findings: severite S1 to S4, titre) and "rapport_url" (a path to append to https://avalyz.com).
3. If the verdict is not GO, fix the S1 and S2 findings, redeploy, then run it again.
If "etat" is "en_cours" (still running), read https://avalyz.com/api/v1/tests/<id> again with the same key.
TA_CLE is your Avalyz API key: keep it in the AVALYZ_API_KEY environment variable and never write it into the repository.Claude Desktop وCowork (MCP)
نزّلوا خادم MCP وأضيفوا هذا المقطع إلى إعداداتكم: يشغّل Claude الاختبارات ويقرأ التقارير بنفسه.
curl -O https://avalyz.com/av/integrations/avalyz_mcp.py{
"mcpServers": {
"avalyz": {
"command": "python3",
"args": ["/CHEMIN/VERS/avalyz_mcp.py"],
"env": { "AVALYZ_API_KEY": "TA_CLE" }
}
}
}
claude mcp add avalyz -e AVALYZ_API_KEY=TA_CLE -- python3 /CHEMIN/VERS/avalyz_mcp.pyGitHub Actions
الصقوا هذا الملف في .github/workflows/avalyz.yml: يبدأ الاختبار بعد كل نشر ويفشل التكامل المستمر إذا كان الحكم NO-GO.
on:
deployment_status:
jobs:
avalyz:
if: github.event.deployment_status.state == 'success'
runs-on: ubuntu-latest
steps:
- name: Avalyz
run: curl -fsS https://avalyz.com/api/av/outils/recette_ci.py -o recette_ci.py && python3 recette_ci.py
env:
AVALYZ_URL: TON_URL
AVALYZ_SERVEUR: https://avalyz.com
AVALYZ_CLE: ${{ secrets.AVALYZ_API_KEY }} # TA_CLE: your API key, stored in the repository secrets (AVALYZ_API_KEY).قبل النسخ
استبدلوا TON_URL بعنوان تطبيقكم وTA_CLE بمفتاح الواجهة البرمجية (صفحة «مفاتيح الواجهة» في حسابكم، تجربة 14 يومًا دون بطاقة). لا تكتبوه أبدًا في مستودع: احتفظوا به في متغير بيئة أو في سر.
التوثيق
البدء مع Avalyz
كل ما تحتاجه لإطلاق اختبار، وإثبات أن موقعك لك، وربط Avalyz بأدواتك.
ابدأ في 3 خطوات
- الصق عنوان تطبيقك في صفحة التجربة: يبدأ الاختبار المجاني دون تسجيل.
- اقرأ التقرير: الحكم، وكل ملاحظة مع لقطتها وعنوانها، وما لم يُختبر.
- أنشئ حسابك للذهاب أبعد: الوضع الكامل، وحساب الاختبار، والمراقبة المجدولة، والواجهة البرمجية.
وسم الملكية
يُثبت أن الموقع لك ويفتح الفحوص المعمّقة: قراءة قاعدة بياناتك قراءةً فقط، واختبار الحمل المتدرّج.
يظهر رمزك الشخصي في الخطوة الأولى من التجربة الموجَّهة بعد تسجيل الدخول. الصقه في الصفحة الرئيسية لموقعك:
<meta name="avalyz-verification" content="TON_JETON">
أو ضعه في الملف /.well-known/avalyz-verification.txt. وإن كان بريد حسابك على نطاق الموقع، فلا شيء تفعله.
التكاملات
- Lovable وBolt وv0 وReplit: شارة «Tested with Avalyz» تلصقها، فتُطلق اختبار تطبيقك.
- Claude Code وCursor: كتلة تعليمات تستدعي واجهة Avalyz البرمجية بعد كل نشر.
- Claude Desktop وCowork وClaude Code: خادم MCP الخاص بـAvalyz، بثلاث أدوات: avalyz_test_url, avalyz_get_report, avalyz_list_tests.
- التكامل المستمر: سكربت لـGitHub Actions وGitLab وBitbucket؛ وتعليق على طلب الدمج في GitHub.
- التنبيهات والمتابعة: البريد الإلكتروني، وwebhook موقَّع، وSlack وTeams؛ والتصدير إلى Jira.
- واجهة برمجية موصوفة بـOpenAPI، مع مفاتيح API لكل حساب.
أسئلة شائعة
هل يغيّر Avalyz تطبيقي؟
افتراضيًا، لا: قراءة فقط، فلا يُنشأ شيء ولا يُعدَّل، ومع حساب اختبار يكون تسجيل الدخول النموذج الوحيد المُرسَل. وضع الكتابة، بطلب منك فقط، يملأ النماذج ويرسلها ببيانات اختبار: يشترط إثبات أن الموقع لك (بيئة الإنتاج) أو إقرارك بأن لك الحق في ذلك (بيئة الاختبار)، ولا يُجري أبدًا دفعًا حقيقيًا ولا حذفًا.
هل يعني تقرير بلا ملاحظات أن تطبيقي بلا عيوب؟
لا. يُثبت Avalyz ما رآه؛ وما لم يُختبر غير مشمول، ويذكر التقرير ذلك.
أين بياناتي؟
لدى Scaleway في باريس (فرنسا)، داخل الاتحاد الأوروبي. مدد الحفظ والحذف: صفحة الأمان والبيانات.
هل يمكنني اختبار موقع ليس لي؟
فقط بإذن مالكه. وتتطلب الفحوص المعمّقة إضافةً إلى ذلك وسم الملكية.