Aller au contenu

CEVIA · Règlement (UE) 2024/1689

Pour qui vient de créer un compte et se demande par où commencer. Ce guide décrit ce que la plateforme fait aujourd'hui, dans l'ordre où l'on s'en sert.

Guide d'utilisation — AURA

Ce guide s'adresse à qui vient de créer un compte et se demande par où commencer. Il décrit ce que la plateforme fait aujourd'hui, dans l'ordre où on s'en sert.


Ce qu'AURA fait, et ce qu'elle ne fait pas

AURA rassemble des preuves de la conformité de vos systèmes d'IA au règlement (UE) 2024/1689, les organise en un dossier vérifiable, et mesure ce qui se mesure — les biais d'un modèle, l'empreinte carbone d'un entraînement.

AURA n'est pas un organisme notifié. Les rapports produits ne constituent ni une évaluation de la conformité au sens de l'article 43 du règlement, ni une certification, ni un avis juridique.

Cette phrase n'est pas une précaution d'avocat. Elle décrit exactement la frontière : la plateforme vous aide à constituer un dossier et à savoir où vous en êtes. C'est un auditeur agréé qui atteste, et lui seul.

Trois distinctions que vous retrouverez partout dans l'interface, parce qu'elles changent le sens de ce que vous lisez :

Mesuré, estimé, déclaré chaque preuve porte sa nature. Une déclaration n'a pas le poids d'une mesure, et le rapport ne les confond jamais
Non évalué ≠ non satisfait un contrôle qu'on n'a pas regardé n'est pas un contrôle échoué
Vide ≠ zéro une métrique indisponible reste vide. Zéro voudrait dire « aucune émission », ou « aucun biais »

L'essai gratuit

Il commence à la création de votre organisation, sans rien à demander.

Ce qu'il comprend

Le chatbot juridique, gratuit 10 jours. Il répond à partir des textes chargés dans sa bibliothèque — le référentiel de contrôles, et les réglementations que votre plateforme a indexées. Il cite ses sources, et lorsqu'il ne trouve pas, il le dit plutôt que d'inventer un article.

Un audit gratuit, au choix. Biais ou juridique, une seule fois. Le choix vous appartient : l'axe que vous lancez consomme l'essai, l'autre reste disponible contre configuration d'une clé.

Ce qui se passe ensuite

Passé les 10 jours, ou l'audit consommé, la plateforme vous répond que l'essai est terminé. Rien n'est supprimé : vos projets, vos dossiers et vos rapports restent accessibles. C'est l'appel à un modèle de langage qui s'arrête.

Vous voyez à tout moment où vous en êtes sur Paramètres → Fournisseurs LLM. Le bandeau disparaît de lui-même dès que vous avez configuré votre propre clé : il n'annonce que ce qui vous est encore offert.


Le parcours d'un audit

1. Un projet

Audits → Créer un projet. Un projet représente un système d'IA. Vous en aurez autant que de systèmes à documenter.

2. Une exécution

Une exécution est une campagne datée sur ce système : la photographie d'un état, à un moment. Vous en lancerez plusieurs au fil du temps, et c'est volontaire — un dossier de conformité se compare d'une version à l'autre.

3. La classification du risque

Le règlement ne demande pas la même chose à tous les systèmes. Une dizaine de questions déterminent votre catégorie : risque inacceptable, haut risque, risque limité, risque minimal.

La trace de décision est conservée. Le rapport montre quelle règle s'est déclenchée, sur quelle réponse — vous pouvez donc expliquer la classification, pas seulement l'annoncer.

4. Le questionnaire

Dix-huit questions sur votre documentation, votre gouvernance, vos données. Elles produisent un score déclaratif, et ce mot compte : il repose sur ce que vous déclarez, sans vérification. Il signale des points d'attention ; il ne conclut pas à la conformité.

5. La campagne de contrôles

C'est le cœur. La plateforme confronte votre système au référentiel AIRS — sept exigences, onze contrôles — et rassemble pour chacun une preuve, avec sa nature et son empreinte.

Un contrôle sans preuve reste non évalué. Il n'est pas compté comme échoué, et le rapport le dit.

6. Le rapport et le dossier

Deux documents, deux usages :

Le rapport PDF ce que vous présentez. Classification, échéances, couverture par exigence, écarts, plan de remédiation
Le dossier de preuves JSON ce que vous remettez à un auditeur. Il porte son empreinte, et se vérifie sans accès à votre compte

Le rapport peut porter une synthèse d'ouverture. Vous la rédigez, ou vous demandez un premier jet à un modèle de langage — mais elle n'entre dans le document qu'après votre relecture et votre validation, qui y figurent avec votre nom et la date. Un brouillon ne part pas chez un auditeur en votre nom.


Passer à votre propre clé

L'essai est servi par la clé de CEVIA. Au-delà, vous configurez la vôtre : les appels sont alors facturés par votre fournisseur, sans limite de durée.

