LifePlay-Revival/Docs/Migration/etat/REL/MAPDL1/MAPDL1-ESSAI-FJ.md
2026-10-22 21:10:39 +02:00

7.3 KiB

Fiche MAPDL1-ESSAI-FJ — 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 les releases du Forgejo de l'utilisateur (fiche préparée, rien publié) (2026-10-22)

Cette fiche remplace MAPDL1-ESSAI-GH.md, qui est gardée pour mémoire. Le modèle GitHub reste disponible dans IndexCartes.ps1.

Décision de l'utilisateur, citée par Big Boss : « Finalement, utilise les releases de mon Forgejo pour les essais. » Instance : forgejo.edujiro5972.fr. Dépôts connus : edujiro5972/LifePlay-Revival (jeu) et edujiro5972/LifePlay-Sandbox (addon), d'après lp-paths.

Une release est une publication. Les étapes F1 à F3 sont des gestes de l'utilisateur, ou se font avec son accord explicite, action par action. Aucune n'est faite par cette fiche.

Questions pour l'utilisateur (posées par Big Boss)

  1. Quel dépôt porte les releases d'essai ?
    • edujiro5972/LifePlay-Revival ;
    • edujiro5972/LifePlay-Sandbox ;
    • ou un dépôt dédié, par exemple edujiro5972/LifePlay-Cities (idée de STM1-SPEC-07 § 3).
  2. Ce dépôt est-il public ? La visibilité du Forgejo est « à confirmer » (lp-paths). Le jeu télécharge sans authentification : un dépôt privé ne peut pas servir. Le jeu ne porte aucun jeton, et n'en portera pas.
  3. Quel tag ? Proposition : cartes-test-1.
  4. Accord pour F1 (création de la release), puis pour F2 et F3 (appels au réseau).

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

Lien de téléchargement visé : https://forgejo.edujiro5972.fr/<owner>/<repo>/releases/download/<tag>/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip

