Chiptuned/pokerbaguette-calculateurs
Pokerbaguette — les calculateurs
Tout ce que pokerbaguette.com affirme est dérivé, pas affirmé. Ce Space expose les solveurs du dossier calculs/ du repo pokerbaguette : chaque onglet laisse l'utilisateur recalculer lui-même les chiffres du site, lire le code qui calcule (accordéon « Voir le code du solveur », extrait par inspect.getsource) et, quand une valeur vient d'un cache, la recalculer pour de vrai d'un clic.
L'app est multipage — deux liens à partager :
- Blackjack : <https://chiptuned-pokerbaguette-calculateurs.hf.space/>
- Ultimate (UTH) : <https://chiptuned-pokerbaguette-calculateurs.hf.space/uth>
Périmètre : les chiffres sont publics, la stratégie est dans la masterclass
Le Space recalcule tous les chiffres publics du site (seuils, edges, assurance, 4x vs 3x, coûts par profil, taux horaires, dénombrements). La stratégie — table de stratégie de base complète, charte préflop 169 mains, règle des 21 outs, comptage — est enseignée dans la masterclass pokerbaguette et n'est volontairement pas publiée ici. Toutes les affirmations de la page publique « Comment gagner » (/win) restent vérifiables sur le Space.
Page / — Blackjack (art. 55-4)
Page /uth — Ultimate (art. 55-20)
Architecture
app.py— l'interface Gradio multipage (gr.Blocks+demo.route("Ultimate (UTH)", "/uth")), en français. Sous chaque onglet, l'accordéon « Voir le code du solveur » affiche le source réel des modules viainspect.getsource.solvers/— le code des solveurs, copié depuiscalculs/pour que le Space soit autonome (pas d'import relatif fragile vers le repo). Chaque module porte en en-tête sa provenance : resynchroniser via le repo sicalculs/évolue.freq7_calc.py— adapté decalculs/commun/freq7.py: énumération chunkée mono-processus avec progression + mode échantillon (le recalcul réel).taux_horaire.py— adapté decalculs/seuils-jackpots/verif_taux_horaire.py(le modèle net = jackpots − coûtparmain × mains, validé par simulation) : EV €/h et quantiles de sessions, paytables importées des modules de seuils.solvers/freq7.json— le cache des fréquences 7 cartes (valeurs exactes produites parcalculs/commun/freq7.py, validées contre la littérature — Brian Alspach). Le tableau par défaut de l'onglet Dénombrements est étiqueté comme cache, et le bouton « Recalculer pour de vrai » ré-énumère réellement les 133 784 560 mains (~40 s mesurés sur un laptop récent, plusieurs minutes sur le CPU gratuit — l'app mesure et affiche l'estimation avant de lancer).
Adaptations pour le CPU gratuit (2 vCPU)
- Simulation UTH plafonnée à 200 000 donnes (
solvers/uth_sim.py,NB_MAX) et au plus 2 processus (repli séquentiel si le multiprocessing est indisponible). La précision publiée danscalculs/uth/resultats.mdvient de runs à 20 M de donnes sur 10 cœurs — le Space le rappelle à l'écran. - Simulation de sessions (taux horaire) plafonnée avec le pattern « ⏳ Calcul en cours… » + barre de progression.
- Les calculs exacts (combinatoire en fractions, solveur blackjack DP) sont quasi instantanés et mis en cache (
functools.lru_cache) — aucune valeur affichée comme résultat n'est codée en dur.
Run local
pip install -r requirements.txt
python app.py # http://127.0.0.1:7860/ (Blackjack)
# http://127.0.0.1:7860/uth (Ultimate)Licence
© 2026 Pokerbaguette (pokerbaguette.com) — Vincent Fraillon. Tous droits non expressément concédés sont réservés.
Code et contenus du Space sous [PolyForm Noncommercial 1.0.0](LICENSE.md) — une licence source-available NON permissive :
- ✅ autorisé (non commercial uniquement) : consulter le code, exécuter les calculateurs, vérifier les chiffres du site, partager le Space à l'identique (recherche personnelle, éducation, journalisme…) ;
- ❌ interdit sans accord écrit : tout usage commercial — réutiliser ces solveurs dans une formation/masterclass concurrente, un produit, un service, un outil interne d'exploitation, ou en revendre des dérivés.
Pourquoi elle plutôt que CC BY-NC-ND : PolyForm est rédigée pour du logiciel (licence de brevet incluse, définition précise de l'usage non commercial), là où les Creative Commons se déconseillent elles-mêmes pour du code.
Déploiement sur Hugging Face Spaces
Le Space existe : https://huggingface.co/spaces/Chiptuned/pokerbaguette-calculateurs (le front-matter YAML en tête de ce README le configure — licence Other → LICENSE.md, SDK Gradio, CPU basic gratuit).
Pour pousser (authentification : token write de <https://hf.co/settings/tokens>) : cloner le Space et y recopier le contenu de CE dossier — ne jamais faire de `git remote add` ici : ce dossier vit dans le repo privé pokerbaguette, un `git push` depuis le repo enverrait tout le code privé sur le Space public.
cd deliverables/solvers-space
git clone https://huggingface.co/spaces/Chiptuned/pokerbaguette-calculateurs /tmp/pb-space
cp -R app.py requirements.txt README.md LICENSE.md solvers /tmp/pb-space/
rm -rf /tmp/pb-space/solvers/__pycache__
cd /tmp/pb-space && git add -A && git commit -m "Pokerbaguette — les calculateurs" && git push(Alternative sans git : onglet « Files » du Space → « Upload files » → glisser app.py, requirements.txt, README.md, LICENSE.md et le dossier solvers/.)
Le Space builde et démarre seul (~2 min). Vérifier ensuite les deux pages — <https://chiptuned-pokerbaguette-calculateurs.hf.space/> et <https://chiptuned-pokerbaguette-calculateurs.hf.space/uth> — contre les valeurs de référence des resultats.md (elles sont rappelées dans l'interface, étiquetées comme références).
