# Vue d’ensemble

> Documentation d’OpenWar3 : ce que c’est, ce qu’elle permet ; démarrage rapide, premier Bot, faire écrire l’IA par un LLM, API et protocole, passerelle et MCP — par quelle page commencer selon votre situation.

Source: https://war3ai.com/fr/docs/

**OpenWar3** est la couche d’interface ouverte de War3AI : un runtime injecté dans Warcraft III 1.27, accompagné d’un SDK Python.

- Toutes les **50 ms**, le runtime pousse en mémoire partagée l’état complet de la carte : ressources et nourriture de tous les joueurs ; pour chaque unité, points de vie et mana, ordre en cours, cible attaquée, temps de recharge, buffs, inventaire ; objets au sol, arbres, files de production, cycle jour/nuit. S’y ajoute un **flux d’événements** : apparition et mort des unités, chaque coup porté, fin de production…
- Un programme externe envoie des **commandes sémantiques** avec une latence d’**environ une frame** : déplacer, attaquer, récolter, construire, entraîner, lancer un sort, apprendre une compétence, ressusciter, utiliser un objet, acheter… Chaque commande renvoie un **accusé de réception** qui indique si le moteur l’a acceptée et, sinon, avec quel code de raison.
- Vous dites seulement « quoi faire » : les unités par leur code à quatre caractères, les sorts par leur nom d’ordre, comme dans le jeu. Le « comment » est l’affaire du runtime.

Un LLM n’a donc besoin d’aucune connaissance bas niveau, ni de voir l’écran. Une fois la documentation lue, il peut écrire un Bot qui gère son économie et sait se battre, puis le corriger lui-même en cours de route à partir des accusés de réception et des événements.

