Faire du web moderne à destination de tous. Julien Wajsberg Paris-Web octobre 2012



Documents pareils
Spétechs Mobile. Octobre 2013

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

Devenez un véritable développeur web en 3 mois!

Recommandations techniques

Formation : WEbMaster

Spétechs Mobile. D e r n i è r e m i s e à j o u r : s e p t e m b r e

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Ajax, RIA et HTML Prise en charge d Ajax

Pierre-Louis Théron Nikolay Rodionov Axel Delmas

HTML5 et CSS3 pour des sites Responsive Web Design

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Mobilité Comment Drupal peut-il nous aider? Jean-Baptiste Guerraz - jbguerraz@gmail.com

Poste virtuel. Installation du client CITRIX RECEIVER

HTML. Notions générales

Pour en expliquer le principe, on se limitera à deux exemples :

Media queries : gérer différentes zones de visualisation

CONFÉRENCE WEB 2.0. UPDATE ASBL Michaël Barchy 23 janvier 2013

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

RESPONSIVE WEB DESIGN

IPHONE BANNIÈRE CLASSIQUE DIMENSIONS. Standard : 320 x 53 (portrait) 20Ko Jpeg/Gif/Png. HD : 640 x 106 (portrait) 20Ko Jpeg/Gif/Png DESCRIPTION

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Responsive Design. Technologies du web. Stéphane Bouvry, 2014

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr

Optimiser pour les appareils mobiles

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Bureautique Initiation Excel-Powerpoint

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

1. La notion de cascade

Travaux dirigés n 10

Point sur les solutions de développement d apps pour les périphériques mobiles

La rencontre des mondes virtuels et du web au service de puissantes applications accessibles à tous

Présentation du Framework BootstrapTwitter

CHAPITRE 11. Temps réel Remy Sharp

Guide utilisation SFR Sync. SFR Business Team - Présentation

Marie-eve TREMBLAY GROUPE B. Rapport de synthèse : Le responsive web design, CSS3 et HTML5. Apprentissage autonome 582-FXA-06

Programmation Web. Madalina Croitoru IUT Montpellier

Firefox pour Android. Guide de l utilisateur. press-fr@mozilla.com

Table des matières. Page 1 de 7

Introduction à HTML5, CSS3 et au responsive web design

WORKSHOP OBIEE 11g (version ) PRE-REQUIS:

Guide de réalisation d une campagne marketing

Programmation Web. Introduction

Webmaster / Webdesigner / Wordpress

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Un jour, une question Réponse à une problématique issue de la liste GTA *

WINDOWS Remote Desktop & Application publishing facile!

Optimiser les s marketing Les points essentiels

Exigences système Edition & Imprimeries de labeur

Les outils de création de sites web

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

Les applications mobiles dédiées au commerce de proximité Intervenant : Julien Hatton (Buzznative) et Khalid Sadiki (Hithik et Ecotravel)

Le Web de A à Z. 1re partie : Naviguer sur le Web

cbox VOS FICHIERS DEVIENNENT MOBILES! INTERFACE WEB MANUEL D UTILISATION

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux?

Google Tag Manager v2 v1 dispo sur GTM pour les nuls dispo sur

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Des solutions sur mesure à partir de modules fonctionnels & CRM associés à un studio de customisation.

.ARCHITECTURE ET FONCTIONNEMENT

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Jean-Pierre VINCENT Consultant indépendant

Service d Audio et Visioconférence

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Exigences système BauBit pro

Géolocalisation. Remy Sharp

Exigences système Edition & Imprimeries de labeur

VIDEO RECORDING Accès à distance

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?


Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

CTIconnect PRO. Guide Rapide

PROGRAMME DE LA 1ERE JOURNEE DE FORMATION : QUALITE WEB ET REFERENCEMENT NATUREL

MailStore Server 7 Caractéristiques techniques

Perspectives en matière de portails géographiques et de 3D

domovea Portier tebis

{less} Guide de démarrage

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

TP JAVASCRIPT OMI4 TP5 SRC

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Portabilité sur système Android d un système de borne d information

Avanquest Software présente la nouvelle gamme WebEasy 8

Technologies Web avancées. ING1 SIGL Technologies Web avancées

ING & NEWSLETTER NEWSLETTER RESPONSIVE

Sage 100 CRM Les compatibilités Version Mise à jour : 2015 version 8

SOMMAIRE. Découvrir SAGECRM. Informations techniques. Informations Supplémentaires

HTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.

