87 lines
5.7 KiB
Markdown
87 lines
5.7 KiB
Markdown
|
|
Fiche MAPDL1-ESSAI-GH — Niveau N2 — Modèle prévu opus medium | utilisé claude-opus-5-5 — Agent session « Medium · MAPDL1 » — Skills sk-protocol, lp-city
|
||
|
|
|
||
|
|
# MAPDL1 : essai du téléchargement dans le jeu par GitHub Releases (fiche préparée, rien publié) (2026-10-22)
|
||
|
|
|
||
|
|
Décision de l'utilisateur, citée par Big Boss : « GitHub Releases pour les test ».
|
||
|
|
|
||
|
|
**Une release publique est une publication.** Les étapes G1 à G3 sont **des gestes de l'utilisateur**, ou se font avec son accord explicite, action par action. Aucune n'est faite par cette fiche.
|
||
|
|
|
||
|
|
Valeurs à fournir par l'utilisateur (Big Boss les lui demande) : `<compte>`, `<depot>` et `<tag>` (proposition : `cartes-test-1`).
|
||
|
|
|
||
|
|
## Packs d'essai
|
||
|
|
|
||
|
|
| Pack | Archive (`D:\Game\LifePlay_Publication\Mods\`) | Octets | SHA-256 |
|
||
|
|
|---|---|---:|---|
|
||
|
|
| Manila 1.0.1 | `lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip` | 22 075 120 | `2BA28C4EDFB98E7B0265BE719E3A42489F0FD79B17268C6EE9F3FBE2DC08B4CF` |
|
||
|
|
| Shanghai 1.0.1 (facultatif) | `lpm_city_shanghai-1.0.1-for-LifePlay-2026.10.2.2a.zip` | 34 179 497 | `DF9CD279E65842CC7301C84A86415FAD3E00F8FFC72F6441C35E38515C5D8D7B` |
|
||
|
|
|
||
|
|
Les deux packs font moins de 2 Gio par fichier, la limite de GitHub d'après `MAPDL1-HEBERGEURS.md`.
|
||
|
|
|
||
|
|
## G1. Release de test (geste de l'utilisateur, ou avec son accord)
|
||
|
|
|
||
|
|
Prérequis : un dépôt **public** `<compte>/<depot>`, et l'outil `gh` connecté au compte de l'utilisateur. Le jeton est dans `gh` et n'est jamais écrit dans un fichier du projet.
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
gh release create cartes-test-1 --repo <compte>/<depot> --title "City map packs (test)" --notes "Test release for in-game download (MAPDL1). Map data (c) OpenStreetMap contributors, ODbL 1.0." "D:\Game\LifePlay_Publication\Mods\lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"
|
||
|
|
```
|
||
|
|
|
||
|
|
Résultat attendu : l'adresse de la release. Le fichier se télécharge à `https://github.com/<compte>/<depot>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip`.
|
||
|
|
|
||
|
|
## G2. Test de Range et de la redirection (avec accord : c'est un appel au réseau)
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
curl.exe -sS -I -L "https://github.com/<compte>/<depot>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"
|
||
|
|
curl.exe -sS -L -r 0-3 -o NUL -D - "https://github.com/<compte>/<depot>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"
|
||
|
|
```
|
||
|
|
|
||
|
|
Résultats attendus :
|
||
|
|
- première commande : un `302` (ou `301`) avec `Location:` vers un hôte de stockage de GitHub (`objects.githubusercontent.com`, ou un hôte voisin), puis `200` et `Content-Length: 22075120` ;
|
||
|
|
- seconde commande : après la redirection, **`206 Partial Content`** et `Content-Range: bytes 0-3/22075120`.
|
||
|
|
|
||
|
|
Le relevé est à coller tel quel dans la fiche d'essai. S'il n'y a pas de `206` après la redirection, la reprise d'un téléchargement interrompu repart de zéro : le jeu le gère (code 200, il recommence), mais il faut le noter.
|
||
|
|
|
||
|
|
## G3. Contrôle du fichier téléchargé (avec accord)
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
New-Item -ItemType Directory -Force "D:\Game\LifePlay_Data\Mega-essai\GH-essai" | Out-Null
|
||
|
|
curl.exe -sS -L -o "D:\Game\LifePlay_Data\Mega-essai\GH-essai\manila.zip" "https://github.com/<compte>/<depot>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"
|
||
|
|
(Get-FileHash "D:\Game\LifePlay_Data\Mega-essai\GH-essai\manila.zip" -Algorithm SHA256).Hash
|
||
|
|
```
|
||
|
|
|
||
|
|
Attendu : `2BA28C4EDFB98E7B0265BE719E3A42489F0FD79B17268C6EE9F3FBE2DC08B4CF`.
|
||
|
|
|
||
|
|
## G4. JSON pointant sur la release (sans réseau, après E1)
|
||
|
|
|
||
|
|
`Tools\IndexCartes.ps1` (écrit en E1), avec le modèle GitHub :
|
||
|
|
|
||
|
|
```powershell
|
||
|
|
pwsh -NoProfile -File "D:/Game/LifePlay-master 5.8/Tools/IndexCartes.ps1" -Villes Manila -GithubCompte <compte> -GithubDepot <depot> -GithubTag cartes-test-1 -Sortie "D:\Game\LifePlay_Data\Mega-essai\GH-essai\LPCityMaps.json" -ABlanc
|
||
|
|
```
|
||
|
|
|
||
|
|
Résultat attendu : une entrée Manila avec
|
||
|
|
`urls = ["https://github.com/<compte>/<depot>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"]`, `octets` 22075120 et `sha256` `2BA28C4E…`.
|
||
|
|
|
||
|
|
Le fichier d'essai **n'est pas** `Config/LPCityMaps.json`. Il se pose dans la build d'essai par Big Boss (E4), ou se charge par `ManifestUrl` s'il est publié avec la release ; cette seconde voie demande l'accord de l'utilisateur.
|
||
|
|
|
||
|
|
## G5. Essai en jeu (E4, Big Boss)
|
||
|
|
|
||
|
|
Le pack Manila doit être **désinstallé** de la build d'essai : déplacé, jamais supprimé, pour que Manila soit « téléchargeable ». Ensuite :
|
||
|
|
|
||
|
|
| # | Geste | Attendu |
|
||
|
|
|---|---|---|
|
||
|
|
| T1 | menu des villes | Manila dans le 2e groupe, « Download (21 MB) » |
|
||
|
|
| T2 | clic sur Manila | fenêtre : licence, case non cochée, deux boutons inactifs |
|
||
|
|
| T3 | cocher, puis « Download only » | barre de progression jusqu'à 22 075 120 octets ; zip dans `Saved/Downloads/` ; SHA-256 conforme ; Manila reste « téléchargeable » |
|
||
|
|
| T4 | « Full install » | partant du zip déjà là (pas de second téléchargement), pose, puis « Restart required » |
|
||
|
|
| T5 | relancer le jeu | Manila « Installed », en tête de liste, jouable en 3D classique |
|
||
|
|
| T6 (reprise) | couper le réseau à environ 50 %, le rétablir, relancer « Download only » | reprise par `Range` (journal : `206`), SHA-256 conforme |
|
||
|
|
| T7 (miroir) | JSON avec une 1re URL fausse (404), puis la bonne | passage à la 2e URL, téléchargement conforme |
|
||
|
|
|
||
|
|
Journal à relever : lignes `[LPCity] DOWNLOAD` (statut HTTP, URL finale, octets, SHA-256) et `[LPCity] INSTALL`.
|
||
|
|
|
||
|
|
## Compte rendu
|
||
|
|
|
||
|
|
- **Résultat** : fiche préparée. Rien n'est publié, rien n'est appelé sur le réseau.
|
||
|
|
- **Fichier** : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\MAPDL1\MAPDL1-ESSAI-GH.md` (A).
|
||
|
|
- **Suite** : Big Boss demande à l'utilisateur le compte, le dépôt et le tag, puis son accord pour G1, et pour G2 et G3. G4 et G5 viennent après E1 et E2.
|