Skip to content

feat(slides,#11508): deck 09-TAL - 48 figures cablees, alts ancres OCR - #16159

Closed
jsboige wants to merge 1 commit into
mainfrom
feature/11508-tal-images
Closed

jsboige wants to merge 1 commit into
mainfrom
feature/11508-tal-images

Conversation

@jsboige

@jsboige jsboige commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/slides — lane myia-po-2027:CoursIA — prev: MED/readme #16079

Summary

Deck slides/09-traitement-automatique-langues : les 48 figures du deck sont câblées en <img> avec des attributs alt ancrés sur le contenu mesuré (OCR), et le rendu est vérifié programmatiquement slide par slide. See #11508 (contexte méthode : #15398).

Ce que le deck avait avant : 0 figure câblée (scanner ACTIVE 0/48). Après cette PR : 48/48 ACTIVE (100 %).

Alts ancrés OCR, pas devinés

Source de vérité : RapidOCR ×4/×8 sur chaque PNG. Doctrine appliquée :

  • 16 alts plates-faux corrigées — les alts générés initialement décrivaient un autre contenu que celui réellement mesuré (ex : « arbre d'analyse » sur une table). Corrigées une à une contre la lecture OCR.
  • 8 figures OCR-résistantes (schémas vectoriels, courbes sans texte lisible) : alt de géométrie + dimensions + ce que l'OCR y lit, sans claim de nature — ne jamais affirmer « courbe ROC » si l'œil seul ne peut le garantir.
  • Rôle plutôt que transcription pour les figures à lignes denses (ratio ≥ 4 = bands/formules) : l'alt décrit la fonction de la figure dans la slide, pas son texte intégral.

Note honnête (G.9) : slide_12_img_077838bf.png avait d'abord été étiquetée « décorative orpheline ». Un OCR frais a réfuté ce verdict : c'est la table des motifs à préfixe/cible/suffixe (Prefix/Target/Postfix) remplissant les champs d'une annonce de séminaire — pattern IE du cours AIMA. Elle est câblée avec un alt complet. Le scanner final compte 48/48, zéro exclusion.

Vérification du livrable (pas du code source)

Instrument Avant Après
Scanner figures (--repo racine, --deck 09-traitement-automatique-langues) ACTIVE 0/48 ACTIVE 48/48 (100 %)
Sonde DOM (probe_visible_imgs.py, slides 1-35, filtre rect.width>0 && rect.height>0) — 48 visibles / 48 chargées (naturalWidth>0) / 0 overflow
Captures render_deck.py --cap 35 (regénérées post-fix, 64.5 s) — 35/35 rendues, lecture oculaire des 16 slides porteuses

Fix de rendu inclus : slide 12 débordait du viewport de 26 px (getBoundingClientRect ~1.47× la CSS à cause du transform Slidev) → les 5 images de la slide passées de 90 px à 78 px de hauteur. Re-sonde complète post-fix : 0 débordement sur tout le deck.

Détails méthode : le compte d'images visibles exige le filtre de visibilité — les duplicats display:none des slides voisines gonflent le DOM naïf à ~144 <img> pour 48 réelles. Le deck fait 35 slides (sonde DOM ; les splits markdown donnent 44-51 par artefacts de comptage).

Test plan

  • Scanner figures : ACTIVE 48/48
  • Sonde DOM : 48 visibles / 48 chargées / 0 overflow sur 35 slides
  • Captures fraîches post-fix, 16/16 slides porteuses reluës (figures affichées, cohérentes avec le contenu de leur slide)
  • Pre-commit hooks verts (gitleaks, H.3 n/a — markdown seul)
  • Review ai-01

🤖 Generated with Claude Code

…rounded (See #11508)

- 48 <img> branches au deck 09-traitement-automatique-langues
- alts ancres sur OCR mesure (RapidOCR x4/x8) : 16 alts plates-faux corriges,
  8 figures OCR-resistantes avec alt geometrie+dimensions sans claim de nature
- slide 12 : images 90px -> 78px (fix overflow viewport 26px, transform ~1.47x)
- 077838bf requalifie decoratif -> contenu par OCR (table motifs AIMA) et cablee
- verification : scanner ACTIVE 48/48 (100%), sonde DOM 48 visibles / 48 chargees
  / 0 overflow sur les 35 slides, captures regenerees post-fix

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 14, 2026

Copy link
Copy Markdown
Owner Author

Superseded par #15452 — je ferme sans merger (collision L898 sur le même fichier)

Cette PR n'est pas mergable, et la mesure le dit avant tout jugement.

Fait mesuré (firsthand, après le git fetch de ce cycle) :

Constat Commande / résultat
mergeStateStatus: DIRTY, mergeable: CONFLICTING gh pr view 16159
Ma base = be4207002912 ; main a depuis réécrit ce fichier (+79/−12) git diff --stat $(merge-base) origin/main -- slides/09-traitement-automatique-langues/slides.md
Main porte 6 PNG dans images/, ma branche en référence 48 `git ls-tree origin/main …/images/
42 des 48 PNG que ma PR référence n'existent plus sur main comm -23 (mes refs) (main)
Main a 0 <img> : le pattern retenu est layout: image-overlay + image: en frontmatter grep -c '<img' = 0

La lane po-2024 a, entre mon claim et ma livraison, restructuré le même deck sous #15452 / #15398 / #15406 : passage à image-overlay (la doctrine du dépôt, issue #221), retrait des captures redondantes (16 « décoratifs » + 19 « orphelins » + 7 « non référencés ») et transcription du contenu en texte — table des classes de Chomsky, règles PCFG, lexique du Wumpus en markdown/code block. Travail reviewé (5 points CHANGES_REQUESTED d'ai-01 levés) puis mergé.

Conséquence mécanique : mes 48 <img> pointent 42 fichiers supprimés. Merger cette PR produirait 42 images cassées et réintroduirait un pattern en grille que la doctrine image-overlay remplace. Un rebase ne la sauve pas : c'est la structure qui a changé, pas la base.

Ce que je ne prétends pas : que l'élagage ait perdu du contenu. Sa justification tient — les captures étaient redondantes avec le texte transcrit. Deux résidus que je signale sans les trancher (G.9, c'est éditorial, pas mécanique) :

  • la table des fréquences des motifs de Hearst (38 % motif verbal → 1 %) : absente de main (grep -ci "38 %" = 0, 0,38 = 0) alors que « Hearst » y apparaît 2× ;
  • la table AIMA Prefix / Target / Postfix (champs d'une annonce de séminaire) : absente (Prefix/Postfix = 0).

Si @jsboige ou ai-01 jugent ces deux tables pédagogiquement utiles, la voie est une nouvelle PR courte sur la structure actuelle (les réécrire en markdown, pas en capture) — pas la résurrection de celle-ci.

Ce que la PR aura servi à établir : le deck 09-TAL était à ACTIVE 0/48 au rendu ; les 48 figures y étaient soit commentées, soit jamais référencées. C'est ce défaut que #11508 mesure.

Fermeture : See #11508 — l'EPIC reste ouvert, ce deck y est désormais couvert par l'état de main.

@jsboige

jsboige commented Sep 14, 2026

Copy link
Copy Markdown
Owner Author

Fermée comme superseded : #15452 a restructuré le même fichier (image-overlay + retrait des captures redondantes) après mon claim. Détail et résidus signalés dans le commentaire ci-dessus. See #11508.

@jsboige jsboige closed this Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant