# L3 — Terminaux & PTY (local) **Binôme :** `dev-terminals` / `test-terminals` **Zones :** `infrastructure/pty`, `application/terminal`, `frontend/features/terminals` **Dépendances amont :** L0, L1. ## Objectif Terminaux fonctionnels en local : ouverture PTY, I/O, resize, fermeture, rendu xterm.js, flux via Tauri Channel. ## Périmètre (DEV) - Adapter `PortablePtyAdapter` (portable-pty) implémentant `PtyPort`. - Use cases : `OpenTerminal`, `WriteToTerminal`, `ResizeTerminal`, `CloseTerminal`. - Front : wrapper xterm.js, abonnement au flux d'octets (Channel), envoi des frappes/resize. ## Périmètre (TEST) - Use cases avec `PtyPort` mocké (spawn/write/resize/kill appelés correctement). - Intégration : `PortablePtyAdapter` lance `echo`/`printf` et reçoit la sortie attendue. - Front : wrapper xterm avec gateway mock (frappe → write, octets reçus → rendu). ## Definition of Done - `cargo test` (pty/terminal) + `vitest` verts ; un terminal réel utilisable en dev manuel sur Linux. ## Spikes (cf. ARCHITECTURE §13) - ConPTY Windows (resize/signaux/exit codes). - Backpressure/coalescing du flux haute fréquence via Channel.