Avalyz

Méthode

Comment Avalyz travaille.

Colle ton adresse. Avalyz comprend ton app, joue ses parcours, contrôle treize niveaux et te dit si tu peux livrer.

Les 13 niveaux · Tester depuis ton outil · Documentation

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

NiveauCe qui est contrôléMaturitéPour aller plus loin
Analyse du codeDans le code de ton dépôt : secrets oubliés, dépendances touchées par une faille connue (base publique osv.dev), code à risque.PartielDonne 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 unitairesTes tests unitaires sont repérés et comptés dans ton dépôt. Ils ne sont pas exécutés.Inventaire seulementAdresse du dépôt : inventaire. L'exécution de tes tests n'est pas encore disponible.
Tests de composantsTes tests de composants (Storybook, Testing Library) sont repérés et comptés. Ils ne sont pas exécutés.Inventaire seulementAdresse du dépôt : inventaire. L'exécution de tes tests n'est pas encore disponible.
APILes appels de tes pages à leur API : erreurs serveur et lenteurs qui se reproduisent ; la description OpenAPI si elle est publiée.PartielPublie la description OpenAPI de ton API : Avalyz la lit.
Sécurité des donnéesLes services de données de ton app (Supabase, Firebase) repérés dans la page, et ce que la page publie à leur sujet.PartielBalise 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ôleAvec 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 testDonne un compte de test : la connexion est le seul formulaire soumis.
Règles métierLes règles tirées de la description de ton app (bornes, états, montants), confrontées aux écrans vus pendant le test.PartielDécris ton app avec « Depuis ton idée » (offres Pro et Équipe).
Sécurité applicativeEn-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éelRien à faire : contrôlé à chaque test. Ce n'est pas un test d'intrusion.
PerformanceCore Web Vitals (LCP, CLS, TTFB), poids des pages, profil téléphone sur réseau lent, charge légère.SolideBalise 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.SolideRien à faire : contrôlé à chaque test. Ce n'est pas un audit de conformité RGAA.
Visuel et languesMise en page sur ordinateur et téléphone, captures, comparaison avec le passage précédent, langues.SolideRien à faire : contrôlé à chaque test.
RésilienceCe que fait ton app hors ligne, sur un réseau lent et quand son API échoue, dans un vrai navigateur.SolideRien à faire : contrôlé à chaque test.
ConformitéPolitique de confidentialité, mentions légales, cookies déposés avant accord, bandeau de consentement.Passif réelRien à faire : contrôlé à chaque test. Ce n'est pas un avis juridique.

Mesuré face au marché : le banc d'essai comparatif sera publié bientôt, avec sa méthode.

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é.

Tester mon app gratuitement

Sécurité et données · Documentation

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_URL

Lovable, Bolt, v0, Replit

Ajoute ce badge à ton README ou à ta page : un clic dessus lance le test de ton app.

Tested with Avalyz

Markdown

[![Tested with Avalyz](https://avalyz.com/av/badge.svg)](https://avalyz.com/essai?url=TON_URL)

HTML

<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.

1. Télécharge le fichier (une fois)

curl -O https://avalyz.com/av/integrations/avalyz_mcp.py

2. Ajoute ce bloc à la configuration MCP, puis relance l'application

{
  "mcpServers": {
    "avalyz": {
      "command": "python3",
      "args": ["/CHEMIN/VERS/avalyz_mcp.py"],
      "env": { "AVALYZ_API_KEY": "TA_CLE" }
    }
  }
}

Dans Claude Code, une seule commande remplace l'étape 2 :

claude mcp add avalyz -e AVALYZ_API_KEY=TA_CLE -- python3 /CHEMIN/VERS/avalyz_mcp.py

GitHub 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.

Le lien et le badge n'ont pas besoin de clé. Sans compte de test, le test s'arrête où l'accès s'arrête ; avec un compte de test (page unique, panneau), la connexion est le seul formulaire soumis et les pages connectées sont explorées en lecture seule par défaut.

Créer mon compte

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

  1. Colle l'adresse de ton app sur la page d'essai : le test gratuit démarre sans inscription.
  2. Lis le rapport : le verdict, chaque constat avec sa capture et son adresse, et ce qui n'a pas été testé.
  3. Crée ton compte pour aller plus loin : mode Complet, compte de test, surveillance planifiée, API.

Lancer un test Créer mon compte

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.

Ouvrir l'essai guidé

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é.

Les 13 niveaux · Sécurité et données