Paramètres → Fournisseurs LLM. Cinq usages se règlent indépendamment.

Usage Ce qu'il fait
Chatbot AI Act le modèle qui rédige les réponses de l'assistant, à partir de votre bibliothèque
Vectorisation le modèle qui range cette bibliothèque pour qu'on puisse y chercher
Modèle à auditer (biais) votre modèle génératif, celui que vous soumettez à l'audit HELM/BBQ
Modèle d'embedding à auditer (biais) votre modèle d'embedding, celui que vous soumettez à l'audit WEAT/SEAT
Rédaction de la synthèse le modèle qui propose un premier jet, que vous relisez

Trois choses valent d'être sues avant de commencer.

« Modèle à auditer » désigne le vôtre, pas le meilleur du marché — dans les deux cas. Y mettre un modèle réputé reviendrait à auditer celui-là, et à repartir avec un rapport exact qui ne parle pas de votre système. Les deux usages « à auditer » sont indépendants : configurer l'un ne configure pas l'autre, exactement comme changer de modèle de vectorisation ne change rien au modèle qui rédige les réponses de l'assistant.

Changer le modèle de vectorisation oblige à réindexer. Deux modèles ne rangent pas les textes au même endroit ; les mélanger donne des réponses silencieusement mauvaises. La plateforme vous le rappelle à chaque indexation.

Le bouton « Tester » émet un véritable appel. Valider la seule forme d'une clé ne prouverait rien — c'est le fournisseur qui décide s'il l'accepte.

Ce que devient votre clé

Elle est chiffrée avant d'être enregistrée, et n'est jamais réaffichée — ni à l'écran, ni dans un journal, ni dans un message d'erreur. La liste en montre sept caractères sur trente-deux, de quoi reconnaître laquelle est en place. Pour en changer, vous en saisissez une nouvelle ; on ne relit pas l'ancienne.

Chaque usage porte un plafond mensuel de tokens. Un appel qui le dépasserait est refusé avant d'être émis : c'est ce qui transforme une boucle involontaire en refus poli plutôt qu'en facture.

Paramètres → Fournisseurs LLM → Détail de la consommation montre ce qui a été consommé, par usage, avec le coût estimé et les émissions estimées. Le coût vient de la grille tarifaire publique du fournisseur ; sa facture fait foi.

Auditer un modèle auto-hébergé

Un modèle qui tourne sur votre propre serveur — fine-tuné, avec sa propre recherche documentaire, peu importe la mécanique derrière — s'audite de la même façon que les autres : AURA le traite comme une boîte noire. Il pose les questions du jeu de test, il lit les réponses, et ne voit jamais ce qu'il y a derrière.

Choisissez Auto-hébergé (vLLM, Ollama) comme fournisseur pour l'usage « Modèle à auditer ». Un modèle d'embedding auto-hébergé se configure de la même façon, sur l'usage « Modèle d'embedding à auditer (biais) ».

Le formulaire de configuration, fournisseur « Auto-hébergé (vLLM, Ollama) » sélectionné

Deux champs à renseigner vous-même, puisqu'il n'existe personne à qui les demander :

  • URL du service — l'adresse de votre serveur, en HTTPS impérativement. En HTTP brut, la clé y transite en clair à chaque appel, sur un réseau qui n'est pas toujours le vôtre.
  • Clé d'API — un secret que vous inventez vous-même et posez des deux côtés : sur votre serveur (chez vLLM, par exemple, l'option --api-key au lancement), et ici, à l'identique.

Le bouton « Tester » confirme que les deux bouts se parlent avant de lancer le premier audit.


L'agent auraagent

Certaines mesures ne peuvent pas se faire depuis la plateforme : il faut être là où tourne votre modèle. C'est le rôle de l'agent, un programme en ligne de commande que vous installez chez vous.

pip install auraagent
aura init

Python 3.10 à 3.13, sous Linux, macOS et Windows. aura init vous demande la clé d'API de votre compte — Paramètres → Clés API — et l'écrit dans ~/.aura.config, lisible par son seul propriétaire.

Mesurer les biais

Votre modèle ne quitte pas votre infrastructure. C'est le mode par défaut, et c'est le point : l'agent récupère les questions, les pose au modèle chez vous, et ne renvoie que les réponses brutes.

aura audit bias \
  --model mon-modele-v2 \
  --command "python interroger.py {question}"

L'évaluation s'appuie sur le jeu BBQ et sur les métriques de HELM : biais en contexte ambigu, en contexte désambiguïsé, exactitude.

Un score de biais va de −1 à +1, et zéro est le bon résultat :

Valeur Lecture
0 aucun penchant décelé
> 0 réponses alignées sur le stéréotype
< 0 penchant inverse au stéréotype
absent non mesurable — et non « zéro »