Navigateurs Firefox / Chrome / IE / Safari et les autres

Récupérer la version précédente ou perdue d un document

FAQ Mobiclic/ Toboclic

Découvrez notre solution Alternative Citrix / TSE

WINDEV MOBILE. ios SMARTPHONE SUPPORT: IOS, ANDROID, WINDOWS PHONE 8.

Transcription:

Faire du web moderne à destination de tous Julien Wajsberg Paris-Web octobre 2012

différents devices résolution et densité PC et écrans, tablettes, mobiles

entrées utilisateurs clavier souris écrans touch PC de bureau touch stylet clavier virtuel tablettes touch stylet clavier virtuel clavier physique molette mobiles

contextes connectivité, latence attention, concentration environnement chez soi au bureau dans un magasin dans le métro, le train dans un parc

d'après Luke Wroblewski tablettes : chez soi* smartphones : en mobilité * «chez soi» peut signifier aussi «en vacances» source : http://www.lukew.com/ff/entry.asp?1571

OS et navigateurs

Safari Mobile Opera Mini

Android Browser Chrome for Android Opera Mobile Opera Mini Firefox for Android

Windows Mobile 6 Internet Explorer 8 Mobile Windows Phone 7 Internet Explorer 9 Windows 8 Internet Explorer 10

défis du design multi devices s'adapter à la résolution s'adapter à l'entrée utilisateur s'adapter au contexte s'adapter à la connectivité s'adapter aux navigateurs

défis du design multi devices s'adapter à la résolution s'adapter à l'entrée utilisateur s'adapter au contexte s'adapter à la connectivité s'adapter aux navigateurs

Rappelons nous

2001 : Internet Explorer 6

2004 : Firefox 1

2005 : Internet Explorer 7 le développement débute 2006 : Internet Explorer 7

nous avons appris qu'en développant pour une seule plate-forme nous la faisons stagner

Revenons en 2012

les navigateurs modernes nous entourent

-webkit est omniprésent sur mobile

des navigateurs anciens sont toujours là 15 à 30 % de parts de marché pour IE7/8

nous devons nous assurer de conserver la diversité est bénéfique pour le Web

quoi de nouveau dans le web HTML5 des balises des attributs des APIs CSS3 des sélecteurs des propriétés des media queries avancées (pour le «responsive design») JavaScript nouvelles méthodes nouvelles syntaxes

HTML5 : les balises balises sémantiques section, article, header, footer, etc Possibilités : utiliser le script «html5shiv» utiliser le préfixe XML «html5» utiliser à la fois ces balises et des div avec une classe du même nom utiliser uniquement des div avec des classes section, article, etc mon opinion pour l'instant : la dernière solution est la plus facile et la plus flexible

HTML5 : multimédia video, audio : utiliser un fallback Flash voir http://html5video.org/ pour une table de comparaison des solutions canvas : utiliser un fallback en JavaScript pour Internet Explorer (attention : c'est lent), et un fallback texte (entre <canvas> et </canvas>) qui est lu par les revues d'écran récentes

HTML5 : nouveaux attributs formulaires : tel, number, url : à utiliser formulaires : color, date, etc : problème d'accessibilité lorsqu'ils sont supportés attributs de validation : à utiliser avec attention, fournir un fallback javascript (sans oublier la vérification serveur évidemment) attributs «data» : à utiliser! enfin un moyen standard d'associer des données à des éléménts!

HTML5 : APIs WebSocket, postmessage, traitement du JSON, local storage, XHR2, Web Workers, File, request animation frame, Database, Audio, WebRTC bien sûr pas présents dans les vieux navigateurs pas tous présents dans tous les navigateurs modernes quand ils sont présents, ils n'ont pas toujours la même API et sont parfois préfixés c'est du boulot supplémentaire pour les utiliser et pour les faire fonctionner de la même manière dans tous les navigateurs qui les supportent. c'est le prix à payer lorsqu'on utilise des API non stabilisées.

Javascript et DOM APIs coder redevient amusant exemples : méthodes d'array (foreach, map, filter, etc), queryselector/queryselectorall, Object.keys, function binding, getelementsbyclassname, classlist... deux manières de gérer : polyfills ou wrappers les wrappers sont peut-être plus populaires mais ça amène une dépendance

polyfills une bonne manière d'éviter le code spaghetti même API que l'api standard, on implémente en JavaScript, mais l'implémentation peut se comporter différemment des fois c'est facile, et des fois non il faut faire la part des choses entre «cette fonction est super importante» et «j'ai besoin de 300ko de script pour l'implémenter» une liste de polyfills, parfois perfectibles : https://github.com/modernizr/modernizr/wiki/html5-cross-browser-polyfills

