Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Responsive Web Design

Responsive Web Design

Avatar for Nicolas Cava

Nicolas Cava

July 10, 2014

More Decks by Nicolas Cava

Other Decks in Programming

Transcript

  1. Introduction Responsive Web Design et Adaptive Web Design RWD, Device

    Experiences, et RESS RESS Avantages et inconvénients des trois approches
  2. Responsive Web Design et Adaptive Web Design Responsive Web Design

    (RWD) Créé en 2011 par Ethan Marcotte sur A List Apart et dans son livre Responsive Web Design. Selon ce concept, le dĂ©veloppement et le design doivent rĂ©pondre au comportement de l’utilisateur et Ă  son environnement, quel qu’il soit.
  3. Responsive Web Design et Adaptive Web Design Le RWD consiste

    Ă  un mix de grilles et structures flexibles, mĂ©dias, et CSS Media Queries. Le site web doit possĂ©der une technologie qui rĂ©pond automatiquement aux prĂ©fĂ©rences de l’ utilisateur. Cela Ă©limine donc le besoin de nouveaux dĂ©veloppements pour d’éventuels futurs devices.
  4. Responsive Web Design et Adaptive Web Design Le RWD est

    un terme gĂ©nĂ©rique, souvent marketing, qui reprĂ©sente le concept. En termes techniques, on parle Ă©galement de l’ Adaptive Web Design (AWD). Le RWD et l’AWD ont le mĂȘme but mais diffĂšrent par la mĂ©thode employĂ©e pour l’atteindre.
  5. Responsive Web Design et Adaptive Web Design Responsive Web Design

    “Ensemble de structures liquides ou fluides, qui redimensionnement la largeur des Ă©lĂ©ments relativement Ă  la largeur de la fenĂȘtre.”
  6. Responsive Web Design et Adaptive Web Design Adaptive Web Design

    “Ensemble de structures statiques. Ces structures ne sont pas relatives Ă  la largeur de la fenĂȘtre; elles se redimensionnent selon des Break Points prĂ©dĂ©finis.”
  7. RWD, Device Experiences, et RESS Le RWD et AWD adaptent

    la structure selon la rĂ©solution, mais n’utilise aucune dĂ©tection par device. Le concept de dĂ©tection par device se nomme Device Experiences. Cette approche, utilisĂ©e jusqu’alors, n’envoie au client que ce dont il a besoin.
  8. RWD, Device Experiences, et RESS Le Device Experiences permet d’optimiser

    finement le site web pour un device spĂ©cifique. Tout est cependant basĂ© sur les redirections grĂące aux Ă  la dĂ©tection par user agents. Enfin, pour chaque device, le site web a besoin d’ un code diffĂ©rent, potentiellement parsemĂ© de code dupliquĂ©.
  9. RWD, Device Experiences, et RESS Les approches RWD et Device

    Experiences ont tous deux des avantages et des limitations. Pouvons-nous obtenir le meilleur des deux mondes avec une troisiĂšme approche ?
  10. RESS RESS Pour Responsive Web Design + Server Side Components

    Luke Wroblewski en est l’auteur. http://bit.ly/1mVxAiG
  11. RESS Le RESS combine des structures adaptatives avec des composants

    serveurs. Un seul set de templates défini un site entier pour tous devices. Les composants clés, qui peuvent varier selon le device, sont gérés par le serveur.
  12. RESS Aucune redirection, aucun code dupliqué ni template spécifique à

    un device, aucun chargement de code inutile pour les besoins courants. L’utilisateur a pourtant la meilleure expĂ©rience disponible.
  13. RESS Le RWD, lui, est complexe. Mais le RESS est

    encore expĂ©rimental. Il est sujet Ă  de nombreux travaux de recherche et d’optimisation, notamment de la part de personnes comme Brad Frost ou Luke Wroblewski. http://bit.ly/UA6yH4
  14. Avantages et inconvénients des trois approches Responsive Web Design Un

    seul code base Un seul dĂ©ploiement Une seule URL Permet l’utilisation d’un site pour tout device Gestion des mĂ©dias Gestion de composants tiers NĂ©cessite une remise en question organisationnelle
  15. Avantages et inconvénients des trois approches Device Experiences Optimisation absolue

    pour un type de device On n’envoie que le strict minimum au client Peu de perturbations niveau organisationnel Un set de code par device DĂ©tection par user agent Le multi-devices nĂ©cessite beaucoup de maintenance
  16. Avantages et inconvénients des trois approches RESS Optimisation absolue pour

    un type de device Un seul code base Un seul dĂ©ploiement Une seule URL On n’envoie que le strict minimum au client ExpĂ©rimental NĂ©cessite un gros changement cĂŽtĂ© workflow et systĂšme
  17. RESS Aucune redirection, aucun code dupliqué ni template spécifique à

    un device, aucun chargement de code inutile pour les besoins courants. L’utilisateur a pourtant la meilleure expĂ©rience disponible.
  18. Responsive Retrofitting Responsive Retrofitting Cette stratégie prend un site web

    desktop-only existant, et le “rend responsive”.
  19. Responsive Retrofitting Parfois, re-design un projet from scratch est hors

    de question. Pour cela, le Responsive Retrofitting est une approche populaire pour créer une meilleure expérience utilisateur pour les devices non- desktop.
  20. Responsive Retrofitting Avantages et inconvénients Relativement rapide à mettre en

    place L’interface reste familiĂšre aux utilisateurs Simple Ă  gĂ©rer niveau organisationnel On gratte seulement la surface du problĂšme Beaucoup de dĂ©chets de code ProblĂšmes de performance Le concept du fix “pansement”
  21. Responsive Mobile Site Responsive Mobile Site Cette stratégie consiste à

    séparer un site qui utilise le RWD dans un sous domaine m-dot.
  22. Responsive Mobile Site Avantages et inconvénients Mise en place avec

    peu de risques Apprendre Ă  ĂȘtre flexible Permet de repĂ©rer des Ă©lĂ©ments non nĂ©cessaires Un futur Mobile-first Cela reste un site m-dot Fix “pansement” Le projet a des chances d’ĂȘtre tuĂ© dans l’oeuf
  23. Mobile-first Responsive Design Mobile-first Responsive Design Cette approche consiste Ă 

    crĂ©er une interface qui s’accorde avec les contraintes du mobile, et ensuite amĂ©liore peu Ă  peu l’expĂ©rience selon l’ espace disponible.
  24. Responsive Mobile Site Avantages et inconvénients Un projet Mobile-first est

    un nouveau dĂ©part La question de la performance est centrale ConsidĂ©ration multi-devices Future-friendly Consommateur de temps NĂ©cessite un “shift” mental DifficultĂ©s niveau organisationnels
  25. Piecemeal Piecemeal Cette stratégie consiste à découper un re-design en

    petites parties. Comme le retrofitting, il est impossible d’effectuer un re-design massif. C’est pourquoi certaines compagnies prĂ©fĂšrent y aller par Ă©tape. Il existe plusieurs types de Piecemeal.
  26. Piecemeal Page par page Le re-design page par page prend

    une sous-liste de pages. Des compagnies comme Microsoft ont adapté des homepages en RWD, tout en laissant la majorité des pages intérieures en desktop uniquement.
  27. Piecemeal Avantages et inconvĂ©nients Donne une grande visibilitĂ© Permet d’apprendre

    Ă  ĂȘtre flexible Chances accrues de lancement du projet Aucune continuitĂ© de l’expĂ©rience utilisateur Re-design de court terme L’étape suivante a des chances d’ĂȘtre mise de cĂŽtĂ©
  28. Piecemeal Composant par composant Certaines compagnies préfÚrent cibler le re-

    design sur des Ă©lĂ©ments plus prĂ©cis, au niveau composant. Quand l’ensemble de l’UI est responsive, il suffit de changer le viewport.
  29. Piecemeal Avantages et inconvĂ©nients Permet l’introduction graduelle des utilisateurs Permet

    le dĂ©coupage de l’UI en composant Meilleure vision de l’effort nĂ©cessaire Les utilisateurs peuvent ĂȘtre destabilisĂ©s par une UI “Frankestein” Peut ĂȘtre arrĂȘtĂ© au milieu du processus ProblĂšmes de co-existence technique
  30. Smashing Magazine http://bit.ly/1coLfNA Clearleft http://bit.ly/1oa8ME3 Montage http://bit.ly/1s0FI7G Metronic http://bit.ly/1AwxyYL A

    List Apart http://bit.ly/OVDW8y Simon Collison http://bit.ly/1zsMRjN Quelques projets responsive
  31. CSS Media Queries CSS Media Queries Les CSS Media Queries

    permettent de dĂ©finir des conditions par rapport aux capacitĂ©s d’un device. Largeur et hauteur de la fenĂȘtre du navigateur, largeur et hauteur de l’écran du device, orientation, rĂ©solution, etc.
  32. CSS Media Queries // Between 640px and 1136px @media only

    screen and (min-device-width: 640px) and (max- device-width: 1136px) {} // More or equal than 2 pixel ratio @media only screen and (-webkit-min-device-pixel-ratio: 2) {} // Landscape device orientation @media only screen and (orientation: landscape) {}
  33. CSS Media Queries // Default background image div { background:

    url(/images/[email protected]); } // Small devices background image @media only screen and (min-device-width: 320px) and (max- device-width: 768px) { div { background: url(/images/[email protected]); } }
  34. CSS Media Queries // Less script div { background: url(/images/[email protected]);

    @media only screen and (min-device-width: 320px) and (max- device-width: 768px) { background: url(/images/[email protected]); } }
  35. Ecran HD Ecran HD Il est nécessaire de configurer des

    media queries pour charger le bon set d’images selon le DPI de l’écran. Sans cela, dans le cas d’un Ă©cran low DPI, l’ image pourrait ĂȘtre trop lourde, et dans l’autre cas, l’image pourrait ĂȘtre pixelisĂ©e.
  36. MĂ©dias adaptĂ©s MĂ©dias adaptĂ©s L’une des difficultĂ©s les plus grandes

    du RWD, c’ est de fournir des mĂ©dias adaptĂ©s au client. Il est trĂšs important de toujours maintenir le scope d’un dĂ©veloppement mobile. Il est donc essentiel d’éviter de charger des mĂ©dias plus lourds que nĂ©cessaires.
  37. Valeurs relatives Valeurs relatives En RWD, savoir quand utiliser une

    valeur relative peut simplifier le CSS et maximiser le meilleur résultat niveau structure. Marges extérieures, marges intérieures, taille de police, etc.
  38. JavaScript Media Queries JavaScript Media Queries De base, l’API HTML5

    permet l’utilisation de la mĂ©thode window.matchMedia(). var mq = window.matchMedia(‘(min-width: 500px)’); if (mq.matches) {} else {} Attention au support de cette mĂ©thode pour les navigateurs (IE10+, Android Browser 4+).
  39. JavaScript Media Queries Sinon, il est possible de configurer les

    media queries en CSS, pour Ă©viter de dupliquer la dĂ©finition des conditions entre le CSS et le JavaScript. Cependant, cet avantage a aussi un inconvĂ©nient : un resize de l’interface n’appliquera pas les changements au JavaScript.
  40. JavaScript Media Queries Des libraries existent pour amĂ©liorer l’utilisation des

    media queries en JavaScript. enquire.js http://bit.ly/1tYyrVz respond.js http://bit.ly/1hrOxm9 matchMedia.js http://bit.ly/1mVFriq