Méthode
Comment Avalyz travaille.
Confiance
Les 13 niveaux de test
Avalyz prouve ce qu'il a vu ; il ne promet pas le reste. Voici, niveau par niveau, ce qui est contrôlé aujourd'hui, avec quelle maturité, et ce qui permet d'aller plus loin.
Ce que veut dire la maturité
- Solide : contrôlé en profondeur à chaque test.
- Passif réel : contrôles réels, faits en lisant les réponses du site, sans attaque.
- Réel avec un compte de test : réel dès que tu donnes un compte de test.
- Partiel : une partie seulement est contrôlée : le détail dit laquelle.
- Inventaire seulement : ce qui existe est repéré et compté, rien n'est exécuté.
Les 13 niveaux
| Niveau | Ce qui est contrôlé | Maturité | Pour aller plus loin |
|---|---|---|---|
| Analyse du code | Dans le code de ton dépôt : secrets oubliés, dépendances touchées par une faille connue (base publique osv.dev), code à risque. | Partiel | Donne l'adresse de ton dépôt (modes Standard et Complet). L'analyse de types et ESLint ne sont pas encore exécutés. |
| Tests unitaires | Tes tests unitaires sont repérés et comptés dans ton dépôt. Ils ne sont pas exécutés. | Inventaire seulement | Adresse du dépôt : inventaire. L'exécution de tes tests n'est pas encore disponible. |
| Tests de composants | Tes tests de composants (Storybook, Testing Library) sont repérés et comptés. Ils ne sont pas exécutés. | Inventaire seulement | Adresse du dépôt : inventaire. L'exécution de tes tests n'est pas encore disponible. |
| API | Les appels de tes pages à leur API : erreurs serveur et lenteurs qui se reproduisent ; la description OpenAPI si elle est publiée. | Partiel | Publie la description OpenAPI de ton API : Avalyz la lit. |
| Sécurité des données | Les services de données de ton app (Supabase, Firebase) repérés dans la page, et ce que la page publie à leur sujet. | Partiel | Balise de propriété : Avalyz lit ta base avec la clé publique de la page, en lecture seule, pour vérifier qu'elle ne livre rien à un visiteur anonyme. |
| Parcours par rôle | Avec un compte de test : connexion, puis exploration des pages connectées. Les parcours par rôle sont relevés, pas joués. | Réel avec un compte de test | Donne un compte de test : la connexion est le seul formulaire soumis. |
| Règles métier | Les règles tirées de la description de ton app (bornes, états, montants), confrontées aux écrans vus pendant le test. | Partiel | Décris ton app avec « Depuis ton idée » (offres Pro et Équipe). |
| Sécurité applicative | En-têtes de sécurité, fichiers sensibles laissés en accès public, fichier security.txt, paramètre renvoyé tel quel, redirection ouverte, fuites de version. Analyse passive, sans attaque. | Passif réel | Rien à faire : contrôlé à chaque test. Ce n'est pas un test d'intrusion. |
| Performance | Core Web Vitals (LCP, CLS, TTFB), poids des pages, profil téléphone sur réseau lent, charge légère. | Solide | Balise de propriété : montée en charge graduée (10, 25, 50 visites simultanées sur l'accueil). |
| Accessibilité | Défauts d'accessibilité reliés aux critères WCAG 2.2 et RGAA 4.1. | Solide | Rien à faire : contrôlé à chaque test. Ce n'est pas un audit de conformité RGAA. |
| Visuel et langues | Mise en page sur ordinateur et téléphone, captures, comparaison avec le passage précédent, langues. | Solide | Rien à faire : contrôlé à chaque test. |
| Résilience | Ce que fait ton app hors ligne, sur un réseau lent et quand son API échoue, dans un vrai navigateur. | Solide | Rien à faire : contrôlé à chaque test. |
| Conformité | Politique de confidentialité, mentions légales, cookies déposés avant accord, bandeau de consentement. | Passif réel | Rien à faire : contrôlé à chaque test. Ce n'est pas un avis juridique. |
Ce qui reste hors de portée
- Les tests d'intrusion et toute forme d'attaque : Avalyz ne les fait pas.
- L'exécution de ton code et de tes tests : aujourd'hui, ils sont lus et comptés, pas lancés.
- Les parcours par rôle joués de bout en bout : ils sont relevés, pas joués.
- Un audit de conformité RGAA ou un avis juridique.
- Ce que le test n'a pas vu : le rapport dit ce qui n'a pas été testé.
Intégrations
Tester avec Avalyz depuis ton outil
Où que tu construises ton app, un geste suffit. Par défaut, chaque test est en lecture seule : il ne modifie rien sur ton site, et la connexion avec ton compte de test est le seul formulaire soumis.
Un lien, zéro clic
Ce lien remplit l'adresse et lance le test tout seul : colle-le où tu veux (3 tests gratuits par jour et par visiteur).
https://avalyz.com/essai?url=TON_URLLovable, Bolt, v0, Replit
Ajoute ce badge à ton README ou à ta page : un clic dessus lance le test de ton app.
[](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
Colle ce bloc dans CLAUDE.md (Claude Code) ou .cursorrules (Cursor) : ton assistant teste l'app après chaque déploiement et lit le rapport.
## Recette Avalyz
Après chaque déploiement, teste l'app avec Avalyz (lecture seule par défaut) et lis le rapport.
1. Lance la commande ci-dessous.
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. Lis le JSON rendu : "verdict" (GO, GO SOUS CONDITIONS, NO-GO, INCONCLUSIF), "pourquoi", "constats" (severite S1 à S4, titre) et "rapport_url" (un chemin à joindre à https://avalyz.com).
3. Si le verdict n'est pas GO, corrige les constats S1 et S2, redéploie, puis relance.
Si "etat" vaut "en_cours" (pas fini), relis https://avalyz.com/api/v1/tests/<id> avec la même clé.
TA_CLE est ta clé d'API Avalyz : garde-la dans la variable d'environnement AVALYZ_API_KEY et ne l'écris jamais dans le dépôt.Claude Desktop, Cowork (MCP)
Télécharge le serveur MCP et ajoute ce bloc à ta configuration : Claude lance les tests et lit les rapports lui-même.
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
Colle ce fichier dans .github/workflows/avalyz.yml : le test part après chaque déploiement et la CI échoue si le verdict est 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 : ta clé d'API, rangée dans les secrets du dépôt (AVALYZ_API_KEY).Avant de copier
Remplace TON_URL par l'adresse de ton app et TA_CLE par ta clé d'API (page « Clés d'API » de ton compte, essai de 14 jours sans carte). Ne l'écris jamais dans un dépôt : garde-la dans une variable d'environnement ou un secret.
Documentation
Démarrer avec Avalyz
Tout ce qu'il faut pour lancer un test, prouver que ton site est à toi et brancher Avalyz à tes outils.
Démarrer en 3 étapes
- Colle l'adresse de ton app sur la page d'essai : le test gratuit démarre sans inscription.
- Lis le rapport : le verdict, chaque constat avec sa capture et son adresse, et ce qui n'a pas été testé.
- Crée ton compte pour aller plus loin : mode Complet, compte de test, surveillance planifiée, API.
La balise de propriété
Elle prouve que le site est à toi et débloque les contrôles poussés : lecture de ta base de données en lecture seule, montée en charge graduée.
Ton jeton personnel s'affiche à la première étape de l'essai guidé, une fois connecté. Colle-le dans la page d'accueil de ton site :
<meta name="avalyz-verification" content="TON_JETON">
Ou dépose-le dans le fichier /.well-known/avalyz-verification.txt. Si l'adresse e-mail de ton compte est sur le domaine du site, rien à faire.
Intégrations
- Lovable, Bolt, v0, Replit : un badge « Tested with Avalyz » à coller, qui lance le test de ton app.
- Claude Code, Cursor : un bloc de consignes qui appelle l'API d'Avalyz après chaque déploiement.
- Claude Desktop, Cowork, Claude Code : le serveur MCP d'Avalyz, trois outils : avalyz_test_url, avalyz_get_report, avalyz_list_tests.
- Intégration continue : un script pour GitHub Actions, GitLab et Bitbucket ; commentaire de pull request GitHub.
- Alertes et suivi : e-mail, webhook signé, Slack, Teams ; export Jira.
- API décrite en OpenAPI, avec des clés d'API par compte.
Toutes les intégrations, prêtes à copier · Télécharger le serveur MCP
Questions fréquentes
Avalyz modifie-t-il mon app ?
Par défaut, non : en lecture seule, rien n'est créé ni modifié, et avec un compte de test, la connexion est le seul formulaire soumis. Le mode écriture, sur ta demande seulement, remplit et envoie des formulaires avec des données de test : il exige la preuve que le site est à toi (production) ou ton attestation que tu en as le droit (environnement de recette), et n'effectue jamais de paiement réel ni de suppression.
Un rapport sans constat veut-il dire que mon app est sans défaut ?
Non. Avalyz prouve ce qu'il a vu ; ce qui n'a pas été testé n'est pas couvert, et le rapport le dit.
Où sont mes données ?
Chez Scaleway, à Paris (France), dans l'Union européenne. Durées de conservation et suppression : page Sécurité et données.
Puis-je tester un site qui n'est pas à moi ?
Seulement avec l'autorisation de son propriétaire. Les contrôles poussés demandent en plus la balise de propriété.