# Glossaire

> Les termes de Flexway - contrat, opération, amont, tenant, politique, quota, cluster virtuel, surface MCP... - chacun avec la page qui l'explique.

Référence - Depuis la version 0.1.0 - Flexway v1.7.1 - https://flexway.io/docs/reference-glossary/

Les termes de Flexway, par ordre alphabétique, chacun avec la page qui l'explique. Les noms de clés de
configuration et d'extensions restent en anglais, tels qu'ils s'écrivent.

### Amont

Le service vers lequel la passerelle relaie une opération, déclaré sous `upstreams` dans `flexway.yaml`
et désigné par l'opération (`x-flexway-upstream`) ou par défaut (`default`). Une opération sans amont
fait refuser le démarrage. -> [Servir sa première API](https://flexway.io/docs/operations-first-api/)

### Budget de délai

Les trois délais d'un échange - `connect`, `read` (le silence toléré, qui seul borne un flux) et
`total` (reprises comprises) -, du plus général (`server.timeouts`) au plus précis
(`x-flexway-timeout` sur l'opération). -> [Servir sa première API](https://flexway.io/docs/operations-first-api/)

### Cache partagé

Le cache partagé compatible Redis - Redis, Dragonfly ou Valkey (`server.counters`) - où les répliques
réconcilient seaux et quotas, hors du chemin de la requête ; facultatif, mais exigé par les quotas de
tenant. Ses compteurs sont jetables : perdu, la passerelle continue en compteurs locaux. -> [Poser des quotas](https://flexway.io/docs/operations-quotas/)

### Catalogue

La liste des opérations servies, avec leur amont, leur sécurité, leur propriétaire et leur date de
retrait, publiée par `/config` et montrée par la console. -> [Lire avec la console](https://flexway.io/docs/operations-console/)

### Chaîne de politiques

L'ordre dans lequel les politiques s'appliquent à une opération : `global -> hôte -> routes -> opération`,
la plus précise gagne, un retrait s'écrit `!nom`. -> [Enrichir un flux](https://flexway.io/docs/operations-policies/)

### Classe de débit

Le groupe d'opérations qui partage un seau d'appelant dans une politique `rate-limit` (`read`, `write`
ou une classe déclarée) ; une opération en change par `x-flexway-rate-class`. -> [Poser des quotas](https://flexway.io/docs/operations-quotas/)

### Clé d'API

Un secret donné à un appelant sans jeton, lié à un tenant et à des opérations nommées ; la passerelle
n'en garde que l'empreinte SHA-256. -> [Clés d'API](https://flexway.io/docs/operations-api-keys/)

### Cluster virtuel

Le cluster Kafka qu'un client natif voit à travers la passerelle : déclaré au contrat AsyncAPI, chaque
tenant y lit et écrit sous ses propres noms. -> [Clients Kafka natifs](https://flexway.io/docs/operations-kafka-clients/)

### Configuration effective

Ce que sert une réplique à cet instant : chaque clé de `flexway.yaml` telle que chargée, secrets
masqués, plus le catalogue et les chaînes, lue sur `GET /config`. -> [API d'administration](https://flexway.io/docs/reference-admin-api/)

### Contrat

Le document qui décrit une API - OpenAPI 3.1, AsyncAPI 3, service gRPC ou carte d'agent A2A. **Le contrat
est la configuration** : la passerelle sert exactement les opérations qu'il déclare, et rien d'autre.
-> [Passerelle d'API](https://flexway.io/docs/product-api-gateway/)

### Coupe-circuit

L'état par amont qui cesse d'appeler un amont en panne pendant un temps, puis le teste à nouveau
(`upstreams.<nom>.circuit_breaker`). -> [Poser des quotas](https://flexway.io/docs/operations-quotas/)

### Délestage

Le refus immédiat (`503 overloaded`) de requêtes moins prioritaires quand la passerelle sature
(`server.shedding`, `x-flexway-priority`). -> [Poser des quotas](https://flexway.io/docs/operations-quotas/)

### Échange de jeton

L'obtention, auprès du fournisseur d'identité de l'appelant, d'un jeton émis pour un amont précis
(RFC 8693) : l'amont ne reçoit jamais le jeton d'origine. -> [Agents et MCP](https://flexway.io/docs/operations-agents-mcp/)

### Émetteur

Un fournisseur d'identité OIDC déclaré sous `auth.issuers`, dont la passerelle vérifie les jetons.
-> [Brancher son fournisseur d'identité](https://flexway.io/docs/operations-identity/)

### Empreinte de configuration

`config_digest` : l'empreinte sémantique de la configuration servie, imprimée par `flexway validate` et
publiée par `/config`, qui dit si deux répliques servent la même chose. -> [Changer la configuration sans redémarrer](https://flexway.io/docs/operations-live-config/)

### Extension

Une clé `x-flexway-*` écrite dans le contrat pour ce qui est propre à une opération (amont, délai,
cache, outil MCP...). La liste est fermée : une extension inconnue est refusée au chargement.
-> [Référence de la configuration](https://flexway.io/docs/operations-configuration-reference/)

### Fédération MCP

Des serveurs MCP existants placés derrière la surface MCP de la passerelle, leurs outils offerts sous
leurs noms, avec la même décision que les outils du contrat. -> [Agents et MCP](https://flexway.io/docs/operations-agents-mcp/)

### Fermé par défaut

Ce qui n'est pas déclaré ne passe pas : opération, en-tête, paramètre, origine. La liste blanche est le
mode normal. -> [Posture de sécurité](https://flexway.io/docs/product-security/)

### Fragment de politique

Un fichier `kind: PolicyFragment` de définitions de politiques écrit une fois, importé par plusieurs
passerelles qui l'épinglent chacune par son empreinte `sha256` ; ses définitions s'y nomment
`<import>/<nom>` (depuis `1.7.0`). -> [Fragments de politique partagés](https://flexway.io/docs/operations-policy-fragments/)

### Hôte

Un nom d'hôte servi avec ses propres contrats et son amont par défaut (`hosts`), pour servir plusieurs
API depuis une même passerelle. -> [Changer la configuration sans redémarrer](https://flexway.io/docs/operations-live-config/)

### Opération

Une méthode sur un chemin d'un contrat (ou une méthode gRPC), l'unité que la passerelle route,
autorise, compte et journalise. -> [Servir sa première API](https://flexway.io/docs/operations-first-api/)

### operationId

Le nom unique d'une opération dans le contrat. Obligatoire : quotas, clés, audit et métriques nomment les
opérations par lui. -> [Servir sa première API](https://flexway.io/docs/operations-first-api/)

### Plan asynchrone

La publication et la consommation de messages sur un courtier (Kafka, AMQP, MQTT, NATS) sous un contrat
AsyncAPI, avec la même identité et le même tenant qu'en HTTP. -> [Publier et consommer sur un courtier](https://flexway.io/docs/operations-async/)

### Politique

Un traitement nommé, phasé et conditionnel (CEL) - CORS, débit, quota, cache, transformation, appel
externe... - déclaré sous `policies` et attaché par une chaîne. -> [Enrichir un flux](https://flexway.io/docs/operations-policies/)

### Politique imposée

Une politique qu'un fragment place en tête de chaque chaîne de la passerelle qui l'importe (écouteur
HTTP) : aucune ligne locale ne la retire, ne la remplace ni ne la défait (depuis `1.7.0`). -> [Fragments de politique partagés](https://flexway.io/docs/operations-policy-fragments/)

### Port d'administration

L'écouteur à part (`:9090` par défaut) des sondes, de `/config`, de la simulation, des journaux et des
métriques ; jamais routable de l'extérieur. -> [API d'administration](https://flexway.io/docs/reference-admin-api/)

### Proposition

Un changement de `flexway.yaml` préparé dans la console, relu, puis ouvert en pull request sur le dépôt
qui porte la configuration ; la console ne fusionne jamais. -> [Proposer un changement depuis la console](https://flexway.io/docs/operations-proposals/)

### Quota

Un plafond de requêtes par tenant au jour ou au mois (politique `quota`), compté dans le cache
partagé ; au-delà, `429 quota_exceeded`. -> [Poser des quotas](https://flexway.io/docs/operations-quotas/)

### Rechargement

La relecture de la configuration et des contrats sans redémarrer ; une configuration refusée ne remplace
jamais celle qui sert. -> [Changer la configuration sans redémarrer](https://flexway.io/docs/operations-live-config/)

### Réplique

Une instance du processus de la passerelle. Chaque réplique a sa mémoire (cache, journaux) ; seuls les
compteurs se partagent, par le cache partagé. -> [Choisir son déploiement](https://flexway.io/docs/operations-deployment/)

### Seau

Le seau à jetons d'un appelant dans une politique `rate-limit` : il se remplit à un débit et se vide d'un
jeton par requête ; vide, `429 rate_limited`. -> [Poser des quotas](https://flexway.io/docs/operations-quotas/)

### SLO

Un objectif de disponibilité ou de latence, sur une opération ou un groupe d'opérations, suivi par la
console avec son budget d'erreur. -> [Objectifs SLO par groupe d'opérations](https://flexway.io/docs/operations-slo-groups/)

### Surface MCP

Le point d'entrée Model Context Protocol de la passerelle : les opérations marquées `x-flexway-tool`
y sont offertes en outils aux agents, sous la même décision que REST. -> [Agents et MCP](https://flexway.io/docs/operations-agents-mcp/)

### Tenant

Le client isolé à qui appartient une requête, lu d'une claim signée, d'une clé d'API ou d'un certificat -
jamais d'une valeur que l'appelant écrit. -> [Isolation multi-tenant](https://flexway.io/docs/product-multi-tenant/)
