À propos de ce cours
Cette leçon explique le responsive design : une seule interface qui s'adapte à toutes les largeurs d'écran. Elle présente l'approche mobile d'abord, les points de rupture et les trois classes de largeur (compacte, moyenne, étendue) avec leurs grilles, les motifs d'adaptation (empiler, révéler, changer la navigation, tableau ↔ cartes, images fluides), les critères au-delà de la largeur (interaction tactile, orientation, zoom), le passage de Figma au CSS et les tests sur plusieurs tailles. Trois activités adaptent l'écran « Menu du jour » de CantineCampus à trois largeurs.
| Durée | Niveau | Prérequis | À la fin de la leçon |
|---|---|---|---|
| 1 heure 15 (cours et 3 activités) | Débutant, chapitre « Boutons, animations et mise en page » | La grille de mise en page | Vous savez concevoir un écran mobile d'abord, choisir des points de rupture, adapter la mise en page et la tester |
-
Objectifs
- Définir le responsive design et ses principes.
- Concevoir mobile d'abord.
- Choisir des points de rupture et les grilles associées.
- Utiliser les motifs d'adaptation d'un écran.
- Tester une interface sur plusieurs tailles.
-
Qu'est-ce que le responsive design ?
- Le responsive design (conception adaptative) consiste à concevoir une seule interface qui s'adapte à la largeur de l'écran : téléphone, tablette, ordinateur, et toutes les tailles entre deux.
- Le terme vient de l'article « Responsive Web Design » d'Ethan Marcotte (2010), qui reposait sur trois idées : une grille fluide, des images fluides et des requêtes média (media queries) qui changent la mise en page selon la largeur.
- Le contenu et les fonctions restent les mêmes : seule la disposition change. Un usager qui commence sa commande sur ordinateur doit la retrouver sur son téléphone.
- À ne pas confondre avec une version mobile séparée (un autre site, une autre application), plus coûteuse à maintenir et souvent incomplète.
-
Concevoir mobile d'abord
- Le mobile d'abord (mobile first) consiste à concevoir d'abord l'écran le plus petit, puis à l'enrichir quand la place augmente.
- Le petit écran oblige à choisir l'essentiel: ce qui ne tient pas sur un téléphone était peut-être inutile partout.
- Les usagers sont souvent d'abord sur mobile : pour CantineCampus, presque toutes les commandes se font sur téléphone, entre deux cours.
- L'approche inverse (ordinateur d'abord) mène à « retirer » des éléments pour le mobile, qui devient une version dégradée.
- En CSS, cela se traduit par des styles de base pour le mobile et des requêtes
@media (min-width: …)qui ajoutent des règles pour les écrans plus larges.

-
Les points de rupture
- Un point de rupture (breakpoint) est une largeur à partir de laquelle la mise en page change.
- Trois classes suffisent souvent. Dans ce cours : compacte (moins de 600 px : téléphone), moyenne (600 à 1 023 px : tablette, téléphone en paysage), étendue (1 024 px et plus : ordinateur). Les valeurs varient selon les systèmes : Material Design place la limite suivante à 840 px, Bootstrap utilise 576, 768, 992 et 1 200 px.
- À chaque classe correspond une grille: 4, 8 et 12 colonnes (leçon précédente).
- On choisit les points de rupture là où le contenu casse (une ligne trop longue, des cartes trop étroites), et non pour un modèle de téléphone : les tailles d'écran changent chaque année.
- Entre deux points de rupture, la mise en page est fluide: les colonnes s'élargissent, les images suivent.

-
Les motifs d'adaptation
- Empiler: les éléments côte à côte sur grand écran passent les uns sous les autres sur petit écran.
- Révéler: un élément s'affiche à côté du contenu quand la place le permet (le panier à droite sur ordinateur) et devient un écran séparé sur téléphone.
- Changer la navigation: barre d'onglets en bas sur téléphone, rail d'icônes sur tablette, menu latéral complet sur ordinateur.
- Tableau ↔ cartes: un tableau sur grand écran, une carte par ligne sur petit écran.
- Images fluides: les images s'adaptent à la largeur de leur colonne, avec un ratio fixe ; on fournit plusieurs tailles d'image pour ne pas charger une image d'ordinateur sur un téléphone.
- Typographie adaptée: le corps de texte reste à 16 px ; les grands titres peuvent grandir sur grand écran.

