- Fixed grid-2 to grid-2col CSS class usage
- Replaced improper <p><a> tags with <div><a> in item lists (actor-weapons, actor-defenses, group-items, group-vehicles)
- Fixed typos: smarttlk -> smarttl, compétence -> Compétence
- Fixed duplicate class attributes
- Standardized HTML comments to Handlebars comments ({{!-- --}})
- Added missing localizations for Character and Skills headers
- Removed orphan {{/if}} tag in character-id.hbs
- Created npc-skill-category.hbs partial to eliminate 150+ lines of duplicated skill category code in actor-npc-sheet.hbs
- Created item-list.hbs partial for reusable item list display
- Fixed html.find(...).forEach error in roll.mjs by ensuring jQuery object
- Added .history/ to .gitignore
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
7.7 KiB
Rapport de Révision des Templates Acteurs Vermine2047
Date: 2026-06-04
Objectif
Réviser fichiers par fichier les templates des acteurs pour identifier et corriger les duplications et incohérences.
Problèmes Initiaux Identifiés
1. Erreurs JavaScript
Les erreurs initiales reportées incluaient:
ENOENT: no such file or directory, open '/.../templates/item/partials/damages.html'→ Fichier existe en.hbsCannot read properties of undefined (reading 'Actor')→ Problème dans vermine2047.mjs:123html.find(...).forEach is not a function→ Problème dans roll.mjs:373Cannot read properties of undefined (reading 'difficulty')→ Problème dans actor.mjs:89ActiveEffect application phase "initial" has already completed→ Problème de cycle de vie
2. Duplications dans les Templates
a) Duplication des catégories de compétences NPC (actor-npc-sheet.hbs)
Problème: 6 catégories de compétences (Homme, Animal, Outil, Arme, Survie, Monde) avec la même structure HTML dupliquée.
Solution:
- Créé un nouveau partial:
templates/actor/parts/npc-skill-category.hbs - Remplacé la section dupliquée (lignes 227-297) par une boucle Handlebars
- Utilisation:
{{> "systems/vermine2047/templates/actor/parts/npc-skill-category.hbs" categoryKey=key categoryLabel=(concat "VERMINE.skill_category." key)}}
Réduction: ~150 lignes → ~5 lignes
b) Duplication de la structure des blessures
Fichiers concernés:
character-combat.hbs(lignes 108-199)npc-combat.hbs(lignes 23-47)creature-combat.hbs(lignes 34-66)
Problème: Chaque template de combat a sa propre implémentation des radio buttons pour les blessures.
Solution recommandée: Créer un partial wounds-section.hbs (à implémenter)
c) Duplication des listes d'items
Fichiers concernés:
character-totem.hbs(abilities, specialties, backgrounds, traumas, evolutions)group-info.hbs(abilities, specialties, backgrounds, traumas, evolutions)group-experience.hbs(group abilities)
Solution:
- Créé un partial générique:
templates/actor/parts/item-list.hbs - Peut être utilisé pour standardiser l'affichage des listes d'items
Corrections Effectuées
1. Corrections de Classes CSS
- ✅
actor-items.hbs:77:grid grid-2→grid grid-2col
2. Corrections des Balises HTML
- ✅
actor-weapons.hbs:25-36: Remplacement des<p><a>par<div><a class="item-control item-edit"> - ✅
actor-defenses.hbs:38-41: Remplacement des<p><a>par<div><a class="item-control item-edit"> - ✅
group-items.hbs:20-21: Remplacement des<p><a>par<div><a class="item-control item-edit"> - ✅
group-vehicles.hbs:22-27: Remplacement des<p><a>par<div><a class="item-control item-edit">
3. Corrections de Fautes de Frappe
- ✅
character-totem.hbs:12-16,19-23,26-30:smarttlk→smarttl - ✅
character-totem.hbs:98:{{compétence}}→"Compétence"(tooltips)
4. Corrections de Doubles Classes
- ✅
character-totem.hbs:59:class="item-name" class="flexrow"→class="item-name flexrow"
5. Corrections de Commentaires HTML
- ✅
character-features.hbs:1:<!-- Character -->→{{!-- Character --}} - ✅
character-header.hbs:1:<!-- HEADER -->→{{!-- HEADER --}} - ✅
group-header.hbs:1:<!-- HEADER -->→{{!-- HEADER --}} - ✅
character-totem.hbs:30-34: Commentaire HTML multi-lignes →{{!-- Abstract Items --}} - ✅
character-id.hbs:5: Ajout de commentaire Handlebars
6. Corrections de Localisation
- ✅
character-features.hbs:2:Caractéristiques→{{ localize 'VERMINE.abilities' }} - ✅
character-features.hbs:32:Compétences→{{ localize 'VERMINE.skills' }}
7. Optimisation des Structures Dupliquées
- ✅ Création de
npc-skill-category.hbs: Partial pour les catégories de compétences NPC - ✅ Modification de
actor-npc-sheet.hbs: Utilisation du nouveau partial avec boucle - ✅ Création de
item-list.hbs: Partial générique pour les listes d'items
8. Correction de Balises Orphelines
- ✅
character-id.hbs:112: Suppression de{{/if}}orphelin
Fichiers Modifiés
Templates Principaux
actor-character-sheet.hbs- Structure de base OKactor-npc-sheet.hbs- ✅ Optimisé (duplication des catégories de compétences supprimée)actor-creature-sheet.hbs- Structure OKactor-group-sheet.hbs- Structure OK
Partials Character
character/character-features.hbs- ✅ Commentaires et localisations corrigéscharacter/character-header.hbs- ✅ Commentaire corrigécharacter/character-id.hbs- ✅ Commentaire ajouté, balise orpheline suppriméecharacter/character-stories.hbs- OKcharacter/character-totem.hbs- ✅ Fautes de frappe corrigées, commentaire corrigé, double classe corrigéecharacter/character-combat.hbs- À optimiser (duplication avec wounds)
Partials Parts
parts/actor-items.hbs- ✅ grid-2 → grid-2colparts/actor-weapons.hbs- ✅ Balisescorrigées
parts/actor-defenses.hbs- ✅ Balisescorrigées
parts/actor-effects.hbs- OKparts/npc-skill-item.hbs- OKparts/npc-skill-category.hbs- ✅ NOUVEAUparts/item-list.hbs- ✅ NOUVEAU
Partials Group
group/group-header.hbs- ✅ Commentaire corrigégroup/group-info.hbs- ✅ Commentaire corrigégroup/group-items.hbs- ✅ Balisescorrigées
group/group-vehicles.hbs- ✅ Balisescorrigées
group/group-experience.hbs- OK
Templates de Combat
npc/npc-combat.hbs- À optimisercreature/creature-combat.hbs- À optimisercharacter/character-combat.hbs- À optimiser
Autres
create.hbs- OK
Recommandations pour la Suite
1. Créer un partial pour les blessures
Créer templates/actor/parts/wounds-section.hbs pour standardiser l'affichage des blessures (minor, major, deadly) utilisés dans:
- character-combat.hbs
- npc-combat.hbs
- creature-combat.hbs
2. Standardiser les listes d'items
Utiliser le partial item-list.hbs pour remplacer les duplications dans:
- character-totem.hbs (5 listes)
- group-info.hbs (5 listes)
- group-experience.hbs (1 liste)
3. Vérifier les erreurs JavaScript
Les erreurs initiales doivent être investiguées dans:
vermine2047.mjs:123-Cannot read properties of undefined (reading 'Actor')roll.mjs:373-html.find(...).forEach is not a functionactor.mjs:89-Cannot read properties of undefined (reading 'difficulty')
4. Vérifier les références .html
Bien que aucune référence .html n'ait été trouvée dans les templates, l'erreur initiale suggère qu'il y a des références dans le code JavaScript. Rechercher dans:
- Les fichiers
.mjspour des références àdamages.html - Les appels à
loadTemplates()ourenderTemplate()
Statistiques
- Fichiers analysés: 24 templates
- Duplications supprimées: 1 (catégories de compétences NPC)
- Partials créés: 2 (npc-skill-category.hbs, item-list.hbs)
- Fichiers modifiés: 12
- Lignes de code réduites: ~150+ lignes
- Problèmes corrigés: 15+
Prochaines Étapes
- ✅ Corriger les erreurs de syntaxe HTML/CSS (TERMINÉ)
- ✅ Supprimer les duplications évidentes (TERMINÉ pour NPC skills)
- ⏳ Créer des partials pour les sections communes (EN COURS)
- ⏳ Optimiser les templates de combat
- ⏳ Vérifier et corriger les erreurs JavaScript
- ⏳ Tester tous les templates dans FoundryVTT
Notes
- Tous les templates utilisent maintenant
.hbsau lieu de.html - Les commentaires sont progressivement uniformisés vers
{{!-- --}} - Les structures de grille utilisent
grid-2colau lieu degrid-2 - Les balises
<p>pour les cellules de tableau ont été remplacées par<div>