SlideShare una empresa de Scribd logo
1 de 86
Descargar para leer sin conexión
02.10.15 1
Responsive design &
développement mobile
« cross-platform »
Polytech’Nice
vendredi 2 octobre 2015
02.10.15 2
Au programme …
1. Sites web responsive
2. Développement mobile cross platform
02.10.15 3
Avant de commencer …
Faisons les présentations
02.10.15 4
Qui suis-je ?
• Ingénieur Polytech’Nice – Promotion 2006
• Fondateur & Gérant d’i2N depuis 2007
• Consultant auprès des entreprises pour
les accompagner dans leur gestion des
technologies de l’information (web, mise
en place de solutions logicielles &
matérielle)
02.10.15 5
i2N : Notre métier
Conception de sites Internet sur mesure
(institutionnel, e-commerce, mobile)
Suivi et développement (référencement,
stratégie social media)
Développement de logiciels sur mesure
Gestion de parcs informatiques &
Maintenance
02.10.15 6
i2N : Nos références
Mairie de Monaco, Sûreté Publique de Monaco, SBM, Education
Nationale, Grimaldi Forum, Radio Vitamine, Radio Riviera …
Tous secteurs : Immobilier, BTP, Institutionnels, Juridique, Services …
www.i2n.mc
02.10.15 7
Et vous ?
Quelques questions pour vous …
Quelles sont vos connaissances en Javascript ?
Avez-vous déjà développé nativement pour mobile ?
Avez-vous déjà développé un site adapté aux mobiles ?
02.10.15 8
Partie 1
Sites web responsive
02.10.15 9
Au programme …
1. Vous avez dit responsive ?
2. CSS3 et les media-query
3. Exemple d’un framework : Bootstrap
02.10.15 10
Vous avez dit responsive ?
Media queries en CSS3
02.10.15 11
Ce qu’on entend par responsive
02.10.15 12
Ce qu’on entend par responsive
02.10.15 13
Comment procéder ?
• Avant CSS3, on avait déjà
• Depuis CSS3, on a :
02.10.15 14
Format des media-query
02.10.15 15
Concrètement …
• Où place-t-on ce code ?
– Dans les feuilles de styles CSS traditionnelles
• Que peut-on faire ?
– Tout! C’est un CSS qui est exécuté avec la
condition de largeur / hauteur du media
 On peut donc envisager de :
• cacher des éléments,
• les redimensionner,
• les repositionner,
• changer la taille des polices et leurs couleurs,
02.10.15 16
Niveau compatibilité ?
02.10.15 17
Quel impact pour mon IHM ?
• Un site responsive doit se concevoir à la
base :
– On va créer l’interface utilisateur desktop en
pensant qu’on va devoir faire une interface
responsive
– On va utiliser un système de grille pour gérer les
repositionnements (12 colonnes en général)
– Le but étant de maximiser l’expérience
utilisateur, il faut donc penser à ce dont
l’utilisateur aura besoin en mobilité et au moyen
le plus simple pour lui de l’atteindre
02.10.15 18
Parlons peu, mais bien
 Voici quelques exemples de sites
responsive réalisés en @media queries
02.10.15 19
Responsive ? OK. Tests ? …
Multiplication des résolutions 
Multiplication des devices 
Multiplication des tests
02.10.15 20
Plus de tests ?
• Le responsive design ouvre un large champ des
possibles
• On peut prendre en charge tout un tas de
nouveaux cas
• On multiplie donc le nombre de device capables
de lire l’IHM
• On veut améliorer l’expérience utilisateur
 Ca veut donc dire plus de tests !
02.10.15 21
Quels outils ?
• Vos navigateurs favoris ont ce qu’il faut
– F12 sur Google Chrome
– Ctrl + Maj + M sur Firefox
• Ne pas délaisser les tests réels sur
smartphone / tablette
– Les navigateurs mobiles (iOS notamment)
nous réservent parfois quelques surprises …
02.10.15 22
Et bootstrap dans tout ça ?
Framework HTML, CSS & JS
02.10.15 23
On parlait de grille …
Pour un design responsive, on donne en général
une largeur en colonnes lesquelles occupent un %
de la largeur de l’écran
02.10.15 24
La grille de Bootstrap
Bootstrap propose une liste de classes CSS
permettant de matérialiser cette grille.
Celles-ci sont placées dans une div de classe row :
02.10.15 25
La grille de Bootstrap
• Les classes sont de différent types pour
définir la largeur d’une colonne en
fonction du device utilisé
02.10.15 26
La grille de Bootstrap
Dans le code, ces classes sont cumulables:
02.10.15 27
La grille de Bootstrap
Avec quelques outils pour vos sites responsive :
02.10.15 28
Les containers de Bootstrap
• Bootstrap propose 2 containers :
– un de largeur fixe
– un de pleine largeur
02.10.15 29
Sur une page
02.10.15 30
02.10.15 31
Bootstrap c’est aussi
• Un style CSS global: typo, couleurs, mises en forme :
– Tableaux
– Boutons
02.10.15 32
Bootstrap c’est aussi
– Formulaires
02.10.15 33
Bootstrap c’est aussi
– Navbar, Tabs, et bien d’autres éléments …
 Plus d’infos sur : http://getbootstrap.com
02.10.15 34
Oui, mais j’ai IE 8 …
Les réfractaires sous XP
02.10.15 35
On a pensé à vous !
• HTML5 Shiv et Respond.js vont ajouter le
support IE8 à Bootstrap :
(ce code est à ajouter dans le <head>)
02.10.15 36
Parlons peu, mais bien
 Voici quelques exemples de sites
responsive réalisés avec Bootstrap
02.10.15 37
Questions
Et réponses …
02.10.15 38
Partie 2
Applications mobiles cross-platform
02.10.15 39
Au programme …
1. A chaque projet sa techno
2. 1 code  Plusieurs plateformes
3. La puissance de jQuery sur mobile
4. Quelques librairies mobiles intéressantes
02.10.15 40
Bien choisir sa techno
Application ou site mobile,
Que choisir ?
02.10.15 41
Se poser les bonnes questions
• Que voulons nous faire avec notre mobile ?
– Consultation de pages Internet
– Consultation de données disponibles hors ligne
– Consultation de données remises à jour
– Interaction avec une application ou un site web
– Utiliser les fonctionnalités du mobile (boussole,
géolocalisation, accéléromètre)
– Jeux en 3D
– Streaming audio et vidéo
02.10.15 42
Avoir les bonnes réponses
• Que voulons nous faire avec notre mobile ?
– Consultation de pages Internet  Site mobile
– Consultation de données disponibles hors ligne
 Site mobile / application
– Consultation de données remises à jour
 Site mobile / application
– Interaction avec une application ou un site web
 Site mobile / application
– Utiliser les fonctionnalités du mobile (boussole, géolocalisation,
accéléromètre)
 Application Phonegap / native
– Tirer parti du mobile à 100% (jeux en 3D, streaming audio et
vidéo)
 Application native
02.10.15 43
Le cross platform c’est bien
• Mais on n’a pas accès à toutes les fonctionnalités du
mobile
• Mais on n’a pas une gestion aussi fine des performances
• Mais on n’est pas aussi rétro compatible qu’on le
souhaiterait (quoi que)
Par contre, on gagne du temps
si le choix est fait à bon escient
02.10.15 44
Phonegap / Apache Cordova
Des applis mobiles en Javascript ?
C’est possible …
02.10.15 45
Vous avez dit Phonegap ?
• Le principe général :
– 1 code unique
– Plusieurs plateformes cibles
• Les avantages:
– Temps de développement réduit
– Maintenabilité sur différentes plateformes
– 1 seul langage pour différentes plateformes
02.10.15 46
Phonegap ou Cordova ?
• Phonegap est une distribution de Cordova
– Cordova est le moteur qui fait tourner Phonegap
– Phonegap peut proposer quelques plugins complémentaires<
(notamment propriétaires)
• Cependant …
– Ils restent tous les 2 gratuits
– Ils restent tous les 2 open source
02.10.15 47
Vous avez dit Phonegap ?
• Cherche à réduire l’écart entre les téléphones
• Concrètement :
– Outil de création d’un projet type pour chaque OS
– 1 répertoire pour le code
– Code HTML + Javascript
– Librairie Javascript à inclure
– Fichier de préférences à éditer suivant les besoins
• En pratique, Phonegap crée une WebView
qui exécute du code Web
02.10.15 48
Vous avez dit Phonegap ?
• Cependant :
– Quelques petits inconvénients liés à une WebView
– N’évite pas les tests sur les différentes plateformes !
– Difficile à déboguer finement car ça reste du JS …
• Mais ces inconvénients sont à mettre en perspective par
rapport au gain de temps et aux avantages !
02.10.15 49
Ce qui est supporté
02.10.15 50
Ce qui est supporté
02.10.15 51
Ce que ça donne
02.10.15 52
Ce que ça donne
02.10.15 53
Phonegap / Apache Cordova
Oui mais techniquement ça donne quoi ?
02.10.15 54
Installer Phonegap
• Prérequis :
– Node JS
– SDK cible (Android, iOS …)
02.10.15 55
Avec Cordova
02.10.15 56
Exemple de projet
02.10.15 57
Exemple de projet
02.10.15 58
Le fichier config.xml
• Définition
– des composants disponibles
– du nom de l’application
– du splashscreen
– de paramètres globaux
– …
 Différent suivant les cibles
