Objectifs Maîtriser les fondamentaux du CSS et ses propriétés essentielles Comprendre le modèle de boîte et le positionnement des éléments Apprendre à créer des mises en page flexibles et responsives Découvrir les animations et les transitions CSS Mettre en pratique les bonnes pratiques de développement CSS
Public cible Débutants souhaitant apprendre à styliser des sites web Développeurs web cherchant à perfectionner leurs compétences en CSS Designers web voulant comprendre l'implémentation de leurs maquettes Étudiants en développement web ou design numérique Autodidactes souhaitant structurer leur apprentissage du CSS
Méthode d'enseignement Théorie et exemples concrets Exercices pratiques pas à pas Mini-projets de mise en page Projet final intégrateur
Besoins techniques Matériel requis Ordinateur portable ou de bureau (Windows, macOS ou Linux) Connexion internet stable Casque audio avec micro (pour les sessions en ligne) Écran large recommandé (pour visualiser le code et le rendu côte à côte) Logiciels à installer Navigateur web moderne (Chrome ou Firefox recommandé) Éditeur de code (VS Code avec extensions CSS recommandé) Comptes recommandés Compte sur CodePen ou CodeSandbox Compte sur GitHub pour le versioning
Les Fondamentaux du CSS Introduction au CSS Syntaxe et structure de base Sélecteurs CSS (éléments, classes, IDs, attributs) La cascade et l'héritage Le modèle de boîte Margin, border, padding, content box-sizing : border-box vs content-box Les différents types de boîtes (block, inline, inline-block) Propriétés de texte et de couleurs Typographie (font-family, size, weight, etc.) Couleurs (noms, hexadécimal, RGB, HSL, variables CSS) Effets de texte (ombre, décoration, transformation) Exercice pratique : Mise en forme d'une page d'article
Mise en page avancée avec Flexbox et Grid Flexbox Concepts de base (conteneur et éléments flexibles) Alignement et distribution (justify-content, align-items) Gestion de l'ordre et de la taille des éléments CSS Grid Création d'une grille (grid-template-columns/rows) Positionnement des éléments (grid-column, grid-row) Zones de grille et responsivité Méthodologies et bonnes pratiques Quand utiliser Flexbox vs Grid Approche mobile-first Optimisation des performances Exercice pratique : Créer un portfolio responsive
Responsive Design et Media Queries Principes du Responsive Design Mobile-first vs Desktop-first Viewport et unités relatives (%, vh, vw, rem, em) Images responsives (srcset, picture, sizes) Media Queries avancées Syntaxe et opérateurs logiques Points de rupture (breakpoints) standards Fonctionnalités médias (orientation, résolution, etc.) Techniques avancées Conteneurs fluides et images flexibles Grilles responsives CSS Container Queries Exercice pratique : Adapter un site pour mobile, tablette et desktop
Animations et effets visuels Transitions CSS Propriétés transition-* Timing functions (ease, linear, cubic-bezier) Exemples pratiques d'utilisation Animations CSS @keyframes et propriétés d'animation Contrôle des animations (play-state, iteration-count) Performances et bonnes pratiques Effets avancés Transformations 2D/3D (transform) Filtres et effets visuels Masques et découpes (clip-path, mask) Exercice pratique : Créer une galerie d'images interactive
CSS Moderne et Bonnes Pratiques Variables CSS (Custom Properties) Déclaration et utilisation Portée et héritage Utilisation avec JavaScript Méthodologies CSS BEM (Block Element Modifier) SMACSS et OOCSS CSS-in-JS (introduction) Outils et préprocesseurs SASS/SCSS (variables, mixins, fonctions) PostCSS et autoprefixer Outils de build (Webpack, Parcel, Vite)
Sémantique et accessibilité Les balises sémantiques Utilisation des balises <header>, <footer>, <nav>, <section>, <article>, <aside> Importance de la sémantique pour le SEO et l’accessibilité Accessibilité des contenus HTML L’importance des attributs alt, aria, role Bonnes pratiques pour rendre les pages web accessibles à tous Exercice pratique : Structurer une page sémantiquement correcte et accessible
Accessibilité et Performance CSS et accessibilité Contraste des couleurs et lisibilité Navigation au clavier Médias alternatifs (impression, lecteurs d'écran) Optimisation des performances Chargement critique du CSS Optimisation des sélecteurs Utilisation de will-change et contain Outils d'analyse Lighthouse et Web Vitals Outils de débogage des navigateurs Tests multi-navigateurs
Projet final Projet pratique : Créer un site web moderne et responsive Conception d'une maquette préalable Implémentation en HTML/CSS pur Adaptation pour différents appareils et tailles d'écran Optimisation des performances Critères d'évaluation : Respect de la maquette Code propre et bien structuré Accessibilité et sémantique Performance et temps de chargement Documentation et bonnes pratiques