Guide Responsive des Zones de Layout

Qu'est-ce que le Responsive Design ?

Le responsive design est une approche de conception web qui permet à un site de s'adapter automatiquement à différentes tailles d'écran (mobile, tablette, desktop) pour offrir une expérience optimale sur tous les appareils.

Principe clé : Un seul code HTML/CSS qui s'adapte plutôt que plusieurs versions du site.

Technique principale : Les Media Queries CSS permettent d'appliquer des styles différents selon la largeur de l'écran (breakpoints).

Table des matières

📱 Breakpoints Standards

Les breakpoints sont les points de rupture où le layout change pour s'adapter à une nouvelle taille d'écran. Voici les breakpoints les plus couramment utilisés :

📱 Mobile Portrait

< 576px
  • iPhone SE, petits smartphones
  • 320px - 575px
  • 1 colonne de contenu
  • Menu hamburger obligatoire

📱 Mobile Landscape

576px - 767px
  • Smartphones en mode paysage
  • iPhone standard, petits Android
  • 1-2 colonnes possibles
  • Menu hamburger recommandé

📱 Tablette Portrait

768px - 991px
  • iPad, tablettes Android
  • 2 colonnes confortables
  • Menu hamburger ou liens visibles
  • Sidebar peut être cachée

💻 Tablette Landscape / Petit Desktop

992px - 1199px
  • iPad Pro, petits laptops
  • 2-3 colonnes
  • Navigation complète visible
  • Sidebar visible optionnelle

🖥️ Desktop

1200px - 1399px
  • Écrans standard de bureau
  • 3-4 colonnes
  • Toutes fonctionnalités visibles
  • Layout complet

🖥️ Large Desktop

> 1400px
  • Grands écrans, 4K
  • 4+ colonnes possibles
  • Limiter la largeur max (1400-1600px)
  • Éviter les lignes trop longues
/* Media Queries Standards */ /* Mobile First Approach (recommandé) */ /* Styles de base pour mobile */ .container { width: 100%; padding: 1rem; } /* Tablette et plus */ @media (min-width: 768px) { .container { padding: 2rem; } } /* Desktop et plus */ @media (min-width: 1200px) { .container { max-width: 1400px; margin: 0 auto; } }

2. Hero / Bannière Responsive

Le hero doit rester impactant sur tous les écrans. La principale adaptation concerne la disposition du texte et des images, ainsi que la hiérarchie visuelle.

Hero Texte + Image : Desktop → Mobile

Layout horizontal devient vertical, texte avant image

Desktop (> 992px)
Titre Principal Image
Tablette (768px - 991px)
Titre Principal Image
Mobile (< 768px)
Titre Principal Image

Stratégies Hero Responsive

/* Hero Responsive */ /* Mobile : colonne unique */ .hero { display: flex; flex-direction: column; padding: 2rem 1rem; min-height: 400px; } .hero-content { text-align: center; margin-bottom: 2rem; } .hero h1 { font-size: 2rem; /* 32px */ margin-bottom: 1rem; } .hero-image { width: 100%; height: 250px; object-fit: cover; } /* Tablette : commence la transition */ @media (min-width: 768px) { .hero { flex-direction: row; align-items: center; gap: 2rem; padding: 3rem 2rem; min-height: 500px; } .hero-content { flex: 1; text-align: left; } .hero h1 { font-size: 2.5rem; /* 40px */ } .hero-image { flex: 1; height: 400px; } } /* Desktop : pleine puissance */ @media (min-width: 1200px) { .hero { padding: 4rem; min-height: 600px; } .hero h1 { font-size: 3rem; /* 48px */ } }

Tips Hero Responsive

3. Contenu Principal / Sections Responsive

Le contenu principal utilise généralement des grids qui doivent s'adapter : 4 colonnes → 2 colonnes → 1 colonne selon la taille d'écran.

Grid de Features : 3 colonnes → 2 colonnes → 1 colonne

Pattern le plus courant pour les grids de contenu

Desktop (> 992px) - 3 colonnes
Tablette (768px - 991px) - 2 colonnes
Mobile (< 768px) - 1 colonne

Stratégies Contenu Responsive

