Initial Drupal site: content model + validation + Vue dashboard

- Content type "Ligne comptable" with Paragraphs "Répartition" (Compte + Montant)
- Taxonomies: Compte (9 comptes) and Client (unified client list)
- hook_node_presave + form validate: sum(répartition) must equal montant HT
- /dashboard route (progressive decoupling): Vue 3 app fetching JSON:API,
  computing solde par compte / par client client-side
- "Ajouter une ligne" opens the real Drupal node form in an AJAX modal
- Gin as default + admin theme
- 9 opening-balance lines seeded from suivi_compta_SASFigli2026_v2.ods

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-03 22:32:54 +02:00
co-authored by Claude Sonnet 5
commit ca800be21a
218 changed files with 21168 additions and 0 deletions
@@ -0,0 +1,31 @@
uuid: f026d5cd-58c6-437d-b2d8-ee48fec6a2a2
langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.user.compact
- field.field.user.user.user_picture
- image.style.thumbnail
module:
- image
- user
_core:
default_config_hash: l0SHKaTcmotRxHn_b46mtoCaIHxqgnhaT3uFH8a3c-I
id: user.user.compact
targetEntityType: user
bundle: user
mode: compact
content:
user_picture:
type: image
label: hidden
settings:
image_link: content
image_style: thumbnail
image_loading:
attribute: lazy
third_party_settings: { }
weight: 0
region: content
hidden:
member_for: true