Xavier Tannier Web pour le mobile (introduction)

Slides:



Advertisements
Présentations similaires
Lundi 15 Décembre 2008 Aujourd'hui, les balises et.
Advertisements

AthleteMonitoring.com © 2003, 2012, Advanced Fitness Designs, Inc. Tous droits réservés. Reproduction interdite.
ZOTERO logiciel de gestion bibliographique
1Er Partie Intervenants : Nuno Barata Alain Joly Thierry Belvigne
Introduction aux Web Services Partie 1. Technologies XML
Conception de Site Webs Interactifs Cours 4
Introduction aux fonctions de gestion de contenu Web dans Microsoft Office SharePoint Server 2007.
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
HTML CSS.
Utilisation de l’outil Firebug
1 Modèles. 2 Sauvegarder le code en cliquant sur editer html 4 zones avec scroll
Introduction aux CMS.
Gestion de la communication par établissement sur le site ville
WEB MOBILE Web Éducation Québec, le 24 mars 2011.
Introduction aux Web Services Partie 1. Technologies HTML-XML
Dream Factory: Enguerran Poulain Paul Fontaine Akram Benayaha
CSS3 Font Face Utiliser des polices de caractère non standard.
ManageEngine ADSelfService Plus
JQuery.
Applications Internet – cours 3 La page web
Présenté par : Kalleli Dhouha
IHM Responsive Design François BONNEVILLE aricia - Laboratoire d'Informatique de lUniversité de Franche-Comté
~ Les bonnes pratiques ~
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Interfaces et Scénarisation (COM2571) 5 novembre 2013 Grégory Petit
Xavier Tannier Module de Programmation Web Introduction.
Configuration de Windows Server 2008 Active Directory
SITES E-COMMERCE RESPONSIVE
Première partie: Optimisation et formats dimages standards pour le Web Par Thierry Goulet Web Designer, Ministère de la Sécurité publique De 9h45 à 10h45.
Projet Génie Logiciel & UML, Bases de Données & Interfaces
HTML / CSS Gestion des systèmes d’information Classe terminale
M. Larooussi Formatage de documents - CSS École dété INSAT Août 2006.
AJAX.
Mars 2013 Grégory Petit
Feuilles de styles CSS Syntaxe d'application d'un style à une balise HTML : Les différents types de style : Pourquoi utiliser un style ? Possibilité étendue.
31 octobre 2012 Grégory Petit
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
Jquery.
Le langage XHTML 420-S4W-GG Programmation Web Client
Les feuilles de style en HTML. CSS CSS: feuilles de style en cascade Permettent d’appliquer une mise en page à l’ensemble d’un site très simplement Permettent.
Création et présentation d’un tableau avec Word 2007
Le langage du Web CSS et HTML
Outil de gestion des cartes grises
KIWAPP IS A B2B FULL-STACK APP-MANAGEMENT TOOL KIWAPP EN QUELQUES ETAPES Octobre 2014.
LE CSS ISN Terminale S CSS Types de styles.
2. Premiers pas en CSS… Comprendre le fonctionnement de la syntaxe CSS
1. 1.Présentation 2. 2.Recherche 3. 3.Création 4. 4.Elaboration 5. 5.Démonstration 6. 6.Conclusion Réalisation d’un site web pour l’association « Les passeurs.
Cours de programmation web
L’ ACCESSIBILITE « C’est mettre le Web et ses services à la disposition de tous les individus, quels que soient leur matériel ou logiciel, leur infrastructure.
Application des CSS Régie des rentes du Québec Carolyne Dubé, RRQ Éric Fontaine, DMR.
SMIL Synchronized Multimedia Integration Language
HTML Cours 3. Plan du cours Les feuilles de styles CSS Mise en forme du texte et des paragraphes.
AJAX Open Source Etat de l’art Baris Ulucinar, Octobre 2006 University of Fribourg, Suisse Sous la direction de Prof. O. Abou Khaled.
Karine Vallin - Dorian Baysset
Réunion de projet PLATE-FORME WEB TOUBA TAVERNY Tâches comité de direction.
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
Dreamweaver MX Jauneau Marie Claude-Antoine Zarate.
Présentation Dreamweaver – Partie 2 Mickaël PIQUE – Automne 2004.
SI28 - Écriture multimédia interactive – A2004 Présentation Dreamweaver Partie 2 Pierre Malet GSU05.
Dreamweaver le retour Avec Les Formulaires Les Calques
Dreamweaver 2 Plan 1.Calques 2.CSS 3.Modèles 4.Comportements 5.Formulaires 6.Mise en ligne 1 Timothée Devaux Myriam Roudy Dreamweaver 2 Printemps 2008.
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
Elise Pierrot, GSU04 ImageReady, traitement d’image pour le WEB Présentation SI28.
Introduction au HTML Qu’est ce que le HTML ?
Dreamweaver 2 Feuilles de Style CSS Formulaires Calques Comportements
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
Responsive Web Design Performant 8 juin Thomas SOUDAZ Fondateur de la société Refficience, Consultant WebPerf et SEO Site : Refficience.com .
Transcription de la présentation:

