Raccourcis clavier

Appuyez sur ← ou → pour passer d'un chapitre à l'autre

Appuyez sur S ou / pour rechercher dans la documentation

Appuyez sur ? pour afficher cette aide

Appuyez sur Échap pour masquer cette aide

Chatbotaurus en 5 minutes

Chatbotaurus - passerelle MCP souveraine UE

Chatbotaurus est une plateforme MGaaS (MCP Gateway as a Service) souveraine européenne, écrite en Rust : un backend Axum (forge-api) et un frontend Dioxus compilé en wasm (forge-ui). Elle réunit un agent conversationnel, une passerelle MCP et des fiches de connecteurs YAML.

Cette page montre un chemin court : lancer la pile en local, ouvrir l'application, poser une première question.

Chiffres du catalogue : 195 fiches YAML de connecteurs, mesurées le 3 octobre 2026 (connectors/*.yaml). Le nombre exact change à chaque ajout ; la source est le dossier, pas cette page.

Trois parcours de lecture

Ce livre se lit selon votre rôle. Chaque étape renvoie au chapitre qui la traite ; la page que vous lisez reste un chemin court pour lancer la pile en local.

Décideur (dirigeant, délégué à la protection des données, acheteur)

  1. Cas d'usage par secteur : ce que la plateforme fait pour votre métier
  2. Tarification et offres : les quatre offres et les capacités par plan
  3. SLA, support et niveaux de service : disponibilité, délais de support, pénalités
  4. Conformité RGPD : données personnelles, hébergement et sous-traitants dans l'UE
  5. Comparatifs : ce qui distingue une passerelle hébergée dans l'UE
  6. Limites et ce que la plateforme ne fait pas : le périmètre, dit sans détour

Délégué à la protection des données (répondre à une demande d'un utilisateur, documenter la sous-traitance) : Conformité RGPD, Paramètres (la page Compte porte l'export et la suppression), Journaux (chaîne d'audit) et Réponse aux incidents (notification d'une violation).

Utilisateur (responsable métier, équipe)

En production, l'application est sur app.chatbotaurus.eu (voir En production). En local, lancez d'abord la pile avec le chemin court plus bas.

  1. Prise en main guidée : du compte au premier workflow
  2. Tableau de bord : la première page après la connexion
  3. Workflows : l'éditeur, la palette de nœuds, les exécutions
  4. Chat : parler à un workflow déployé
  5. Connaissances : collections de documents et recherche ancrée (l'envoi de documents depuis l'application n'est pas encore branché)
  6. Questions fréquentes : les réponses courtes aux questions courantes

Pour brancher votre Odoo : Sécurité et identifiants (enregistrer les identifiants), puis Connecter Odoo à la passerelle MCP (un premier outil appelé, puis le chat).

Opérateur ou intégrateur (développeur, administrateur système)

  1. Installation de Chatbotaurus : compiler et lancer la pile
  2. Variables d'environnement : chaque variable lue par le code
  3. Déploiement avec Podman : deux plans, unités Quadlet en production
  4. Créer votre premier connecteur MCP : une fiche YAML, sans Rust
  5. Routes MCP (Streamable HTTP) : le transport, les sessions, le catalogue
  6. Supervision : points de santé et métriques en service

Une fois la pile en service : Sauvegarde et restauration, Gestion des conteneurs (mise à jour, dépannage) et Réponse aux incidents.

Pour appeler l'API depuis un script : Documentation Swagger (obtenir un jeton), puis Connecter Odoo à la passerelle MCP (un premier appel d'outil de bout en bout) et Gestion des erreurs (lire un code d'erreur).

Prérequis

OutilVersionUsage
Rust (rustup)1.91 ou plus (rust-version du workspace)Compiler forge-api et forge-ui
Dioxus CLI (dx)0.7Serveur de développement et bundler wasm
Git2.xRécupérer le dépôt
Podman4.x ou plusConteneurs d'infrastructure (PostgreSQL, Valkey, Qdrant, Ollama, entre autres)
podman-composeavec un tiretLancer les deux plans compose du dépôt
Cible wasmwasm32-unknown-unknownrustup target add wasm32-unknown-unknown, nécessaire à la compilation de forge-ui (étapes 3 et 6)

Installez le CLI Dioxus avec :

cargo install dioxus-cli --locked

1. Récupérer le dépôt

git clone <url-du-depot>
cd <dossier-du-depot>
cp .env.example .env

Éditez .env. Les valeurs secrètes de .env.example sont des gabarits CHANGE_ME_... : l'application refuse de démarrer avec elles. Générez les vôtres, par exemple avec openssl rand -hex 64.

Variables minimales (toutes lues par le code ; la liste complète est dans Variables d'environnement) :

DATABASE_URL=postgresql://<utilisateur>:<mot-de-passe>@localhost:5432/<base>
REDIS_URL=redis://localhost:6380
JWT_SECRET=<64 octets hexadécimaux>
QDRANT_URL=http://localhost:6334
OLLAMA_BASE_URL=http://localhost:11434
SMTP_HOST=<serveur-smtp>
SMTP_USER=<compte>
SMTP_PASSWORD=<mot-de-passe-applicatif>

Pourquoi le SMTP : le second facteur (FORCE_2FA, vrai par défaut) envoie un code par courriel. Sans SMTP configuré, le démarrage est refusé.

2. Lancer l'infrastructure

Le dépôt a deux plans compose (voir Déploiement avec Podman). Pour un premier essai, le plan chatbotaurus-vps1 suffit (PostgreSQL, Valkey, Qdrant, Ollama, Authentik, OpenBao, voix, observabilité) :

podman-compose -p chatbotaurus-vps1 -f podman-compose.yml up -d

Le plan mgaas-vps2 (passerelle et serveurs mcp-*) se lance de la même façon avec podman-compose.vps2.yml. Il n'est pas nécessaire pour ce tutoriel.

Téléchargez ensuite le modèle de dialogue souverain dans Ollama :

podman exec forge-ollama ollama pull cas/eurollm-1.7b-instruct-q8

3. Lancer le backend et le frontend

Appliquer les migrations :

cargo run -p forge-cli -- db migrate

Backend, port 3000 :

cargo run -p forge-api

Frontend, port 8080, dans un second terminal :

dx serve --platform web --port 8080 --package forge-ui

La première compilation wasm est longue. Ensuite le rechargement à chaud prend quelques secondes : ne relancez pas dx pour une modification.

Vérifiez que le backend répond (les autres sondes sont dans Diagnostics et signalement) :

curl http://localhost:3000/api/v1/health

La réponse est un JSON avec "status":"ok", le nom du service et la version.

4. Première conversation

  1. Ouvrez l'interface locale (http://localhost:8080). Sans session, elle vous renvoie vers l'écran de connexion (/auth/login).
  2. Créez un compte sur /auth/signup, puis connectez-vous sur /auth/login. Le code à usage unique arrive par courriel (/auth/verify-otp).
  3. Au premier accès, l'assistant d'accueil (/onboarding) vous demande votre secteur et un modèle de départ. Voir Prise en main guidée.
  4. Ouvrez /chat ou /orchestrator et posez une question, par exemple :
Quels connecteurs sont disponibles pour l'ERP ?

L'assistant s'appuie sur le catalogue de connecteurs de votre instance. La page est décrite dans Chat.

5. Interroger l'API

Les routes de l'API sont sous /api/v1. Le catalogue des connecteurs (contrat et authentification : Documentation Swagger) exige un jeton (Authorization: Bearer <jeton>), obtenu par la connexion (voir Authentification) :

curl -H "Authorization: Bearer <jeton>" \
  http://localhost:3000/api/v1/mcp/catalogue

Le transport MCP (JSON-RPC 2.0, HTTP streamable) est monté sur /api/v1/mcp, lui aussi authentifié. Voir Routes MCP.

Les passerelles (Routes des gateways et de la prédiction) se manipulent par /api/v1/mcp-gateway/*.

6. Vérifier

cargo test -p forge-replay
cargo build -p forge-ui --target wasm32-unknown-unknown --bin chatbotaurus

Pour regénérer ce livre en local : cargo run -p forge-docs. dx serve le sert ensuite sous /docs/.

En production

L'application publique est servie sur chatbotaurus.eu (site) et app.chatbotaurus.eu (application). Les prix publics sont sur la page /pricing : Starter 9 EUR, Pro 29,90 EUR, Enterprise 99,90 EUR par mois (HT), Souverain sur devis. Le détail des offres est dans Tarification.

Prochaines étapes

Voir aussi