Skip to main content
Voir en Markdown

Scripts

Les pages Sovrium sont rendues côté serveur, puis enrichies progressivement. La plupart des interactivités ne nécessitent aucun JavaScript de votre part — voir Interactions. Quand vous en avez besoin, le bloc scripts d'une page le déclare : en externe ou en inline.

app.yaml
pages:
  - name: Dashboard
    path: /dashboard
    scripts:
      externalScripts:
        - { src: 'https://plausible.io/js/script.js', defer: true, position: head }
        - { src: 'https://cdn.example.com/widget.js', async: true, position: body-end }
      features: { betaPanel: true }
    components:
      - { type: text, element: h1, content: 'Dashboard' }

scripts de page

scripts est une propriété de page. Il n'existe pas de bloc de scripts au niveau de l'application : un script qui doit figurer sur chaque page est déclaré sur chaque page qui en a besoin, ce qui laisse la configuration de la page comme seul endroit à consulter pour savoir ce qu'elle charge.

Propriété Description
externalScripts Dépendances externes. external est accepté comme alias.
inlineScripts Extraits JavaScript inline.
features Bascules côté client — un booléen par fonctionnalité, ou { enabled, config }.
config Données de configuration client arbitraires exposées aux scripts.

Attributs des scripts externes

Attribut Description
src Obligatoire. URL source du script.
async Charger de façon asynchrone, sans bloquer l'analyse.
defer Différer l'exécution jusqu'à l'analyse du DOM.
module Charger comme module ES (type="module").
integrity Empreinte d'intégrité de sous-ressource.
crossorigin anonymous ou use-credentials.
position head, body-start ou body-end.

Attributs des scripts inline

Attribut Description
code Obligatoire. Le code JavaScript.
position head, body-start ou body-end.
async Encapsuler le code dans une IIFE asynchrone, autorisant await de premier niveau.

Indicateurs de fonctionnalités

features expose des bascules nommées au client sans ouvrir un second canal de configuration :

app.yaml
scripts:
  features:
    darkMode: true
    liveChat: { enabled: true, config: { provider: intercom, appId: abc123 } }

Une fonctionnalité est soit un booléen nu, soit un objet avec enabled et un config libre.

customHTML

Intègre du HTML brut — inline ou depuis un fichier — dans un contexte isolé, capable de lire les variables CSS du thème mais pas d'atteindre le JavaScript de la page parente.

Propriété Description
content Chaîne HTML inline.
htmlSrc Chemin vers un fichier HTML, relatif à la racine du projet. Prime sur content.
app.yaml
- type: customHTML
  content: '<div style="color: var(--color-primary)">Custom block</div>'

Un htmlSrc illisible affiche une erreur claire à sa place plutôt que de faire échouer la page.

interactions

Le module interactions a été déplacé vers Interactions et sauvegarde automatique.

Actions et gestionnaires de réponse

action, onSuccess et onError ont été déplacés vers Interactions et sauvegarde automatique.

Sauvegarde automatique

La sauvegarde automatique en édition inline a été déplacée vers Interactions et sauvegarde automatique.

reorderable-list

reorderable-list a été déplacé vers Interactions et sauvegarde automatique.

Pages connexes

Dernière mise à jour 11 août 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.

Construit avec Sovrium