Et pas seulement pour les matchs : le [canevas](https://war3ai.com/fr/docs/canvas/) permet de dessiner vos propres panneaux et annotations sur l’écran de jeu, [Interface et entrées](https://war3ai.com/fr/docs/ui-input/) rend cliquables les boutons dessinés et fait réagir les raccourcis clavier, le [canal JASS](https://war3ai.com/fr/docs/jass/) permet d’appeler depuis l’extérieur les 1291 fonctions du jeu, et dans les cartes RPG vous pouvez vous faire accompagner d’un [compagnon IA](https://war3ai.com/fr/docs/companion/). Une IA aboutie peut devenir un [schéma](https://war3ai.com/fr/docs/schemes/), à changer en un clic, à exporter et à partager ; tout un nouveau gameplay peut s’écrire sous forme de [mod de jeu](https://war3ai.com/fr/docs/mods/).

Pas besoin d’écrire du Python pour se connecter : la [passerelle](https://war3ai.com/fr/docs/gateway/) permet à n’importe quel langage ou page web d’appeler les mêmes interfaces en WebSocket / JSON, et le [serveur MCP](https://war3ai.com/fr/docs/mcp/) permet à un agent comme Claude Code d’appeler directement des outils pour observer la partie et donner des ordres.

  - [Démarrage rapide](https://war3ai.com/fr/docs/quickstart/): Installez l’environnement, lancez une partie en une commande et regardez le Bot d’exemple prendre la main.
  - [Écrire un Bot avec un LLM](https://war3ai.com/fr/docs/ai-bot/): Pas besoin de savoir programmer : copiez le prompt, décrivez votre stratégie, confiez le reste à l’agent.
  - [Modèle mental](https://war3ai.com/fr/docs/concepts/): Instantanés, commandes, accusés de réception, événements, ticks. Cinq minutes de lecture avant d’écrire un Bot.
  - [Catalogue de l’API](https://war3ai.com/fr/api/): Toutes les interfaces, chacune avec son statut de test, son niveau de latence et son mécanisme sous-jacent.

## Choisissez votre parcours

| Vous êtes | Commencez par | Ensuite |
|---|---|---|
| Joueur de Warcraft, sans notions de programmation | [Démarrage rapide](https://war3ai.com/fr/docs/quickstart/) → [Écrire un Bot avec un LLM](https://war3ai.com/fr/docs/ai-bot/) | En cas de problème, voir la [FAQ](https://war3ai.com/fr/docs/faq/) |
| À l’aise en Python | [Premier Bot](https://war3ai.com/fr/docs/first-bot/) → [Modèle mental](https://war3ai.com/fr/docs/concepts/) → [Les quinze règles](https://war3ai.com/fr/docs/rules/) | [Recettes de jeu pro](https://war3ai.com/fr/docs/cookbook/), [Bots d’exemple](https://war3ai.com/fr/docs/examples/) |
| En train de construire un agent de code / de l’automatisation | [Itération autonome de l’agent](https://war3ai.com/fr/docs/agent-loop/) | [Accusés de réception et codes de raison](https://war3ai.com/fr/docs/reason-codes/), [`llms-full.txt`](https://war3ai.com/fr/llms-full.txt) |
| Intéressé par un LLM qui décide en cours de partie | [Un LLM comme conseiller](https://war3ai.com/fr/docs/llm-coach/) | [Bulles de dialogue et modèles locaux](https://war3ai.com/fr/docs/speech/) |
| Envie de laisser un agent agir directement (Claude Code, etc.) | [Un LLM appelle directement des outils (MCP)](https://war3ai.com/fr/docs/mcp/) | [Interface et entrées](https://war3ai.com/fr/docs/ui-input/) |
| Utilisateur d’un autre langage (JS, C#, Go, Rust…) | [Passerelle](https://war3ai.com/fr/docs/gateway/) | Plus bas niveau : [Protocole W3P](https://war3ai.com/fr/docs/protocol/) |
| Envie de faire s’affronter les IA de plusieurs personnes | [Mode équitable](https://war3ai.com/fr/docs/fair-mode/) | [Arène](https://war3ai.com/fr/arena/) |
| Envie de créer votre propre gameplay dans des cartes RPG / personnalisées | [Mods de jeu](https://war3ai.com/fr/docs/mods/) | [Interface et entrées](https://war3ai.com/fr/docs/ui-input/), [Canevas](https://war3ai.com/fr/docs/canvas/), [Canal JASS](https://war3ai.com/fr/docs/jass/), [Compagnon RPG](https://war3ai.com/fr/docs/companion/) |
| Envie de partager votre IA avec d’autres | [Schémas d’IA](https://war3ai.com/fr/docs/schemes/) | [Console Farsight](https://war3ai.com/fr/docs/console/) |

## Contenu du dépôt

```text
start.bat       Le point d'entrée unique : déploiement à partir de zéro + ouverture de Farsight ; stop.bat arrête tout
sdk/python/     Couche d'interface. openwar3/ est la façade publique (Game + Bot) : commencez ici
brains/         Couche de décision
  examples/       hello_bot (économie) → rush_bot (armée) → macro_bot (macro) → micro_bot (micro + creeping) ; buddy (compagnon RPG) ;
                  mod_hero_roguelike / mod_endless_defense (mods de jeu)
  xwar3/          Cerveau de référence : couche stratégique (seconde) + couche réflexe (4 processus) + modèle de victoire
console/        Console web Farsight (FastAPI + React)
gateway/        Passerelle (WebSocket / JSON) + client JS + page de démonstration dans le navigateur
director/       Réalisation automatique, barres de vie au-dessus des unités
speech/         Bulles de dialogue + LLM local
runtime/        Orchestration multi-instances (chaque partie relancée selon les réglages)
data/           order-ids.txt ; outils pour extraire les données de votre propre jeu
schemes/        Vos schémas d'IA (mine/) et ceux partagés par d'autres (installed/), hors du dépôt
tools/          play.py (une partie en une commande), run_scheme.py (exécuteur de schémas), war3_mcp.py (serveur MCP), run_tests.py, scripts de vérification en jeu
docs/           Catalogue de l'API api.json (généré depuis le code), protocole, manuel
```

Entre le runtime et votre code, il n’y a qu’un [protocole W3P](https://war3ai.com/fr/docs/protocol/) versionné : le SDK Python est le plus simple, mais vous pouvez aussi vous connecter depuis un autre langage en suivant le protocole.

## Que signifie le « statut de test » d’une interface

Dans le catalogue de l’API, chaque interface porte l’un de ces trois statuts :

- **Vérifié en jeu** : le chemin bas niveau (numéro d’action, forme des paramètres, effet relu) a été vérifié dans de vraies parties, et un script de vérification veille dessus.
- **Expérimental** : interface récente, déjà fonctionnelle sur une instance de test et en cours de vérification en jeu point par point. Elle est utilisable, mais les détails de l’interface peuvent encore changer.
- **Déduit / pas entièrement testé** : le mécanisme sous-jacent reprend la façon de faire du moteur lui-même (par exemple la fonction JASS équivalente), mais n’a pas encore été vérifié point par point en partie. Consultez l’accusé de réception avant de vous y fier.

> **Remarque**
>
> Seul **Warcraft III 1.27** (The Frozen Throne) est pris en charge pour l’instant. Les versions 1.24 à 1.28 partagent la même structure de moteur ; la prise en charge multiversion est prévue à la phase P4 de la [feuille de route](https://war3ai.com/fr/roadmap/). À partir de la 1.29, comme pour Reforged, il s’agit d’un autre moteur, hors du périmètre de nos engagements.
