# alloframe

Paquet **1.0.0**, préparé à partir du candidat rc.3 validé.
Framework JavaScript en modules ES pour charger des déclarations, créer des instances
et coordonner cinq acteurs : timeacte, audio, vidéo, image et document.
Timeacte possède les modes numérique `lineacte` et temporel `timeacte`, avec les
rendus `dom-full` et `dom-shadow`.

## Installation et premier parcours

Extraire l’archive dans un dossier neuf. Node >= 20 permet d’utiliser la CLI et les
exemples en terminal ; aucune dépendance npm n’est nécessaire à leur exécution.
Python 3 permet de servir les exemples navigateur. Depuis la racine extraite :

```sh
node tools/verify.mjs examples/quickstart/alloframe.manifest.json --mode strict
node examples/lifecycle/main.js
python3 -m http.server 8000 --bind 127.0.0.1
```

Ouvrir `http://127.0.0.1:8000/examples/` puis suivre la
[prise en main](examples/quickstart/README.md). Les modules navigateur nécessitent HTTP,
pas une ouverture directe avec `file:`. Arrêter le serveur avec Ctrl+C.

Pour intégrer le paquet dans une application Node, installer l’archive npm locale
fournie avec la livraison : `npm install /chemin/vers/alloframe-1.0.0.tgz`.
Les imports `alloframe`, `alloframe/common`, `alloframe/declarations`,
`alloframe/loading`, `alloframe/instances`, `alloframe/actors`,
`alloframe/actors/timeacte`, `alloframe/composition` et `alloframe/verification`
sont disponibles. Dans un navigateur sans outil de construction, utiliser les
chemins relatifs vers `src/index.js`, comme les exemples fournis.

## Documentation

- [Fondations](docs/common/foundations.md), [déclarations](docs/common/declarations.md)
  et [chargement](docs/common/loading.md).
- [Instances](docs/common/instances.md), [acteurs](docs/actors/builtins.md)
  et [composition](docs/common/composition.md).
- [API timeacte](docs/actors/timeacte/api.md) et [coordonnées](docs/actors/timeacte/coordinates.md).
- [Vérificateur et codes de sortie](docs/common/verification.md).
- [Parcours et résultats attendus](examples/README.md).

## Vérification des sources

```sh
npm test
npm run check
npm run example
npm run example:coordinates
npm run example:lifecycle
npm run example:degraded
```

Les tests navigateur demandent Playwright et Chromium : installer les dépendances
avec `npm install`, puis `npx playwright install chromium` et `npm run test:browser`.
Un navigateur existant peut être choisi avec `ALLOFRAME_CHROMIUM_EXECUTABLE`.
Les tests navigateur utilisent un serveur local temporaire.

## Limites

Le vérificateur inspecte les déclarations et ressources selon les lecteurs fournis ;
il ne certifie pas le rendu, les codecs ni l’exécution des acteurs. Les commandes
multimédias restent soumises aux règles du navigateur. Le lecteur mémoire ne fait
aucun accès réseau. Les contrats de rôles personnalisés sont du code injecté explicitement.
La version du format déclaratif est distincte de celle du paquet.

Licence : [AGPL-3.0-or-later](LICENSE), [texte intégral](COPYING).
Voir les [attributions des ressources](ATTRIBUTIONS.md).
