TUTORIAL : Transformer son site pour iphone/ipad en appli

Pour citer les plus connus PangeaVR/PangeaVR Pro for iPhone, CubeWorld, DOF Calculator
RlemBCN
Messages : 25
Inscription : 28 déc. 2009, 17:05 47

TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par RlemBCN »

Comme promis, voici un petit tutoriel pour vous permettre de transformer votre site internet en "web app" pour iphone ou ipad (la méthode est la même). Ce tuto est de niveau avancé, il demande un minimum de connaissantes en dev. web (en particulier Javascript). J'essayerai malgré de rester le plus simple possible.

C'est quoi une web app ?
Il y a 2 types d'applications sur iphone/ipad : les applications natives et les web apps.
L'application native est celle qui utilise les langages de programmation propres à la plateforme, que l'on achète/telecharge via l'App Store.
La web app est un site internet "déguisé" en app native, que l'on consulte une première fois avec Safari et qu'on peut garder en mémoire dans l'appareil et consulter à volonté.
Les avantages sont multiples :
- Pas besoin de connaissances supplémentaires en prog. par rapport au développement d'un site internet classique.
- Pas besoin de passer par Apple...
- Une fois gardée dans l'appareil, l'utilisateur ne voit pas la différence (icône sur le board, disponible offline, affichage en plein-ecran)

1re ETAPE : PERMETTRE LA CONSULTATION OFFLINE
C'est possible en utilisant HTML 5 et un document MANIFEST contenant la liste de fichiers du site a garder dans le cache de l'appareil.

- Changer le DOCTYPE de vos pages HTML 4 vers HTML 5 :

Code : Tout sélectionner

<!DOCTYPE html>
- ajouter les meta dans la balise <head> :

Code : Tout sélectionner

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
- Creer un fichier texte nommé par ex. iphone.manifest à la racine de votre site internet. Ensuite il suffit d'y taper les URLs relatives de TOUS les fichiers du site (fichiers HTML, PHP, images, JavaScript, etc) comme par ex. :

Code : Tout sélectionner

index.html
images/image.jpg
...
Il est important de ne rien oublier, sinon l'app ne sera pas disponible offline et voudra systematiquement telecharger les fichiers manquants au manifest.

ATTENTION il est possible que votre hosting web ne reconnaisse pas l'extention .manifest, il faut donc ajouter le type MIME text/cache-manifest .manifest a la config du serveur. (il existe plusieurs facons de faire, je ne rentrerai pas dans le detail)

ensuite il faut declarer le fichier MANIFEST dans chaque page HTML. Dans la balise <html> :

Code : Tout sélectionner

<html manifest="iphone.manifest">
L'idee est que lorsque le navigateur est online, il consulte la liste de fichiers, et vérifie automatiquement que la version de chaque fichier contenue dans le cache est la même que celle dispo sur le serveur, et telecharge la nouvelle version si nécessaire. Malheureusement, j'ai pu verifier que ce n'etait pas suffisant, et qui fallait ajouter un minimum de controle a tout ca via javascript :

Code : Tout sélectionner

<!DOCTYPE html>
<html manifest="iphone.manifest">
<head>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-touch-fullscreen" content="yes">
...
</head>
<body onload="init()">
....
</body>
<script type="text/javascript">
// variable du cache géré par le fichier MANIFEST
var webappCache = window.applicationCache;

function init() {
// METTRE A JOUR LE CACHE SI UNE MAJ EST DISPO.
webappCache.addEventListener("updateready", updateCache, false);

// FORCER LA VISITE MEME SI LE CACHE N'A PAS PU ETRE MIS A JOUR
webappCache.addEventListener("error", initVisite, false);
webappCache.addEventListener("idle", initVisite, false);

}
function updateCache() {
// METTRE A JOUR LE CACHE
webappCache.swapCache();
// DEMANDER A L'UTILISATEUR DE RELANCER L'APP POUR VOIR LA NOUVELLE VERSION
alert("Une nouvelle version est disponible.\nVeuillez rafraîchir la page pour mettre à jour.");
}

function initVisite() {

// CODE OU COMMENCER LA VISITE ET CHARGER LE PREMIER PANO

} 
</script>
</html>

2re ETAPE : CREER UN ICONE POUR LE BOARD
L'icone doit etre une image PNG avec ou sans transparence de 72px x 72px, que vous copierai a la racine du site par ex.
2 possibilités ensuite :
- laisser le board appliquer le style par defaut des icones, avec les borders arrondis et le reflet. L'icone sera declaré dans chaque fichier HTML, dans la balise <head> :

Code : Tout sélectionner

