Format .glrange GrindLab : Ranges Multi-Actions, Bien Faites
La majorité des fichiers de ranges au poker n'encode qu'une seule action par combo. Tu exportes une range depuis GTO Wizard ou Hand2Note, tu obtiens un CSV du genre AhKs: 0.6, KhQs: 0.4 — et c'est la fréquence pour une action (raise, ou call, ou 3bet). Le reste de la stratégie est implicite.
Le format .glrange de GrindLab est différent : il stocke la décomposition multi-actions complète (raise + call + 3bet + fold tout dans un seul fichier) pour pouvoir roundtripper une range GTO complexe sans perdre d'info. Cet article explique le format, quand l'utiliser, et comment il se compare aux exports texte standards des autres outils.
Le problème : les exports texte aplatissent les ranges multi-actions
Ouvre n'importe quel solveur moderne et regarde la vue stratégie. Une main comme AKs peut être :
- 60% raise
- 30% call
- 10% 3bet
L'UI affiche ça comme une cellule splitée en trois couleurs. La donnée existe en interne. Mais quand tu cliques "Export range", ce que tu obtiens c'est un fichier texte avec une fréquence par combo — typiquement l'action que tu as sélectionnée. Pour capturer le mix complet, il faut exporter trois fichiers séparés.
C'est OK pour partager une décision unique (genre "c'est quoi ta CO open range ?"). Ça craque quand tu veux partager une stratégie complète ou backup ton travail. L'info fuit à chaque export.
Le format .glrange : stockage multi-actions sans perte
.glrange est un format de bundle JSON utilisé par GrindLab pour importer et exporter des ranges. Chaque range stocke :
| Champ | Description |
|---|---|
name | Nom de la range (ex: "CO Open 100bb") |
hands | Liste de notations de mains (["AA", "AKs", "22"]) |
weights | Poids par main (0–1) pour les fréquences partielles |
actions | Action assignée par main (legacy, action dominante unique) |
actionFreqs | Fréquences multi-actions par main — { "AKs": { "raise": 0.6, "call": 0.4 } } |
actionDefs | Palette d'actions custom (couleur, nom, opacité) |
notes | Notes texte libres attachées à la range |
folderId | Structure de dossiers pour organiser les ranges |
Le champ actionFreqs est la clé. Il mirroir la façon dont les solveurs stockent leur donnée interne — fréquence par action par main. Roundtripper une range via .glrange préserve le mix complet.
Un bundle peut aussi contenir plusieurs ranges plus la hiérarchie de dossiers qui les organise. Tu peux donc shipper un pack d'étude "MTT 100bb" complet dans un seul fichier.
Multi-action vs single-action : comparatif
| Source | Format | Support multi-actions | Roundtrip sans perte |
|---|---|---|---|
| GrindLab .glrange | Bundle JSON | ✅ via actionFreqs | ✅ Oui |
| Hand2Note export | CSV | ❌ Un fichier par action | ❌ |
| GTO Wizard export | CSV / Texte | ❌ Un fichier par action | ❌ |
| Flopzilla range string | Notation texte | ❌ Action unique | ❌ |
| Equilab range string | Notation texte | ❌ Action unique | ❌ |
| PokerStars range syntax | Notation texte | ❌ Action unique | ❌ |
Pour être clair : tous les outils ci-dessus supportent les ranges multi-actions en interne. Leurs UI rendent les splits correctement. La limitation est dans leur format d'export texte — c'est une couche d'interopérabilité lossy conçue pour la compatibilité, pas la fidélité.
Comment GrindLab gère les imports depuis d'autres outils
Le flow d'import GrindLab accepte les deux formats et auto-détecte celui que tu colles. La limite single-action du format source devient une contrainte par-import :
1. Depuis le format propriétaire .glrange (multi-actions complet)
Drop un fichier .glrange dans le modal Import → onglet '.glrange'. Le bundle est parsé, toutes les métadonnées multi-actions sont préservées, les ranges atterrissent dans ta library exactement comme l'expéditeur les a construites.
2. Depuis un export texte de solveur (action unique)
Drop un .txt, .csv ou .zip dans l'onglet 'Depuis un solver'. GrindLab auto-détecte le format :
- Combo-level (
AhKs:0.5, KdQs:1) — style Hand2Note / GTO Wizard - Hand-level (
99+, A2s+, [50]TT[/50]) — style Flopzilla / Equilab
Chaque fichier devient une range. Tu choisis l'action qu'elle représente (Raise / Call / 3Bet / etc.) et la range importée part dans ta library taggée avec cette action. Pour reconstruire un mix multi-actions complet, importe chaque action séparément et combine-les dans l'Éditeur.
3. Support ZIP
Drop un .zip contenant plusieurs fichiers de ranges. GrindLab l'expanse inline (une ligne par fichier), filtre out les métadonnées OS (__MACOSX/, ._*, .DS_Store), et te laisse configurer le nom + l'action de chaque range dans un seul batch.
L'argument du format propriétaire
.glrange est propriétaire, ce qui a des tradeoffs évidents :
Avantages
- Préserve les données multi-actions sans perte
- Embarque notes, structure de dossiers, palettes d'actions custom
- Compact (packs d'étude entiers en <1 MB)
- Format versionné avec validation — pas de corruption silencieuse
- Un seul fichier = facile à envoyer par email/Slack/Discord
Inconvénients
- Seul GrindLab peut le lire directement
- Pour envoyer une range à un user non-GrindLab, il faut exporter chaque action en fichier texte séparé
Le format propriétaire est le bon outil quand tu contrôles les deux bouts du tuyau (ton propre backup, partage avec un autre user GrindLab, livraisons de coaching). Les formats texte single-action sont les bons outils quand tu dois nourrir une range vers un autre écosystème.
Cas d'usage par workflow
"Je construis ma library d'étude depuis zéro"
→ Utilise .glrange exclusivement pour les backups. Construis tes ranges dans l'Éditeur avec les assignations multi-actions complètes. Exporte périodiquement en backup. Ne perds jamais de données sur un wipe de cache navigateur.
"Je coache des élèves"
→ Construis le pack de ranges dans GrindLab → exporte en .glrange → tes élèves l'importent. Ils récupèrent exactement les mêmes ranges avec tes annotations, assignations d'actions, organisation de dossiers. Aucune interprétation perdue.
"Je migre depuis Flopzilla/Equilab"
→ Utilise l'onglet Import → 'Depuis un solver'. Colle tes range strings existantes (99+, A2s+, KJo+, etc.). Elles deviennent des ranges single-action dans GrindLab. Re-tag les actions si besoin. → Lis le comparatif GrindLab vs Flopzilla pour les conseils de migration.
"J'utilise des solutions GTO Wizard dans ma prep"
→ Exporte l'action pertinente depuis GTO Wizard → drop le fichier dans GrindLab. Répète pour chaque action dont tu as besoin. Combine dans l'Éditeur pour une range master multi-actions. → Voir GrindLab vs GTO Wizard pour l'histoire complète d'intégration.
"Je veux partager un pack de ranges avec mon groupe d'étude"
→ Bundle les ranges dans un dossier → Export → envoie le fichier .glrange. Tout le monde l'importe pareil. Pas de négociation de format nécessaire.
À l'intérieur du fichier .glrange : ce qu'il contient vraiment
Un fichier .glrange c'est juste du JSON. Tu peux l'ouvrir dans n'importe quel éditeur de texte. En gros :
{
"format": "grindlab.range.bundle",
"version": 1,
"exportedAt": "2026-05-03T12:00:00Z",
"exportedBy": { "app": "GrindLab", "appVersion": "1.0" },
"ranges": [
{
"name": "CO Open 100bb",
"hands": ["AA", "AKs", "AKo", "..."],
"weights": { "AKo": 0.5 },
"actionFreqs": { "AKs": { "raise": 0.6, "call": 0.4 } },
"actionDefs": [
{ "id": "raise", "name": "Raise", "color": "#3FB950" },
{ "id": "call", "name": "Call", "color": "#58A6FF" }
],
"notes": "MP open vs LJ flat call : raise les Ax suités faibles."
}
],
"folders": [{ "id": "...", "name": "MTT 100bb", "parentId": null }]
}
Le format est documenté et validé côté serveur. Les futures versions seront rétro-compatibles — les bundles que tu exportes aujourd'hui s'importeront encore dans un an.
Limites à connaître
- Hold'em uniquement. Le format est conçu pour les holdings de 2 cartes sur une grille 13×13. Le PLO (4 cartes) est sur la roadmap mais pas encore supporté.
- Cap de taille du bundle : ~10 MB pour garder l'API rapide. Un pack d'étude typique fait largement moins d'1 MB.
- Pas d'état live :
.glrangene stocke que les ranges, pas les calculs d'equity ou les analyses de mains en cours. Ceux-ci vivent dans leur propre modèle de données.
Quoi utiliser quand
| Objectif | Format |
|---|---|
| Backup ta library | .glrange |
| Partager avec un autre user GrindLab | .glrange |
| Envoyer vers un outil non-GrindLab | Exporte chaque action en texte solveur |
| Importer depuis Flopzilla/Equilab | Onglet 'Depuis un solver' → format hand-level |
| Importer depuis GTO Wizard/Hand2Note | Onglet 'Depuis un solver' → format combo-level |
| Import en masse d'un pack d'étude depuis ZIP | Onglet 'Depuis un solver' → drop le ZIP |
Synthèse
Le format .glrange existe parce qu'aucun export texte standard ne capture les fréquences multi-actions. En rendant le format propriétaire et basé JSON, GrindLab peut préserver le mix de stratégie complet par range — incluant notes, structure de dossiers et palettes d'actions custom — dans un seul fichier.
Pour les échanges avec d'autres écosystèmes, le flow d'import accepte les formats texte standards combo-level et hand-level utilisés par Hand2Note, GTO Wizard, Flopzilla et Equilab. Chaque range importée est single-action par design (limite du format source), mais tu peux empiler plusieurs imports dans l'Éditeur pour reconstruire une range master multi-actions.
Le format propriétaire est le bon outil quand la fidélité compte. Les formats texte sont les bons outils quand l'interopérabilité compte. Les deux ont leur place.
→ Lis le guide complet GrindLab pour un panorama du reste de l'outil, ou check comment construire des ranges au poker pour le côté stratégie.