# 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).