1

Une version iPhone

2 avril 2008
par ARNO*

[SPIP 1.9] J’ai réalisé en quelques jours, pour notre magazine de mode en ligne, Flip-Zone, une version adaptée à la consultation sur iPhone (et iPod Touch).

La caractéristique qui m’intéresse ici est la suivante : il suffit de se connecter à l’adresse habituelle de Flip-Zone pour que SPIP détecte automatiquement que l’on est sur iPhone et utilise des squelettes adaptés. Il s’agit, ici, de ne pas recourir à une URL différente, mais d’afficher des squelettes différents selon que le visiteur est sur iPhone ou utilise un navigateur Web classique.

Cette fonction est très simple à mettre en place : il suffit de changer automatiquement, en fonction du logiciel utilisé par le visiteur, le nom du dossier contenant les squelettes.

Par défaut, mes squelettes sont installés dans un dossier /squelettes. Lorsque le visiteur est sur iPhone, j’indique simplement à SPIP que le dossier de squelettes à utiliser est un autre dossier, installé à la racine du site, /iphone.

Ensuite, il suffit d’ajouter, dans mes_options.php, les lignes suivantes :

Ici, on cherche la chaîne « iPhone » dans le nom du logiciel client, mais aussi les chaînes « iPod » et « Aspen » (le nom du simulateur d’iPhone livré dans le SDK gratuit d’Apple).

Remarques

— Il est très facile d’étendre ce système pour proposer, par exemple, des interfaces adaptées à d’autres supports, comme par exemple MSIE sur Windows Mobile. Il suffit de créer des dossiers des squelettes supplémentaires et des tests dans mes_options.php.

— Ce fonctionnement simplissime est permis dans les versions récentes de SPIP (sauf erreur, à partir de la 1.9), car celle-ci gère des systèmes de cache différents selon le nom des dossiers de squelettes. Auparavant, on n’aurait pas pu réaliser cela facilement car, les adresses (URL) des différentes pages dans les deux versions étant identiques, on n’aurait pas eu deux versions différentes des pages en cache.

— Le kit de développement pour iPhone a été largement commenté, mais une utilité est largement ignorée : ce kit n’est pas seulement utile pour développer des applications natives sur iPhone (et, pour cela, il faut être un gros velu du code), mais également pour simplement créer des sites Web adaptés à l’iPhone (c’est-à-dire simplement du code HTML standard adapté à l’affichage sur un « petit » écran). En effet, le SDK (gratuit) d’Apple contient un « simulateur d’iPhone » qui contient Safari ; il suffit de lancer ce simulateur, d’y lancer Safari et d’entrer l’adresse à tester. On peut de cette façon tester ses squelettes sur un « faux » iPhone, ultra réactif, sans avoir besoin de le faire sur un véritable iPhone (Mac Intel uniquement).

Il suffit de faire attention au fait que la connexion depuis un iPhone ou un iPod est beaucoup plus lente qu’avec le simulateur, et que les différentes animations Javascript (j’utilise jQuery directement pour la version iPhone) sont aussi beaucoup rapides sur le simulateur que sur un véritable iPhone.

— « I’m one happy webmaster » : notre version de Flip-Zone pour iPhone a été référencée sur le site d’Apple, et a obtenu le label « Staff Pick ».

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.