🍽 Exemple : CantineCampus
- Téléphone: une carte de plat par ligne, barre d'onglets en bas, bouton « Voir mon panier » fixe en bas d'écran.
- Tablette: deux cartes par ligne, rail d'icônes à gauche.
- Ordinateur: trois cartes par ligne, menu latéral, et le panier révélé à droite : on commande sans changer d'écran.
-
Penser au-delà de la largeur
- Le mode d'interaction: doigt sur mobile (zones tactiles de 48 px, pas de survol), souris et clavier sur ordinateur (survol, raccourcis, focus visible).
- Le contexte: sur téléphone, l'usager est souvent debout, pressé, au soleil ; sur ordinateur, il est assis et dispose de plus de temps.
- L'orientation: un téléphone en paysage a peu de hauteur ; la barre d'action fixe ne doit pas cacher tout le contenu.
- Le zoom: un usager qui agrandit le texte à 200 % ne doit perdre ni contenu ni fonction (WCAG, critère 1.4.4), et à 320 px de large, il ne doit pas avoir à défiler horizontalement (WCAG, critère 1.4.10).
-
Du design au code
- Dans Figma, dessinez un cadre par classe (360, 768, 1 280 px), avec sa grille, et utilisez l'Auto Layout et les contraintes pour voir le comportement en redimensionnant le cadre.
- En CSS, les grilles s'écrivent avec
display: gridetgrid-template-columns: repeat(4, 1fr), et changent dans des requêtes média ou des requêtes de conteneur (@container). - Les frameworks reprennent la même logique : la grille de 12 colonnes et les classes
col-md-6de Bootstrap, lesLayoutBuilderetMediaQueryde Flutter. - Indiquez dans la spécification le comportement de chaque composant à chaque classe : un tableau composant × largeur évite les interprétations.
.plats { display: grid; gap: 16px; grid-template-columns: 1fr; } /* compact : 1 carte */
@media (min-width: 600px) { .plats { grid-template-columns: repeat(2, 1fr); } } /* moyen : 2 cartes */
@media (min-width: 1024px) { .plats { grid-template-columns: repeat(3, 1fr); } } /* étendu : 3 cartes */
-
Tester une interface responsive
- Testez au moins trois largeurs (360, 768 et 1 280 px) et des tailles « entre deux » (500 px, 900 px) où les mises en page cassent souvent.
- Testez les deux orientations, le zoom à 200 % et la largeur minimale de 320 px.
- Utilisez le mode appareil des outils de développement du navigateur (F12, puis Ctrl+Maj+M), mais validez aussi sur un vrai téléphone: le doigt, la lumière et le réseau ne se simulent pas.
- Faites réaliser les mêmes tâches aux usagers sur chaque taille (TP 6) : une tâche réussie sur ordinateur peut échouer sur téléphone.

⚠ Piège : cacher une fonction sur mobile « parce qu'il n'y a pas la place » prive les usagers de cette fonction là où ils l'utilisent le plus. Réorganisez, ne supprimez pas.
-
Aide-mémoire

-
Activités
Activité 1Observer un site responsive · ⏱ 15 min
- Ouvrez le site de votre établissement ou d'un service public dans le navigateur et activez le mode appareil.
- Faites varier la largeur de 320 à 1 440 px : à quelles largeurs la mise en page change-t-elle ? Quels motifs reconnaissez-vous ?
- Repérez une largeur où la mise en page « casse » (texte coupé, éléments qui se chevauchent).
📁 Résultat attendu : la liste des points de rupture observés, des motifs et des défauts, avec des captures.
Activité 2Le tableau d'adaptation · ⏱ 15 min
- Pour l'écran « Panier » de CantineCampus, remplissez un tableau : composant (en-tête, liste des plats, choix de l'heure, total, bouton « Valider ») × classe (compacte, moyenne, étendue).
- Pour chaque case, décrivez le comportement : position, largeur en colonnes, motif utilisé.
📁 Résultat attendu : le tableau d'adaptation de l'écran « Panier ».
Activité 3Trois cadres pour un écran · ⏱ 25 min
- Dans Figma, dessinez l'écran « Menu du jour » en 360 px (mobile d'abord), puis en 768 et 1 280 px, chacun avec sa grille.
- Utilisez l'Auto Layout et des composants : seule la disposition change, pas le contenu.
- Vérifiez qu'aucune fonction ne disparaît entre deux tailles.
📁 Résultat attendu : les trois cadres Figma de l'écran « Menu du jour ».
-
Erreurs fréquentes
| Symptôme | Cause | Solution |
|---|---|---|
| Version mobile « allégée » sans certaines fonctions | Ordinateur d'abord | Mobile d'abord ; réorganiser plutôt que supprimer |
| Mise en page cassée à 900 px | Seules 3 largeurs testées | Tester aussi les tailles « entre deux » |
| Défilement horizontal sur téléphone | Largeurs fixes en px | Largeurs fluides (%, fr), max-width sur les images |
| Bouton caché par le clavier ou en paysage | Hauteur oubliée | Tester les orientations et le clavier ouvert |
| Survol indispensable pour voir une action | Pensé pour la souris | Actions visibles sans survol sur écran tactile |
-
Bilan
- Le responsive design adapte une seule interface à toutes les largeurs : même contenu, autre disposition.
- On conçoit mobile d'abord, puis on enrichit.
- Trois classes de largeur (compacte, moyenne, étendue) avec leurs grilles de 4, 8 et 12 colonnes.
- Les motifs empiler, révéler, changer la navigation et tableau ↔ cartes réorganisent l'écran.
- On teste sur plusieurs largeurs, orientations, au zoom et sur un vrai téléphone.
Une interface responsive ne rétrécit pas : elle se réorganise pour l'écran que l'usager a dans la main.