L'idée en une phrase
UN seul addon d'interface — un interprète mince — qui remplace la « peste » des dizaines d'addons redondants. Il ne contient presque rien : toute la valeur (data, logique, IA, corpus) vit sur le site, se configure sur le web, et redescend en jeu par une chaîne !EYE:1!.
Pas un méga-pack qui fait 20 choses (ça est le gras). Au contraire : des dizaines de packs, un par problème. Tu composes ton set avec seulement les problèmes que tu as.
Le modèle mental vient de WeakAuras : moteur / éditeur / donnée séparés. EyeForge généralise ça à TOUTE l'interface, et ajoute le web comme salle de configuration, une IA sourcée, et un écosystème communautaire mieux trié que Curse et Wago.
Module · EYE · Style
La séparation fondatrice. Un seul test : la chose MONTRE une info, ou GÈRE / CONTIENT de l'interactif protégé ?
Module
Système / conteneur, souvent sécurisé. Barres d'action, cadres d'unité & raid, sacs, chat, boss mods, HV. « Ça gère. »
EYE
Affichage pur : lit un état → montre barre / icône / texte / halo. Cast bar, auras, cooldowns, ressources, alertes de proc. « Ça montre. »
Style
Couche cosmétique : couleurs, textures, polices, sons. La plus facile à créer → le plus de contributeurs.
Un module héberge des EYEs. Concrètement : la Carte du site = les Modules ; le corpus /wa = les EYEs. Les 76 modules du catalogue sont déjà tagués kind (52 module / 21 eye / 3 style).
Import non-destructif, slots, undo
- Import non-destructif (règle dure). Importer ne déplace JAMAIS la disposition du joueur. Trois couches : placement (sacré), contenu (module/EYE), style.
- Modules = slots remplaçables. Chaque fonction est un slot rempli chez nous / chez un autre / soi-même. Nos modules aussi sont remplaçables — le meilleur de chaque slot gagne.
- Undo/redo + historique complet. Gratuit, car la config est de la donnée : chaque modif = une version empilée, « qu'ai-je changé ? » = un diff (façon Google Docs).
- Retour-au-créateur en contexte. Depuis un module/EYE : contexte + screenshot + commentaire → le créateur reçoit via NOTRE écosystème.
La Carte & le catalogue
Cataloguer TOUS les réglages de WoW, rangés par module fonctionnel (jamais par nom d'addon — les addons ne sont que des sources).
Le compteur de modules plafonne à ~76 : la taxonomie des fonctions a convergé — signal concret d'une base solide.
Deux axes, pas un
Réglages (les noms) — fait. Capacités / primitives (les verbes : déclencheurs, conditions, actions) — la couche qui alimente le langage. Plus le classeur de logique : par addon-qui-compte, extraire l'intention, la mécanique maligne, les faiblesses = l'ouverture pour notre version. On prend le lingot (réglages) + l'or (logique) → on refait un diamant.
Le langage EYE
Notre DSL déclaratif — déclencheurs → conditions → actions → régions — sérialisé en !EYE:1!. Le contrat site↔addon.
Pas hypothétique : c'est le motif commun de WeakAuras, Parrot, GearQuipper, NovaRaidCompanion. Trois niveaux d'édition :
- No-code — drag, redimensionner, conditionner. Tout le monde.
- IA — langage naturel → génère un pack valide + explique.
- Code (terminal REPL) — les geeks écrivent leurs fonctions ; on rejoue dans le simulateur. Jamais de Lua brut client : déclaratif + sandbox + quarantaine « pack safe ».
Le meilleur générateur de macros du monde : langage petit, fini (255 car.). Le fossé = validité garantie + zéro hallucination (noms de sorts exacts par classe & version). Là où ChatGPT sort des macros qui plantent.
Le simulateur
Un émetteur d'états, pas un moteur de jeu. But : déclencher chaque état d'UI pour prévisualiser — combat, cast, débuff, capacité de boss, adds, mort, quête, courrier.
- ~100 mises en scène, dérivables des triggers WA catalogués. Mannequins DPS/heal, boss déplaçable, avec/sans adds. Modèles génériques → 0 risque IP.
- Onboarding tueur : top-100 addons → nos modules → 50 interfaces preset. « Choisis un look », base solide immédiate.
- Mixer de sons interactif : liste vivante « sons entendus ici » → mute par son (
MuteSoundFile).
Pas de 1:1 partout : les cadres sécurisés ne se pilotent pas hors-combat → aperçu best-effort. Les EYEs sont fidèles ; la balise ajoute UIScale/résolution/CVars pour un rendu pixel-exact de la partie non-sécurisée.
Zéro conflit par construction (un seul interprète = pas de guerre de taint), et on notifie les créateurs quand un module cible une version périmée.
La balise & la capture
La direction inverse : un addon (Krieg Svoyak) qui scanne le raid de fond en comble sur le PTR → tu ramènes ça sur le site → il décrypte → tu génères le pack du raid.
Double mission : les mécaniques de raid (combat log, positions & vie, cible du boss, auras, gear) et les réglages natifs Blizzard (UIScale, CVars) → simulateur pixel-exact.
Capture & import de l'UI d'un joueur
- Lire la CONFIG, pas le rendu.
WeakAurasSaved→ notre décodeur!WA:2!→ EYE, zéro proc. Autres addons via un importeur par addon. - Pas besoin d'être en jeu : le compagnon lit les fichiers hors-ligne + détecte installés / activés / configurés.
- Scan → modèle EYE en un clic : clone le squelette avec NOS briques (IP-propre). Convertit ElvUI/WA instantanément.
- Overlap réglé par une carte d'occupation de l'écran (fantômes non-éditables du vrai layout).
La carte-monde
Un graphe sémantique de WoW « zéro déco » : terrain, vols, portails + mobs + quêtes + obstacles → optimisation de route = des guides de leveling calculés et personnalisés. Concurrent de RestedXP (payant = preuve du marché).
Plus un simulateur de temps : XP par quête + courbe + distances → « 40→70 ≈ 18-24h /played », calibré par les vrais temps de la balise. Data sourçable (Questie / wago.tools / Wowhead). Le plus gros chantier data, mais borné = un grind, pas un pari.
L'IA & les 5 couches
On n'entraîne pas de zéro. On donne un savoir sourcé à un modèle fort (RAG), puis on fine-tune un petit modèle uniquement pour écrire le DSL !EYE:! (le format, pas la connaissance).
| Couche | C'est quoi | Source | État |
|---|---|---|---|
| 1 · Fonction | Les réglages (vocabulaire) | La Carte | Fait (31k+) |
| 2 · Logique | La grammaire (résoudre) | Corpus WA décodé | En cours |
| 3 · Intention | Quel problème / douleur | Reddit, forums | À faire |
| 4 · Goût | Générer beau | WA pondérées popularité | À faire |
| 5 · Preuve | Ce que les tops font | Warcraft Logs (branché) | Oracle actif |
Le coup de génie : les WA décodées en donnée → l'IA ne parle pas, elle GÉNÈRE un pack valide que l'addon recrée. Et « jamais inventé, toujours sourcé » → elle cite sa source là où toute IA WoW lambda hallucine.
Le fossé
« Interprète bête + valeur 100% serveur. » Les autres embarquent leur data DANS l'addon → rippable en 5 secondes. EYE fait l'inverse : l'addon est vide ; tout vit sur NOTRE serveur.
« Personne ne peut ripper ce qui n'est pas dans le fichier. » La vraie protection : data servie par tranches via API authentifiée, moteur & IA côté serveur, base gated (auth + RLS), anti-scraping.
On ne possède pas les FAITS bruts (data publique). On possède la synthèse (76 modules), les dossiers de logique, l'optimiseur, l'IA, le corpus, l'effet de réseau. Le fossé = synthèse + moteur + réseau.
Le poids (CPU)
Un interprète unique est plus léger qu'un stack de N addons, en agrégat — il élimine la redondance. Chiffre modélisé : ~10× moins d'overhead.
| Chemin chaud | Stack de N addons | EYE | Gain |
|---|---|---|---|
| Dispatch combat log 116 ev/s (capture Mag) | ~8,7 ms/s | ~0,8 ms/s | ~10× |
| Polling par frame ~20 boucles OnUpdate | ~36 ms/s | ~3 ms/s | ~10× |
| Overhead / frame | 1–2 ms | 0,1–0,2 ms | ~6-12 fps |
Ceci est un modèle (1 entrée réelle = notre capture Magtheridon ; 3 estimées). PAS un benchmark. On dit « ~10× modélisé, mesure à venir », jamais un faux chiffre mesuré.
Le vrai chiffre : scriptProfile 1 + GetAddOnCPUUsage, même pull, stack complet vs EYE seul.
Studio & packs de personnalité
Un studio sur le site : dessiner ses textures, créer ses polices, enregistrer ses sons → exporter un pack média. Le compagnon dépose les fichiers (WoW ne charge pas de média live depuis le web).
Ça vend aussi de la personnalité : la death-face d'un streamer qui pop sur PLAYER_DEAD, un pack Halloween / jumpscare, un style COD Warzone. Les streamers = canal d'acquisition viral (leur pack ne marche que dans EYE).
Un hub de dépôt façon Curse/Wago, mais rangé par problème, avec passage « pack safe » (l'IA scanne sécurité + qualité, quarantaine). Le moment où on remplace vraiment Curse ET Wago.
Rétention in-game
- Module News + Calendrier alimenté par notre serveur : lire les news sans quitter WoW. Contenu scrapé → l'IA résume → on lie la source (jamais recopier).
- Rappels in-game configurés sur le site : « rappelle-moi de scanner l'HV » → reste à l'écran tant que non fait = accroche d'habitude.
- Harmoniseur : mesure le poids réel de chaque module et met en sommeil l'inutilisé. Anti-peste au runtime.
L'économie & le pare-feu
Deux plateformes délibérément séparées. Ce qui traverse le pare-feu, c'est la confiance (donnée) — JAMAIS le véhicule monétaire.
A · Plateforme saine
eyeforge = crédit fermé cosmétique (€ → packs, paie les créateurs, non-transférable, aucun lien gold). Sûr comme une carte cadeau. Stripe normal.
B · Bourse de services
Concurrent Overgear/G2G : services + gold. Entité juridique séparée, processeur high-risk. Si B prend un coup, A n'est pas touchée.
Un token achetable → échangeable-contre-gold → transférable devient de la monnaie (transmission de fonds, e-money, MiCA, KYC-AML) ET casse le pare-feu. Projet régulé à part, juristes avant tout code.
La bourse — la niche
Le tiers de confiance du marché gris (les « lemons » d'Akerlof) : escrow + réputation adossée à la DATA réelle (« score 94%, 200 raids, 0 no-show »). On vend du travail, jamais de la marchandise. Ordre : addons → Discord → marketplace gold → PUIS token.
L'annuaire in-game (« pages jaunes »)
La façade in-game : petites annonces vivantes (« Enchanteur 350 — 1 go/clic »), clic → chat direct avec le vendeur. La monnaie/escrow reste sur la plateforme séparée. (Brique en cours : l'addon Market Scan capture déjà ces annonces en jeu.)
La roadmap
Le workflow catalogue
La garantie : chaque addon passé au peigne fin avant toute suppression.
- Déplacer, pas supprimer. Les addons analysés vont dans
_addons_retires(backup, jamais supprimé). ~778 dossiers en backup. - Le keep_set = 124 dossiers (UI perso du 05/09 + tous les KRIEG* + libs) reste en jeu.
- Six filtres : mécanique (réglages), morale (logique/intention), data (os bruts), capacités, assets & localisation (différés mais en backup).
- Différer contre le catalogue, pas le dossier — le registre du « déjà fait » = les fichiers
data_*.json. - On arrive au bas de la longue traîne (addons ~400 téléchargements) : une dernière passe, on prend tout, et c'est terminé.
Les règles de fer
Jamais inventé
Aucun chiffre, effet, nom ou ID de mémoire. Source obligatoire, sinon « je ne sais pas sans vérifier ».
Ignorer les KRIEG
Les addons perso n'entrent pas dans l'analyse communautaire. On part de la communauté, on prend tout sur ses mérites.
Épuré comme NAG
Un pack par problème, pas de features en trop. « Trop, c'est n'importe quoi. »
Franc-parler
Prendre tout, ne rien perdre, dire la vérité — y compris les limites et les chiffres non encore mesurés.