wrappers avec underscore ou Lo-Dash, on peut facilement utiliser des méthodes fonctionnelles http://underscorejs.org/ http://lodash.com/ des bibliothèques orientées DOM comme jquery utilient déjà des APIs DOM plus rapides si elles sont dispos d'autres existent : requestanimationframe, websocket...

fonctions dont la spécification est finalisée polyfills wrappers doit être conforme à la spécification parfois complexe à faire correctement à utiliser si la fonctionnalité peut être amenée à changer

parlons maintenant de CSS

CSS3 Par construction, CSS est permissif : si un navigateur ne comprend pas quelque chose, il l'ignore c'est donc possible d'utiliser des propriétés nouvelles, mais il faut aussi utiliser les anciennes comme fallback Ah oui, aussi, arrêtons de penser qu'on aura le même rendu dans tous les navigateurs

CSS : sélecteurs présumons qu'ie6 n'est plus utilisé. IE 7 est le navigateur le plus vieux les sélecteurs CSS 2 sont les plus importants. Super, IE7 les supportent! CSS3 amène des choses avancées comme :not,:target,::first-line,::first-letter à utiliser pour du cosmétique si vraiment on les veut dans IE7/8, on peut utiliser selectivzr (http://selectivizr.com/)

CSS : des propriétés en CSS 2 on a display: table, inline-block, le contenu généré bonne nouvelle : IE8 supporte tout ça! CSS 3 amène des gradients, fonds multiples, etc utiliser des vieilles propriétés comme fallback

CSS : example with backgrounds div { background : rgb(255, 127, 127); background : rgba(255, 127, 127,.5); /* works with IE9 */ /* Saf4+, Chrome */ background: -webkit-gradient(linear, left top, left bottom, from(#444444), to (#999999)); /* Chrome 10+, Saf5.1+, ios 5+ */ background: -webkit-linear-gradient(top, #444444, #999999); /* FF3.6+ */ background: -moz-linear-gradient(top, #444444, #999999); /* Opera 11.10+ */ background: -o-linear-gradient(top, #444444, #999999); /* W3C */ /* pas de préfixe MS car IE10 va utiliser uniquement la version sans préfixe */ background: linear-gradient(to bottom, #444444, #999999); }

d'autres propriétés CSS transformations, transitions, animations pourrait être fait en JS pour les navigateurs qui ne les supportent pas mais c'est bien lent et ça saccade et ça rame il suffit de... ne pas utiliser d'animations dans ces navigateurs, non? ;-)

Attention! Les vieux navigateurs sont lents

Les vieux navigateurs sont lents avec JavaScript on pourrait amener les fonctions modernes de CSS et JS aux vieux navigateurs mais en plus d'avoir moins de fonctions, ils sont péniblement lents lents pour télécharger des ressources lents pour analyser lents pour faire le rendu lents pour exécuter le JS et accéder au DOM acceptons que les vieux navigateurs n'auront pas toutes les fonctions modernes mais n'oublions pas qu'il y a des utilisateurs derrière fournissons leur une expérience acceptable

Quelques outils

Quelques outils Modernizr : http://modernizr.com/ l'utiliser pour changer de comportement/style en fonction des fonctions disponibles has.js : https://github.com/phiggins42/has.js/ préprocesseurs (Sass...) aide à utiliser les préfixes corrects pour tous les navigateurs c'est le «wrapper» de CSS : il est facile de définir des fonctions/mixins/imports pour des fonctions en cours de spécification peut permettre de supporter des vieux navigateurs côté serveur voir http://nicolasgallagher.com/mobile-first-css-sass-and-ie/

When can I use? http://caniuse.com

HTML5 Please! http://html5please.com

CSS3 Please! http://css3please.com

d'autres outils http://css3please.com Ceaser : http://matthewlein.com/ceaser/

à retenir

à retenir c'est plutôt facile de coder pour IE7 on code surtout pour des utilisateurs, ils ne choisissent pas d'utiliser IE7 c'est plutôt facile de coder pour d'autres moteurs que webkit La diversité est importante pour la pérennité du web

questions?

sources des images le vieux camion: http://www.fotopedia.com/items/flickr-5607519430 les outils : http://www.fotopedia.com/items/flickr-3147506658 des mains anonymes : http://www.brand.orange.com/pages/view.php?ref=76049