# Flexway en une page

> Guide produit : ce que la capacité apporte, pour qui, ses limites et la version qui l'a livrée - sans syntaxe de configuration. Côté développeurs : Appeler…

Concept - Depuis la version 0.1.0 - Flexway v1.6.3 - https://flexway.io/docs/product-overview/

> Guide produit : ce que la capacité apporte, pour qui, ses limites et la version qui l'a livrée - sans syntaxe de configuration.
>
> Côté développeurs : [Appeler une API derrière Flexway](https://flexway.io/docs/developer-overview/) ; côté exploitation : [Configurer et exploiter Flexway](https://flexway.io/docs/operations-overview/).

Flexway est **une** passerelle pour les API, les modèles d'IA et les agents d'une organisation. Une
requête y est authentifiée, comptée, budgétée, protégée, tracée et auditée **une seule fois**, quelle
que soit la porte par laquelle elle entre : REST, gRPC, flux, outil d'agent, courtier de messages.

```mermaid
%%{init: {'theme':'base','themeVariables':{'fontSize':'14px','lineColor':'#94a3b8'}}}%%
graph LR
  C["Applications, partenaires,<br/>navigateurs, agents IA"]:::ext
  subgraph FW["Flexway - une seule décision"]
    D["Identité, quotas, politiques,<br/>trace, audit, tenant"]:::hub
  end
  A["API REST et gRPC"]:::spoke
  M["Modèles d'IA"]:::spoke
  G["Agents et serveurs MCP"]:::spoke
  K["Courtiers : Kafka, AMQP,<br/>MQTT, NATS"]:::data
  O["Console et<br/>dépôt Git"]:::private

  C -->|"HTTP, gRPC, MCP, A2A, Kafka"| D
  D --> A
  D --> M
  D --> G
  D --> K
  O -.->|"observe, propose"| D

  classDef hub     fill:#4f46e5,stroke:#3730a3,color:#fff,font-weight:bold
  classDef spoke   fill:#0891b2,stroke:#155e75,color:#fff,font-weight:bold
  classDef data    fill:#3b82f6,stroke:#1d4ed8,color:#fff,font-weight:bold
  classDef private fill:#10b981,stroke:#047857,color:#fff,font-weight:bold
  classDef ext     fill:#64748b,stroke:#334155,color:#fff,font-weight:bold
```

| Question | Réponse courte |
| --- | --- |
| **Pour qui** | Une équipe qui expose des API à des clients, des partenaires ou des agents, et qui veut une seule politique de sécurité, de quota et de coût pour tout ce trafic |
| **Ce qui la distingue** | Le **contrat est la configuration** : ce qui est déclaré dans OpenAPI, AsyncAPI ou Protobuf est servi, rien d'autre. L'IA et les agents sont dans le même plan que les API, pas dans un second produit |
| **Ce qu'elle ne fait pas** | Émettre des jetons (le fournisseur d'identité reste le vôtre), terminer le TLS public ou filtrer comme un WAF (le rôle du bord), laisser un modèle décider d'une autorisation ou d'un routage |
| **Comment elle s'installe** | Un binaire, une image signée, un fichier de configuration ; Kubernetes par chart Helm, `docker run` pour un essai |
| **Promesse de compatibilité** | Depuis `1.0.0`, ce qu'un exploitant a écrit se relit sans édition dans toute `1.x` ([feuille de route](https://github.com/flexwiz/flexway/blob/main/docs/ROADMAP.md)) |

## Ce que Flexway ne fait pas, et pourquoi

Choisis, pas oubliés : chacun de ces rôles appartient à un autre composant, ou contredit ce qui fait
la sûreté de Flexway.

| Ce que Flexway ne fait pas | Pourquoi |
| --- | --- |
| Maillage de services | Le chiffrement et le routage entre services restent au maillage en place ; Flexway s'y insère |
| Répartition de charge entre réplicas | L'affaire du bord et du maillage, qui voient les instances ; Flexway choisit la version d'un service, pas la machine |
| Passerelle GraphQL composée, agrégation libre | Une requête libre n'a ni droits, ni quota, ni trace connus d'avance ; seules des requêtes déclarées à l'avance sont envisagées |
| Connecteurs liés à un fournisseur de cloud | Contraires à la souveraineté ; un appel HTTP ou gRPC couvre le besoin |
| Détection de robots, pare-feu applicatif | Demandent des signaux réseau que seul le bord possède ; Flexway refuse déjà tout ce qui n'est pas déclaré |
| Client de test d'API | Un autre produit ; la validation hors ligne, les exemples et la console couvrent la vérification |
| Écosystème de greffons | Une surface d'attaque et une dette de compatibilité ; seules des extensions isolées et plafonnées sont prévues |
| Runtime d'agents, plateforme RAG, évaluation des réponses, registre de prompts | Leurs outils les portent ; Flexway gouverne les appels d'outils et d'API, et applique la liste de modèles approuvés décidée ailleurs |
| Workflow d'approbation | Il reste chez vous ; Flexway vérifiera la preuve d'approbation émise par votre fournisseur d'identité (`1.10.0`, pas encore construit) |
| Passerelle d'atelier, courtier de site | Modbus, OPC UA client-serveur et la mise en tampon des messages d'un site restent à ces composants ; Flexway gouverne ce qui arrive en MQTT |

## Lire ce guide

Chaque capacité tient en une table : ce qu'elle fait, pourquoi elle compte, des cas d'usage, ses
limites, la version qui l'a apportée, et où la configurer. Les **versions** sont des jalons de la
feuille de route ; une release livre tous les jalons fusionnés avant elle.

| Statut employé ici | Ce qu'il veut dire |
| --- | --- |
| **Publié** (`x.y.0`) | Dans une release publiée, sous la promesse de compatibilité |
| **Pas encore construit** | Décidé ou cadré, rien de livré - listé au [Ce qui n'est pas encore construit](https://flexway.io/docs/product-not-built-yet/) |

> La source de vérité des statuts reste le catalogue des features :
> si ce guide et le catalogue divergent, le catalogue a raison.
