Skip to content

Frontend

Deux techs frontend coexistent : Vue 3 + Quasar (A1Connect, Inspire-v2) et Nuxt 2 + Vuetify (Dema1n). Les conventions Vue/Quasar sont dans inspire-v2/CONVENTIONS.md.

Chantier : Design system Quasar

Statut : stable Périmètre : article1-connect, inspire-v2

  • Couleurs définies dans quasar.variables.scss (variables Quasar) + _colors.scss (custom)
  • Règle : utiliser les classes Quasar en priorité (q-mb-md, bg-primary), CSS custom en dernier recours
  • Un row sans colonnes col-12 est inutile — supprimer le wrapper

Chantier : Pattern composant Vue 3

Statut : stable Périmètre : article1-connect, inspire-v2

  • <script setup> systématique
  • const state = reactive({}) + const computedState = { prop: computed(...) } + const methods = {}
  • Fetch initial dans onMounted via methods.fetch() — pas de fetch dans setup() directement
  • Props avec defineProps<Props>() typé
  • Composables dans src/composables/ pour la logique réutilisable de haut niveau

Chantier : Dema1n — Nuxt 2

Statut : stable (pas de migration prévue) Périmètre : dema1n

  • Vuex pour le state (pas Pinia)
  • Structure Nuxt 2 classique : pages/, store/, middleware/, plugins/
  • Pas de <script setup> (Options API)

Chantier : A1Connect — web-components

Statut : — (à documenter) Périmètre : article1-connect

  • Dossier web-components/ distinct du front principal
  • Usage et périmètre à documenter