02.10.15 59
Le fichier config.xml (Android)
02.10.15 60
Le fichier config.xml (iOS)
02.10.15 61
Le fichier config.xml
• <widget> : domaine de l’application
• <name> : nom de l’application
• <description> & <author> : métadonnées
• <content> : page de démarrage (défaut : index.html)
• <access> : domaines extérieurs auxquels l’application peut accéder
02.10.15 62
Quelques composants …
• Accéléromètre
• Caméra
• Boussole
• Contacts
• Géolocalisation
• Lecteur multimédia
• Stockage
• Notifications
• …
02.10.15 63
Utilisation de la géolocalisation
Avec l’outil en ligne de commande :
Sous Android :
02.10.15 64
Utilisation de la géolocalisation
Sous iOS :
Sous Windows :
02.10.15 65
Utilisation de la géolocalisation
02.10.15 66
Ajoutez votre code natif …
• Possibilité de développer des plugins natifs
• Appels depuis le code Javascript :
• winParam : Fonction appelée en cas de réussite
• Error : Fonction appelée en cas d’erreur
• Service : classe de la méthode appelée
• Action : méthode appelée
02.10.15 67
Utilisation d’un plugin
• Déclarer le plugin dans le fichier config.xml
On définit la fonction echo sur l’objet window qui appelle
la méthode echo de la classe Echo
02.10.15 68
Anatomie d’un plugin Android
02.10.15 69
Anatomie d’un plugin iOS
02.10.15 70
Pour aller plus loin …
• Possibilité d’inclure des librairies Javascript spécifiques
• Possibilité d’écrire des plugins natifs
– Si cela ne vaut pas un développement spécifique …
• L’API en ligne : http://docs.phonegap.com
• Le Wiki : https://github.com/phonegap/phonegap/wiki
02.10.15 71
Le look d’une application native ?
• Malgré tous ces avantages
• Malgré tous ces composants
• Cela garde le look d’un site mobile
et non d’une application :/
 Des librairies peuvent vous y aider …
02.10.15 72
jQuery Mobile
Sites mobiles cross platform
02.10.15 73
Petites questions …
Qu’est-ce que jQuery ?
A quoi cela sert-il ?
Pourquoi l’utiliser ?
02.10.15 74
jQuery mais en mobile
• jQuery est utilisable sur Mobile
• jQueryMobile apporte des fonctionnalités cross platform
=> Layout, Dialog, Transitions, Multipage
• Différents thèmes
• Outil WYSIWYG de mise en forme
• Possibilité de décliner un site en
3 versions : classique, tablette et mobile
02.10.15 75
Avec Phonegap ?
• Intégration possible avec Phonegap
• Inclusion simple du code JS et HTML dans
l’application et le tour est joué
• Quelques variables à régler
02.10.15 76
Petit tour des fonctionnalités
http://demos.jquerymobile.com/1.4.4/
02.10.15 77
Onsen UI
Fait pour Phonegap
02.10.15 78
Construit pour Phonegap
• Librairie JS
• Définit un lot de balises HTML et d’attributs sémantiques
• Fonctionnalités cross platform et widgets
=> Layout, Dialog, Transitions, Multipage
• Différents thèmes
• Thèmes et gabarits disponibles
 http://onsen.io/