<link rel="apple-touch-icon" href="monicone.png">
- appliquer votre propre style d'icone, carré ou pas, avec transparence, mais en respectant la dimension de 72px x 72px :

Code : Tout sélectionner

 <link rel="apple-touch-icon-precomposed" href="monicone.png">
Par défaut, le titre de l'icone sur le board est le titre de la page HTML, alors n'oubliez pas de le changer pour qu'il soit le plus court possible. Bien entendu il est possible de le changer au moment d'ajouter le site sur le board, mais il preferable de le proposer comme il faut d'entrée.


QUOI D'AUTRE ?
Vous avez la possibilite de creer une image de chargement de l'app, ou de changer la couleur de la barre de status de l'appareil. Ces options sont detaillees dans la documentation d'apple :

http://developer.apple.com/safari/libra ... tions.html




Et voila... J'espere avoir été le plus clair possible. Merci de laisser un petit commentaire si tout ca vous a été utile.


A+ sur le forum
Avatar de l’utilisateur
gibie
Administrateur
Messages : 22930
Inscription : 9 déc. 2007, 22:30 09

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par gibie »

Merci beaucoup pour ce tutorial ! :super: :merci:
Avatar de l’utilisateur
Mattpano
Animateur Hugin
Messages : 4293
Inscription : 10 déc. 2007, 16:27 04

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Mattpano »

Une bonne idée que ce tuto, merci !
Matthieu SELME
- Mon site de panoramas 360° : www.360x180.fr
- Des panoramas à 360° réalisés en cerf-volant : 360° aériens
- Retrouvez-moi sur Twitter (@mattpano)
Avatar de l’utilisateur
jeancharleslast
Messages : 364
Inscription : 24 août 2008, 18:01 51

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par jeancharleslast »

J'en profite pour ajouter le tutoriel(crée par mes soins) pour un site en version iPhone avec l'application iWeb pour Mac
Pano2VR, Autopano Pro, Canon 5D mkII, NN5 RD16, Canon 17-40 F/4 L, Canon 70-200/2,8 LISUSM , Tokina 10-17 rasé', Imac 27' i5, epson 4800
Avatar de l’utilisateur
gibie
Administrateur
Messages : 22930
Inscription : 9 déc. 2007, 22:30 09

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par gibie »

Jean-Charles, merci beaucoup pour le partage ! :amen: :super:
Avatar de l’utilisateur
Edge@51
Animateur DXO
Messages : 1543
Inscription : 14 janv. 2008, 11:59 19

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Edge@51 »

Merci pour le tuto Jean-Charles! C'est pas bête du tout comme approche, je n'y avais pas pense :)
Mes panoramas: http://www.panochrome.fr
Matériel: - iMac 27" QuadCore i5 / Hugin / Stitcher Unlimited 2009 / Autopano Giga 2.5 / krpano
- Pentax K5 + K7 / Pentax 10-17mm / NN3 MkII + RD8 / Panosaurus
Avatar de l’utilisateur
jeancharleslast
Messages : 364
Inscription : 24 août 2008, 18:01 51

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par jeancharleslast »

Edge@51 a écrit : C'est pas bête du tout comme approche
J'ai essayé de faire simple....Comme souvent avec iWeb...
Pano2VR, Autopano Pro, Canon 5D mkII, NN5 RD16, Canon 17-40 F/4 L, Canon 70-200/2,8 LISUSM , Tokina 10-17 rasé', Imac 27' i5, epson 4800
Avatar de l’utilisateur
Anis
Animateur Joomla!
Messages : 244
Inscription : 6 juil. 2009, 17:44 49

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Anis »

Tiens est-ce qu'il serait possible de créer une ou plusieurs app pour une ou plusieurs visites virtuelles sur ipad? Histoire de pouvoir les consulter de manière plus pratique même lorsqu'une connection à internet n'est pas disponible ?

Merci
Avatar de l’utilisateur
Edge@51
Animateur DXO
Messages : 1543
Inscription : 14 janv. 2008, 11:59 19

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Edge@51 »

Il suffit d'utiliser GoodReader sur lequel tu grandette tes panos ;)
Mes panoramas: http://www.panochrome.fr
Matériel: - iMac 27" QuadCore i5 / Hugin / Stitcher Unlimited 2009 / Autopano Giga 2.5 / krpano
- Pentax K5 + K7 / Pentax 10-17mm / NN3 MkII + RD8 / Panosaurus
Avatar de l’utilisateur
Anis
Animateur Joomla!
Messages : 244
Inscription : 6 juil. 2009, 17:44 49

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Anis »

