尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Un site de jeux de cartes à jouer en ligne entre amis. On crée un salon, on partage son code de quatre caractères, et tout le monde joue depuis son navigateur — rien à installer, pas de compte à créer.
Quatre jeux, quatre moteurs de règles distincts :
| Jeu | Joueurs | Ce que c'est |
|---|---|---|
| Rami | 2 | Rami français, variante maison |
| L'Ascenseur | 3 à 7 | On annonce ses plis avant de jouer (variante du Oh Hell!) |
| Skull King | 3 à 9 | 10 manches de pirates, avec les extensions (Butin, Kraken, Baleine…) |
| Le 24 | 2 à 8 | Course de calcul mental : quatre cartes, quatre opérations, tomber sur 24 |
La Bataille, premier jeu du site, a été retirée le 31 août 2026 : elle se joue sans décision, tout le monde retourne sa carte et le sort tranche. Le 24 a pris sa place dans la vitrine.
Node 18 ou plus est requis.
npm ci && npm start
Le serveur démarre sur http://localhost:3000. Il affiche aussi son adresse sur
le réseau local, pour que les autres joueurs de la maison s'y connectent depuis
leur téléphone.
npm test
Six suites s'enchaînent, sans dépendance externe ni framework : une par moteur de règles (Rami, Ascenseur, Skull King, Le 24) plus une sur la couche salon du Skull King et une sur celle du 24. Chacune est un simple script Node qui construit des situations de jeu et vérifie le résultat. Elles tournent aussi en CI sur chaque push et chaque pull request, et le déploiement échoue si l'une d'elles casse.
Le serveur suit le même découpage pour les quatre jeux :
| Fichier | Rôle |
|---|---|
server/<jeu>.js | Les règles pures : le deck, les coups légaux, qui remporte le pli. Aucune notion de réseau — c'est ce qui rend les tests simples |
server/<jeu>-room.js | Les salons : Socket.io, la table, les reconnexions, la diffusion de l'état à chaque joueur |
server/<jeu>-simulate.js | La suite de tests du moteur correspondant |
server/index.js | Le serveur Express et les trois routes techniques. Aucune règle de jeu : il ne fait que servir les pages et brancher les salons |
Le 24 est le seul à ne pas être un jeu de plis, et le seul dont l'écran est pensé pour un ordinateur (disposition paysage, donne à gauche, suivi de partie à droite, buzzer à la barre d'espace). Tout le monde reçoit les mêmes quatre cartes en même temps et cherche de tête : rien n'est manipulable tant que personne n'a appuyé sur « J'ai ! ». Le premier qui appuie prend la main seul, le chrono de la donne se fige, et il a 20 secondes pour montrer sa combinaison en fusionnant les cartes ; s'il n'y arrive pas, il est écarté de cette donne et le chrono repart pour les autres. Les fusions se font entièrement dans le navigateur (sinon chaque clic coûterait un aller-retour réseau) et le serveur rejoue la suite d'opérations reçue pour trancher. Son moteur contient aussi un solveur, qui sert à trois choses : ne jamais distribuer une donne insoluble, annoncer sa difficulté, et montrer une solution quand personne n'a trouvé.
Deux suites de tests le couvrent plutôt qu'une : vingtquatre-simulate.js pour
le moteur (solveur, fractions exactes, validation d'une réponse) et
vingtquatre-room-simulate.js pour la machine à états du buzzer — qui a le
droit d'appuyer, ce que coûte une explication ratée, le gel du chrono.
Trois routes techniques : /healthz (surveillance de l'hébergeur), /stats
(compteurs d'observabilité) et /play-counts (nombre de parties lancées par jeu,
qui sert à trier la page d'accueil).
Le front est dans public/ : une page et un fichier JS par jeu, en JavaScript
natif, sans étape de build — on édite, on recharge. public/apercu-table.html
n'est pas une page du site mais un banc d'essai : il monte le vrai écran de Skull
King et lui sert un état fabriqué, pour régler une disposition sans ouvrir sept
navigateurs (voir les paramètres d'URL documentés en tête du fichier).
Deux dossiers annexes, hors du site :
maquettes/ — les pages de travail du design, autonomes, à ouvrir d'un
double-clic. Elles ne sont pas servies par le serveur.briefs/ — les scripts Python qui fabriquent les illustrations (.webp) à
partir des planches sources. Les sources brutes ne sont pas versionnées, elles
sont trop lourdes et ne servent qu'à regénérer ces fichiers.Hébergé sur Render, configuré par render.yaml (versionné, pour que le réglage
soit lisible ici plutôt que dans un tableau de bord). Chaque push sur main
déclenche un déploiement, précédé de npm ci && npm test : si la suite de tests
échoue, le déploiement ne part pas.
Sur l'offre gratuite, le serveur s'endort après une période d'inactivité et met une vingtaine de secondes à se réveiller. Le premier joueur à arriver voit donc une bannière d'attente — c'est normal, ce n'est pas une panne.
Le code est public pour être lu, pas pour être repris : aucune licence n'est accordée, tous droits réservés. Écrivez-moi si vous voulez en faire quelque chose.
Les illustrations ont été fabriquées pour ce projet (voir briefs/). Skull
King est un jeu de Grandpa Beck's Games — seuls les noms des cartes et des
pouvoirs viennent de là, cette implémentation est un projet personnel sans but
commercial et n'est ni affiliée ni approuvée par l'éditeur.