02.10.15 79
Construit pour Phonegap
02.10.15 80
Avec Phonegap ?
• Une fois cordova installé
• Téléchargez un « thème »
• Et démarrez!
02.10.15 81
Structure d’un fichier
02.10.15 82
Petit tour des composants
http://components.onsen.io/
02.10.15 83
Conclusion
All good things must come to an end
02.10.15 84
En bref …
• Le responsive saura vous apporter une IHM
adaptée à tous vos supports
• Bien utilisé, Phonegap pourra vous faire
gagner du temps en développement pour
plusieurs cibles
• jQuery Mobile / OnsenUI vous permettra de
faire de beaux sites / applicationscross-
platform
• N’évite pas les tests sur les différentes
plateformes
02.10.15 85
Questions
Et réponses …
02.10.15 86
Coordonnées
Christophe BONNET
cbonnet@i2n.mc
+377 97 98 36 98
http://www.i2n.mc

Más contenido relacionado

La actualidad más candente

Intro conception et évaluation des IHM
Intro conception et évaluation des IHMIntro conception et évaluation des IHM
Intro conception et évaluation des IHMAnne-Marie Pinna-Dery
 
IHM et Genie Logiciel: Plasticite
IHM et Genie Logiciel: PlasticiteIHM et Genie Logiciel: Plasticite
IHM et Genie Logiciel: PlasticiteMarius Butuc
 
Ergonomie et modelisation utilisateurs
Ergonomie et modelisation utilisateursErgonomie et modelisation utilisateurs
Ergonomie et modelisation utilisateursAnne-Marie Pinna-Dery
 
Ergonomie et modélisation des utilisateurs d'une ihm 2014
Ergonomie et modélisation des utilisateurs d'une ihm 2014Ergonomie et modélisation des utilisateurs d'une ihm 2014
Ergonomie et modélisation des utilisateurs d'une ihm 2014Atelier IHM Polytech Nice Sophia
 
Maquettes IHM - Présentation USE AGE - 20-02-2014
Maquettes IHM - Présentation USE AGE - 20-02-2014Maquettes IHM - Présentation USE AGE - 20-02-2014
Maquettes IHM - Présentation USE AGE - 20-02-2014Use Age
 
Cours 2 conception d'une ihm
Cours 2   conception d'une ihm Cours 2   conception d'une ihm
Cours 2 conception d'une ihm ludolmn
 
Composition d'applications multi-modèles dirigée par la composition des inter...
Composition d'applications multi-modèles dirigée par la composition des inter...Composition d'applications multi-modèles dirigée par la composition des inter...
Composition d'applications multi-modèles dirigée par la composition des inter...Atelier IHM Polytech Nice Sophia
 
Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...
Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...
Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...Anthony Gelibert
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Anne-Marie Pinna-Dery
 

La actualidad más candente (20)

Inroduction à la plasticité des interfaces
Inroduction à la plasticité des interfacesInroduction à la plasticité des interfaces
Inroduction à la plasticité des interfaces
 
Intro conception2014
Intro conception2014Intro conception2014
Intro conception2014
 
Intro conception2015vf bis
Intro conception2015vf bisIntro conception2015vf bis
Intro conception2015vf bis
 
Intro conception et évaluation des IHM
Intro conception et évaluation des IHMIntro conception et évaluation des IHM
Intro conception et évaluation des IHM
 
IHM et Genie Logiciel: Plasticite
IHM et Genie Logiciel: PlasticiteIHM et Genie Logiciel: Plasticite
IHM et Genie Logiciel: Plasticite
 
Ergonomie et modelisation utilisateurs
Ergonomie et modelisation utilisateursErgonomie et modelisation utilisateurs
Ergonomie et modelisation utilisateurs
 
Intro ihm
Intro ihmIntro ihm
Intro ihm
 
Plasticité2014 part4vf
Plasticité2014 part4vfPlasticité2014 part4vf
Plasticité2014 part4vf
 
Intro conception2017
Intro conception2017Intro conception2017
Intro conception2017
 
Ergonomie et modélisation des utilisateurs d'une ihm 2014
Ergonomie et modélisation des utilisateurs d'une ihm 2014Ergonomie et modélisation des utilisateurs d'une ihm 2014
Ergonomie et modélisation des utilisateurs d'une ihm 2014
 
Introduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHMIntroduction à la Conception et Evaluation des IHM
Introduction à la Conception et Evaluation des IHM
 
Présentation ceihma tous
Présentation ceihma tousPrésentation ceihma tous
Présentation ceihma tous
 
Modelisation et maquettage 2015
Modelisation et maquettage 2015Modelisation et maquettage 2015
Modelisation et maquettage 2015
 
Maquettes IHM - Présentation USE AGE - 20-02-2014
Maquettes IHM - Présentation USE AGE - 20-02-2014Maquettes IHM - Présentation USE AGE - 20-02-2014
Maquettes IHM - Présentation USE AGE - 20-02-2014
 
Cours 2 conception d'une ihm
Cours 2   conception d'une ihm Cours 2   conception d'une ihm
Cours 2 conception d'une ihm
 
Composition d'applications multi-modèles dirigée par la composition des inter...
Composition d'applications multi-modèles dirigée par la composition des inter...Composition d'applications multi-modèles dirigée par la composition des inter...
Composition d'applications multi-modèles dirigée par la composition des inter...
 
Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...
Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...
Plateforme Ouverte de Supervision et de Traçabilité pour les Environnements C...
 
Ihm introduction
Ihm introductionIhm introduction
Ihm introduction
 
Android201710 avrilcours3
Android201710 avrilcours3Android201710 avrilcours3
Android201710 avrilcours3
 
Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3Introduction module IHM Polytech Sophia Dept Info SI3
Introduction module IHM Polytech Sophia Dept Info SI3
 

Similar a Formation mobile-cross-platform

Responsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, MéthodologieResponsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, Méthodologieekino
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Microsoft
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8Microsoft
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
SPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsSPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsMicrosoft
 
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilVisual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilMicrosoft Technet France
 
Responsive web design new14
Responsive web design new14Responsive web design new14
Responsive web design new14FullSIX Group
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?NiceToMeetYou
 
Cahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALCahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALLaribi Aicha
 
Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...GDG Bujumbura
 
Responsive Web Design - BreizhCamp 2013
Responsive Web Design - BreizhCamp 2013Responsive Web Design - BreizhCamp 2013
Responsive Web Design - BreizhCamp 2013Julien LE THUAUT
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - AlloyMeetup Mobile Montpellier
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?codedarmor
 
Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...
Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...
Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...Microsoft
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Philippe Beraud
 

Similar a Formation mobile-cross-platform (20)

Responsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, MéthodologieResponsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, Méthodologie
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
Symfony2 et Microsoft Azure, l’efficacité de PHP dans le cloud
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
SPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsSPA avec SignalR et Angular Js
SPA avec SignalR et Angular Js
 
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œilVisual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
Visual Studio 2013 / SharePoint 2013 duo de choc de 2010 à 2013 en un clin d’œil
 
Responsive web design new14
Responsive web design new14Responsive web design new14
Responsive web design new14
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?
 
Meetup sencha
Meetup senchaMeetup sencha
Meetup sencha
 
Cahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALCahier de charges Site web DRUPAL
Cahier de charges Site web DRUPAL
 
Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...
 
Responsive Web Design - BreizhCamp 2013
Responsive Web Design - BreizhCamp 2013Responsive Web Design - BreizhCamp 2013
Responsive Web Design - BreizhCamp 2013
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?
 
Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...
Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...
Retour d&rsquo;expérience GlobeCast : Réduisez votre TCO avec les abonnements...
 
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
Créez vos apps métier Windows 8 sans expertise en programmation, grâce à Proj...
 

