Retour à la leçon·Leçon 8 sur 8·La salle
Sept tableaux de bord, et ce que chacun refuse de montrer
Le même diaporama que les téléchargements, rendu sous forme de page. Lancez le diaporama pour le présenter en plein écran — les flèches ou un clic avancent d'une diapositive, Échap quitte.
Ce que couvre cette leçon
- Ce qui est réellement livré
- Les quatre contraintes qui ont décidé de la conception
- À quoi sert chacun, et ce qu'il refuse
- Celui qui a trouvé une erreur
- Ce que ces tableaux de bord ne font pas
- Le motif, transposable
- Rapportez-le en entier
- La suite
Notes du présentateur
Huit kilo-octets, aucun JavaScript, aucune requête externe, identiques à l'octet près à la reconstruction. Chacun des sept énonce la décision qu'il éclaire et se termine en nommant ce qu'il ne montre pas — et l'un d'eux a trouvé une erreur dans l'enseignement de cette plateforme.Ce qui est réellement livré — Shell
pnpm project:dashboards ls apps/data-analysis/public/projects/*/dashboard/Ce qui est réellement livré
- Sept projets, deux langues, quatorze fichiers, environ 8 ko chacun — Du HTML statique produit depuis des CSV commités,…
- Aucun JavaScript, aucune requête externe, aucune date de production — Reconstruire sur des données inchangées produit…
Notes du présentateur
Sept projets, deux langues, quatorze fichiers, environ 8 ko chacun. Du HTML statique produit depuis des CSV commités, avec la figure SVG commitée du projet incorporée. Aucun JavaScript, aucune requête externe, aucune date de production. Reconstruire sur des données inchangées produit des fichiers identiques à l'octet près, propriété qui fait qu'un diff signifie quelque chose.Les quatre contraintes qui ont décidé de la conception
- Le public travaille hors ligne et sur des connexions facturées — Cela a écarté tout ce qui exige un serveur vivant ou…
- La politique de sécurité du contenu interdit les corps de script en ligne —
script-srcn'a pas'unsafe-inline', si… - Le déploiement n'a ni Python, ni TeX, ni pandoc — Rendre le carnet du projet exigerait Quarto, Python, pandas et une…
- La sortie doit être relisible — Pas d'horloge, pas de tampon de compilation, pas d'identifiant produit — la page est…
- Trois de ces quatre sont des contraintes plutôt que des préférences — et la conception est ce qui reste une fois…
Notes du présentateur
Le public travaille hors ligne et sur des connexions facturées. Cela a écarté tout ce qui exige un serveur vivant ou un CDN avant toute autre considération. La politique de sécurité du contenu interdit les corps de script en ligne.script-srcn'a pas'unsafe-inline', si bien qu'un script dans un fichier statique souspublic/est refusé par le navigateur — silencieusement, ce qui est l'échec que le lecteur de diapositives a livré une fois. Les styles en ligne sont autorisés, et des tuiles, un tableau et une figure n'ont besoin de rien d'autre. Le déploiement n'a ni Python, ni TeX, ni pandoc. Rendre le carnet du projet exigerait Quarto, Python, pandas et une requête réseau. Le constructeur lit directement le CSV en Node nu, si bien quepnpm project:dashboardstourne partout oùpnpmtourne. La sortie doit être relisible. Pas d'horloge, pas de tampon de compilation, pas d'identifiant produit — la page est donc une fonction des données et de l'entrée du projet. Trois de ces quatre sont des contraintes plutôt que des préférences, et la conception est ce qui reste une fois qu'elles sont respectées. C'est généralement l'effet que fait une bonne contrainte vue de l'intérieur.À quoi sert chacun, et ce qu'il refuse
Projet Décision Refuse Couverture EAH Quelles six communautés réhabiliter Proportions non pondérées d'une enquête en grappes ; colonne district normalisée depuis six orthographes Dépistage nutritionnel Où va le prochain passage Le classement des communes au-delà des trois mises en évidence ; un dépistage n'est pas une enquête Filière de protection Quelle porte corriger d'abord La ventilation à quatre entrées — dix-neuf cellules d'un cas Sécurité alimentaire Sur quel instrument repose la charge Moyenner les quatre prévalences ; aucune n'est une classification IPC Présence scolaire Quelles écoles ont besoin d'une réponse Compter la grève comme absence ; toute affirmation causale sur la cantine Enquête SMART Si une prévalence est publiable La prévalence elle-même, tant que le contrôle qualité ne passe pas Vaccination Si la couverture est du service ou un dénominateur Les mois sans rapport tracés comme zéro À quoi sert chacun, et ce qu'il refuse
- La colonne « refuse » est celle à lire en premier — C'est la section par laquelle chaque page se termine, et elle a…
- La ligne SMART est la plus forte des sept — Le tableau de bord d'une enquête nutritionnelle refuse d'afficher la…
Notes du présentateur
La colonne « refuse » est celle à lire en premier. C'est la section par laquelle chaque page se termine, et elle a pris plus de temps à écrire que les nombres. La ligne SMART est la plus forte des sept. Le tableau de bord d'une enquête nutritionnelle refuse d'afficher la prévalence, parce que la moyenne d'une équipe dépasse le seuil d'alerte SMART et que le contrôle qualité doit passer avant qu'une prévalence soit publiable. Un tableau de bord dont le nombre principal est retenu, avec la raison, fait son travail.Celui qui a trouvé une erreur
- La documentation avait raison — La liste améliorée du JMP inclut l'eau conditionnée ou livrée —
tanker-truckici — et… - Rien d'autre ne l'aurait trouvé — La leçon était cohérente avec elle-même, la figure employait le même ensemble donc…
- C'est l'argument en faveur d'un panneau de définitions, fait par un échec plutôt que par une affirmation — et c'est…
Notes du présentateur
Construire le tableau de bord EAH a signifié calculer la couverture en eau améliorée depuis le même fichier que la documentation d'indicateurs du projet. Ils étaient en désaccord : 82,3 % dans la documentation, 79,7 % dans le tableau de bord, la leçon et la figure. La documentation avait raison. La liste améliorée du JMP inclut l'eau conditionnée ou livrée —tanker-truckici — et le cours l'avait omise, dans un cours qui nomme explicitement l'échelle JMP et l'ODD 6.1.1. Rien d'autre ne l'aurait trouvé. La leçon était cohérente avec elle-même, la figure employait le même ensemble donc elle s'accordait, les tests passaient, et 79,7 % est un nombre plausible. Cela a surgi parce qu'un second artefact a calculé le même indicateur et a été comparé. C'est l'argument en faveur d'un panneau de définitions, fait par un échec plutôt que par une affirmation, et c'est pourquoi la correction est livrée avec une entrée de journal des modifications et une assertion dans la chaîne plutôt qu'avec un simple correctif.- La documentation avait raison — La liste améliorée du JMP inclut l'eau conditionnée ou livrée —
Ce que ces tableaux de bord ne font pas
- Aucune interactivité — Un lecteur ne peut ni filtrer, ni forer, ni redécouper
- Aucune actualisation en direct — La page est reconstruite quand les données le sont, par un script que quelqu'un lance
- Aucun contrôle d'accès — Ce sont des fichiers statiques publics, ce qui convient parce que chaque jeu de données d'ici…
- Aucun audit d'accessibilité — C'est du HTML sémantique avec un ordre de lecture documenté et cela n'a pas été testé…
Notes du présentateur
Être honnête sur les lacunes, comme l'exigeait le cours sur les chaînes. Aucune interactivité. Un lecteur ne peut ni filtrer, ni forer, ni redécouper. Tout ce qui dépasse l'unique question est un lien vers le carnet ou le CSV. Pour un public sur connexion facturée c'est le bon arbitrage et cela reste un arbitrage. Aucune actualisation en direct. La page est reconstruite quand les données le sont, par un script que quelqu'un lance. Un tableau de bord mensuel de programme aurait besoin de ce script sur une planification, et les données de cette plateforme ne changent pas. Aucun contrôle d'accès. Ce sont des fichiers statiques publics, ce qui convient parce que chaque jeu de données d'ici est synthétique — et ne conviendrait pas pour une charge de cas de protection. Un déploiement réel de ce motif doit répondre à la question de l'accès avant que le premier fichier soit écrit. Aucun audit d'accessibilité. C'est du HTML sémantique avec un ordre de lecture documenté et cela n'a pas été testé avec un lecteur d'écran, ce qui est une lacune plutôt qu'une affirmation.Le motif, transposable
- Un fichier par question-public, non par source de données
- Chaque nombre calculé par un script depuis un fichier versionné — sans rien saisir
- La provenance et les définitions sur la page — non dans un document séparé que personne n'ouvre
- Une section nommant ce que la page ne montre pas — écrite avant que la page soit considérée finie
- Une sortie déterministe — pour que « est-ce à jour ?
Notes du présentateur
Cinq propriétés, et n'importe quel outil peut les avoir. Un fichier par question-public, non par source de données. Chaque nombre calculé par un script depuis un fichier versionné, sans rien saisir. La provenance et les définitions sur la page, non dans un document séparé que personne n'ouvre. Une section nommant ce que la page ne montre pas, écrite avant que la page soit considérée finie. Une sortie déterministe, pour que « est-ce à jour ? » soit une question à laquelle le système de gestion de versions répond.Rapportez-le en entier — Exemple
Project dashboards Seven projects, two languages, 14 files, ~8 kB each. Static HTML built by scripts/export/build-project-dashboards.mjs from the committed dataset files, with each project's committed SVG figure inlined. No JavaScript (the CSP forbids inline script bodies), no external request, no generation date. Rebuilding on unchanged data is byte-identical. Each page states the decision it informs and ends with what it does not show. dashboard.ready is true on all seven projects and project-files.test.ts fails if a declared file is missing. Not done: no interactivity, no scheduled refresh, no access control, no screen-reader audit.Rapportez-le en entier
- La dernière ligne est celle à copier — Une section tableau de bord sans « pas fait » est une section que personne n'a…
Notes du présentateur
La dernière ligne est celle à copier. Une section tableau de bord sans « pas fait » est une section que personne n'a auditée.La suite
- Vingt et un cours et une seule argumentation — Un nombre dans un rapport de programme est une affirmation, et tout ce…
- La dernière étape est celle à laquelle servent les autres — Une analyse qui n'atteint jamais une décision est une…
Notes du présentateur
C'est le cours, et c'est le dernier de l'ossature du programme. Vingt et un cours et une seule argumentation. Un nombre dans un rapport de programme est une affirmation, et tout ce qui est ici porte sur ce qui doit être vrai pour qu'elle tienne : un dénominateur défendable, un intervalle qui dit votre degré de certitude, un groupe de comparaison qui en est un, un protocole capable de détecter ce qui compte, un graphique qui n'en dit pas plus que les données, une chaîne qui produit la même réponse quand quelqu'un d'autre l'exécute — et, enfin, une page et un rapport qui mettent tout cela sous les yeux de la personne qui doit décider. La dernière étape est celle à laquelle servent les autres. Une analyse qui n'atteint jamais une décision est une analyse qui n'a pas eu lieu, et ce public est jugé sur sa capacité à défendre un nombre en revue plutôt qu'à le produire.