Il n'existe aucun seuil au-delà duquel un modèle serait « conforme ». Le règlement n'en fixe pas, HELM non plus. La mesure documente ; elle ne tranche pas.

Mesurer les biais d'un modèle d'embedding (WEAT/SEAT)

Un modèle d'embedding — moteur de recherche, matching CV, RAG interne — ne répond pas à des questions : il transforme des mots en vecteurs. Le test correspondant s'appelle WEAT/SEAT : il mesure si l'espace vectoriel associe plus fortement certains mots à un groupe qu'à un autre, plutôt que de juger des réponses.

Depuis la plateforme, sans rien installer. C'est le chemin le plus simple, et le mode par défaut de cet axe — à l'inverse de l'audit de biais génératif ci-dessus, où le local est le défaut :

Biais d'embedding → Nouvel audit. Renseignez l'identifiant du modèle, lancez l'audit : AURA vectorise vos mots via le fournisseur configuré pour l'usage « Modèle d'embedding à auditer (biais) » et calcule le résultat en tâche de fond.

En local, via l'agent — le modèle ne quitte pas votre infrastructure :

aura audit bias-embedding \
  --model mon-modele-embedding-v2 \
  --command "python vectoriser.py {text}" \
  --local

Votre commande reçoit un mot et écrit son vecteur sur la sortie standard, au format JSON : [0.12, -0.4, 0.07, ...]. Un mot dont la vectorisation échoue est omis plutôt que de fausser le calcul avec un vecteur inventé.

Le résultat porte un effect size (Cohen's d) et une p-value, par catégorie testée :

Valeur Lecture
d ≈ 0 aucune association décelée
d > 0 les mots du premier groupe sont plus proches de l'attribut testé
d < 0 les mots du second groupe sont plus proches de l'attribut testé
absent non calculable — et non « zéro »

Ce que cette mesure n'établit pas. Une association dans l'espace vectoriel n'est pas une discrimination avérée dans les décisions que votre système produit ensuite. C'est une preuve d'examen au sens de l'article 10 §2(f)-(g) du règlement — elle documente, elle ne tranche pas, exactement comme l'audit génératif ci-dessus.

Mesurer l'empreinte carbone

aura audit carbon -- python entrainer.py --epochs 10

Les valeurs remontées sont celles que CodeCarbon a mesurées sur votre machine. Une métrique indisponible reste vide plutôt que d'être remplacée par zéro — zéro signifierait « aucune émission ».

Le code de sortie de la commande mesurée est propagé : un script d'intégration continue échoue si ce qu'il mesure a échoué.

En bibliothèque, si vous préférez instrumenter votre code :

from aura import AuraCarbon

with AuraCarbon(execution_id="run-2026-001") as suivi:
    entrainer_le_modele()

print(suivi.metrics())

Récupérer le rapport

aura report 3f2504e0-4f89-11d3-9a0c-0305e82c3301

Trois issues : 0 le rapport est enregistré, 1 l'exécution est introuvable, 2 le rapport n'est pas encore composé — il suffit d'attendre.

Ce qui circule, et ce qui ne circule pas

Reste chez vous Part vers AURA
Le modèle, ses poids, son code les réponses brutes aux questions du jeu BBQ
Vos données d'entraînement les métriques mesurées par CodeCarbon
La commande que vous exécutez l'identifiant de l'exécution
Le modèle d'embedding, en mode local les vecteurs des mots du test WEAT/SEAT

Votre clé d'API n'apparaît jamais — ni à l'écran, ni dans un journal, ni dans un message d'erreur. Le fichier ~/.aura.config est créé en 0600.


Protéger votre compte

Paramètres → Mon profil → Sécurité. La double authentification est facultative, et se règle par personne.

Une fois activée, votre mot de passe ne suffit plus : un code de votre application d'authentification est demandé à chaque connexion. Vous recevez dix codes de secours, affichés une seule fois — notez-les. Ils servent lorsque vous n'avez pas votre téléphone, et chacun ne fonctionne qu'une fois.

Elle ne concerne que le navigateur. auraagent et l'API continuent de s'authentifier par clé : une machine ne saisit pas un code à six chiffres.


Quand quelque chose ne va pas

Le chatbot répond « les extraits fournis ne permettent pas de répondre ». Ce n'est pas une panne. Il a cherché dans sa bibliothèque, n'a rien trouvé de pertinent, et le dit plutôt que d'inventer. Le texte que vous cherchez n'y est peut-être pas encore.

Un contrôle reste « non évalué ». Aucune preuve ne lui a été rattachée. Ce n'est pas un échec, et le rapport ne le compte pas comme tel.

Le rapport n'est pas encore disponible. Sa composition tourne en arrière- plan. L'écran le dit plutôt que de vous livrer un document incomplet.

Un appel est refusé alors que votre clé est valide. Vérifiez le plafond mensuel de l'usage concerné, sur l'écran des fournisseurs.