Xavier Tannier Web pour le mobile (introduction)

Programmation Web Mobile Xavier Tannier Appareils mobiles Les limitations des appareils mobiles – La taille des écrans – La puissance de processeurs – La taille de la mémoire embarquée – La lenteur de la connexion Un site Web pour mobiles doit être léger ! Les « plus » des appareils mobiles – La géolocalisation – Le scrolling 2

Programmation Web Xavier Tannier Mobile La diversité des supports 3 Navigateurs … Téléphones … Tablettes … Autres

Programmation Web Xavier Tannier Mobile Résolutions 4 source : (Geoffrey Dorne)

Programmation Web Mobile Xavier Tannier Mobilité et vitesse Vitesse de chargement – Le réseau est plus lent que sur un support fixe ! Pas dimages inutiles Des images compressées au maximum Pas/moins de publicités Vitesse de lecture – Linternaute mobile est pressé ! Navigation simplifiée Pas de longs blocs de texte (plutôt des listes à puces) 5

Programmation Web Xavier Tannier Mobile Adaptation au support par exemple, accès aux boutons Androïd Intégration au support téléchargement facile, icône à portée de doigt Développement et maintenance coûteux si on vise plusieurs plateformes Modèle économique une appli payante reverse 30 % aux app stores Dépendance on est à la merci des changements décidés par Google, Apple & C° Visibilité grâce aux plateformes de téléchargement Standards existants ou en cours de développement Liberté de création pas de plateforme de téléchargement qui filtre arbitrairement Adaptation au support et à leurs différentes technologies Sécurité pas de plateforme qui vérifie les sites Performances accès par un navigateur avec des limitations en mémoire et en cache Développement et maintenance réduits Site Web ou application ? 6

Programmation Web Xavier Tannier Mobile Site Web ou application ? 7

Programmation Web Xavier Tannier Mobile On perd beaucoup des avantages cités précédemment ! Sans profiter plus des avantages des applications… Expérience optimisée en fonction du média Des scripts de redirection pour tous les langages : Site Web ou application ? 8 Un support = une page Web Un seul site qui sadapte Cacher des images Cacher du texte Désactiver le scroll horizontal Agrandir boutons et liens Débuter par la version mobile Progresser vers les versions plus grandes Utiliser les « media queries » Modifier le style de sa page classique en fonction du support Conception adaptative « Responsive Web Design »

Media Queries (CSS3)

Programmation Web Xavier Tannier Mobile Syntaxe 10 Déclaration Syntaxe Opérateurs : "and", "only", "not" et "," (ou) Exemple : "screen and (min-width: 200px) and (max-width: 640px)" Pour éviter le redimensionnement automatique par le smartphone On peut spécifier les contraintes ici ou dans le CSS

Programmation Web Xavier Tannier Mobile Types de médias 11 screenÉcrans classiques handheldPériphériques mobiles ou de petite taille printImprimantes speech / auralSynthèses vocales brailleBraille embossedImprimantes braille projectionProjecteurs (ou présentations par slides) ttyPolices fixes (télétypes, terminaux, …) tvTéléviseurs allTous La majorité des navigateurs sur smartphones se considèrent comme « screen »

Critères 12 height*Hauteur de la zone daffichage width*Largeur de la zone daffichage aspect-ratio*Ratio du périphérique (4/3, 16/9…) device-height*Hauteur du périphérique device-width*Largeur du périphérique device-aspect-ratio*Ratio de la zone daffichage concernée orientationOrientation (portrait ou landscape) resolution*Résolution (en dpi ou en cpcm) color*Support de la couleur monochrome*Périphérique monochrome/à niveaux de gris color-index*Nombre de couleurs dans lindex gridPériphérique de type grille (1) ou bitmap (0) scanType de balayage (interlace ou progressive) * À utiliser avec les préfixes -min et -max

Bonnes pratiques

Programmation Web Xavier Tannier Mobile Mise en page 14 Pas de imbriqués non nécessaires Pas de flash (non compatible sur de nombreux supports) Pas dappel à des styles en ligne Pas de positionnements absolus Respecter les normes Utiliser une mise en page simple Utiliser des unités de mesures relatives (%, em, ex) Utiliser les bornes min- et max-

