BEM, Organisation des fichiers & DevTools
Vendredi — Consolidation des acquis
Revue rapide : HTML sémantique, CSS cascade/box model, Flexbox, Grid
Introduction Ă la convention de nommage BEM
Organisation des fichiers CSS : structure et conventions
Démo live : debug CSS avec les DevTools
Lancement du mini-projet : landing page de A Ă Z
Revue Rapide de la Semaine
HTML Sémantique
<header>, <main>, <article>, <section>...
Cascade CSS
Origine, spécificité, ordre du code
Box Model
content, padding, border, margin
Flexbox
display: flex, justify-content, align-items
CSS Grid
grid-template-columns, grid-gap, fr units
Convention de Nommage BEM
Block — Element — Modifier
Une convention de nommage pour garder le CSS maintenable
Block
Composant autonome
Element
Partie du block
Modifier
Variante ou état
HTML
<div class="card">
<img class="card__image" />
<h2 class="card__title">Titre</h2>
<button class="card__button">
<button class="card__button--disabled">
CSS
.card { }
.card__image { }
.card__title { }
.card__button { }
.card__button--disabled { }
Confusion entre élément (__) et modifier (--)
__ = partie d'un block | -- = variante d'un block ou élément
Imbrication excessive
❌ .block__element__subelement
âś“ .block__subelement
Noms trop longs
Privilégiez des noms courts mais descriptifs
Organisation des Fichiers CSS
L'ordre d'importation compte !
Variables CSS
Couleurs, espacements, typographie
Reset / Normalize
Styles de base du navigateur
Base
Typographie, liens, boutons génériques
Components
Cards, forms, navigation, modals
Layout
Header, footer, grid principale
css/
├── variables.css
├── reset.css
├── base.css
components/
├── card.css
├── button.css
├── form.css
layout/
├── header.css
├── footer.css
└── grid.css
└── main.css
âś“ Un fichier par composant = CSS maintenable
Debug CSS avec DevTools
Votre meilleur ami pour débugger le Box Model
Clic droit sur l'élément → Inspecter
Panneau Elements
Onglet Computed
Visualisation du Box Model :
âś“ Modifier les valeurs en live
Double-cliquez sur une valeur pour la changer
✓ Voir les styles hérités
Les styles barrés sont surchargés
âś“ Mesurer les dimensions
Survolez un élément pour voir ses dimensions
âś“ Raccourci rapide
F12 ou Ctrl+Shift+I
Astuce : Utilisez l'onglet Computed pour comprendre pourquoi un élément a une certaine taille !
Mini-Projet : Landing Page
Construire une landing page de A Ă Z
✓ Structure HTML sémantique
header, main, sections, footer
âś“ Convention BEM
Nommage cohérent des classes
✓ CSS organisé
Fichiers séparés par responsabilité
✓ Box Model maîtrisé
border-box, espacements cohérents
Rappel : L'objectif est la progression, pas la perfection pixel-parfaite !
BEM = CSS maintenable
.block__element--modifier
Organisation des fichiers
variables → reset → base → components → layout
DevTools Computed
L'outil indispensable pour débugger le Box Model
Pixel-perfect obsession
Encouragez la progression, pas la perfection
Confusion BEM : __ vs --
__ = élément | -- = modifier
Un seul fichier CSS
Séparez vos styles par responsabilité
C'est un vendredi : L'objectif est de consolider, pas d'introduire de nouveaux concepts complexes.
Documentation BEM
getbem.com
MDN CSS
developer.mozilla.org
CSS-Tricks
css-tricks.com
DevTools
F12 ou Ctrl+Shift+I
C'est l'heure du mini-projet !
Bonne chance pour votre landing page !