La plupart des écrans de décor sont des vidéos en boucle. On les reconnaît à la troisième minute : le même avion repasse, la même alerte se rejoue, et le décor cesse d'exister. Ici, le fond est réel : les côtes, les aéroports, les avions qui volent en ce moment. Seule la mise en scène est fictive.
Essayer la démonstration
Le radar s'ouvre tout de suite, sans code. Ouvrez la conduite dans une seconde fenêtre du même navigateur : elle pilote le radar au top, sans rien envoyer sur le réseau.
Parler d'un décor pour votre lieu ›Un décor, pas un outil de navigation. Le trafic vient d'un réseau public de récepteurs ADS-B, avec quelques secondes de retard et des trous. Les secteurs, les balises, la météo et le vol KA29 sont inventés. Rien ici ne sert à suivre un vol pour de vrai, et la page le dit à qui ouvre son panneau d'options.
Vrai fond, faux décor
La carte est celle du monde : terres Natural Earth au 50 m, projection Mercator, 7 692 aéroports réels avec leurs codes OACI, classés par leur nombre de routes pour que seuls les grands terrains portent leur nom. Ces données sont dans la page : un mur installé sur un réseau fermé dessine encore ses côtes.
Les avions sont les vrais. Leurs positions arrivent toutes les cinq secondes par un relais sur notre serveur, et le mouvement est extrapolé entre deux mises à jour. Cliquez un appareil : il s'encadre, gagne trois lignes, puis rentre dans le rang au bout de vingt secondes.
Un seul avion rouge
Le générique de Hijack tient en une règle : tout le ciel en blanc, une seule ligne qui vire au rouge. Le style HIJACK l'applique à la lettre. Le fond se tait, bleu-noir uni, côtes au trait d'un pixel, graticule d'un degré qui se devine à peine.
Le trafic parle à voix basse : un carré de trois pixels, six points de trace de plus en plus petits, et un indicatif sur quatre, en Plex Sans Condensed, placé là où il ne chevauche rien. Le ciel prend une direction sans devenir un tableau.
KA29 est seul en rouge : trace entière depuis son entrée, ligne de guidage vers Heathrow, étiquette complète posée du côté libre. Quand deux vrais vols se rapprochent trop, le STCA les signale, mais en blanc. Le rouge n'a qu'un maître.
Trois styles, trois mondes
Changer de style ne change plus une palette. Chacun a son trait, ses symboles, sa typographie et sa façon de bouger, sur le même ciel et à la même échelle.
L'ancienne démo rendait ÉPURÉ à l'échelle 1 et les deux autres à 0,8 : changer de style changeait la taille du texte de 25 %. Tout est désormais dimensionné en unités d'écran, si bien qu'une dalle 4K montre la même image qu'un portable, à l'échelle près.
Le mur de régie
Sur un mur de six dalles, chaque cadre est une contrainte de mise en page. Avec
?mur=3x2, le rendu connaît la grille : une étiquette qui toucherait un joint
passe de l'autre côté, et le héros est tenu dans la colonne du milieu, jamais sur un joint.
&repere=1) : les joints et leurs zones mortes. Aucune étiquette n'y entre.Le fondu de bord, pensé pour la vidéoprojection, n'a rien à faire sur des dalles : il
est coupé. La taille du texte peut se régler sur la distance de lecture plutôt qu'au
curseur : avec &distance=6, l'indicatif du héros fait 35 mm de
capitale, vingt minutes d'arc à six mètres.
| Réglage | Ce qu'il fait |
|---|---|
| mur=3x2 | La grille des dalles, colonnes par rangées. Joints, zones mortes, héros au milieu. |
| distance=6 | Distance de lecture en mètres. Le texte se cale sur vingt minutes d'arc. |
| largeur=3630 | Largeur du mur en millimètres (trois dalles 55″ par défaut). |
| zm=9 | Demi-largeur de la zone morte autour d'un joint, en pixels. |
| repere=1 | Affiche la mire : joints et zones mortes hachurées. |
Le mur, coté
Avant le devis matériel, le dessin. Bas du mur à 1,20 m, ce qui met le joint horizontal à 1,88 m, au-dessus d'un regard debout. Pupitre sous la ligne du mur : assis, l'opérateur voit tout.
Dalles 55″ à bords fins, joint visible de 1,8 mm au plus, 5 760 × 2 160 px. Ce sont des cibles, pas des mesures : un mur réel se relève sur place. En vidéoprojection, le recouvrement des deux projecteurs devient un joint de plus, et se déclare de la même façon.
La conduite au top
L'API savait poser une urgence, mais seulement à la main, dans la console. Il lui manquait
une conduite. La page conduite.html
aligne six tops minutés depuis l'entrée de KA29, chacun branché sur un appel existant.
Chaque top répond : « ok », « refusé » avec la raison, ou « sans réponse » si aucune page radar n'est ouverte. Jamais « rien ne s'est passé ». Et le réel est verrouillé : la conduite ne vise que les vols qu'elle a créés. Aucun 7700 sur un vrai vol, même tapé à la main dans la console.
| Temps | L'urgence en quatre temps |
|---|---|
| +0,0 s | Anneau. Une onde toutes les 1,2 s, tant que dure le code. |
| +0,6 s | Secteur. Le secteur de KA29 s'allume à 8 %, son nom rougit. |
| +1,2 s | Étiquette. Elle gagne une ligne : SQUAWK 7700, en négatif. |
| +2,0 s | Alerte. Le code en grand au bas du mur, rangé à +8 s. |
Pendant ce temps, le ciel continue : le trafic réel ne ralentit pas et ne rougit pas. Seul KA29 change d'état. Et l'apogée se range au bout de huit secondes : sur un mur allumé douze heures, rien de rouge ne reste figé.
Tenir douze heures
Un écran de décor tourne toute la journée, sans personne devant le clavier. Le plus gros du travail n'est pas dans le dessin, il est dans ce qui l'empêche de se dégrader.
- Anti-marquage : toute l'image dérive de 8 px sur sept minutes, bandeau d'état compris. Rien de visible, assez pour ne rien marquer.
- Repli automatique : après trois échecs du trafic réel, la scène bascule seule en simulation, avec des vols qui suivent les couloirs des grands terrains.
- Fond en cache : tant que la caméra ne bouge pas, la carte est recopiée au lieu d'être retracée. Le rendu coûte moins d'une milliseconde par image.
- Watchdog : si la boucle de rendu s'arrête, elle est relancée. Une erreur isolée ne fige pas l'écran.
- Rien d'externe à l'exécution : polices IBM Plex, côtes et aéroports sont servis avec la page. Seul le trafic vient du relais.
Tous les réglages sont mémorisés d'une session à l'autre. Une adresse comme
?lat=48.9&lon=2.4&zoom=1&style=ambre suffit à cadrer le mur au
démarrage, et &cadence=20 espace les appels de trafic pour une très longue
diffusion.
Ce que ça permet
Un visiteur qui reconnaît sa ville, ou qui cherche le vol de sa sœur, trouve quelque chose. C'est ce qui sépare un décor d'un fond d'écran.
Le thriller, la salle de contrôle actuelle, l'archive des années 1970 : une touche change d'époque, sans changer de ciel.
Six tops et un GO. L'opérateur de spectacle n'a pas à taper de code au moment où il doit regarder la scène.
La grille des dalles et la distance de lecture sont des paramètres, réglés une fois au montage.
Sous le capot
Une page, un fichier de rendu en JavaScript, sans bibliothèque. La conduite parle au radar par un canal du navigateur : même machine, même origine, aucun serveur entre les deux. L'API reste ouverte dans la console pour qui veut écrire sa propre conduite.
radar.add({callsign:'KA29', heading:-38, kt:408, fl:350}): faire entrer un vol de fiction dans le ciel réel.radar.alert('KA29', true): en faire le héros, le seul rouge.radar.squawk('KA29', 7700): l'urgence en quatre temps. 7500 et 7600 aussi.radar.update('KA29', {vers:'LFPG'}): le dérouter vers un terrain réel, où qu'il soit.
Parlons de votre décor
Un hall, une régie de fiction, un plateau : le plus simple est de nous dire ce que l'écran doit raconter, et où il sera vu.
