Générateur de grilles de bingo reproductibles
La graine 2026 avec une grille de 5 × 5 et des nombres de 1 à 75 donne toujours la même grille : 24 nombres distincts autour d’une case centrale libre. Gardez graine et réglages pour réimprimer la grille exacte pour une soirée ou une classe. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Générez une grille de bingo complète qui reste identique chaque fois que vous réutilisez la même graine et les mêmes réglages. Choisissez le nombre de lignes et de colonnes, définissez une plage inclusive d’entiers autorisés et obtenez une grille de valeurs uniques. Lorsque les deux dimensions sont impaires, la case centrale devient automatiquement libre. Le générateur vérifie que la plage peut remplir toutes les cases numérotées, ce qui convient aux jeux, supports imprimables, exercices pédagogiques et scénarios de test reproductibles.
Choisissez les dimensions et une plage suffisante
Commencez par indiquer le nombre de lignes et de colonnes. Une grille classique en compte souvent cinq de chaque, mais le générateur accepte également les formats rectangulaires et des dimensions comprises entre un et cent. Saisissez ensuite le plus petit et le plus grand entier autorisé.
Les deux bornes sont incluses : un minimum de 1 et un maximum de 75 fournissent soixante-quinze valeurs possibles. Chaque case numérotée reçoit un entier unique et aucune valeur ne se répète sur la même grille. Si les deux dimensions sont impaires, la position centrale est réservée à la chaîne FREE, ce qui réduit d’une unité le nombre d’entiers requis.
Une grille de cinq par cinq nécessite donc vingt-quatre nombres disponibles, tandis qu’une grille de quatre par cinq en nécessite vingt. Si la plage est insuffisante, la requête échoue avec une explication précise au lieu de produire des doublons ou une grille incomplète. Pour maîtriser les ressources, chaque dimension est limitée à cent et la plage à cent mille entiers.
Les nombres négatifs et zéro restent valides lorsque les bornes sont correctement ordonnées.
Réutilisez la graine pour retrouver la même grille
La graine commande le mélange et doit être un entier sûr. Avec des lignes, des colonnes, un minimum, un maximum et une graine identiques, l’algorithme renvoie toujours les mêmes valeurs aux mêmes emplacements. Il ne consulte aucun service aléatoire, ne lit pas l’horloge, n’utilise pas l’entropie du navigateur et ne dépend pas du réseau.
Le résultat convient donc aux parties sauvegardées, tests automatisés, corrigés et travaux d’impression qu’il faudra peut-être recréer. Modifier uniquement la graine produit normalement une autre disposition, tandis qu’une nouvelle plage ou de nouvelles dimensions changent le réservoir et le nombre de positions. Considérez l’entrée complète comme la recette de la grille et conservez les cinq champs si sa reconstruction exacte importe.
La graine sert à la reproductibilité, pas à la sécurité, et ne garantit aucune imprévisibilité cryptographique. Le générateur emploie une séquence pseudo-aléatoire déterministe fixe, puis un mélange Fisher–Yates impartial du réservoir d’entiers. La sortie rappelle tous les réglages, indique si le centre libre a été appliqué et fournit la grille terminée dans le champ card afin de simplifier son affichage ou son exportation.
Affichez, distribuez et contrôlez le résultat
Le champ card est un tableau de lignes, chacune contenant un tableau de cases. Préservez cette différence lorsque vous dessinez un tableau, créez un PDF ou importez le résultat dans un autre système. La case libre apparaît uniquement lorsque les nombres de lignes et de colonnes sont impairs, car c’est le seul cas où la grille possède un centre unique.
Dès qu’une dimension est paire, toutes les positions contiennent des nombres. Avant une partie, générez la grille de chaque participant avec une graine distincte enregistrée, tout en conservant les mêmes dimensions et la même plage. Vous pourrez ensuite reconstituer toute grille contestée grâce à son entrée, sans garder le fichier produit.
Pour des fiches pédagogiques, associez la graine au corrigé afin de recréer le matériel plus tard. Les erreurs de validation signalent dimensions incorrectes, nombres non sûrs, bornes inversées et plages excessives ou insuffisantes afin que vous puissiez corriger la recette avant diffusion.
Cas d’usage
Organiser des parties reproductibles
Conservez la graine de chaque joueur et recréez exactement sa grille pour la vérifier ou la réimprimer.
Préparer des fiches pédagogiques
Générez des grilles numériques avec un centre libre cohérent et archivez la recette avec le corrigé.
Créer des données de test déterministes
Employez des grilles stables pour tester affichage, exportation, détection des gains et persistance sans hasard instable.
Questions fréquentes
Quand la case centrale est-elle libre ?
Le centre affiche FREE lorsque les lignes et les colonnes sont impaires. Si une dimension est paire, toutes les cases sont numérotées.
Un nombre peut-il apparaître deux fois ?
Non. Les valeurs sont tirées sans remise dans la plage inclusive.
La même graine crée-t-elle toujours la même grille ?
Oui, à condition de conserver les lignes, colonnes, minimum, maximum et graine.
Puis-je créer une grille qui ne fait pas cinq sur cinq ?
Oui. Lignes et colonnes vont de un à cent, et les grilles rectangulaires sont acceptées. La case centrale n’est libre que si les deux nombres sont impairs, car il n’existe alors qu’un seul centre.
Que se passe-t-il si la plage de nombres est trop petite ?
La grille n’est pas créée, plutôt que de répéter des nombres ou de laisser des trous. Une grille de cinq sur cinq demande vingt-quatre nombres, une de quatre sur cinq vingt, et les deux bornes comptent.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/game/bingo-card-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"rows":5,"columns":5,"min_number":1,"max_number":75,"seed":2026}'const res = await fetch("https://api.kit.forhosting.com/game/bingo-card-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"rows": 5,
"columns": 5,
"min_number": 1,
"max_number": 75,
"seed": 2026
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/bingo-card-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"rows": 5,
"columns": 5,
"min_number": 1,
"max_number": 75,
"seed": 2026
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/bingo-card-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"rows":5,"columns":5,"min_number":1,"max_number":75,"seed":2026}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"rows":5,"columns":5,"min_number":1,"max_number":75,"seed":2026}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/bingo-card-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"rows": 5,
"columns": 5,
"min_number": 1,
"max_number": 75,
"seed": 2026
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.bingo_card_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Affichez, distribuez et contrôlez le résultat
Les cases numérotées sont des nombres JSON et le centre libre automatique est la chaîne JSON FREE. L’automatisation par API coûte $0.002 par requête de grille et l’algorithme pur n’exige aucun fichier envoyé ni service externe.
Questions techniques
Quel est le prix d’une requête API ?
Chaque grille générée par l’API coûte $0.002.
Que se passe-t-il si la plage est trop petite ?
La requête renvoie une erreur invalid_input précisant le nombre de valeurs disponibles et de cases numérotées nécessaires.