/* Grid Responsive avec CSS Grid */ /* Approche moderne : auto-responsive */ .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; padding: 2rem 1rem; } /* Approche manuelle avec breakpoints */ .manual-grid { display: grid; grid-template-columns: 1fr; /* Mobile : 1 colonne */ gap: 1rem; } @media (min-width: 768px) { .manual-grid { grid-template-columns: repeat(2, 1fr); /* 2 colonnes */ gap: 2rem; } } @media (min-width: 1200px) { .manual-grid { grid-template-columns: repeat(3, 1fr); /* 3 colonnes */ gap: 3rem; } } /* Section alternée responsive */ .alternating-section { display: flex; flex-direction: column; /* Mobile : stack */ gap: 2rem; } @media (min-width: 768px) { .alternating-section { flex-direction: row; /* Desktop : côte à côte */ align-items: center; } .alternating-section:nth-child(even) { flex-direction: row-reverse; /* Alternance */ } }

Tips Contenu Responsive

4. Aside / Sidebar Responsive

La sidebar pose un défi majeur en responsive : doit-on la cacher, la déplacer, ou la transformer ? Plusieurs stratégies existent.

Sidebar : Desktop → Cachée/En bas Mobile

Stratégie la plus courante pour préserver l'espace vertical

Desktop (> 992px) - Sidebar visible
Contenu principal Sidebar
Tablette (768px - 991px) - Sidebar réduite
Contenu Side
Mobile (< 768px) - Sidebar en bas ou cachée
Contenu principal Sidebar (en bas)

Stratégies Sidebar Responsive

/* Sidebar Responsive - Plusieurs approches */ /* Approche 1 : Déplacer en bas sur mobile */ .layout { display: flex; flex-direction: column; /* Mobile : vertical */ } .sidebar { order: 2; /* Sidebar après contenu */ } .main-content { order: 1; /* Contenu en premier */ } @media (min-width: 992px) { .layout { flex-direction: row; gap: 2rem; } .main-content { flex: 1; } .sidebar { width: 300px; flex-shrink: 0; } } /* Approche 2 : Cacher complètement */ .sidebar { display: none; /* Caché sur mobile */ } @media (min-width: 992px) { .sidebar { display: block; /* Visible desktop */ } } /* Approche 3 : Off-canvas menu */ .sidebar { position: fixed; top: 0; left: -300px; /* Hors écran */ width: 300px; height: 100vh; transition: transform 0.3s; } .sidebar.open { transform: translateX(300px); /* Slide in */ } @media (min-width: 992px) { .sidebar { position: static; transform: none; } }

Tips Sidebar Responsive

📋 Patterns Responsive Communs

Voici les patterns de design responsive les plus utilisés pour transformer un layout desktop en layout mobile.

Pattern 1 : Column Drop

Les colonnes se déplacent vers le bas à mesure que l'écran rétrécit

Desktop - 3 colonnes côte à côte
Col 1 Col 2 Col 3
Tablette - Col 3 passe en dessous
Col 1 Col 2 Col 3
Mobile - Toutes empilées
Col 1 Col 2 Col 3

Pattern 2 : Layout Shifter

Le layout se réorganise complètement selon la taille d'écran

Desktop - Sidebar à droite
Main Content Sidebar
Mobile - Sidebar en dessous
Main Content Sidebar

Pattern 3 : Tiny Tweaks

Petits ajustements progressifs plutôt que changements majeurs

Desktop - Espacements généreux
Contenu (padding: 40px)
Mobile - Espacements réduits
Contenu (padding: 15px)

Pattern 4 : Off Canvas

Menus et sidebars cachés hors écran, accessibles via bouton

Desktop - Tout visible
Nav Content
Mobile - Nav hors écran (cachée)
Nav Content

Principes Généraux du Responsive Design

Outils de Test Responsive

/* Template de base pour un site responsive complet */ /* 1. Reset et base */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; font-size: 16px; /* Base mobile */ line-height: 1.6; } /* 2. Container responsive */ .container { width: 100%; padding: 0 1rem; margin: 0 auto; } @media (min-width: 768px) { .container { padding: 0 2rem; } } @media (min-width: 1200px) { .container { max-width: 1400px; padding: 0 4rem; } } /* 3. Typographie responsive */ h1 { font-size: 2rem; } /* 32px mobile */ h2 { font-size: 1.5rem; } h3 { font-size: 1.25rem; } @media (min-width: 768px) { h1 { font-size: 2.5rem; } /* 40px tablette */ h2 { font-size: 2rem; } } @media (min-width: 1200px) { h1 { font-size: 3rem; } /* 48px desktop */ h2 { font-size: 2.25rem; } } /* 4. Utilitaires responsive */ .hide-mobile { display: none; } .show-mobile { display: block; } @media (min-width: 768px) { .hide-mobile { display: block; } .show-mobile { display: none; } }