Un site Web au format "iTouch"...
iWebKit est un framework basé sur le "WebKit" d'Apple™ et utilisant certaines fonctions, HTML et CSS, interprétées uniquement par les navigateurs Safari et Chrome.
iWebKit est un ensemble de fichiers conçus pour vous aider à créer votre propre site Web pour iPhone et iPod Touch. Le kit est accessible à tous et assez facile à mettre en oeuvre. En quelques minutes, vous allez créer un site Web de qualité professionnelle.
Même si son auteur se défend en affirmant qu'il n'est pas nécessaire de connaître le HTML pour se lancer dans une création avec ce kit, il est tout de même souhaitable de savoir lire et comprendre une page HTML et CSS.
Au delà de la possibilité de créer son site rapidement par simple reprise des fichiers du kit, vous pouvez élaborer un template beaucoup plus graphique qui personnalisera l'aspect de votre site.
Et les possibilités de ce framework ne s'arrête pas là ; les Webapp sont à la mode actuellement et il est toujours intéressant de pouvoir accéder à ses données via une interface structurée. Et en poussant un peut plus loin le raisonnement, pourquoi ne pas développer une application pour iPhone ou iPod Touch (.ipa) à partir de cette interface ?
Je vais essayé, en quelques lignes, de développer ces trois solutions.
Site Web d'iWebKit
iWebKit 4.6.2, la création pour iPhone en licence GNU
Les sites Web :
Un site Web, tout comme une Web application, doit répondre à certains critères (et à pas mal de contraintes par la même occasion) pour un fonctionnement optimal sur plateforme iTouch.
Le navigateur, Safari Mobile, est une version allégée du navigateur bien connu de la firme Apple™. Allégée dans le sens ou certaines fonctions sont limitées voir même innexistante.
Il faut respecter des règles liées à la navigation tactile. Même si ce type de navigation a l'avantage de n'avoir besoin d'aucun accessoire annexe, la surface d'un doigt sur un écran limité en résolution est assez important. Il faut impérativement que le contenu soit clair et aéré.
Il faut enfin, et surtout, connaître la résolution de l'écran et faire la différence entre cette résolution et la surface affichable (voir en image
).
L'iPhone (ou l'iPod Touch) a une résolution de 320 x 480 pixels pour une surface affichable de 320 x 356 pixels (ou 480 x 208 pixels en mode paysage). Dans le détail, ça donne :
Une fois ces règles assimilées, le reste n'est qu'assemblage de parties de code HTML avec une mise en forme via un fichier CSS.
Malgré tout, une bonne lecture du site Apple™ concernant les éléments de référence du navigateur Safari (voir le lien ci-contre) reste une bonne démarche car ce navigateur fait appel à des éléments HTML5, CSS3 et certains autres éléments CSS spécifiques à Safari (comme -webkit-text-size-adjust, -webkit-touch-callout, -webkit-border-radius, -webkit-box-shadow, etc.). Pour finir, certains attributs ont un comportement différent des autres navigateurs (comme exemple, la possibilité d'associer plusieurs background : background: url("../images/background.png"),url("../images/menutouched.png") no-repeat;).
Pour un développement optimum, la plateforme MacOs, et plus particulièrement Leopard ou Snow Leopard, permettra de bénéficier du simulateur iPhone inclus dans le SDK d'Apple™ (voir sur cette page). Si vous êtes sur MacOs, mais sur une version antérieure à Leopard (Tiger version 10.4.7 minimum), télécharger l'utilitaire iPhoney qui simulera un iPhone (le SDK d'Apple™ ne fonctionnant que sur OS 10.5 et OS 10.6).
Pour les personnes qui sont sous Windows, aucun des utilitaires indiqués ci-dessus ne fonctionnent avec la plateforme PC. Malgré tout, des solutions existent.
La première, toute simple, consiste à se rendre sur le site Web suivant et de tester votre site (sous Safari ou Chrome uniquement pour visualiser les éléments spécifiques). Inconvénient, le site doit être en ligne pour le tester.
Deuxième possibilité, télécharger une application qui s'appelle "MobiOne" et permet de simuler soit un iPhone, soit le Palm Pre. Il serait possible, selon eux, de développer des applications .ipa depuis ce logiciel (à la manière de Dashcode, mais en moins évolué). Je n'ai testé que le simulateur et je n'ai pas vraiment creusé cette possibilité.
Il existe d'autres alternatives pour simuler un iPhone sous Windows (iBBDemo, Air Phone, basé sur la technologie Adobe™ Air® - lien de téléchargement) mais ces dernières ne sont pas au top.
Les Web applications :
Les Web applications peuvent s'apparenter aux sites Web, à la différence que l'utilisation que l'on peut en faire est totalement différente.
De plus en plus répandues, ce type d'application permet un accès à des données diverses depuis un terminal "iTouch", avec ou sans installation en dur sur l'appareil mobile. Elles associent puissance d'Internet et de la technologie serveur et simplicité du Multi-Touch.
Pour les webapps sans installations, entièrement hébergées sur serveur Web distant, il sera possible de créer ces dernières en PHP avec base de données MySql. Il existe d'ailleurs une version d'iWebKit réécrite entièrement en PHP (adresse de téléchargement des fichiers).
Pour celles qui demandent une installation partielle sur le terminal mobile, les fichiers installés ne pourront être que des fichiers HTML ou des applications développées en Objectif-C et compilées en fichier .ipa. L'iPhone ne bénéficiant pas de la techologie serveur en interne, les fichiers PHP ne pourront pas être compris.
Certaines ressources seront indispensables pour avancer rapidement dans le développement, comme le plugin JQTouch (voir ci-contre). Ne pas hésiter à fouiller dans les pages du site d'Apple developper pour tester les exemples de code disponibles. Si pour les sites Web il est possible d'utiliser tous les éditeurs Web, évolués ou non, il sera préférable, dans le cadre d'une Webapp, de privilégier l'application Dashcode, disponible seulement sur Mac OS 10.5 et version ultérieure.
Même si une Webapp entièrement hébergée sur serveur distant reste plus lente et moins performente qu'une application native développée en Objective-C, Xcode et Cocoa, ça reste un bon compromis demandant un investissement réduit tout en utilisant des langages maîtrisées ; HTML, CSS, Javascript et accessoirement PHP et MySql.
Les applications iTouch (.ipa) :
Normalement, lorsque l'on décide de développer pour iPhone, hors mis les connaissances en langage informatique, il faut payer une licence (The iPhone Developer Program) auprès d'Apple™ qui coûte entre 99$ et 299$ selon la version choisie. Ce qui n'est pas à la portée de tout le monde et reste limité aux personnes travaillant sur plateforme Mac Os X.
Depuis peu, il existe un petit logiciel appelé Sentenza (voir détail ci-contre) qui permet, sous Windows, de compiler un projet d'application Web développé en HTML, CSS et Javascript (pas de PHP). Sans aucune ligne de code à ajouter et en 5 mn chrono, une application native iPhone (.ipa) est créée et logiquement installable sur un terminal "iTouch".
La compilation via ce logiciel présente tout de même certaines limitations, à savoir :
iWebKit prend une place de choix dans ce cas précis car, avec un langage Web simple, faisant appel ou non à des données externes, il est possible de compiler son code en une application native iPhone.
La dernière restriction, et non des moindres, c'est qu'il ne sera possible d'installer l'application que sur des appareils "Jailbreakés".
Mise à jour au 24 mars 2010 :
Une nouvelle version d'iWebKit est en téléchargement depuis quelques semaines et apporte son lot d'amélioration et de modification par rapport à la version 4. A tester...
Ressources utiles
De nombreuses ressources sont disponibles sur Internet, y compris sur le site d'Apple, pour aider les personnes débutantes dans ce domaine. A consommer sans modération...
Forum iWebKit
Ce forum, en langue US, est relativement actif et permet d'apprendre pas mal d'astuces sur le développement avec iWebKit. Il est vivement conseillé de le parcourir avant de se lancer dans le développement d'un site Web ou d'une Web application.
Safari Reference Library
En langue US également, ce site est incontournable pour toute personne souhaitant acquérir des bases solides pour développer un site "iTouch". Les références HTML et CSS spécifiques à Safari, un guide d'utilisation pour Dashcode, des exemples de codes et beaucoup d'autres choses. A lire impérativement.
JQTouch - JQuery plugin
JQTouch est un plugin qui fonctionne avec le framework JQuery et permet aux développeurs de gagner un temps précieux dans la conception de sites Web faisant appel à des scripts "Ajax". Des exemples de scripts sont disponibles dans le package téléchargeable.
Une version de démo est disponible à l'adresse suivante.
iPhone GUI PSD 3.0
Fichier au format Photoshop (.psd) reprennant l'essentiel des éléments graphiques de l'iPhone. Ce fichier, entièrement éditable, peut être d'une grande aide dans la conception de sites Web ou d'applications iPhone.
A voir et à télécharger (9Mo).
PhoneGAP Framework
PhoneGap, Framework fonctionnant avec Xcode (Mac Os X), permet le développement d’applications avec des outils maitrisés : JavaScript, HTML et CSS. PhoneGap va même plus loin, car l’objectif avoué de l’un de ses créateurs est “de permettre d’écrire une base de code pour un mobile qui fonctionnera ensuite parfaitement sur les autres“.
Si à ce jour, le framework permet de développer des applications pour iPhone, Android et Blackberry, dans le futur, il est prévu de l’étendre à d’autres plates-formes telle que Nokia, Palm.
QuickConnect Framework
QuickConnect est un autre projet Open Source, comme PhoneGap, qui permet de développer via Xcode sans utiliser le langage Objectif C. Il est apparemment prometteur car prévu pour développer des applications pour différentes plateformes. A tester...
Les fichiers sont téléchargeables à cette adresse : QuickConnect 0.9.2 Beta
Sentenza for iPhone
Sentenza est un kit de compilation pour Microsoft Windows, grâce auquel vous n'aurez absolument aucune ligne de code à programmer. Cet outil entièrement visuel va vous permettre de compiler très rapidement vos applications web en applications iPhone, sans vous poser de questions (voir la capture d'écran).
Une librairie est aussi disponible, intégrant des kits et des fichiers sources.
Exemple d'application réalisée avec iWebKit

Catégorie : Livre, eBook
Version : 2.01
Dernière mise à jour : 12/2009
Langue : Français
Application non distribuable, réalisée uniquement pour un usage personnel.
The Lord of The Rings
Petite application iPhone reprenant l'intégralité des trois volumes de la trilogie du Seigneur des anneaux.
Etant fan de cette histoire, et n'ayant pas toujours la possibilité d'avoir un des trois livres avec moi, j'ai voulu retranscrire l'intégralité de cette trilogie sur un support facilement transportable.
Réalisée à partir d'iWebKit et compilée avec Sentenza, l'application est installée sur un iPhone 3G Jailbreaké.
Les principales fonctions de cette application sont :

Des droits d'auteur étant liés à cette oeuvre écrite par J. R. R. Tolkien, l'application n'est en aucun cas distribuée et/ou commercialisée et reste l'objet d'un test pour un usage strictement personnel.
Quelques copies d'écran

Catégorie : Utilitaire
Version : 2.02
Dernière mise à jour : 03/2010
Langue : Français
Application non commerciale, réalisée uniquement pour un usage personnel.
Kit RAL Classic
Application reprenant les références RAL des principales couleurs utilisées dans beaucoup de domaines.
Ne trouvant pas d'applications de ce type sur l'AppStore, j'ai voulu créer une petite base de données reprenant les couleurs du Kit RAL Classic, avec le nom des couleurs et les correspondances exactes en RVB (héxadécimal) et en CMJN, ainsi qu'une correspondance, parfois approximative, en Pantone Solid Matte.
Réalisée à partir d'iWebKit et compilée avec Sentenza, l'application est installée sur un iPhone 3G Jailbreaké.
Les principales fonctions de cette application sont :

L'application sera appelée à évoluer et un moteur de recherche est en cours de conception. Une autre version, plus élaborée, est en prévision et sera développée sous XCode avec le framework QuickConnect.
Quelques copies d'écran