# APEX OPTIMA — Documentation pour agents IA

> Cette ressource décrit comment un agent IA peut découvrir, lire et interagir avec apex-optima.com.

`apex-optima.com` est un site institutionnel (cabinet de conseil et d'organisme de formation IA pour TPE, PME et professionnels du chiffre et de l'assurance). Il n'expose **pas** d'API REST publique authentifiée, mais publie un ensemble complet de ressources de découverte machine-readable et expose des outils interactifs via WebMCP.

---

## 1. Ressources de découverte (machine-readable)

| Ressource | URL | Type |
|---|---|---|
| Résumé du site (LLM-friendly) | `https://apex-optima.com/llms.txt` | `text/plain` |
| Documentation complète | `https://apex-optima.com/llms-full.txt` | `text/plain` |
| Métadonnées AI | `https://apex-optima.com/.well-known/ai.txt` | `text/plain` |
| Catalogue d'API (RFC 9727) | `https://apex-optima.com/.well-known/api-catalog` | `application/linkset+json` |
| Index Agent Skills (v0.2.0) | `https://apex-optima.com/.well-known/agent-skills/index.json` | `application/json` |
| Sitemap | `https://apex-optima.com/sitemap.xml` | `application/xml` |
| robots.txt (avec Content-Signal) | `https://apex-optima.com/robots.txt` | `text/plain` |

Toutes les pages incluent les `<link rel>` correspondants dans le `<head>` ainsi qu'un header HTTP `Link:` (RFC 8288) sur l'edge function `agent-headers`.

---

## 2. WebMCP — Outils interactifs côté navigateur

Lorsqu'un agent ouvre une page d'apex-optima.com dans un navigateur compatible WebMCP, il peut appeler `navigator.modelContext` pour invoquer ces outils :

| Tool | Description |
|---|---|
| `open_diagnostic` | Ouvre le diagnostic gratuit de maturité IA (3 min). |
| `navigate` | Navigue vers une page interne (input : `path`). |
| `open_sector` | Ouvre le hub d'un secteur (`experts-comptables`, `assureurs`, `tpe-pme`). |
| `open_formation` | Ouvre une fiche formation par niveau (1–5) et secteur. |
| `list_formations` | Liste les 5 niveaux de la pyramide APEX (data-only). |
| `show_temoignages` | Retourne les témoignages clients d'un secteur. |
| `search_verticale` | Mappe un mot-clé métier vers le secteur APEX correspondant. |
| `open_parcours` | Ouvre une étape × secteur du parcours APEX. |
| `join_community` | Ouvre le formulaire d'inscription communauté. |
| `open_contact` | Ouvre la page de contact. |
| `list_resources` | Liste toutes les ressources de découverte. |

Spécification : <https://webmachinelearning.github.io/webmcp/>

---

## 3. Politique de crawl IA

Voir `https://apex-optima.com/robots.txt` :

```
Content-Signal: search=yes, ai-input=yes, ai-train=yes
```

Le crawl par les agents et l'usage en contexte IA sont **autorisés**.

---

## 4. Authentification

Le site **ne nécessite aucune authentification** pour les ressources publiques listées ci-dessus.

L'application interne (espace de formation, diagnostic) est hébergée sur `app.apex-optima.com` et utilise une authentification gérée séparément (Supabase Auth). Il n'y a **pas** de serveur OAuth/OIDC à exposer côté `apex-optima.com`.

---

## 5. Contact

- Email : <contact@apex-optima.com>
- Site : <https://apex-optima.com/contact>
- Organisme de formation Qualiopi enregistré n° 32 59 14232 59

---

## 6. Versionnement

Cette documentation et le contrat des ressources de découverte suivent [Semantic Versioning 2.0.0](https://semver.org/lang/fr/).

- **Version actuelle :** `v0.3.0`
- **Statut :** stable (pré-1.0, évolutions rétro-compatibles privilégiées)
- **Politique :**
  - **MAJOR** — suppression ou renommage d'une ressource de découverte, modification incompatible du schéma `agent-skills` ou `api-catalog`.
  - **MINOR** — ajout d'une nouvelle ressource (`/.well-known/*`), d'un outil WebMCP, d'un en-tête `Link` ou d'un signal `Content-Signal`.
  - **PATCH** — corrections de contenu, ajustements éditoriaux, mises à jour du `robots.txt` sans changement de politique.
- **Identifiant machine :** la version est exposée dans `https://apex-optima.com/.well-known/agent-skills/index.json` (champ `version`) et dans le MCP Server Card (`serverInfo.version`).

---

## 7. Changelog

### v0.3.0 — 2026-05-06
- **Ajout** d'un en-tête HTTP `Link:` (RFC 8288) sur toutes les ressources de découverte via `public/_headers` (rel : `service-doc`, `llms-txt`, `ai-txt`, `sitemap`, `api-catalog`).
- **Ajout** des relations `service-doc`, `agent-skills`, `webmcp`, `sitemap` et `self` dans `/.well-known/api-catalog` (Content-Type : `application/linkset+json`).
- **Ajout** de la présente page `/docs/api` (documentation Markdown destinée aux agents).
- **Ajout** des `<link rel="service-doc">` et `<link rel="agent-skills">` dans `index.html`.
- **Ajout** d'une edge function `agent-headers` qui négocie `Accept: text/markdown` → `Content-Type: text/markdown` (avec `X-Markdown-Source` et `X-Markdown-Tokens`).
- **Robots.txt** enrichi : 24 user-agents IA explicitement listés (OpenAI, Anthropic, Google-Extended, Perplexity, Meta, Apple, Mistral, Cohere, ByteDance, etc.), `Disallow` sur `/admin`, `/auth`, `/api/`, validation conforme RFC 9309.

### v0.2.0 — 2026-04
- **Ajout** de `/.well-known/agent-skills/index.json` (registre des skills exposées).
- **Ajout** de `/.well-known/mcp/server-card.json` (MCP Server Card, SEP-1649).
- **Ajout** des outils WebMCP : `open_parcours`, `join_community`, `open_contact`, `list_resources`.
- **Ajout** du signal `Content-Signal: search=yes, ai-input=yes, ai-train=yes` dans `robots.txt`.

### v0.1.0 — 2026-03
- **Initial release** : `/llms.txt`, `/llms-full.txt`, `/.well-known/ai.txt`, `/sitemap.xml`.
- **WebMCP** : premiers outils (`open_diagnostic`, `navigate`, `open_sector`, `open_formation`, `list_formations`, `show_temoignages`, `search_verticale`).
