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,24 @@
uuid: 368734b0-5b1b-48b8-8299-2cdec2b57bc8
langcode: en
status: true
dependencies:
config:
- block_content.type.basic
- field.storage.block_content.body
module:
- text
_core:
default_config_hash: EMr_qVrI5RWwhnTUxZkHqQEZhDT3UfcwmFfobpxgkbk
id: block_content.basic.body
field_name: body
entity_type: block_content
bundle: basic
label: Body
description: ''
required: false
translatable: true
default_value: { }
default_value_callback: ''
settings:
allowed_formats: { }
field_type: text_long