# La conciergerie de nuit

Film sans paroles de 38 secondes pour Pragma Monaco, à destination des maisons de luxe. Il est dessiné au crayon et calculé en direct dans le navigateur en JavaScript (Canvas 2D), puis exporté en MP4 à partir du même code, en trois compositions : paysage 1920 × 1080, vertical 1080 × 1920 et carré 1080 × 1080.

## Direction

Un carnet de dessin au crayon de couleur. Les formes sont des aplats traversés de hachures parallèles, avec un trait d’encre fin qui tremble à 12 dessins par seconde. Le papier est crème, avec de larges rayons de soleil en diagonale. Les nuits sont bleu marine, hachurées et étoilées. Par-dessus, une couche de construction bleu pâle : cercles au compas, graduations, trajectoires en pointillés, loupes en médaillon et horloge dans le coin. Aucun texte à l’écran avant la signature, sauf les messages de la cliente, écrits à la main dans sa langue. L’histoire forme une boucle : elle finit comme elle commence, sur un hublot qui s’allume.

L’histoire tient dans un carré de 1 000 unités, centré dans chaque format. Le ciel, la mer et le papier débordent jusqu’aux bords du cadre : un seul dessin sert aux trois formats.

## Récit

| Temps | Image |
|---|---|
| 0 à 7 s | 3 h du matin, port de Monaco. Un hublot s’allume. En médaillon, la cliente écrit en russe. Son message devient un avion de papier qui traverse le port jusqu’à la boutique du quai, où le colibri se réveille. |
| 7 à 12 s | Sous la lampe, le colibri déplie le message et regarde la montre demandée à la loupe. Il répond dans sa langue : tout sera prêt à 8 h. L’avion repart vers le yacht, un cœur monte du hublot. |
| 12 à 19 s | Sur la carte, le colibri cherche la pièce : rien à Milan, elle est à Paris. Le tiroir s’ouvre, l’écrin brille, puis il file vers Monaco. |
| 19 à 27 s | L’aube. Sur le comptoir attendent la réponse, l’écrin et l’annexe réservée pour 9 h. Le conseiller arrive et valide chaque élément d’une coche. |
| 27 à 32 s | 9 h. L’annexe porte l’écrin au yacht. Sur le pont, la cliente l’ouvre et sourit. |
| 32 à 35 s | La nuit revient, le colibri s’endort. Un autre hublot s’allume, et il rouvre l’œil. |
| 35 à 38 s | Le colibri, le wordmark Pragma.mc, la promesse et le contact. |

La cliente, le conseiller et la boutique sont fictifs.

## Fichiers

- `src/script.js` : temps, messages, moments clés et signature. Tout le contenu se modifie ici.
- `src/pencil.js` : le crayon, avec les formes tremblées, les hachures, le papier, la nuit étoilée, les tracés de construction et les éclats.
- `src/cast.js` : le colibri, la cliente et le conseiller. `src/props.js` : mer, côte, yachts, boutique, avion de papier, montre, écrin, annexe. `src/notes.js` : horloge, messages manuscrits, loupes en médaillon, carte de France.
- `src/scene_night.js`, `src/scene_day.js`, `src/scene_sign.js` : les sept temps du film. `src/stage.js` : formats, scène carrée, caméra, trajectoires.
- `src/film.js` : `drawFrame(ctx, env, t, format)`, une fonction pure du temps.
- `player.js`, `index.html` : lecteur, avec des liens `?t=` et `?format=landscape|portrait|square`. `score.mjs` : musique déterministe (boîte à musique, cordes, carillons). `render.mjs` : export MP4.

```bash
bun install
bun run score
bun run render:16x9 && bun run render:9x16 && bun run render:1x1
```

## Fontes

Hanken Grotesk, Gilda Display et Caveat (écriture manuscrite, avec le cyrillique), sous licence OFL.