Edge@51 a écrit :Il suffit d'utiliser GoodReader sur lequel tu grandette tes panos ;)
MErci pour ta réponse Edge mais je n'ai pas très bien compris le principe de l'appli. Elle gère les pdf non ? et ça veut dire quoi "grandette"? :rouge:
Avatar de l’utilisateur
Edge@51
Animateur DXO
Messages : 1543
Inscription : 14 janv. 2008, 11:59 19

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Edge@51 »

Aie, désole pour la faute, c'est la correction automatique de l'iPhone :D Je pense que j'ai voulu dire upload et non grandette.
Goodreader lit tous les fichiers! J'ai mis dans l'appui tous mes panos au format krpano et je peux tous les consulter en local. L'appui est à 0,79€ il me semble, et c'est un indispensable. Pour faire cours tu peux lire tous les fichiers que peux lire l'ipad (vidéo, html, pdf, ...) en pouvant tout organiser par dossier.
Mes panoramas: http://www.panochrome.fr
Matériel: - iMac 27" QuadCore i5 / Hugin / Stitcher Unlimited 2009 / Autopano Giga 2.5 / krpano
- Pentax K5 + K7 / Pentax 10-17mm / NN3 MkII + RD8 / Panosaurus
Avatar de l’utilisateur
Anis
Animateur Joomla!
Messages : 244
Inscription : 6 juil. 2009, 17:44 49

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Anis »

Ok merci pour ces précisions Edge, je teste dès que je reçois mon iPad semaine prochaine
Avatar de l’utilisateur
Linus Kristensen
Messages : 115
Inscription : 24 juil. 2008, 15:14 04

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Linus Kristensen »

Bonjour à tous,

Petite question concernant GoodReader : mon dossier de pano original contient :
- un fichier monpano.html
- un fichier monpano.license
- un fichier monpano.swf
- un fichier monpano.xml
- un dossier images
- un dossier plugins
- un dossier son

Je pousse le dossier zippé dans dropbox et je le récupère via GoodReader sur mon iPad.
Je dézippe le tout. Je me retrouve avec la meme arborescence que sur mon mac.
Jusque là ok.

Ensuite, si j'ai bien tout compris, toujours dans GoodReader, je lance le fichier monpano.html pour voir mon pano mais là .... le message habituel : "Adobe machin truc needed ..."
Or j'ai cru comprendre que vous pouviez voir les votres.

J'ai raté un truc ? :0
Images sphériques du monde automobile : racing360.fr - Boss de e-keep.fr
Avatar de l’utilisateur
Edge@51
Animateur DXO
Messages : 1543
Inscription : 14 janv. 2008, 11:59 19

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Edge@51 »

Il faut disposer de la licence iPhone/iPad de krpano, sinon ça ne fonctionne pas. J'avais oublié de le préciser, désolé.
Mes panoramas: http://www.panochrome.fr
Matériel: - iMac 27" QuadCore i5 / Hugin / Stitcher Unlimited 2009 / Autopano Giga 2.5 / krpano
- Pentax K5 + K7 / Pentax 10-17mm / NN3 MkII + RD8 / Panosaurus
Avatar de l’utilisateur
Linus Kristensen
Messages : 115
Inscription : 24 juil. 2008, 15:14 04

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Linus Kristensen »

Edge@51 a écrit :Il faut disposer de la licence iPhone/iPad de krpano, sinon ça ne fonctionne pas. J'avais oublié de le préciser, désolé.
Merci pour la precision :)
Cette licence pour iphone/ipad vient en plus dans le dossier du pano ou vient en lieu et place de l'autre ?
It's only possible to use cubical pano images. A triangle based 3D rendering, which would allow things like Fisheye / 'Little Planet' projections, spherical / cylindrical and partial panos is not possible with the CSS 3D transforms.
Mmmm .... Cela veut donc dire que mes panos en 8 images montés sur PTGui ne vont pas etre exploitables puisque spheriques et pas cubiques .... ? :/
Images sphériques du monde automobile : racing360.fr - Boss de e-keep.fr
Avatar de l’utilisateur
Edge@51
Animateur DXO
Messages : 1543
Inscription : 14 janv. 2008, 11:59 19

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Edge@51 »

La licence iPhone doit être achetée en plus de la licence krpano "normal".

La citation que tu mets explique que sur iPhone il n'est possible que d'afficher des sphériques complets. Des sphériques partiels ou des cylindriques ne sont pas possible pour le moment. Le cubique est un type de projection pour les sphériques: la sphère est projeté sur les 6 faces d'un cube. Tu dis avoir assemblé 8 images, mais est-ce que tu obtiens une sphère complète en les assemblant?
Mes panoramas: http://www.panochrome.fr
Matériel: - iMac 27" QuadCore i5 / Hugin / Stitcher Unlimited 2009 / Autopano Giga 2.5 / krpano
- Pentax K5 + K7 / Pentax 10-17mm / NN3 MkII + RD8 / Panosaurus
Avatar de l’utilisateur
Linus Kristensen
Messages : 115
Inscription : 24 juil. 2008, 15:14 04

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Linus Kristensen »