Points à vérifier (aucun n'est établi)

# Point Comment le trancher
V1 Téléchargement anonyme : il exige un dépôt public (et une instance qui n'oblige pas à se connecter pour lire) F2 : curl -I sans identifiants. Attendu : 200, et non 401, 403, ni une page de connexion
V2 Range et 206 sur les pièces jointes de release F2 : curl -r 0-3. Attendu : 206 et Content-Range: bytes 0-3/22075120 (STM1-SPEC-07 § 3 notait déjà « à vérifier »)
V3 Redirection éventuelle (par exemple vers un stockage d'objets si l'instance en utilise un) F2 : curl -I -L. Noter chaque Location:. Le client HTTP du jeu doit la suivre (E1)
V4 Taille maximale des pièces jointes : réglage [attachment] MAX_SIZE de l'instance (STM1-SPEC-07 § 3) réglage lu par l'utilisateur sur son serveur, ou constaté à l'envoi. Les plus gros packs actuels font de 68 Mo (MexicoCity 1.0.1) à 98 Mo (Bangalore 1.0.0), voire plus en 1.0.1 avec la 3D classique
V5 Création de la release par l'interface web (geste de l'utilisateur), ou par l'API avec un jeton gardé par l'utilisateur : variable d'environnement ou gestionnaire d'identifiants Windows, jamais dans un fichier du projet

F1. Création de la release (geste de l'utilisateur, ou avec son accord)

Interface web :

  1. dépôt <owner>/<repo>, puis « Releases », puis « New release » ;
  2. tag cartes-test-1, titre « City map packs (test) » ;
  3. notes : « Test release for in-game download (MAPDL1). Map data (c) OpenStreetMap contributors, ODbL 1.0. » ;
  4. pièce jointe : le zip de Manila ;
  5. « Publish ».

Par l'API (si l'utilisateur le préfère ; jeton dans $env:FORGEJO_TOKEN, que l'utilisateur pose lui-même dans sa session) :

$h = @{ Authorization = "token $env:FORGEJO_TOKEN" }
$r = Invoke-RestMethod -Method Post -Headers $h -ContentType 'application/json' `
     -Uri "https://forgejo.edujiro5972.fr/api/v1/repos/<owner>/<repo>/releases" `
     -Body (@{ tag_name = 'cartes-test-1'; name = 'City map packs (test)'; body = 'Test release for in-game download (MAPDL1). Map data (c) OpenStreetMap contributors, ODbL 1.0.' } | ConvertTo-Json)
curl.exe -sS -H "Authorization: token $env:FORGEJO_TOKEN" -F "attachment=@D:\Game\LifePlay_Publication\Mods\lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip" "https://forgejo.edujiro5972.fr/api/v1/repos/<owner>/<repo>/releases/$($r.id)/assets?name=lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"

Les points d'accès /api/v1/repos/{owner}/{repo}/releases et …/releases/{id}/assets sont à vérifier sur la version de Forgejo installée (la 9, d'après STM1-SPEC-07 § 7 bis), dans sa page d'aide de l'API (/api/swagger).

F2. Tests d'accès anonyme, de redirection et de Range (avec accord)

$u = "https://forgejo.edujiro5972.fr/<owner>/<repo>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"
curl.exe -sS -I -L $u
curl.exe -sS -L -r 0-3 -o NUL -D - $u

Résultats attendus :

  • V1 : statut final 200, Content-Length: 22075120, sans 401 ni 403 ;
  • V3 : chaque redirection notée (Location:), ou aucune ;
  • V2 : la seconde commande rend 206 Partial Content et Content-Range: bytes 0-3/22075120.

Le relevé est à coller tel quel. Sans 206, le jeu reprend de zéro (il le gère), et c'est à noter.

F3. Contrôle du fichier (avec accord)

New-Item -ItemType Directory -Force "D:\Game\LifePlay_Data\Mega-essai\FJ-essai" | Out-Null
curl.exe -sS -L -o "D:\Game\LifePlay_Data\Mega-essai\FJ-essai\manila.zip" $u
(Get-FileHash "D:\Game\LifePlay_Data\Mega-essai\FJ-essai\manila.zip" -Algorithm SHA256).Hash

Attendu : 2BA28C4EDFB98E7B0265BE719E3A42489F0FD79B17268C6EE9F3FBE2DC08B4CF.

F4. JSON d'essai (sans réseau, après E1)

pwsh -NoProfile -File "D:/Game/LifePlay-master 5.8/Tools/IndexCartes.ps1" -Villes Manila -Hebergeur Forgejo -ForgejoHote forgejo.edujiro5972.fr -Owner <owner> -Repo <repo> -Tag cartes-test-1 -Sortie "D:\Game\LifePlay_Data\Mega-essai\FJ-essai\LPCityMaps.json"

Attendu : une entrée Manila avec urls = ["https://forgejo.edujiro5972.fr/<owner>/<repo>/releases/download/cartes-test-1/lpm_city_manila-1.0.1-for-LifePlay-2026.10.2.2a.zip"], octets 22075120 et sha256 2BA28C4E….

Le modèle GitHub reste disponible : -Hebergeur GitHub -Owner -Repo -Tag.

F5. Essai en jeu (E4, Big Boss)

Remplacé le 2026-10-22 par la partie C de MAPDL1-TESTS-02.md.

Les mêmes cas que MAPDL1-ESSAI-GH.md § G5 (T1 à T7) :

  • Download only ;
  • Full install depuis le zip déjà présent ;
  • reprise par Range ;
  • passage au miroir sur un 404.

Manila doit être désinstallée de la build d'essai au préalable, par déplacement. Journal à relever : lignes [LPCity] DOWNLOAD (statut, URL finale après redirection, 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-FJ.md (A).
  • Suite : Big Boss pose les 4 questions et demande les accords pour F1, puis pour F2 et F3 ; F4 et F5 viennent après E1 et E2.