Optimiser son application web pour iPhone ou iPod Touch
Posé ici le mardi 01 janvier 2008 à 13:29 par
Avec la récente sortie française des iPhone et iPod Touch, il est maintenant intéressant de se pencher sur le développement d'application web adaptées à ce type d'appareil. Je viens tout juste d'adapter l'un des principaux services Kuantic pour une consultation sur iPhone/iTouch. Je profite de ce premier billet pour essayer d'éclaircir le sujet.

NOTE :
- Dernière mise à jour le 16 janvier 2008 : Webclip
- Cet article a été relayé par Le Journal du Net | Développeur.
- l'iPod Touch sera ici abrégé par le terme iTouch, ce qui pourra choquer quelques puristes ;]
Règles à respecter
Tout type de page internet peut être consulté sur iPhone/iPod mais quelques règles sont à respecter pour offrir une expérience agréable à l'utilisateur sur ce type d'appareil.
- Peu de contenu par page
- Contenu fractionné en portion logique et bien délimité (permet le Double tab zoom)
- Présentation de lien sous forme de bouton facile à cliquer
- Texte en caractères larges et lisibles
- Limitation de la manipulation de la page par l'utilisateur (scrolling horizontal, zoom)
- Prise en compte des avantages et contraintes de la navigation tactile
- Simplicité du contenu, Safari portable n'aime pas les plug-ins, même les plus courants.
Limitations
- Pas de Flash ou Java (mais accepte PDF)
- Nombre de pages ouvertes simultanément limité à 8
- Page web limitée à 10 Mo (ça devrait aller)
- Image limitée à 8 Mo (ça devrait aller aussi)
- Pas de Gif animés (Seule la 1ère image est affichée)
- Javascript limité à 5 secondes et à 10 Mo d'allocation
- Pas de Copier/Couper/Coller
- Pas de Drag/Drop
- Pas de sélection possible
Evénements
Les événements javascript courants ne se comportent pas tous comme prévu pour des raisons compréhensibles de navigation tactile.
MouseoveretMousemovene réagissent pas car le mouvement du doigt sur l'écran fait défiler la page.Keypress,KeyupetKeydownne sont pas pris en compte hors des textareas.Click,MousedownetMouseupsont étrangement appelés en même temps quand le doigt quitte l'écran.Doubleclickne se déclenge pas, le Double-Tap effectue un zoom quoi qu'il arrive et unevent.preventDefault()n'y changera rien.- Le One-finger panning déclenche un
onScrollune fois le mouvement stoppé. - Le Two-finger panning déclenche un
mouseWheelsi l'élément est scrollable.
Il n'existe pas vraiment d'événements propres à l'appareil. On aurait aimé un onFlick, onZoom, onPinch etc.. Heureusement Apple à récemment ajouté onorientationchange qui écoute le changement d'orientation de l'affichage. L'angle d'inclinaison, lui, est disponible par window.orientation (0, 90, -90, 180).
Viewport
Notez que la surface affichable, nommée viewport est moindre en raison des éléments d'interface :
Portrait
La résolution de l'écran est 320 x 480 pixels. Ce qui laisse une surface d'écran affichable de 320 x 356 pixels ou 320 x 416 pixels si la barre d'URL est masquée.
- Barre d'état supérieure : 20 pixels
- Barre de bouton de navigation : 44 pixels en portrait
- Barre d'URL : 60 pixels mais masquable
- Clavier : 216 pixels + 44 pixels de barre de bouton
![]()
Paysage
La résolution de l'écran est logiquement de 480 x 320 pixels. Dans ce mode, certains éléments d'interface changent de proportion. Ce qui laisse une surface d'écran affichable de 480 x 268 pixels ou 480 x 208 pixels si la barre d'URL est masquée.
- Barre d'état supérieure : 20 pixels
- Barre de bouton de navigation : 32 pixels
- Barre d'URL : 60 pixels mais masquable
- Clavier : 180 pixels + 32 pixels de barre de bouton
![]()
Afin de gérer au mieux les affichages par défaut, Apple met à disposition le metatag viewport. Le zoom, la portion de page et différentes limites d'affichage peuvent être spécifiées.
Propriétés width et height
Ces propriétés définissent la largeur et la hauteur de votre page à afficher dans le viewport. La valeur par défaut de width est 980 (valeurs comprises entre 200 et 10 000), ce qui forcera Safari à agir tel un navigateur standard de 980 pixels de large. La valeur par défaut de height est proportionnelle à celle de width (de 223 à 10 000). Il est possible d'utiliser device-width ou device-height à la place d'une valeur pour ajuster l'affichage plein écran de la page.
Ouvrir une page en pleine largeur
<meta name="viewport" content="width=device-width">
Ouvrir une page en pleine hauteur
<meta name="viewport" content="height=device-height">
Ouvrir une page en n'en afficher que 640 pixels
<meta name="viewport" content="width=640">
Propriété initial-scale
Cette propriété force un zoom par défaut sur la page lors de son ouverture. Par défaut le zoom est calculé au mieux pour afficher toute la page.
Ouvrir une page avec en zoomant 2 fois
<meta name="viewport" content="initial-scale=2.0">
Ouvrir une page sans zoom
<meta name="viewport" content="initial-scale=1.0">
Propriétés minimum-scale et maximum-scale
Cette propriété définie la valeur de zoom minimum et maximum. Les valeurs par défaut sont 0.25 (de 0.1 à 10) pour le minimum-scale et de 1.6 (0.1 à 10) pour maximum-scale.
Propriété user-scalable
Cette propriété interdit ou autorise l'utilisateur à zoomer sur la page. Par défaut à yes, elle accepte les valeurs yes (1) ou no (0).
Interdire le zoom par l'utilisateur
<meta name="viewport" content="user-scalable=no">
| Valeur par défaut | Valeur minimum | Valeur maximum | |
|---|---|---|---|
| width | 980 | 200 | 10 000 |
| height | Proportionnelle | 223 | 10 000 |
| inital-scale | Selon la page | minimum-scale | maximum-scale |
| user-scalable | yes | no | yes |
| minimum-scale | 0.25 | 0.1 | 10.0 |
| maximum-scale | 1.6 | 0.1 | 10.0 |
Il est à noter que les propriétés de ce metatag peuvent être le plus souvent cumulées.
<meta name="viewport" content="width=400, initial-scale=0.5" />
...revient à écrire
<meta name="viewport" content="width=200, initial-scale=1.0" />
Donner le même aspect au mode Portrait et Paysage
<meta name="viewport" content="width=480, maximum-scale=0.6666" />
Il existe aussi d'autres metatags spécifiques.
Désactive la reconnaissance automatique des numéros de téléphone
<meta name="format-detection" content="telephone=no">
Astuces
Détecter un iPhone/iTouch.
Les User Agents renvoyés par l'iPhone et l'iTouch ressemblent à quelque chose comme ça. Quelques détails peuvent changer selon les versions.
User Agent iPhone
Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
User Agent iPod iTouch
Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A100a Safari/419.3
Détection en Javascript
if(navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPod/i)) {
document.location="/iphone/" ;
}
Détection en Php
if (stristr($_SERVER['HTTP_USER_AGENT'], "iPhone")
|| strpos($_SERVER['HTTP_USER_AGENT'], "iPod")) {
header("location:/iphone/");
}
Css sélectifs
Lier la page à une feuille de style spécifique à l'iPod/iTouch
<link media="only screen and (max-device-width: 480px)" href="iphone.css" type="text/css" rel="stylesheet">
Lier la page à une feuille de style pour tout autre navigateur que l'iPhone/iTouch
<link media="screen and (min-device-width: 481px)" href="standard.css" type="text/css" rel="stylesheet">
Masquer la barre d'URL
La barre d'URL peut être masquée en forçant la page à scroller d'un cran dès l'affichage.
<body onload="window.scrollTo(0, 1)">
Afficher une infobulle
L'attribut title ne produit par défaut aucun effet. Il faut un peu forcer le destin pour que le comportement standard se déclenche. Ajouter un onclick par exemple.
<p title="infobulle sur iPhone !" onclick="void(0);">Mon paragraphe</p>
CSS spécifique à l'orientation
Il est très souvent utile de connaître l'orientation de l'écran pour en adapter le style. Joe Hewitt proposait une petite fonction intéressante qui permet d'appliquer un nouvel attribut orient="portrait" (portrait) ou orient="landscape" (paysage) au tag . Body
En voici ma version en utilisant l'événement onorientationchange.
body[orient="portrait"] {
background:#FF0000;
}
body[orient="landscape"] {
background:#000;
}
function updateOrientation() {
switch(window.orientation) {
case 0:
orient = "portrait";
break;
case -90:
orient = "landscape";
break;
case 90:
orient = "landscape";
break;
case 180:
orient = "portrait";
break;
}
document.body.setAttribute("orient", orient);
}
<body onorientationchange="updateOrientation();">
Changer les valeurs du Viewport en cours d'exécussion
Le metatag viewport peut être contrôlé par getElementById.
<name="viewport" id="viewport" content="user-scalable=yes" />
document.getElementById("viewport").setAttribute("content", "user-scalable=no;", false);
Faire un lien vers un numéro de téléphone
Il est aussi possible de faire des liens directement vers des numéros de téléphone.
<a href="tel:0612102132">06.12.10.21.32</a>
Faire un lien vers une carte GoogleMap
Ce type de lien ouvre l'adresse dans l'application built-in GoogleMap de l'iPhone. Sur l'iTouch, Safari s'ouvre comme un site normal.
<a href="http://maps.google.com/maps?q=paris">Paris</a>
Faire un lien vers un vidéo YouTube
Un lien de ce type vers une vidéo YouTube ouvre l'interface vidéo.
http://www.youtube.com/watch?v={youtube video id}
Rendre des champs de saisie "intelligents"
Il est possible d'activer l'autocorrection ou l'autocapitalisation lors de la saisie des champs texte.
<input autocorrect="on" />
<input autocapitalize="on" />
Ajouter un "Webclip"
La dernière version 1.1.3 du firmware permet aux utilisateurs d'ajouter un icône de raccourci (appelé WebClip bookmark) à la page d'ouverture.
Pour que votre application propose ce nouvel icône à l'utilisateur, il suffit d'ajouter le code ci-dessous dans le head de votre page HTML. L'icône doit être un PNG de 57x57 pixels.
Safari ajoutera lui-même les effets de lumière et de réflection.
<link rel="apple-touch-icon" href="/icone.png"/>
Ressources utiles
WebApp.Net
Ajout le 24/06/2008
WebApp.Net est un nouveau framework Javascript/Css permettant d'aller droit au but lors de vos développements iPhone. Je ne l'ai pas encore essayé mais la démonstration tient la route. Une bonne alternative à iUi avec une documentation correcte.
iUI
Développé par Joe Hewitt (développeur de Firefox et créateur du brillant Firebug), iUI est une librairie javascript répondant aux principaux besoins d'une webApp iPhone/iTouch. Elle inclue les fonctions Ajax, images et css adéquats pour rapidement monter une application au look&feel des applications built-in. La majorité des applications iPhone/iTouch actuelles sont montées avec cette librairie… et ça se voit ! Elles ont toutes le même aspect, l'auteur le regrette même sur son blog.
Cette libraire n'est qu'en début de développement mais les résultats sont déjà très prometteurs. Pour l'instant elle manque de documentation et d'exemples. Il faut jouer un petit peu avec pour en découvrir les possibilités.
Je reviendrai plus tard sur cette librairie qui mérite bien un article à elle seule.
Safari
Safari est le navigateur développé par Apple. Le rendu de la version desktop se rapproche grandement de la version mobile équipant les iPod/iTouch et permet d'avoir un aperçu de ses applications. Il est maintenant aussi disponible sur PC.
http://www.apple.com/fr/safari/download/
Iphone Tester
Ce site vous permet de tester votre travail à partir d'un simple PC. Bien évidement il faut s'y rendre avec Safari pour se rapprocher du résultat final. Le site se contente d'ouvrir votre URL dans un iFrame aux dimensions de l'iPhone/iTouch et d'y ajouter les diverses barres d'interface. Il est tout de même possible de changer l'orientation de l'écran mais l'événement onorientationchange n'est pas déclenché. Rien de révolutionnaire ici mais ça dépanne.
http://www.iphonetester.com/?url=votrepage.html
UserAgent Switcher
Cet add-on Firefox, permet de se faire passer pour un iPhone/iTouch en changeant le User Agent délivré par Firefox. Il suffit d'ajouter les 2 modèles de User Agent et sélectionner celui qui nous intéresse.
http://chrispederick.com/work/user-agent-switcher/
iPhoney pour Mac OSx
Les heureux possesseurs de Mac pourront utiliser ce programme pour leurs tests. Etant sur PC, je n'ai pas pu l'essayer.
http://www.marketcircle.com/iphoney/
Apple iPhone Dev Center
Apple propose une section de son Dev Center dédié à l'iPhone. Quelques ressources intéressantes, notamment les vidéos et quelques PDF mais dans l'ensemble c'est reste très basic au niveau des exemples.
http://developer.apple.com/iphone/devcenter/
Des exemples d'applications réussies
A mon sens, le site FaceBook est à ce jour l'adaptation de site la plus intéressante. Elle propose la quasi-totalité des fonctions de FaceBook dans une interface graphiquement réussie et une navigation totalement refondue. Développée par Joe Hewitt lui-même.
Netvibes
Le principe de Netvibes se prête plutôt bien à une version mobile. Les développeurs ont sût marier leur concept à la navigation tactile. Tout d'abord les onglets, puis les titres des articles, suivi des articles eux-mêmes.
Meebo
Ce service de messagerie instantanée propose également une version optimisée des plus pratiques. L'application ne propose rien de plus qu'une liste de noms de contact et une fenêtre de discussion : pas besoin de plus.
Conclusion
Vous voilà assez armé pour vous lancer dans l'adaptation de votre application en version iPhone/iTouch. Phénomène de mode ou réelle plus-value, je ne sais pas si l'adaptation en vaut vraiment la chandelle, mais à l'heure de la médiatisation de certains phénomènes mobile/web2.0, afficher un "iPhone optimized" n'est pas négligeable sur un service digne de ce nom.
N'hésitez pas à ajouter vos commentaires et expériences ci-dessous.
Ce contenu est mis à disposition selon les termes de la licence Creative Commons 2.0 France : Paternité, Pas d'Utilisation Commerciale, Partage des Conditions Initiales à l'Identique.
Context
Thématiques :
Trackbacks
2 trackbacks
Comment optimiser son site iPhone?
Sur , publié le mercredi 01 juillet 2009 10:28
C’est sur le blog de Jay Salvat que l’on trouve un article intéressant qui reprend les éléments essentiels d’un bon site iPhone.Règles à respecter, utilisation des évènements javascript pour la rotation et l’inclinaison de l...
Optimiser un site web pour l’iPhone
Sur , publié le dimanche 13 juillet 2008 18:17
Ce message s’adresse plutôt aux bricoleurs du web : les webmasters.Xavier m’a fait part d’un lien que je souhaite partager avec vous : il s’agit d’un guide permettant d’optimiser l’affiche d’un site in...



Commentaires
41 commentaires
Merci pour ton article regorgeant de conseil et bonnes idée!
1. Par Jbj le samedi 05 janvier 2008 à 08:12
Merci pour cet article riche en conseils et idées, c'est vraiment bien et tellement rare sur la Toile à vrai dire. ;)
2. Par Camille le dimanche 06 janvier 2008 à 04:36
Avis aux developpeurs, ajouter safari/iphone à votre liste de navigateur à tester ;)
Merci pour ce tuto, chapeau bas!
Une remarque concernant Iphone Tester, de nombreux sites ont un rendu differents, il semble donc que ce tester ne soit pas une tres bonne reference
Je reviens des que mon site est iPhone compatible!
3. Par Guillaume le jeudi 10 janvier 2008 à 14:17
mouais, ca existe depuis deja lontemps, je comprends pas ce que l'auteur est en train de re-inventer.
4. Par Studio54 le mercredi 23 janvier 2008 à 08:51
Génial, c'est exactement ce que je cherchais pour un futur dév. Merci pour ce recueille d'informations. IUI, c'est vraiment bien ?
5. Par Pilpoil le mercredi 23 janvier 2008 à 11:14
Pilpoil : Oui, iUi fait gagner un temps fou si tant est qu'on en suite la logique. C'est encore un peu léger, mais c'est très prometteur. Ca demande un peu de temps pour analyser le fonctionnement, la doc est très succinte.
Studio54 : Etrange réfelxion, je ne vois pas en quoi un recueil d'information peut innover.
6. Par Jay Salvat le vendredi 25 janvier 2008 à 07:18
Mon blog étant propulsé par wordpress, je n'ai fait l'effort de portage moi-même mais quelques unes de tes infos auraient été très utiles.
Vous pouvez comparer la version WM6 de mon site face à sa version "iPhone/iPod optimized" à l'url ci-dessous
Famillesdalle.f…hone-ipod-touch
no comment
7. Par Loinduciel le jeudi 07 février 2008 à 22:12
Excellent, merci, notamment pour la detection d'Iphone et Ipod !
8. Par Skilah le mercredi 02 avril 2008 à 11:48
Cet article va m'être très précieux ! Merci beaucoup !
9. Par Vinch le jeudi 24 avril 2008 à 10:46
Merci pour cette article clair et précis, j'ai du développer une télécommande wifi sous safari, et franchement vous m'avez été d'un grand secour pour la création de mon interface :)
10. Par Guillaume L le mardi 29 avril 2008 à 11:54
Grand merci pour toutes ces infos je commencais à me prendre la tête même armé de mes nouveaux bouquins sur le sujet...
Il va me falloir décripter tout ca à tete reposée mais c'est rassurant d'avoir une base cohérente d'informations...
11. Par Jerome le lundi 23 juin 2008 à 22:50
Salut à tous les développeurs qui passent dans le coin... Merci déjà beaucoup pour cet article qui résume déjà tout ce que j'ai apprris au fil des dernières semaines pour développer sur iphone et itouch... Je me suis pas mal éclaté de mon côté en créant un player radio adapté au format avec un beau design de beaux menus et de belles anims. Mais bon étant donné que certaines failles sont apparues sur le firmware 2.0 et que je n'ai pas encore protégé mon code des pc égarés je ne pourrai vous montrer mon oeuvre en revanche je souhaitais savoir si l'un de bous connaissais un code php ou js pour détecter les firmwares 2.0 pour éviter qu'ils s'exposent à la faille tant que la problème n'est pas réglé je lui serai extremement reconnaissant... Bonne soirée a tous ;) !
12. Par Romain Stievenard le samedi 16 août 2008 à 00:28
Salut Romain et les autres,
est-ce que tu peux donner plus d'infos sur comment rendre une webradio écoutable sur l'iphone stp?
Merci par avance.
13. Par Fred le mercredi 20 août 2008 à 11:30
super !
merci de partager toutes ces infos :)
14. Par Alex le vendredi 29 août 2008 à 14:46
Ola
c'est vrai que c'est bien carré. ça motive des infos comme ça!
15. Par Severin le mercredi 19 novembre 2008 à 01:12
J'avais pleins de questions, j'ai presque toutes les répondes : merci !
16. Par Niko le lundi 08 décembre 2008 à 03:19
Merci pour ces informations dont certaines m'ont été très utiles pour la réalisation de mon système de création de sites Internet spécialemet prévus pour téléphone portables - wobile.fr
17. Par Arneau le dimanche 15 mars 2009 à 23:47
merci pour l'article, c'est intéressant :)
18. Par Aissaouimoncif le lundi 16 mars 2009 à 14:26
Magnifique! Merci
Article ajouté à mon Yoolink.fr :)
19. Par Ve le mercredi 08 avril 2009 à 15:47
Je viens d'arriver sur cet super article grâce à wri, merci depuis le temps que je cherche à booster mon trafic iphone, je vais maintenant m'y atteler !!!
20. Par Yves le dimanche 10 mai 2009 à 15:43
Je viens de créer un site optimisé pour l’ iphone qui regroupe pas mal de clips, une fonctionnalité très intéressante, les iMembres peuvent se créer et gérer une iplayliste en y ajoutant leurs iclips préférés et les effacés à leur guise.
Plusieurs genres musical sont disponible possibilité d’afficher les iclips par genre ou faire directement une recherche parmi les iclips mit déjà en ligne.
iclips.fr
21. Par Diégo le lundi 18 mai 2009 à 23:46
Super toutes ces astuces, merci beaucoup !!!
Parcontre je rencontre quelques soucis pour masquer la barre d'url, ca ne fonctionne pas. voici mon code :
<body onload="window.scrollTo(0, 3)" bgcolor="#FFFFFF" topmargin=0 leftmargin=0>
Pourquoi ?
22. Par Arnaud le jeudi 18 juin 2009 à 10:35
Bonjour Arnaud,
As-tu simplement essayé ?
<body onload="window.scrollTo(0, 1)">
23. Par Jay Salvat le jeudi 18 juin 2009 à 10:42
Coucou à tous !
Je viens de voir que des personnes m'avaient adressé des réponses pour les webradios sur iphone.
Comme vous le savez surement la mise à jour vers l'iPhone OS 3.0 prend désormais en compte le streaming audio et vidéo.
Je n'avais réussi a trouver qu'une solution un peu bancale pour le streaming pour les iphone en OS 1 ou 2 c'était la version 1.9.9 beta linux de Shoutcast qui avait été faite en partie pour résoudre ce problème malheureusement elle n'a été disponible en ligne qu'une semaine et j'ai eu extrêmement de mal à la trouver passé ce délai... J'ai passé personnellement toute mon infrastructure sous icecast windows. J'ai entendu dire qu'il existait des hacks pour la version Linux sur le site officiel mais je n'ai jamais vraiment testé...
Pour ma radio perso Hit-Generation, on a pensé que ce serait plus intelligent de se faire référencer sur les applications natives dédiés aux webradios pour les OS 2.0. Sinon mon site Hit-generation.fr détecte la présence de l'iPhone OS 3.0 (sur iPhone ou iPod Touch) et ajoute le cas échéant des liens pour écouter en direct qui pointent sur le flux icecast directement. Vous pouvez tester le site il est fait pour ça :) !
Bonne journée à tous !
24. Par Romain Stievenard le mardi 07 juillet 2009 à 15:54
Bonjour,
Excellent article, vraiment pratique. Je l'avais repéré il y a quelques temps, mais je n'avais pas eu le temps de le regarder.
Merci beaucoup, je vais sûrement faire le pas d'adapter mon site, et ce sera grâce à ça !
Une simple question: l'OS 3.0 apporte-t-il des nouveautés (autre que le streaming évoqué dans les précédents commentaires) au niveau de la mise en place d'un site web adapté ?
25. Par Robin Durand le mardi 14 juillet 2009 à 13:01
Bonjour Robin et merci.
Je n'ai honnêtement plus trop suivi l'évolution des firmwares de l'iPhone depuis cet article. Je ne pense pas que ça ait fondamentalement changé depuis.
26. Par Jay Salvat le mardi 14 juillet 2009 à 13:17
D'accord, je me demandais juste s'ils n'avaient pas mis en place d'autres choses que auraient pu nous faciliter la tâche.
J'ai juste un petit problème:
Le scroll pour masquer l'URL ne fonctionne pas. J'ai bien rajouté onload="window.scrollTo(0, 1)" à la balise <body >, mais ça ne descend pas..
Merci !
27. Par Robin Durand le jeudi 16 juillet 2009 à 07:16
Hormis le streaming et le copier coller, la dernière innovation en 2.1 c'est les tags
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black"> (default | black | black-translucent)
Le premier permet de faire disparaître les 2 barres de navigations (haut et bas) lorsqu'un favoris est créé sur le dashboard puis qu'on y accède par ce biais. Le deuxième tag permet de définir la couleur de la barre de l'heure dans ce mode (blanche, noire ou noire transparente, mais attention en transparent le haut de votre page est derrière la barre).
Voila !
28. Par Romain Stievenard le lundi 20 juillet 2009 à 17:53
Je pense qu'une des choses qui a changé depuis le Firmware 3.0, cela doit être l'impossibilité d'obtenir le viewport via JS et cette méthode :
document.getElementById("viewport")
Je n'avais pas testé ça sous des firmwares inférieurs, mais actuellement, cette méthode retourne null (visiblement il ne va plus chercher dans les meta).
A remplacer par
document.getElementsByName('viewport')[0];
(Oneiric.fr/?p=19).
29. Par Maxime Labat le jeudi 27 août 2009 à 22:50
J'ai rédigé un post sur mon blog concernant ce thème et réalisé un site-test (très simple et à améliorer) pour Iphone que vous pourrez visualiser.
Blog : Libretoile.free…ite-pour-iphone
Site-test pour Iphone : htmlpocket.free.fr
30. Par Chrisdenice le samedi 05 septembre 2009 à 23:55
Merci bcp pour cet article très intéressant !
J'ai tout ce qu'il me faut pour pouvoir me lancer dans l'aventure iPhone. !
@+
31. Par David le vendredi 30 octobre 2009 à 18:14
Pour le scroll, j'ai regarder chez netvibes : onload="setTimeout(scrollTo, 0, 0, 1) et ça marche
32. Par Loic le lundi 07 décembre 2009 à 15:50
Bonjour et merci pour cet article.
Je suis en train de réaliser une version alternative de mon site pour les connexions depuis iPhone.
Cette version a pour but de proposer l'indispensable (contacter-telephoner-geolocaliser...) Et aussi de renvoyer les utilisateurs vers le site et le blog.
Les utilisateurs arrivent par www.domaine.com et sont automatiquement redirigés vers la version /iphone/ qui leur affichent les infos indispensables.
Mon problème est de savoir comment faire pour rediriger les utilisateurs de la version iphone vers celle de base non formaté pour l'iphone.
Si quelqu'un à une piste de comment déclarer ça...parceque je ne trouve ça nul part !
Pour l'instant je fais charger la version iphone par une declaration javascript dans le header
<!-- Version mobile ? -->
<script type="text/javascript">
if(navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPod/i)) {
document.location="Domaine.com/iphone/" ;
} </script>
Merci !
33. Par Jb le dimanche 24 janvier 2010 à 16:58
Bonsoir JB,
Si j'ai bien compris ta question, essaye ça :
<!-- Version non mobile -->
<script type="text/javascript">
if(!navigator.userAgent.match(/iPhone/i)
&& !navigator.userAgent.match(/iPod/i)) {
document.location="Domaine.com/" ;
} </script>
En gros, si le userAgent n'est ni iPhone ni iPod alors on passe à la version standard.
34. Par Jay Salvat le dimanche 24 janvier 2010 à 21:10
Bonjour Jay
merci pour ta réponse mais en fait il ne s agit pas tt a fait de ça...
En fait j'arrive a faire charger la bonne version avec ce script lorsqu on se connecte depuis iPhone/iPod.
Mon problème est de savoir comment faire revenir les internautes sur iPhone vers la version "classique" du site...
35. Par Jb le lundi 25 janvier 2010 à 13:27
J'ai peur qu'il n'y ait pas beaucoup de solutions.
Soit tu détectes et rediriges automatiquement, soit tu laisses le choix d'accéder à une adresse différente pour la version standard / iphone.
Le meilleur des deux mondes serait certainement de laisser le choix à l'utilisateur mais de lui proposer un lien vers la version mobile si un iPhone est détecté.
36. Par Jay Salvat le lundi 25 janvier 2010 à 13:47
Oui le mieux serait effectivement de proposer, par popup lors de la connexion par iPhone, le choix d acceder a la version classique ou iPhone..mais la question est comment faire? Une idee? Php, JavaScript, autre?
37. Par Jb le lundi 25 janvier 2010 à 17:50
Javascript, Php à toi de voir avec quoi tu es le plus à l'aise pour ajouter un lien :)
38. Par Jay Salvat le lundi 25 janvier 2010 à 18:01
Yes ben merci je garde le lien en fav sur cet article. Je repasserai parla pour partager la solution quand j aurai trouve comment faire.
Merci et puis si quelqu un a une idée, j accepte toutes les pistes.
39. Par Jb le lundi 25 janvier 2010 à 19:13
Bonsoir JB,
Je ne comprends pas, tu as la portion de code pour détecter l'Iphone en Javascript et en Php. Il ne te reste plus qu'à ajouter un lien plutôt que de faire une redirection.
Que te manque-t-il de plus ?
40. Par Jay Salvat le lundi 25 janvier 2010 à 22:26
Slt,
Ben je me connecte a mon site www.domaine.org depuis mon iPhone. Je suis automatiquement redirige vers www.domaine.com/iphone_version.
Ça c'est bon ça fonctionne nikel.
Maintenant je veux mettre un lien sur le version iPhone vers www.domaine.org...Qui est quand même beaucoup plus complet...vu que la version iPhone est faite en html/css
Sauf que g mon user agent qui me redirige vers la version /iPhone_version/
Comment peut on forcer le user agent a afficher le site classique?
Et non pas charger la version iPhone...
Quelle est la condition js ou php pour faire ça pour un nioub du dev...?
41. Par Jb le mercredi 27 janvier 2010 à 00:37