Formation - Blogperformance

publicité
Formation
Responsive Web Design
« Adapter son site pour le Web mobile »
Responsive Web Design
Franck Dumesnil – blogperformance.com
1
Table des matières
LE CONTEXTE :.................................................................................................................................3
De quoi parle-ton en Responsive design ?.......................................................................................3
Exemples de sites web Responsive......................................................................................................4
PENSER MOBILE FIRST...................................................................................................................4
LES OUTILS........................................................................................................................................5
Outils de développement.................................................................................................................5
Brakets........................................................................................................................................5
Chrome :......................................................................................................................................8
Outils de tests sur mobile.................................................................................................................9
UN CONTENU FLUIDE ..................................................................................................................10
Les contenu non fluides.................................................................................................................10
comment rendre un contenu fluide ...............................................................................................11
Les images responsives ............................................................................................................11
Exercice : Rendre une image responsive..............................................................................12
Les vidéos responsive...............................................................................................................12
Les tableaux responsive............................................................................................................12
Exercice : Créer une page d'accueil contenant une vidéo totalement responsive................12
Rappels sur la hiérarchie parent enfant des classes CSS....................................................................12
RESPONSIVE WEB DESIGN EN 3 POINTS..................................................................................12
LE VIEWPORT : La première étage du RWD...................................................................................12
zoom sur écran :.............................................................................................................................12
MEDIA QUERIES.............................................................................................................................14
Les syntaxes d'appel des média queries.........................................................................................14
Exercice de Responsivité.........................................................................................................14
Exercices – TP :..................................................................................................................................20
Création d'un menu de navigation mobile :...................................................................................21
Création d'une grille de tableau responsive en css :.......................................................................21
Les frameworks de développement MOBILE :..................................................................................21
1- Utiliser BOOTSTRAP :........................................................................................................21
2- Utilisation de Jquery Mobile................................................................................................21
3- Utiliser Foundation framework :..........................................................................................21
Concepts de la grille (ligne / colomnes ) de foundation :..............................................................22
Le composant GRID :...............................................................................................................22
Le composant TOP-BAR..........................................................................................................25
Le composant INTERCHANGE...............................................................................................25
Avec les images :..................................................................................................................26
Le cas d'une image de Background :....................................................................................27
Étendre le css avec SAAS et COMPASS :.........................................................................................28
Les navigateurs mobiles :...................................................................................................................34
Créer un thème wordpress avec foundation framework :...................................................................34
Commment Optimiser la performance mobile :.................................................................................34
Sprite images : Comment ça fonctionne ?..........................................................................................34
LIENS UTILES..................................................................................................................................35
Responsive Web Design
Franck Dumesnil – blogperformance.com
2
LE CONTEXTE :
De quoi parle-ton en Responsive design ?
http://www.liquidapsive.com/
3 Systèmes d'exploitation mobile :
FRONT-END / BACK END : les navigateurs mobiles pour ces OS :
http://www.kantarworldpanel.com/global/smartphone-os-market-share/
Exemples de sites web Responsive
http://leidgens-piscines.be/
http://www.creativeslashers.com/
http://www.legipass.com/
http://zurb.com/responsive
http://www.liberation.fr/
Responsive Web Design
Franck Dumesnil – blogperformance.com
3
Testez si votre site est « mobile-friendly »
https://www.google.com/webmasters/tools/mobile-friendly/
PENSER MOBILE FIRST = PENSER USAGE MOBILE
•
Le contenu est d'abord pensé pour le mobile.
•
Le design et les fonctionnalités ne se voient plus dégradés mais "enrichis" pour la tablette et
le desktop.
•
Ne pas vouloir « faire rentrer tout le contenu ».
•
Qui dit mobile, dit Tactile (Touch), qui dit Usage
Responsive Web Design
Franck Dumesnil – blogperformance.com
4
LES OUTILS
Outils de développement :
Brakets : Editeur html5 / CSS3 avec Plugins
http://brackets.io/
Brackets est un éditeur open-source pour le web design et le développement sur des technologies Web telles
que HTML, CSS et JavaScript. Le projet a été créé et est maintenu par Adobe, et est publié sous une licence
MIT.
Surligner l'aperçu en direct
Une fonctionnalité très interessante est le « highlight » de la partie sélectionnée.
Comment l'activer ?
Il faut pour cela :
1°) ouvrir un dossier et non un fichier seul.
2°) l'adresse ne doit pas être une adresse locale mais une adresse serveur local :
ex: http://127.0.0.1:51138/colonnes.html
Pour cela aller dans les paramètres du projet et mettre comme adresse locale :
http://127.0.0.1 ou http://localhost
à l'installation de Brakets un serveur web est installé.
Responsive Web Design
Franck Dumesnil – blogperformance.com
5
3°) ensuite allez dans affichage > surlignement dans l'aperçu en direct
Modifier le code css directement dans le html
sous mac : cmd + E en se positionnant sur la balise html (ex : body) ou bien la classe ou le id.
le style est alors mis à jour visuellement sans avoir à basculer vers le fichier css , sauver, revenir vers la html
et rafraichir. Toutes ces actions sont faites en direct.
Sous windows :
CTRL + E (en se positionnant sur la balise ou la classe), Brakets ouvre le fichier de style directement dans la
structure HTML.
Responsive Web Design
Franck Dumesnil – blogperformance.com
6
CLIC-DROIT : On peut via clic-droit (windows) ouvrir une fenêtre contextuelle d'édition rapide permettant
de modifier visuellement la couleur d'un élément.
Plugins de développement CSS rapide : le cas d'EMMET
http://docs.emmet.io/
https://www.youtube.com/watch?v=hyLDtIj3zw4
Tutoriaux brakets :
http://css-snippets.com/brackets-course/
Responsive Web Design
Franck Dumesnil – blogperformance.com
7
Chrome :
Installer chrome pour tous les utilisateurs.
https://support.google.com/chrome/answer/118663?hl=fr
Les outils pour développeurs de chrome :
On utilisera chrome pour lire le code source de certaines pages web dont on souhaite analyser le code mais
aussi pour tester en direct des nouveaux styles css sans pour autant devoir télécharger le contenu.
Responsive Web Design
Franck Dumesnil – blogperformance.com
8
Outils de tests sur mobile :
Tests de responsivité :
http://responsivetest.net
Emulateurs :
http://mobiletest.me
http://www.responsinator.com/
Generateurs :
Pour générer du code et ensuite vernir le mettre à jour, et dans un souci de productivité, nous utiliserons un
outil de génération de code pour le design de colonnes (ou grids)
http://www.responsivegridsystem.com/calculator/
UN CONTENU FLUIDE
Faire en sorte que le contenu apparaisse toujours à l'écran.
Les contenu non fluides :
ex : http://www.errefom.fr/
Débordement du contenu :
Lorsque la fenêtre du navigateur est réduite le contenu n’apparaît plus.
Responsive Web Design
Franck Dumesnil – blogperformance.com
9
Un contenu fluide :
ex : prenons le cas du site www.lefigaro.fr
2 colonnes : Une colonne fluide , une colonne fixe
comment rendre un contenu fluide ?
EM :
%
REM
min-width et max-width
Responsive Web Design
Franck Dumesnil – blogperformance.com
10
Les images responsives :
La base :
Les spécificités :
http://responsiveimages.org/
Le cas des logos responsive :
http://www.responsivelogos.co.uk/
Responsive Web Design
Franck Dumesnil – blogperformance.com
11
On peut créer un logo responsive avec des sprites et le format SVG.
Exercice : Rendre une image responsive
1) créer une image en png sur pixlr
2) mettre l'imae dans un div
3) créer la classe
Les vidéos responsive
voir www.embedresponsively.com
Les tableaux responsive :
Une façon de créer des tableaux responsive est d'utiliser le selecteur nth-child() pour accéder aux divers
élements d'un tableau <tr>, <td> afin de masquer les colonnes avec des media queries.
Ex : table th:nth-child(3){display: none;}
Exercice : Créer une page d'accueil contenant une vidéo totalement responsive
Rappels sur la hiérarchie parent enfant des classes CSS
Comment fonctionnent les classes CSS ?
Les styles CSS fonctionnent sur le principe d'imbrication, de parenté et d'héritage.
<div class= nav »>
<ul>
<li class=active ><a href= >lien</a></li>
</ul>
Responsive Web Design
Franck Dumesnil – blogperformance.com
12
</div>
.nav .active a { attributs du lien }
.nav ul li { attributs de li }
RESPONSIVE WEB DESIGN EN 3 POINTS :
1. Le viewport
2. Le container et les medias fluides
3. Les media queries
LE VIEWPORT : La première étage du RWD
zoom sur écran :
Comment autoriser ou interdire l'agrandissement via l'élargissement ou le pincement des doigts ?
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
Exercice : montrer comment autoriser on interdire le zoom sur écran mobile.
http://viewportsizes.com/
Responsive Web Design
Franck Dumesnil – blogperformance.com
13
http://viewportsizes.com/mine/
Conception des interfaces : Les wireframes
1) s'inspirer :
2) Créer
http://mocknow.com/
http://zurb.com/playground/prototyping-mobile-first
MEDIA QUERIES
http://www.w3.org/TR/css3-mediaqueries/
Les syntaxes d'appel des média queries :
Comprendre rapidement les media queries :
http://www.webdesignerwall.com/demo/media-queries/
Responsive Web Design
Franck Dumesnil – blogperformance.com
14
http://caniuse.com/#feat=css-mediaqueries
Exercice de Responsivité: Passer de 3 à 1 colonnes en fonction de la dimension de la fenêtre du
navigateur.
Partie 1 : Créer une page de 3 colonnes non responsive
1°) créer une classe colonne-1-3 :
cette classe va s'appliquer à chacune des 3 colonnes.
Il faut compter les bordures et les marges dans la largeur globale de 100%.
Dans ce cas, on divide 100 par 3 (3 colonnes) soit 33.33 %. on décide de donner
une marge de 1% autour de chaque colonne, soit 6%. il faut donc d'abord faire
100 – 6 = 94% et ensuite diviser 94 / 3 = 31.33 %. Dans ce cas aucune bordure
n'est possible dans les colonnes.
1°) créer une classe permettant de styler chaque colonne indépendamment :
cela permettra de styler différemment chaque colonne lors du changement de taille d'écran.
Responsive Web Design
Franck Dumesnil – blogperformance.com
15
3°) le cas du OnePLus One :
sa résolution est de 1920 x 1080. hors en mode vertical , lorsque je consulte la page en mode « portrait » le test montre
que la résolution est de 980. si je met max-width à 980, l'affichage passe sur 2 colonnes et si le met max-width à 979, le
css n'est pas modifié et l'affichage reste sur 3 colonnes.
Tant que la résolution d'écran ou la largeur de la fenêtre du navigateur est supérieur ou égale à 980 pixels, on reste sur 3
colonnes. Dès que cette résolution passe à 979 et inférieure, on passe à 2 colonnes.
3°) passage à 1 colonne :
lorsque la résolution ou la largeur de la fenetre du navigateur est inférieure à 580 px, alors le css utilisé est celui
ci-dessus.
Lors du passage à 1 colonne, on créé 2 classes : une classe mobile qui sert à afficher le contenu d'une colonne sans
limite sur toute la largeur et une classe cacher-mobile destinée à masquer les contenu qui en hériteront comme la sidebar
par exemple.
On applique les classes cacher-mobile et mobile aux div contenu et sidebar auxquels ont veut attribuer des styles
particuliers lors du passage à l'écran mobile.
Responsive Web Design
Franck Dumesnil – blogperformance.com
16
4°) Suppression de contenus non vitaux en mode mobile :
il suffit d'appliquer la classe cacher-mobile aux div que l'on veut masquer.
Responsivite du menu de navigation
création d'un menu de navigation avec ul > li (liste non ordonnée)
Responsive Web Design
Franck Dumesnil – blogperformance.com
17
Création des styles pour affichage au delà de 980 pixels : (desktop)
Rappel Règles CSS
Pour attribuer un style à un
1°) on sélectionne la balise html de destination ex : ul
2°) on sélectionne la classe sur laquelle on souhaite attribuer le style ex : .nav
3°) on écrit : ul.nav { /* le style entre les crochets */ }
Pour rendre fluide la liste ul > li il faut mettre :
ul.nav { width: auto; }
Pour espacer les liens du menu entre eux :
ul.nav li { padding-left : 10px ; }
menus en fonctions de la taille d'écran :
Responsive Web Design
Franck Dumesnil – blogperformance.com
18
@media screen and (max-width:620px) {
ul.nav {
width: 60%;
font-size: 1.1em;
}
@media screen and (max-width:579px) {
ul.nav {
width: 320px;
font-size: 1.2em;
}
Pour conserver le menu sur 3 lignes, je bloque la largeur sur 320 px.
Responsive Web Design
Franck Dumesnil – blogperformance.com
19
Vidéo responsive :
Partie HTML
<div class="videoresponsive">
<iframe width="100%" src="http://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1"
frameborder="0" allowfullscreen></iframe>
</div>
Partie CSS
.videoresponsive {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.videoresponsive iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
Responsive Web Design
Franck Dumesnil – blogperformance.com
20
height: 100%;
}
Exercices – TP :
Création d'un menu de navigation mobile :
Le cas du menu responsive de sitepoint :
http://www.sitepoint.com/
Création d'une grille de tableau responsive en css :
Les frameworks de développement MOBILE : ou frameworks front-end
1- Utiliser BOOTSTRAP :
2- Utilisation de Jquery Mobile
3- Utiliser Foundation framework :
Responsive Web Design
Franck Dumesnil – blogperformance.com
21
nos outils de conception et dev sont : brakets & foundation
restrictions :
IE8 n'est pas supporté par Foundation. On utilisera alors https://github.com/scottjehl/Respond
avantages :
Utiliser SAAS afin de personnaliser le framework.
Concepts de la grille (ligne / colomnes ) de foundation :
foundation fonctionne avec des composants :
Le composant GRID :
http://foundation.zurb.com/docs/components/grid.html
large-x : c'est le style qui « affectera uniquement » les larges écrans : (ie) > 13
pouces.
small-x : c'est le style qui « affectera uniquement » les petits (small) écrans : (ie)
smartphone. (4,2 à 5,5 pouces)
medium-x : c'est le style qui « affectera uniquement » les moyens (medium) écrans :
(ie) tablettes ou 10 pouces.
Le style small affecte l'apparence sur les petits écrans mais aussi sur les écrans de
taille supérieure si les styles medium et large ne sont pas définis.
Exercice : on comprend avec cet exo que Foundation est mobile-first
Responsive Web Design
Franck Dumesnil – blogperformance.com
22
Large :
medium :
small : les 2 colonnes sont maintenant rendues en une seule colonne.
Quels sont les points de ruptures ? (breakpoints)
sur le site http://pxtoem.com/ on obtient les correspondances entre em et px, car dans foundation
toutes les valeurs sont données en em.
Par défaut :
de 0 à 640 pixels : small.
De 641 px à 1024px : medium
de 1025 px à 1440px : large
de 1441 px à 1920px : xlarge
de 1921 px et supérieurs : xxlarge
Responsive Web Design
Franck Dumesnil – blogperformance.com
23
Modifier les styles css par defaut :
on créé un nouveau fichier app.css et on modifie les styles existants de foundation.css. Ainsi pas de
problème lors des MAJ des versions du framework.
Responsive Web Design
Franck Dumesnil – blogperformance.com
24
Comment modifier les points de ruptures des media queries ?
Si l'on veut modifier les valeurs par défaut dans foundation il faut utiliser SAAS et travailler avec
des fichiers .scss http://sass-lang.com/
1°) Installer RUBY : http://rubyinstaller.org/
2°)
Le composant TOP-BAR
http://foundation.zurb.com/docs/components/topbar.html
Le composant INTERCHANGE
http://foundation.zurb.com/docs/components/interchange.html
Responsive Web Design
Franck Dumesnil – blogperformance.com
25
c'est le concept même du responsive , à savoir charger et diffuser des médias différents en fonction
du support.
Avec les images :
On peut créer des profils personnalisés de media queries :
il faut que la résolution minimale de l'image soit au moins de la largeur du device sinon elle ne peut
pas se réduire proprotionnellement et un vide existe à droite ou à gauche de l'image. On peut faire
un test avec test page afin de connaître la largeur en pixels de la fenêtre en cliquant sur le bouton
bleu « test a page »
Responsive Web Design
Franck Dumesnil – blogperformance.com
26
Le cas d'une image de Background :
Responsive Web Design
Franck Dumesnil – blogperformance.com
27
Personnaliser les menus de navigations responsive : Menu vertical :
modifier le breakpoint du menu :
Responsive Web Design
Franck Dumesnil – blogperformance.com
28
Wireframe : Prototype
Création des templates avec Balsamiq (pc ou mac)
Responsive Web Design
Franck Dumesnil – blogperformance.com
29
Autres front-end frameworks
http://getuikit.com/
http://getkickstart.com/
Étendre le css avec SAAS et COMPASS :
http://thesassway.com/beginner/getting-started-with-sass-and-compass
Saas permet de créer des variables dans le code css et donc de gagner du temps lors de
modification du code.
Responsive Web Design
Franck Dumesnil – blogperformance.com
30
Les fichiers doivent être compilés.
Saas permet de créer des calculs dans le code css
Saas permet de créer des conditions dans le code css
Modifier les valeurs par défaut du framework :
et notamment les valeurs de rupture des mediaqueries.
Il faut pour cela utiliser le fichier .scss
Méthode :
1°) Installer GIT, NODE JS et RUBY
2°) Installer BOWER
3°) Installer CANVAS (pour la compilation)
Ex : http://foundation.zurb.com/docs/sass.html
2 vidéos bien expliquées :
1°) https://www.youtube.com/watch?v=FCngOUW-UXg
2°) https://www.youtube.com/watch?v=IjwUuJ_i2cg
Une fois que le dossier a été créé on utilisera via powershell (windows 7 et 8)
la commande de compilation qui va créer le fichier app.css dans le dossier stylesheet à partir du
fichier .scss
Responsive Web Design
Franck Dumesnil – blogperformance.com
31
Personnalisation des fichiers css :
http://foundation.zurb.com/docs/sass-files.html
Pour modifier par exemple le point de rupture entre small et medium il suffit d'éditer le fichier
_settings.scss à la ligne 154.
ensuite il faut compiler ce fichier pour générer le fichier app.css dans le dossier :
Responsive Web Design
Franck Dumesnil – blogperformance.com
32
Rappel :
1°) installer GIT :
https://git-scm.com/download/win
2°) Installer Nodejs :
https://nodejs.org/download/
3°) Installer bower:
npm install -g bower
4°) Installer CLI:
npm install -g grunt-cli
5° Install Ruby
http://rubyinstaller.org/
6°) Install foundation
gem install foundation
Responsive Web Design
Franck Dumesnil – blogperformance.com
33
7°) Installer le compilateur compass
gem install compass
Notes:
le fichier scss/_stettings.scss n'est pas modifié lors d'un update de foundation.
http://foundation.zurb.com/forum/posts/431-questions-about-_settingsscss
seul le fichier _settings.scss est mis à jour.
Minification des CSS
Responsive Web Design
Franck Dumesnil – blogperformance.com
34
Optimisation des CSS & test de performances :
https://www.google.com/webmasters/tools/mobile-friendly
https://developers.google.com/speed/pagespeed/insights
Les navigateurs mobiles :
http://fr.wikipedia.org/wiki/Mod%C3%A8le:Parts_de_march%C3%A9_des_navigateurs_mobiles
Créer un thème wordpress avec foundation framework :
Commment Optimiser la performance mobile :
temps de chargement des images, zoom, sprite...
Sprite images : Comment ça fonctionne ?
http://openclassrooms.com/courses/bien-utiliser-les-sprites-css
Nouveaux CMS : alternatives à drupal et wp
Responsive Web Design
Franck Dumesnil – blogperformance.com
35
https://bolt.cm/
Alternatives aux framework front end : Flexbox
FlexBOX se joue nativement dans le navigateur.
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
LIENS UTILES
http://www.edwardrobertson.co.uk/blog/tag/responsive-web-design
https://www.youtube.com/watch?v=BIz02qY5BRA
http://www.w3.org/TR/css3-mediaqueries/
Video responsive :
https://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php
CSS generateurs
http://www.cssmatic.com/border-radius
Compatibilités des navigateurs :
http://caniuse.com/
Responsive Web Design
Franck Dumesnil – blogperformance.com
36
Jquery mobile :
http://www.w3schools.com/jquerymobile/default.asp
Framework ou alternatives :
http://getkickstart.com/
Technologies pour sites responsives :
http://sass-lang.com/
http://compass-style.org/
http://necolas.github.io/normalize.css/
http://fortawesome.github.io/Font-Awesome/
http://modernizr.com/
https://nodejs.org/
http://gruntjs.com/
http://bower.io/
http://semantic.gs/
Apprendre Foundation :
http://zurb.com/university
Responsive Typography :
http://gakimball.github.io/responsive-modular-scale/
http://geoffkimball.com/
CSS pre-preprocesseur
http://sass-lang.com/install
Installation SAAS :
http://stackoverflow.com/questions/26141589/gem-install-error-sass-compass
Plugins to quicker code
http://docs.emmet.io/
http://www.uistencils.com/
Realisations d'icones
http://iconion.com/fr/
Responsive Web Design
Franck Dumesnil – blogperformance.com
37
Responsive Web Design
Franck Dumesnil – blogperformance.com
38
Téléchargement