L0 : documentation de migration et outillage de test
Docs/Migration : architecture initiale (pipeline donnees -> GI ->
evenements/personnages), audit logiciel 5.5, plan de tests, cahier des
charges par lots bornes, journal des modifications, registre des erreurs.
Tools : CheckIntegrity (T-STAT-02..04), LogStats (compteurs normalises,
A/B 4.27/5.5). Empreinte de reference de l'arbre 4.27.
Tests : aller-retour Snapshot/Restore verifie par MD5 ; T-STAT-02, 03,
04 au vert ; T-STAT-01 : 1 package UE4 (GI.uasset), traite en L1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 23:01:52 +00:00
# Journal des modifications — migration 5.5
> Une entrée par modification. Format : identifiant, date, lot, fichiers, raison, empreintes,
> retour arrière. Les empreintes complètes sont dans `D:\Game\LifePlay_Backup_5.5\<lot>\manifest.csv`
> et dans l'historique git.
| ID | Date | Lot | Fichiers | Raison | Avant → après | Retour arrière |
|---|---|---|---|---|---|---|
| CHG-001 | 2026-09-29 | L0 | `.gitignore` | ignorer les fichiers générés (`Build/*/FileOpenOrder`, `Content/Collections` , `Content/Developers` , `.claude/settings.local.json` ) | 31 → 38 lignes | retirer le bloc « CHG-001 » |
| CHG-002 | 2026-09-29 | L0 | `.gitattributes` (nouveau) | aucune conversion de fin de ligne : restauration git identique à l'octet | — → créé | supprimer le fichier |
| CHG-003 | 2026-09-29 | L0 | `.git/` (nouveau) | dépôt local, identité locale, `core.autocrlf=false` , `core.longpaths=true` ; commit `de64933` , tag `lot-L0-base` | — → créé | supprimer `.git/` |
| CHG-004 | 2026-09-29 | L0 | `Tools/Snapshot.ps1` , `Restore.ps1` , `AssetHeaders.ps1` , `CheckIntegrity.ps1` , `LogStats.ps1` (nouveaux) | outillage de traçabilité et de test | — → créés | `git rm` |
| CHG-005 | 2026-09-29 | L0 | `Docs/Migration/**` (nouveau) | documentation 01 à 04, journal, registre, empreintes `etat/L0_*` | — → créés | `git rm` |
| CHG-006 | 2026-09-29 | L0 | `D:\Game\LifePlay_Backup_5.5\L0\` (hors projet) | sauvegarde de `.claude` , `.mcp.json` , `LifePlay.uproject` , `Config` , `Saved/Backups` , `Saved/SaveGames` , `Content/BPs` (53 fichiers) | — → créé | sans objet |
## Vérifications du lot L0
| Test | Résultat |
|---|---|
| Aller-retour `Snapshot` → modification → `Restore` (`Config/DefaultEditorSettings.ini` + fichier créé) | ✅ MD5 `85D82E7F…` retrouvé ; fichier créé retiré vers `_retires/` |
| T-STAT-01 | ⚠️ 1 package UE4 (`Content/BPs/GI.uasset`) : défaut connu, traité en L1 |
| T-STAT-02 Modules = 4.27 | ✅ 2 051 fichiers |
| T-STAT-03 environnement = L0 | ✅ 20 fichiers |
| T-STAT-04 arbre 4.27 inchangé | ✅ 144 fichiers (empreinte créée : `etat/L0_ref427.csv` ) |
Aucun fichier du projet n'a été modifié en L0 en dehors de `.gitignore` et des ajouts ci-dessus.
2026-09-28 23:12:38 +00:00
---
## Lot L1 — Base saine (2026-09-29)
Décisions utilisateur D-01 et D-02 : `04_Cahier_Des_Charges.md` §4. Tag d'entrée `lot-L1-avant` .
Sauvegarde : `D:\Game\LifePlay_Backup_5.5\L1\` (387 fichiers).
| ID | Date | Lot | Fichiers | Raison | Avant → après | Retour arrière |
|---|---|---|---|---|---|---|
| CHG-007 | 2026-09-29 | L1 | `Content/{BPs,UI,Structs,Scenes,Render,Characters}` (385 fichiers, 293 packages) | retour à la base 4.27 : retire tous les correctifs de contenu non suivis (dont R-03, R-04) | contenu 5.5 (empreintes `etat/L0_md5_*.csv` ) → identique à 4.27 (MD5 vérifiés, 0 écart) | `Tools\Restore.ps1 -Lot L1` ou `git checkout lot-L1-avant -- Content` |
| CHG-008 | 2026-09-29 | L1 | `Tools/RunCommandlet.ps1` (nouveau) | lancement de commandlet avec journal archivé et résumé dédoublonné | — → créé | `git rm` |
| CHG-009 | 2026-09-29 | L1 | `Docs/Migration/05_Correctifs_Isoles.md` , `correctifs/P01…P06.patch` (nouveaux) | isolement des correctifs : catalogue, protocole de réimport, patchs de code 4.27 → 5.5 | — → créés | `git rm` |
| CHG-010 | 2026-09-29 | L1 | `Config/DefaultEngine.ini` | essai de retrait des sections `AndroidFileServer` /`CookerSettings` **annulé** : l'éditeur recrée la section à chaque lancement (nouveau `SecurityToken` ) | inchangé (restauré depuis `lot-L1-avant` ) | sans objet ; traité en L2 |
### Relevé de base : moteur 5.5 sur le contenu 4.27, sans aucun correctif
| Commandlet | Résultat | Résumé |
|---|---|---|
| `LPCheckMeshAssignment` | 5 nœuds à broches orphelines dans `GI` : 3 `GetAssetsByClass` (classe perdue : `SkeletalMesh` , `StaticMesh` , `StreetMap` ), 2 `Break AssetData` (`ObjectPath`) ; 6 nœuds `EditableTextBoxStyle` (`StatMenu`, `CharGen` ) | `etat/L1_LPCheckMeshAssignment_20260929-010821.txt` |
| `CompileAllBlueprints` | **6 erreurs, 100 avertissements, 0 Blueprint en échec de chargement** ; échecs : `UI/StatMenu` (3), `UI/CharGen` (3) — broche `Font` d'`EditableTextBoxStyle` | `etat/L1_CompileAllBlueprints_20260929-010931.txt` |
Les commandlets de contrôle n'ont rien écrit : contenu toujours identique à 4.27 après passage (385/385).
### Vérifications de sortie L1
| Test | Résultat |
|---|---|
| Contenu de gameplay = 4.27 | ✅ 385/385 MD5 |
| T-STAT-01 | ⏳ 293 packages UE4 (attendu : base 4.27) — resave contrôlé en `L4-CX-B07` |
| T-STAT-02, 03, 04 | ✅ |
| T-LOAD-01 | ❌ attendu : 6 erreurs (`CX-B02`), à corriger en L4 |
| T-LOAD-02 | ❌ attendu : 5 broches (`CX-B01`), à corriger en L4 |