{
  "schema_version": "1.0.0",
  "document_type": "design_system",
  "name": "AURA Esport",
  "version": "1.0",
  "language": "fr-FR",
  "updated_on": "2026-10-27",
  "scope": "Identité graphique du site web AURA Esport, ressources, pages et futurs composants, sans supposer les fonctionnalités futures en production",
  "source_hierarchy": [
    {
      "order": 1,
      "label": "Fichiers de logos officiels PNG du dossier AURA Esport",
      "authority": "asset_source"
    },
    {
      "order": 2,
      "label": "Maquette Figma AURA Esport, références étudiées en août 2026",
      "authority": "design_reference",
      "public_source_url": null
    },
    {
      "order": 3,
      "label": "Landing statique AURA Esport en production, archive de référence du 27 octobre 2026",
      "authority": "implemented_reference"
    },
    {
      "order": 4,
      "label": "Normalisation décrite ci-dessous",
      "authority": "proposed_contract",
      "requires_validation": true
    }
  ],
  "truth_status": {
    "observed": "Valeur ou structure explicitement observée dans la maquette Figma ou dans le site existant",
    "normalized": "Convention proposée pour rendre un ensemble cohérent et maintenable, sans prétendre qu’elle est une variable Figma d’origine",
    "recommended": "Amélioration UX ou accessibilité recommandée, pas une décision graphique déjà validée",
    "example": "Contenu démonstratif uniquement, jamais une donnée associative réelle",
    "planned": "Composant conçu ou prévu mais non confirmé comme déployé"
  },
  "core_identity": {
    "font_family": "Public Sans",
    "colors": {
      "navy": "#040C48",
      "blue": "#000D70",
      "orange": "#E53500",
      "canvas": "#F6F6F6",
      "night": "#010227",
      "white": "#FFFFFF",
      "border_light": "#B4B6C8",
      "border_dark": "#373D6D"
    },
    "status": "observed"
  },
  "color_semantics": {
    "primary_text_light": "#040C48",
    "primary_background_light": "#F6F6F6",
    "surface_light": "#FFFFFF",
    "accent_action": "#E53500",
    "primary_text_dark": "#FFFFFF",
    "primary_background_dark": "#010227",
    "surface_dark": "#040C48",
    "secondary_surface_dark": "#000D70",
    "border_light": "#B4B6C8",
    "border_dark": "#373D6D"
  },
  "category_colors": {
    "blog": "#0099E5",
    "guide": "#AC00E5",
    "whitepaper": "#E27107",
    "map": "#80BC00",
    "logistics": "#00D09C",
    "official": "#E5006B",
    "video": "#6354EA",
    "staff": "#F930B6",
    "press": "#D1B608"
  },
  "typography": {
    "family": "Public Sans",
    "font_file": "/assets/public-sans-latin-variable.woff2",
    "font_license_file": "/assets/public-sans-OFL.txt",
    "scale": [
      {
        "role": "display",
        "size_px": 40,
        "weight": 900,
        "line_height": 1.1,
        "letter_spacing_px": -1.5,
        "status": "observed"
      },
      {
        "role": "section_heading",
        "size_px": 34,
        "weight": 900,
        "line_height": 1.1,
        "status": "observed"
      },
      {
        "role": "block_heading",
        "size_px_range": [
          22,
          24
        ],
        "weight": 700,
        "line_height_range": [
          1.1,
          1.2
        ],
        "status": "observed"
      },
      {
        "role": "label_or_cta",
        "size_px_range": [
          16,
          18
        ],
        "weight": 700,
        "status": "observed"
      },
      {
        "role": "body",
        "size_px_range": [
          16,
          18
        ],
        "weight": 400,
        "line_height_range": [
          1.1,
          1.4
        ],
        "status": "observed"
      },
      {
        "role": "metadata",
        "size_px_range": [
          12,
          14
        ],
        "weight": 500,
        "status": "observed"
      }
    ]
  },
  "layout": {
    "reference_canvas_width_px": 1728,
    "reference_content_max_width_px": 1378,
    "reference_side_gutters_px": 175,
    "status": "observed",
    "fluid_strategy": "max-width et marges fluides plutôt que pixels figés",
    "grid_gap_px": 40,
    "spacing_scale_px": [
      5,
      10,
      15,
      20,
      24,
      32,
      40,
      60,
      80
    ],
    "spacing_status": "normalized",
    "border_radius_px": {
      "controls": 8,
      "cards": 20
    },
    "section_vertical_padding_px": 60,
    "breakpoints_proposed": [
      {
        "name": "mobile",
        "up_to_px": 719,
        "columns": 1
      },
      {
        "name": "tablet",
        "from_px": 720,
        "to_px": 1179,
        "columns": 2
      },
      {
        "name": "desktop",
        "from_px": 1180,
        "columns": 4
      }
    ],
    "breakpoint_status": "normalized_not_directly_defined_in_figma",
    "current_site_note": "La landing actuelle utilise des variantes propres à ses sections et des breakpoints locaux."
  },
  "logos": [
    {
      "id": "horizontal-navy",
      "name": "Logotype horizontal bleu",
      "svg": "/assets/aura-esport-horizontal-navy.svg",
      "png": "/assets/brand/png/aura-esport-horizontal-bleu.png",
      "background": "light",
      "source_svg": "svg_site",
      "source_png": "png_official",
      "usage": "header, en-têtes et fonds clairs"
    },
    {
      "id": "horizontal-white",
      "name": "Logotype horizontal blanc",
      "svg": "/assets/aura-esport-horizontal-white.svg",
      "png": "/assets/brand/png/aura-esport-horizontal-blanc.png",
      "background": "dark",
      "source_svg": "svg_site",
      "source_png": "png_official",
      "usage": "footer et fonds sombres"
    },
    {
      "id": "monogram-navy",
      "name": "Monogramme bleu",
      "svg": "/assets/aura-monogram-navy.svg",
      "png": "/assets/brand/png/aura-esport-monogram-bleu.png",
      "background": "light",
      "source_svg": "svg_site",
      "source_png": "png_official",
      "usage": "pictogramme et petits espaces"
    },
    {
      "id": "monogram-white",
      "name": "Monogramme blanc",
      "svg": "/assets/aura-monogram-white.svg",
      "png": "/assets/brand/png/aura-esport-monogram-blanc.png",
      "background": "dark",
      "source_svg": "svg_site",
      "source_png": "png_official",
      "usage": "pictogramme sur fond sombre"
    }
  ],
  "icon_families": [
    {
      "name": "metric",
      "status": "observed_in_design_reference",
      "box_px": 34,
      "color": "#B4B6C8"
    },
    {
      "name": "accent",
      "status": "observed_in_design_reference",
      "box_px": 34,
      "color": "#E53500"
    },
    {
      "name": "engagement",
      "status": "observed_in_design_reference",
      "box_px": 34,
      "color": "#FFFFFF",
      "context": "dark_background_only"
    },
    {
      "name": "breadcrumb",
      "status": "observed_in_design_reference",
      "box_px": 24,
      "color": "#FFFFFF",
      "context": "navigation_on_dark"
    }
  ],
  "components": [
    {
      "id": "site-header",
      "origin": "landing",
      "deployment": "implemented",
      "html": "header.site-header",
      "requires": [
        "landmark navigation",
        "logo accessible",
        "responsive menu",
        "visible focus",
        "light/dark variants"
      ]
    },
    {
      "id": "site-footer",
      "origin": "landing",
      "deployment": "implemented",
      "html": "footer.site-footer",
      "requires": [
        "identity",
        "footer navigation",
        "legal information as available"
      ]
    },
    {
      "id": "button",
      "origin": "landing_and_figma",
      "deployment": "implemented",
      "html": ".button .button-primary .button-secondary",
      "variants": [
        "primary",
        "secondary",
        "text"
      ],
      "states": [
        "default",
        "hover",
        "focus-visible",
        "active",
        "disabled",
        "loading",
        "error_if_applicable"
      ]
    },
    {
      "id": "board-card",
      "origin": "landing",
      "deployment": "implemented",
      "html": ".board-card",
      "requires": [
        "role",
        "name",
        "verified professional contact",
        "accessible social links"
      ]
    },
    {
      "id": "future-tabs",
      "origin": "landing",
      "deployment": "implemented",
      "html": ".future-tabs",
      "requires": [
        "ARIA tablist",
        "keyboard navigation",
        "panels accessible without JavaScript"
      ]
    },
    {
      "id": "faq",
      "origin": "landing_and_figma",
      "deployment": "implemented",
      "html": "details + summary",
      "requires": [
        "question visible",
        "answer readable without JavaScript"
      ]
    },
    {
      "id": "form-field",
      "origin": "questionnaire",
      "deployment": "implemented",
      "requires": [
        "label persistently visible",
        "explicit error",
        "keyboard support",
        "server validation"
      ]
    },
    {
      "id": "stat-card",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "traceable value",
        "period and perimeter",
        "explicit source",
        "never mock numbers as actual"
      ]
    },
    {
      "id": "actor-card",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "structure source",
        "contact permission",
        "validated public fields"
      ]
    },
    {
      "id": "event-card",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "event source",
        "date",
        "place",
        "publisher",
        "link"
      ]
    },
    {
      "id": "partner-cartouche",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "confirmed partnership status",
        "use-of-logo approval",
        "approved display location"
      ]
    },
    {
      "id": "resource-card",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "category",
        "title",
        "source",
        "date"
      ]
    },
    {
      "id": "map-card",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "source",
        "location",
        "validation status"
      ]
    },
    {
      "id": "form-steps",
      "origin": "figma",
      "deployment": "planned",
      "requires": [
        "progression",
        "accessible field groups",
        "server state and error management"
      ]
    }
  ],
  "interaction_states": {
    "all_applicable": [
      "default",
      "hover",
      "focus-visible",
      "active",
      "disabled",
      "loading",
      "success",
      "error"
    ],
    "priority": "keyboard accessibility first"
  },
  "themes": {
    "default": "light",
    "optional": "dark",
    "switch": "persisted local display preference",
    "avoid": "CSS filters that invert the page or desaturate the logo"
  },
  "accessibility": {
    "target": "WCAG 2.2 AA where applicable",
    "minimum_target_size_px": 44,
    "focus": "3 px visible outline, never rely solely on color",
    "prefers_reduced_motion": true,
    "labels": "persistent labels, not placeholder alone",
    "contrast_notes": [
      {
        "foreground": "#FFFFFF",
        "background": "#E53500",
        "contrast_ratio_approx": 4.34,
        "advice": "Avoid small white text on original orange when it needs 4.5:1. Use accessible color adaptation after approval or larger bold text meeting applicable contrast."
      },
      {
        "foreground": "#B4B6C8",
        "background": "#FFFFFF",
        "contrast_ratio_approx": 2.01,
        "advice": "Border/decor only; not informational text."
      }
    ],
    "icon_alt": "Decorative images have empty alt; icon-only controls have accessible labels.",
    "form_security": "Never put secrets or administrative endpoints into front-end demos."
  },
  "content_governance": {
    "current_public_board": [
      "Romain Caso",
      "Stéphan Euthine",
      "Matthias Meriguet"
    ],
    "never_assume": [
      "third-party partnerships",
      "grants",
      "regional recognition",
      "number of members",
      "number of clubs",
      "published services not released"
    ],
    "demo_data": "Label examples explicitly; do not present numbers, cities or organizations as verified results.",
    "restricted": "Never publish unpublished board identities or confidential records from internal documents",
    "current_site_phase": "Landing en développement. Annuaire, ressources et services avancés sont projetés, non déployés."
  },
  "ai_usage_protocol": [
    "Read design-system.json, brand-manifest.json, and the official assets before generating a component.",
    "Classify each requirement as observed, normalized, recommended, example, or planned.",
    "Use Public Sans, palette and semantic roles. No new visual token without explicit justification.",
    "Use existing logo SVG or PNG without reconstructing the brand.",
    "Prefer existing implemented components over re-invented markup.",
    "Generate semantic HTML with keyboard navigation and responsive light/dark variants.",
    "Provide all interaction states, validation, missing-data and long-content cases.",
    "Verify at 375, 768, 1440, and 1728px as well as keyboard and 200% zoom.",
    "Explain deviations and unresolved source-of-truth questions, including permission to publish.",
    "Never invent actor records, subsidies, partners or statistical results."
  ],
  "public_document_urls": {
    "brand_page": "https://aura-esport.fr/charte-graphique/",
    "design_page": "https://aura-esport.fr/design-system/",
    "markdown": "https://aura-esport.fr/design-system.md",
    "json": "https://aura-esport.fr/design-system.json",
    "css": "https://aura-esport.fr/assets/aura-tokens.css",
    "brand_manifest": "https://aura-esport.fr/brand-manifest.json"
  },
  "internal_reference_disclosure": "No private Drive access links or unpublished design source identifiers are shipped."
}
