Files
gauthier.chombart 2a85ced1e6 Passe le classement Memory en ligne (ASP.NET + SQL Server)
Le classement du jeu Memory était stocké en localStorage (visible d'un seul
joueur, sur un seul poste). Il est désormais partagé en ligne via une API
ASP.NET/SQL Server adaptée à l'hébergement bsite.net.

- API scores.ashx (C#, compilée au vol par IIS) : lecture GET et
  enregistrement POST, création automatique de la table, ne conserve que le
  top 10 de chaque mode (facile / normal / difficile).
- leaderboard.js : le classement passe par fetch vers l'API (états
  chargement/erreur/vide, surbrillance de la ligne du joueur). Les
  statistiques personnelles restent stockées localement.
- memory-game.js : rafraîchit le classement après l'enregistrement (async).
- Style .is-me pour la ligne du joueur courant.
- web.config.example fourni ; le web.config réel (mot de passe) est ignoré.
2026-07-15 22:35:24 +02:00
..

API du classement Memory (ASP.NET + SQL Server)

Petit service ASP.NET (C#) + SQL Server qui héberge en ligne le classement partagé du jeu Memory. Tous les joueurs enregistrent leurs scores au même endroit et voient le même top 10 par mode (facile / normal / difficile).

Adapté à l'hébergement FreeASPHosting.net / bsite.net (Windows, IIS, base MSSQL 2016). Le fichier scores.ashx est compilé au vol par IIS : aucune étape de build, il suffit de le déposer.

Contenu

Fichier Rôle
scores.ashx Point d'entrée de l'API (GET pour lire, POST pour enregistrer). Crée la table automatiquement au premier appel.
web.config.example Modèle de configuration à copier en web.config.
web.config À créer sur le serveur avec le mot de passe SQL Server (clé MemoryDb). Non versionné.
README.md Ce fichier.

Installation sur bsite.net

  1. Récupérer le mot de passe de la base dans le panneau Manage Databases. La base existe déjà :

    • Serveur : sql.bsite.net\MSSQL2016
    • Base / utilisateur : nextgnformation_reponses_exercices
  2. Créer web.config à partir du modèle (cp web.config.example web.config), puis remplacer VOTRE_MOT_DE_PASSE par le mot de passe réel dans la clé MemoryDb.

  3. Déposer le dossier api/ via My Files, au même endroit que memory.html (chemin attendu par le jeu : exercices/memory-pictogrammes/api/scores.ashx).

  4. C'est prêt : au premier score enregistré (ou premier appel GET), la table memory_scores est créée automatiquement.

Vérification rapide

  • Lecture du classement : GET https://nextgnformation.bsite.net/exercices/memory-pictogrammes/api/scores.ashx?difficulty=all doit renvoyer {"ok":true,"scores":[...]}.

  • Seuls les 10 meilleurs de chaque mode sont conservés : après chaque enregistrement, les scores hors top 10 du mode concerné sont supprimés.

Points d'attention

  • Ne poussez jamais web.config avec le vrai mot de passe dans un dépôt public. Éditez-le directement sur le serveur via My Files.
  • Les statistiques personnelles (« Vos statistiques ») restent stockées localement dans le navigateur de chaque joueur ; seul le classement est en ligne.
  • Le score étant calculé côté navigateur, l'API valide les types et les bornes mais ne garantit pas l'absence de triche (recalcul serveur possible plus tard).