Oui mes panos sont spheriques : http://www.racing360.fr :D
Images sphériques du monde automobile : racing360.fr - Boss de e-keep.fr
Avatar de l’utilisateur
Linus Kristensen
Messages : 115
Inscription : 24 juil. 2008, 15:14 04

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Linus Kristensen »

Bon ..... j'ai acheté la licence pour iPhone/iPod et iPad sur krpano et suivi les instructions mais j'ai toujours ce &@%**& message sur l'iPad

Code : Tout sélectionner

Error Adobe machin truc needed


Des images étant plus parlantes que des explications, voici donc en premier mon dossier panoramique avant "transformation". Il tourne comme une horloge online et offline :

Image

Si j'ai bien tout compris, il faut :
- placer krpanoiphone.js dans le même dossier que krpano.swf (dans mon exemple intemporel_02.swf)
- placer krpanoiphone.license.js dans le même dossier que krpanoiphone.js

Je me retrouve donc avec cette configuration :

Image

Si je lance sur l'iPad ou en local sur safari 3.2 iPad :

Code : Tout sélectionner

Error Adobe machin truc needed


Wtf ??
Images sphériques du monde automobile : racing360.fr - Boss de e-keep.fr
Avatar de l’utilisateur
Edge@51
Animateur DXO
Messages : 1543
Inscription : 14 janv. 2008, 11:59 19

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Edge@51 »

Il faut mettre tes fichiers de licence dans le dossier "krpano tools". Ensuite, il faut générer les panoramas pour les rendre compatible flash et iphone. Pour ça, j'utilise le dropplet "Make Pano (normal)" et ça fonctionne tout seul. Attention, la version iPhone n'aime pas trop les plug in. En général je mets un bout de code dans le html pour charger un .xml différent suivant que l'on est sur iPhone ou sur ordi. Voici mon code:

Code : Tout sélectionner

<html>
<head>
	<title>Titre de la page</title>
	<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
	<meta name="apple-mobile-web-app-capable" content="yes" />
	<style>
		html { height:100%; }
		body { height:100%; overflow: hidden; margin:0; padding:0; font-family:Arial, Helvetica, sans-serif; font-size:10px; color:#FFFFFF; background-color:#000000; }
		a{ color:#AAAAAA; text-decoration:underline; }
		a:hover{ color:#FFFFFF; text-decoration:underline; }
	</style>
</head>
<body>

<div id="krpanoDIV">
	<noscript><table width="100%" height="100%"><tr valign="middle"><td><center>ERROR:<br><br>Javascript not activated<br><br></center></td></tr></table></noscript>
</div>

<script type="text/javascript" src="swfkrpano.js"></script>    // entrer le chemin d'accès vers le fichier swfkrpano.js

<script type="text/javascript">

var ua = navigator.userAgent.toLowerCase();
		
if(ua.indexOf("ipad") >= 0 || ua.indexOf("iphone") >= 0 || ua.indexOf("ipod") >= 0)    <!-- c'est ici que l'on charge un xml différent suivant que l'on est sur iphone ou sur un ordinateur -->
{
  // iphone/ipod/ipad code
    var swf = createswf("krpano.swf");
	swf.addVariable("xml","iphone.xml");  // chemin du  xml spécifique à l'iPhone
	swf.embed("krpanoDIV");
}
else
{
  // desktop code
	var swf = createswf("krpano.swf");
	swf.addVariable("xml","arbres-champs-nuit_sphere.xml");   // chemin du  xml qui charge les plug in
	swf.embed("krpanoDIV");
}


</script>
</body>
</html>
Mes panoramas: http://www.panochrome.fr
Matériel: - iMac 27" QuadCore i5 / Hugin / Stitcher Unlimited 2009 / Autopano Giga 2.5 / krpano
- Pentax K5 + K7 / Pentax 10-17mm / NN3 MkII + RD8 / Panosaurus
Avatar de l’utilisateur
Linus Kristensen
Messages : 115
Inscription : 24 juil. 2008, 15:14 04

Re: TUTORIAL : Transformer son site pour iphone/ipad en appli

Message par Linus Kristensen »

Heu ..... je n'ai pas de dossier krpano Tools 8/
Images sphériques du monde automobile : racing360.fr - Boss de e-keep.fr
Répondre

Revenir à « Logiciels pour iPhone/iPod Touch »