Des films récurrents aux chiffres dignes de foi
· 4 min de lecture

Un film hebdomadaire sur les versions d’un projet, ou trimestriel sur une série de chiffres, ne vaut la peine d’être regardé que si chaque nombre à l’écran est celui de la source. Le 15 septembre, nous avons livré la mécanique qui le garantit : des formats versionnés, des données qui se souviennent de leur origine, et un contrôle qui refuse avant de rendre.
Une série a besoin d’une forme stable
Les émissions transforment un flux en film, à intervalle régulier. Jusqu’ici, une émission portait directement ses scènes : les modifier changeait la forme de tous les épisodes à venir, et rien ne disait avec quelle forme un ancien épisode avait été fait. C’est acceptable pour un film, pas pour une série.
La vraie question, c’étaient les chiffres. Un nombre écrit de mémoire par un modèle ressemble trait pour trait à un nombre récupéré, et le spectateur n’a aucun moyen de les distinguer. Pour un film fait de données, toute la différence est là.
Des formats, avec des versions
Un format est désormais un objet nommé, avec des versions qui ne changent plus une fois créées. Une émission épingle une version ou suit la dernière, et chaque épisode note la version qui l’a produit. Une émission créée sans format reçoit discrètement sa propre première version privée : rien de ce qui existait n’a changé de forme.
Un format d’animation peut porter un programme au lieu de scènes figées. Voyez-le comme un conducteur avec des règles :
- des temps forts, chacun avec un rôle dans le film ;
- des conditions, comme « seulement s’il y a eu une version » ou « une fois par élément » ;
- des valeurs calculées, dans l’ordre où elles dépendent les unes des autres ;
- des temps forts obligatoires, et des règles comme
reject_ifqui disent quand un épisode ne doit pas exister du tout.
On peut dupliquer, valider et prévisualiser un format depuis un assistant, et toutes ces étapes sont gratuites.
Chaque chiffre sait d’où il vient
Le texte d’un format peut contenir des expressions dans un langage volontairement réduit : chemins dans les données, arithmétique, comparaisons, filtres pour les nombres, les textes, les dates et les listes. Tout champ peut être lié à une expression plutôt qu’à une valeur tapée.
Avant tout assemblage, des résolveurs vont chercher les données, auprès d’un point d’accès web ou d’un autre outil d’assistant connecté au compte. Chaque valeur renvoyée porte sa provenance : quel appel, quel champ, et quand. Quelques règles gardent cela honnête :
- un texte récupéré est traité comme une donnée et n’est jamais réévalué comme une expression ;
- une valeur manquante n’arrive jamais à l’écran comme un mot vide ; le format décide de sauter l’épisode, de retirer le temps fort, d’utiliser une valeur par défaut ou d’échouer bruyamment ;
- une exécution fait un nombre d’appels borné, les résultats sont mis en cache par compte, et un format ne nomme ses connexions que par un alias : on peut le partager ou le dupliquer sans rien transmettre de privé.
Un contrôle qui dit non avant le rendu
Le cœur de la version, c’est le contrôle d’intégrité. Chaque épisode est compilé avant que quoi que ce soit soit facturé, et le compilateur refuse, en le nommant :
- un nombre écrit à la main là où le format attend une valeur calculée ;
- des valeurs calculées qui dépendent les unes des autres en boucle ;
- un temps fort obligatoire qui manque ;
- une règle de rejet qui s’avère vraie ;
- un épisode vide, ou une expression qui ne fonctionne pas.
Un épisode bien plus long ou plus court que prévu est seulement signalé, pas bloqué. Dire non avant le rendu ne coûte rien. Expliquer un chiffre faux après publication coûte cher. Une vraie exécution et un aperçu gratuit passent par exactement la même étape : ce que vous prévisualisez est ce que vous obtenez.
De nouvelles façons de nourrir une émission
Le même jour, les émissions ont appris à puiser leurs éléments à plus d’endroits. Une émission peut maintenant interroger une source connectée, ou suivre une liste de suivi de 50 éléments au plus, et les deux peuvent se répéter chaque mois, trimestre ou année. La période fait partie de l’identité de l’épisode : un élément est filmé une fois par trimestre, jamais deux.
Une émission peut aussi être déclenchée par un webhook signé venu de votre propre système. Chaque chaîne de films publics a gagné un flux RSS, avec vignettes et sous-titres, et la page du site un espace de travail qui liste ses formats, les connexions du compte et le flux. Les tableaux adaptent désormais leur taille de texte à la cellule la plus longue, pour qu’un tableau de phrases reste dans le cadre.
Ce que cela change
Chaque épisode conserve désormais ce qui a été récupéré et l’origine de chaque valeur, et la liste des épisodes récents affiche sa version de format, son nombre de sources et s’il a passé le contrôle, en quatre langues. Un test de bout en bout parcourt toute la chaîne, de la connexion à l’aperçu, jusqu’au contrôle qui attrape un chiffre écrit à la main.
Nous avons gardé le contrôle pur, sans réseau ni base de données, pour que la même vérification tourne dans les aperçus, la validation et les tests. Pour piloter formats et émissions depuis un assistant, voyez la page des assistants ; les outils sont listés dans la documentation développeurs.
Voyez-le sur votre propre site
Collez une page et obtenez la vidéo commentée dont parle ce blog. La première est offerte.
À lire ensuite


