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.
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. |
La clé inline est inlineScripts, pas inline. Les clés inconnues étant ignorées et non rejetées, une page déclarant inline: passe la validation puis n'embarque aucun script.
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 :
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. |
- 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.
Le littéral de type est exactement customHTML. custom-html n'est pas un type de composant et ne sera pas rendu.
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
- Interactions — les comportements déclaratifs sans script.
- Le modèle de composants — la place de
customHTMLparmi les types. - Présentation des pages — les propriétés
scriptsetvarsde page. - Durcissement de la sécurité — empreintes d'intégrité et scripts tiers.
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.