Colonnes 15 Navigation Menus Contenu Pub News Contenu lié Sur PC Sur mobile Liens Pub Navigation Menus Pub Contenu Pub News Contenu lié screen and (max-width:768px) { * { width: 100%; margin: 0; padding: 0;} } CSS

Contenu 16 Navigation Menus Contenu Pub News Contenu lié Sur PC Sur mobile Liens Pub Navigation Menus Pub Contenu Pub News Contenu lié screen and (max-width:768px) {.not-mobile: { display: none; } } CSS HTML

Programmation Web Xavier Tannier Mobile Divers 17 /* Césures, mots longs, passages à la ligne screen and (max-width:768px) { *: { word-wrap: break-word; -webkit-hyphens: auto; /* Safari/Chrome */ -moz-hyphens: auto; /* Firefox, other Gecko */ hyphens: auto; /* Opera/IE 8+ */ } CSS /* Message personnalisé screen and (max-width:768px) { body:before { content: "Version mobile"; display: block; } CSS

Programmation Web Xavier Tannier Mobile Divers 18 /* Pour empêcher les débordements * (width + padding + border = taille totale) screen and (max-width:768px) { *: { -webkit-box-sizing: border-box; /* Safari/Chrome */ -moz-box-sizing: border-box; /* Firefox, other Gecko */ box-sizing: border-box; /* Opera/IE 8+ */ } CSS

Frameworks (librairies) pour mobile

Programmation Web Mobile Xavier Tannier Frameworks pour mobile Choisissez-les basés sur HTML5 ! – jQuery Mobile – Sencha Touch (2) – Dojo – The M Project – DHTMLX Touch – Mobilize.js Et dautres spécifiques pour les jeux, les graphiques, les animations, etc.

Touch Events Gérer les événements tactiles en javascript

Types dévénements 22 touchstartLutilisateur pose un « touch point » (doigt ou stylet) sur la surface tactile touchendLutilisateur retire un touch point touchmoveLutilisateur déplace un touch point touchenterUn touch point entre dans un élément touchleaveUn touch point quitte un élément touchcancelLe navigateur arrête la prise en compte dun événement touch /* Pour récupérer un événement touch et ses coordonnées */ elem.addEventListener(touchstart, callTouchStart, false); function callTouchStart(e) { var touchPoint = e.touches.item(0); var x = touchPoint.screenX; var y = touchPoint.screenY; … } Javascript

Linterface TouchEvent targetObjectLa cible associée à lévénement typeStringLe type de lévénement (voir liste page précédente) touchesTouchListLa liste de tous les points de contact en cours changedTouchesTouchListLa liste de tous les points de contact ayant été modifiés depuis le dernier événement targetTouchesTouchListLa liste de tous les points de contact ciblés par un événement altKeyBooleanLa touche alt était-elle enfoncée ? ctrlKeyBooleanLa touche ctrl était-elle enfoncée ? metaKeyBooleanLa touche meta était-elle enfoncée ? shiftKeyBooleanLa touche shift était-elle enfoncée ? 23 /* Tester si la touche alt est enfoncée au moment de lévénement */ function callTouchStart(e) { if (e.altKey) { … } Javascript

Programmation Web Xavier Tannier Mobile Linterface TouchList 24 lengthlongLe nombre de points de contacts /* Pour parcourir la liste des points de contact */ elem.addEventListener(touchstart, callTouchStart, false); function callTouchStart(e) { for (var i = 0 ; i < e.touches.length ; i++) { var touchPoint = e.touches.item(i); … } Javascript identifiedTouch(long id)TouchRenvoie le point de contact de la liste portant lidentifiant spécifié Item(unsigned long index)TouchRenvoie lélément index de la liste

Programmation Web Xavier Tannier Mobile Linterface Touch 25 identifierlongLidentifiant de lobjet screenX, screenYlongLes coordonnées par rapport à lécran clientX, clientYlongLes coordonnées rapport au navigateur, sans prendre en compte le scroll pageX, pageYlongLes coordonnées par rapport au navigateur, en prenant en compte le scroll targetEventTargetLélément sur lequel le point de contact se trouve Encore peu implémentés : radiusX, radiusYlongLe rayon du doigt (de lellipse de contact) rotationAnglelongLangle (lorientation) du doigt (de lellipse de contact) forcelongLa force de la pression (entre 0 et 1)

Pour en savoir plus

Programmation Web Mobile Xavier Tannier Pour en savoir plus 27 Mobile Web Application Best Practices (W3C) : Et un résumé : HTML5 pour le mobile : Les standards du web mobile : Les applications hors ligne :