- Java 18.7%
- Shell 14.7%
- C# 13.4%
- Python 13.1%
- JavaScript 12.8%
- Autre 27.3%
|
|
||
|---|---|---|
| dotnet | ||
| go | ||
| java | ||
| javascript | ||
| php | ||
| python | ||
| ruby | ||
| .gitignore | ||
| CHANGELOG.md | ||
| composer.json | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| PUBLIER.md | ||
| publier.sh | ||
| README.md | ||
| SECURITY.md | ||
WoWDB des Défias : bibliothèques clientes
Les clients officiels de l’API de WoWDB des Défias, la base de données World of Warcraft de L’Assemblée des Défias : objets, sorts, quêtes, PNJ, objets du monde, ensembles, réputations, donjons et raids, pour Vanilla (1.12.1), The Burning Crusade (2.4.3) Wrath of the Lich King (3.3.5a), Cataclysm (4.3.4) et Mists of Pandaria (5.4.8).
In English. Official client libraries for the WoWDB des Défias API, a free, read-only REST API (no key needed) for World of Warcraft data: items, spells, quests, NPCs, game objects, item sets, factions and instances for Vanilla, TBC, WotLK, Cataclysm and Mists of Pandaria. One file per language, no dependencies, the same interface everywhere: one method per resource, automatic pagination, typed errors, retry on
429. Available for JavaScript/TypeScript (npm), Python (PyPI), PHP (Packagist), Ruby (RubyGems), Go and C# (NuGet); Java (Maven Central) will follow. Documentation and error messages are in French. MIT licensed. World of Warcraft content © Blizzard Entertainment; this is a fan project, not affiliated with Blizzard.
En bref
- L’API :
https://api.wowdb.assemblee-defias.fr/v1, en lecture seule, gratuite, sans clé, ouverte à tous les projets de la communauté (sites de guilde, bots, addons, outils). - Un fichier par langage, sans dépendance : la bibliothèque standard suffit.
- La même interface partout : une méthode par ressource, la pagination automatique (
iterate), une erreur typée qui porte lecodede l’API, une nouvelle tentative aprèsRetry-Aftersur un429.
Installation
Les commandes de registre ci-dessous sont préparées pour la première publication. Au 16 octobre 2026, aucune étiquette de version ni publication sur les registres n’est attestée. Les fichiers sont déjà téléchargeables depuis la documentation ; les comptes et jetons des registres restent à configurer.
| Langage | Registre | Installation | Dossier |
|---|---|---|---|
| JavaScript / TypeScript | npm | npm install @assemblee-defias/wowdb |
javascript/ |
| Python | PyPI | pip install wowdb-defias |
python/ |
| PHP | Packagist | composer require assemblee-defias/wowdb |
php/ |
| Ruby | RubyGems | gem install wowdb-defias |
ruby/ |
| Go | module Go | go get git.assemblee-defias.fr/defias/wowdb/go |
go/ |
| C# / .NET | NuGet | dotnet add package Defias.WowDb |
dotnet/ |
| Java | Maven Central (à venir) | fr.assemblee-defias:wowdb |
java/ |
Le nom importé diffère parfois du nom du paquet : from wowdb import WowDb en Python, require "wowdb" en Ruby, import wowdb "git.assemblee-defias.fr/defias/wowdb/go" en Go, l’espace de noms WowDb en C#, fr.assemblee_defias.wowdb.WowDb en Java.
Sans registre, copiez le seul fichier du client dans votre projet : chacun se télécharge depuis la documentation, avec sa somme SHA-256.
Exemple
JavaScript (navigateur, Node.js 18+, Deno, Bun) :
import { WowDb } from "@assemblee-defias/wowdb";
const wowdb = new WowDb({ userAgent: "bot-de-ma-guilde/1.0 (https://ma-guilde.example)" });
const lame = await wowdb.items.retrieve("classic", 5191);
console.log(lame.name, lame.weapon.dps);
for await (const dague of wowdb.items.iterate("classic", { type: "dagger", rogue: true })) {
console.log(dague.name);
}
Python (3.8+) :
from wowdb import WowDb
wowdb = WowDb(user_agent="bot-de-ma-guilde/1.0 (https://ma-guilde.example)")
lame = wowdb.items.retrieve("classic", 5191)
print(lame["name"], lame["weapon"]["dps"])
for dague in wowdb.items.iterate("classic", type="dagger", rogue=True):
print(dague["name"])
Les autres langages suivent le même schéma : voir le README de chaque dossier. Identifiez votre application dans le User-Agent (son nom et un moyen de vous joindre) et gardez les réponses en cache.
Documentation
- Documentation de l’API : ressources, filtres, pagination, erreurs, limites de débit, exemples en cURL et dans huit langages.
- Bibliothèques clientes : interface commune, téléchargements, génération de clients depuis la spécification OpenAPI.
- Spécification OpenAPI 3.1.
Organisation du dépôt
javascript/ paquet npm @assemblee-defias/wowdb (wowdb.mjs, wowdb.d.ts)
python/ paquet PyPI wowdb-defias (src/wowdb/)
php/ client PHP (src/WowDb.php) ; composer.json est à la racine, où Packagist le lit
ruby/ gemme wowdb-defias (lib/wowdb.rb)
go/ module Go git.assemblee-defias.fr/defias/wowdb/go
dotnet/ paquet NuGet Defias.WowDb (src/), tests (tests/)
java/ artefact Maven fr.assemblee-defias:wowdb (pas encore publié)
publier.sh publication sur les registres, à partir de l'étiquette de la version (voir PUBLIER.md)
Chaque dossier contient le client, son fichier de paquet, un README et ses tests. Les clients sont écrits et testés avec WoWDB, puis recopiés ici à chaque version : voir CONTRIBUTING.md.
Versions
Toutes les bibliothèques partagent le même numéro de version, selon le versionnage sémantique. Chaque version porte l’étiquette vX.Y.Z, et go/vX.Y.Z pour le module Go. Les changements sont notés dans CHANGELOG.md.
Licences
- Code des bibliothèques : licence MIT, © 2026 L’Assemblée des Défias. Chaque fichier client porte l’identifiant SPDX
MITet le texte de la licence, pour rester en règle une fois copié seul. - Documentation de l’API : textes sous CC BY 4.0, exemples de code et spécification OpenAPI sous CC0 1.0 ; voir les licences.
- Données renvoyées par l’API : les contenus du jeu (noms, textes, icônes, cartes, modèles) ne sont pas couverts par ces licences ; ils restent la propriété de Blizzard Entertainment, et leur réutilisation relève de ses conditions.
World of Warcraft, ses textes, icônes, cartes et données de jeu sont des marques et des contenus © Blizzard Entertainment, Inc. WoWDB des Défias est un site de fans, sans lien avec Blizzard Entertainment, qui ne l’approuve ni ne le soutient.
Contact
- Anomalies et suggestions : tickets du dépôt, ou le forum.
- Courriel : api@assemblee-defias.fr.
- Failles de sécurité : en privé, voir SECURITY.md.