#title: Web frontend level: L2
Construire une interface n’est pas empiler des divs: c’est raconter une interaction claire, accessible, performante. Dans ce cours, on part de l’ossature (HTML), on la met en forme (CSS), on l’anime (JS), puis on la mesure et on l’améliore.
#HTML d’abord: le sens avant le style
Le HTML décrit la structure: titres, paragraphes, listes, formulaires. Des balises sémantiques (header, nav, main, section, article, footer) aident les lecteurs d’écran et les moteurs à comprendre la page. Un bon HTML se lit même sans CSS: c’est votre filet de sécurité.
#CSS: couches et contraintes
Le CSS superpose des couches: variables, layout (Flexbox/Grid), typographie, thèmes. La clé est de maîtriser le modèle de boîte, le flux, et de nommer vos classes de manière prévisible. Les media queries adaptent; prefers-reduced-motion
et prefers-color-scheme
respectent l’utilisateur.
#JavaScript: comportement progressif
Le JS enrichit sans casser: écoutez des événements, manipulez le DOM avec parcimonie, préférez une architecture où l’état est centralisé et les effets bord écrits clairement. Si vous utilisez un framework, comprenez son modèle (composants, rendu, état) et son coût.
#Accessibilité et performance en continu
Chaque interaction doit être atteignable au clavier, annoncée aux aides techniques, et lisible en contraste. Côté perf: budgétisez les octets, évitez le JS inutile, chargez paresseusement ce qui peut l’être et mesurez (LCP, INP, CLS).
#Mini‑atelier
Créez un formulaire d’inscription sémantique (labels liés, champs requis), stylez‑le sobrement, ajoutez une validation côté client et une annonce ARIA en cas d’erreur. Mesurez le temps de chargement avec et sans une librairie lourde; discutez du compromis.