Formation mobile-cross-platform

  • 1. 02.10.15 1 Responsive design & développement mobile « cross-platform » Polytech’Nice vendredi 2 octobre 2015
  • 2. 02.10.15 2 Au programme … 1. Sites web responsive 2. Développement mobile cross platform
  • 3. 02.10.15 3 Avant de commencer … Faisons les présentations
  • 4. 02.10.15 4 Qui suis-je ? • Ingénieur Polytech’Nice – Promotion 2006 • Fondateur & Gérant d’i2N depuis 2007 • Consultant auprès des entreprises pour les accompagner dans leur gestion des technologies de l’information (web, mise en place de solutions logicielles & matérielle)
  • 5. 02.10.15 5 i2N : Notre métier Conception de sites Internet sur mesure (institutionnel, e-commerce, mobile) Suivi et développement (référencement, stratégie social media) Développement de logiciels sur mesure Gestion de parcs informatiques & Maintenance
  • 6. 02.10.15 6 i2N : Nos références Mairie de Monaco, Sûreté Publique de Monaco, SBM, Education Nationale, Grimaldi Forum, Radio Vitamine, Radio Riviera … Tous secteurs : Immobilier, BTP, Institutionnels, Juridique, Services … www.i2n.mc
  • 7. 02.10.15 7 Et vous ? Quelques questions pour vous … Quelles sont vos connaissances en Javascript ? Avez-vous déjà développé nativement pour mobile ? Avez-vous déjà développé un site adapté aux mobiles ?
  • 8. 02.10.15 8 Partie 1 Sites web responsive
  • 9. 02.10.15 9 Au programme … 1. Vous avez dit responsive ? 2. CSS3 et les media-query 3. Exemple d’un framework : Bootstrap
  • 10. 02.10.15 10 Vous avez dit responsive ? Media queries en CSS3
  • 11. 02.10.15 11 Ce qu’on entend par responsive
  • 12. 02.10.15 12 Ce qu’on entend par responsive
  • 13. 02.10.15 13 Comment procéder ? • Avant CSS3, on avait déjà • Depuis CSS3, on a :
  • 14. 02.10.15 14 Format des media-query
  • 15. 02.10.15 15 Concrètement … • Où place-t-on ce code ? – Dans les feuilles de styles CSS traditionnelles • Que peut-on faire ? – Tout! C’est un CSS qui est exécuté avec la condition de largeur / hauteur du media  On peut donc envisager de : • cacher des éléments, • les redimensionner, • les repositionner, • changer la taille des polices et leurs couleurs,
  • 17. 02.10.15 17 Quel impact pour mon IHM ? • Un site responsive doit se concevoir à la base : – On va créer l’interface utilisateur desktop en pensant qu’on va devoir faire une interface responsive – On va utiliser un système de grille pour gérer les repositionnements (12 colonnes en général) – Le but étant de maximiser l’expérience utilisateur, il faut donc penser à ce dont l’utilisateur aura besoin en mobilité et au moyen le plus simple pour lui de l’atteindre
  • 18. 02.10.15 18 Parlons peu, mais bien  Voici quelques exemples de sites responsive réalisés en @media queries
  • 19. 02.10.15 19 Responsive ? OK. Tests ? … Multiplication des résolutions  Multiplication des devices  Multiplication des tests
  • 20. 02.10.15 20 Plus de tests ? • Le responsive design ouvre un large champ des possibles • On peut prendre en charge tout un tas de nouveaux cas • On multiplie donc le nombre de device capables de lire l’IHM • On veut améliorer l’expérience utilisateur  Ca veut donc dire plus de tests !
  • 21. 02.10.15 21 Quels outils ? • Vos navigateurs favoris ont ce qu’il faut – F12 sur Google Chrome – Ctrl + Maj + M sur Firefox • Ne pas délaisser les tests réels sur smartphone / tablette – Les navigateurs mobiles (iOS notamment) nous réservent parfois quelques surprises …
  • 22. 02.10.15 22 Et bootstrap dans tout ça ? Framework HTML, CSS & JS
  • 23. 02.10.15 23 On parlait de grille … Pour un design responsive, on donne en général une largeur en colonnes lesquelles occupent un % de la largeur de l’écran
  • 24. 02.10.15 24 La grille de Bootstrap Bootstrap propose une liste de classes CSS permettant de matérialiser cette grille. Celles-ci sont placées dans une div de classe row :
  • 25. 02.10.15 25 La grille de Bootstrap • Les classes sont de différent types pour définir la largeur d’une colonne en fonction du device utilisé
  • 26. 02.10.15 26 La grille de Bootstrap Dans le code, ces classes sont cumulables:
  • 27. 02.10.15 27 La grille de Bootstrap Avec quelques outils pour vos sites responsive :
  • 28. 02.10.15 28 Les containers de Bootstrap • Bootstrap propose 2 containers : – un de largeur fixe – un de pleine largeur
  • 31. 02.10.15 31 Bootstrap c’est aussi • Un style CSS global: typo, couleurs, mises en forme : – Tableaux – Boutons
  • 32. 02.10.15 32 Bootstrap c’est aussi – Formulaires
  • 33. 02.10.15 33 Bootstrap c’est aussi – Navbar, Tabs, et bien d’autres éléments …  Plus d’infos sur : http://getbootstrap.com
  • 34. 02.10.15 34 Oui, mais j’ai IE 8 … Les réfractaires sous XP
  • 35. 02.10.15 35 On a pensé à vous ! • HTML5 Shiv et Respond.js vont ajouter le support IE8 à Bootstrap : (ce code est à ajouter dans le <head>)
  • 36. 02.10.15 36 Parlons peu, mais bien  Voici quelques exemples de sites responsive réalisés avec Bootstrap
  • 38. 02.10.15 38 Partie 2 Applications mobiles cross-platform
  • 39. 02.10.15 39 Au programme … 1. A chaque projet sa techno 2. 1 code  Plusieurs plateformes 3. La puissance de jQuery sur mobile 4. Quelques librairies mobiles intéressantes
  • 40. 02.10.15 40 Bien choisir sa techno Application ou site mobile, Que choisir ?
  • 41. 02.10.15 41 Se poser les bonnes questions • Que voulons nous faire avec notre mobile ? – Consultation de pages Internet – Consultation de données disponibles hors ligne – Consultation de données remises à jour – Interaction avec une application ou un site web – Utiliser les fonctionnalités du mobile (boussole, géolocalisation, accéléromètre) – Jeux en 3D – Streaming audio et vidéo
  • 42. 02.10.15 42 Avoir les bonnes réponses • Que voulons nous faire avec notre mobile ? – Consultation de pages Internet  Site mobile – Consultation de données disponibles hors ligne  Site mobile / application – Consultation de données remises à jour  Site mobile / application – Interaction avec une application ou un site web  Site mobile / application – Utiliser les fonctionnalités du mobile (boussole, géolocalisation, accéléromètre)  Application Phonegap / native – Tirer parti du mobile à 100% (jeux en 3D, streaming audio et vidéo)  Application native
  • 43. 02.10.15 43 Le cross platform c’est bien • Mais on n’a pas accès à toutes les fonctionnalités du mobile • Mais on n’a pas une gestion aussi fine des performances • Mais on n’est pas aussi rétro compatible qu’on le souhaiterait (quoi que) Par contre, on gagne du temps si le choix est fait à bon escient
  • 44. 02.10.15 44 Phonegap / Apache Cordova Des applis mobiles en Javascript ? C’est possible …
  • 45. 02.10.15 45 Vous avez dit Phonegap ? • Le principe général : – 1 code unique – Plusieurs plateformes cibles • Les avantages: – Temps de développement réduit – Maintenabilité sur différentes plateformes – 1 seul langage pour différentes plateformes
  • 46. 02.10.15 46 Phonegap ou Cordova ? • Phonegap est une distribution de Cordova – Cordova est le moteur qui fait tourner Phonegap – Phonegap peut proposer quelques plugins complémentaires< (notamment propriétaires) • Cependant … – Ils restent tous les 2 gratuits – Ils restent tous les 2 open source
  • 47. 02.10.15 47 Vous avez dit Phonegap ? • Cherche à réduire l’écart entre les téléphones • Concrètement : – Outil de création d’un projet type pour chaque OS – 1 répertoire pour le code – Code HTML + Javascript – Librairie Javascript à inclure – Fichier de préférences à éditer suivant les besoins • En pratique, Phonegap crée une WebView qui exécute du code Web
  • 48. 02.10.15 48 Vous avez dit Phonegap ? • Cependant : – Quelques petits inconvénients liés à une WebView – N’évite pas les tests sur les différentes plateformes ! – Difficile à déboguer finement car ça reste du JS … • Mais ces inconvénients sont à mettre en perspective par rapport au gain de temps et aux avantages !
  • 49. 02.10.15 49 Ce qui est supporté
  • 50. 02.10.15 50 Ce qui est supporté
  • 51. 02.10.15 51 Ce que ça donne
  • 52. 02.10.15 52 Ce que ça donne
  • 53. 02.10.15 53 Phonegap / Apache Cordova Oui mais techniquement ça donne quoi ?
  • 54. 02.10.15 54 Installer Phonegap • Prérequis : – Node JS – SDK cible (Android, iOS …)
  • 58. 02.10.15 58 Le fichier config.xml • Définition – des composants disponibles – du nom de l’application – du splashscreen – de paramètres globaux – …  Différent suivant les cibles
  • 59. 02.10.15 59 Le fichier config.xml (Android)
  • 60. 02.10.15 60 Le fichier config.xml (iOS)
  • 61. 02.10.15 61 Le fichier config.xml • <widget> : domaine de l’application • <name> : nom de l’application • <description> & <author> : métadonnées • <content> : page de démarrage (défaut : index.html) • <access> : domaines extérieurs auxquels l’application peut accéder
  • 62. 02.10.15 62 Quelques composants … • Accéléromètre • Caméra • Boussole • Contacts • Géolocalisation • Lecteur multimédia • Stockage • Notifications • …
  • 63. 02.10.15 63 Utilisation de la géolocalisation Avec l’outil en ligne de commande : Sous Android :
  • 64. 02.10.15 64 Utilisation de la géolocalisation Sous iOS : Sous Windows :
  • 65. 02.10.15 65 Utilisation de la géolocalisation
  • 66. 02.10.15 66 Ajoutez votre code natif … • Possibilité de développer des plugins natifs • Appels depuis le code Javascript : • winParam : Fonction appelée en cas de réussite • Error : Fonction appelée en cas d’erreur • Service : classe de la méthode appelée • Action : méthode appelée
  • 67. 02.10.15 67 Utilisation d’un plugin • Déclarer le plugin dans le fichier config.xml On définit la fonction echo sur l’objet window qui appelle la méthode echo de la classe Echo
  • 68. 02.10.15 68 Anatomie d’un plugin Android
  • 70. 02.10.15 70 Pour aller plus loin … • Possibilité d’inclure des librairies Javascript spécifiques • Possibilité d’écrire des plugins natifs – Si cela ne vaut pas un développement spécifique … • L’API en ligne : http://docs.phonegap.com • Le Wiki : https://github.com/phonegap/phonegap/wiki
  • 71. 02.10.15 71 Le look d’une application native ? • Malgré tous ces avantages • Malgré tous ces composants • Cela garde le look d’un site mobile et non d’une application :/  Des librairies peuvent vous y aider …
  • 72. 02.10.15 72 jQuery Mobile Sites mobiles cross platform
  • 73. 02.10.15 73 Petites questions … Qu’est-ce que jQuery ? A quoi cela sert-il ? Pourquoi l’utiliser ?
  • 74. 02.10.15 74 jQuery mais en mobile • jQuery est utilisable sur Mobile • jQueryMobile apporte des fonctionnalités cross platform => Layout, Dialog, Transitions, Multipage • Différents thèmes • Outil WYSIWYG de mise en forme • Possibilité de décliner un site en 3 versions : classique, tablette et mobile
  • 75. 02.10.15 75 Avec Phonegap ? • Intégration possible avec Phonegap • Inclusion simple du code JS et HTML dans l’application et le tour est joué • Quelques variables à régler
  • 76. 02.10.15 76 Petit tour des fonctionnalités http://demos.jquerymobile.com/1.4.4/
  • 77. 02.10.15 77 Onsen UI Fait pour Phonegap
  • 78. 02.10.15 78 Construit pour Phonegap • Librairie JS • Définit un lot de balises HTML et d’attributs sémantiques • Fonctionnalités cross platform et widgets => Layout, Dialog, Transitions, Multipage • Différents thèmes • Thèmes et gabarits disponibles  http://onsen.io/
  • 80. 02.10.15 80 Avec Phonegap ? • Une fois cordova installé • Téléchargez un « thème » • Et démarrez!
  • 82. 02.10.15 82 Petit tour des composants http://components.onsen.io/
  • 83. 02.10.15 83 Conclusion All good things must come to an end
  • 84. 02.10.15 84 En bref … • Le responsive saura vous apporter une IHM adaptée à tous vos supports • Bien utilisé, Phonegap pourra vous faire gagner du temps en développement pour plusieurs cibles • jQuery Mobile / OnsenUI vous permettra de faire de beaux sites / applicationscross- platform • N’évite pas les tests sur les différentes plateformes