★ iPheeds.org, une version iPhone pour votre blog

vignette

Je m'intéresse au web mobile depuis un moment et hier soir j'ai enfin pris le temps de regarder la conférence de Dominique Hazaël‑Massieux : Bonnes pratiques du Web mobile donnée lors de Paris Web l'année dernière. J'avais prévu de faire une version iPhone de ce site mais ça allait à l'encontre du One Web, j'ai donc réfléchi un moment et je suis arrivé à la conclusion qu'il ne m'était pas nécessaire d'avoir un site entier dédié à l'iPhone mais qu'une représentation des derniers billets serait suffisante.

Service

De là est née l'idée de créer un site qui permette juste d'afficher un flux de syndication (RSS ou Atom). Il y a des montagnes d'agrégateurs mais je n'ai trouvé aucun site proposant ce service tout simple.

J'ai sorti ma boîte à outils et j'ai commencé à mettre les mains dans le cambouis, et plus j'avançais, plus j'étais persuadé qu'un tel service devait exister mais impossible de mettre la main dessus. Au final je suis arrivé à une solution assez élégante qui permet à ce blog de rediriger les utilisateurs munis d'un iPhone (qui arrivent sur l'accueil ou sur le journal) s'ils le souhaitent.

Mais la bonne nouvelle pour vous c'est que n'importe quel blog peut maintenant avoir la même représentation de son contenu « compatible iPhone » !

Utilisation

Le site d'iPheeds est tout simple : un champ URL permettant de soumettre le flux pour créer votre URL iPhone qui va permettre d'afficher les derniers billets de votre site.

Ce qui donne par exemple pour ce blog :

  • http://ipheeds.org/?ipheed=http://www.biologeek.com/data/atom/

Mais l'avantage c'est que vous pouvez iPhoniser n'importe quel flux, allant de votre service préféré aux torrents de vos séries TV (pas de lien mais vous aurez compris le principe).

Promotion

Une fois en possession de cette URL, vous avez plusieurs moyens d'en faire la promotion pour vos visiteurs, plus ou moins intrusives.

Simple lien avec détection

C'est la méthode la plus douce, elle permet d'afficher un message sur vos pages lorsqu'un iPhone est détecté, laissant le choix à l'utilisateur de suivre ou non le lien proposé. Si vous souhaitez la mettre en place sur votre site, il faut suivre les étapes suivantes :

Déclarer un container prêt à accueillir votre bannière spéciale :

<div id="icontainer"></div>

Ajouter un bout de JavaScript qui vérifie s'il s'agit d'un iPhone ou pas :

<script type="text/javascript">
if(/iPhone|iPod/i.test(navigator.userAgent)){
    document.addEventListener("DOMContentLoaded", function() {
        document.getElementById('icontainer').innerHTML="message + lien iPheeds";
    }, true)
}
</script>

À vous d'adapter pour que ça soit visible, c'est souvent fait dans un h1 ou en tout cas bien visible et en haut de page.

Popup iPhone

Cette méthode consiste à afficher une popup iPhone à l'utilisateur, c'est la méthode que j'ai retenu ici car elle est intermédiaire et même si elle est relativement intrusive je trouve normal de poser explicitement la question à l'utilisateur.

Cette fois plus besoin de préparer un container mais il faut tout de même un bout de JavaScript :

<script type="text/javascript">
(function () {
    if(/iPhone|iPod/i.test(navigator.userAgent)){
        var question = confirm("Voulez-vous consulter la version iPhone de ce site ?")
        if (question){
            window.location = "http://ipheeds.org/?ipheed=http://www.biologeek.com/data/atom/";
        }
    }
}());
</script>

Vous devriez alors avoir une popup de cet ordre là :

Biologeek iPhonized

Qui vous redirige vers iPheeds si vous acceptez.

Redirection directe

Je déconseille vivement cette méthode qui ne permet pas d'interagir avec le site original ce qui serait problématique dans le cas d'iPheeds vu le manque d'interactions possibles dans la version actuelle. Tiens pour la peine je la donne pas.

Outils

Je ne sais pas encore si je vais ouvrir le code mais je ne peux pas terminer sans parler de plusieurs outils que j'ai utilisé. Tout d'abord iUI qui est la bibliothèque à ne pas manquer lorsqu'on veut faire une interface web pour l'iPhone qui respecte les standards Apple.

Au niveau du backend, c'est propulsé avec Django mais shove et feedcache font tout le travail, et le font bien. Bon après ça dépend bien sûr de la popularité du service, si le serveur ça commence à trop chauffer j'aviserais.

Enfin j'ai découvert deux « astuces » iPhone ce soir (après 6 mois d'utilisation quand même...), la première grâce à Rik consiste à rester appuyé sur la touche .com pour afficher d'autres extensions. La seconde, je l'ai trouvé en fouillant les paramètres, il s'agit de double taper sur la barre d'espace pour afficher ". " (point suivi d'un espace), ce qui s'avère très pratique pour tout ce qui est mails et sms.

Bon avec tout ça j'ai pas terminé d'intégrer le super design que j'ai dans les cartons... je crois que je suis de moins en moins fan des CSS :-(.

En tout cas, j'espère que vous apprécierez le service, les suggestions sont les bienvenues comme toujours.

[edit du 25] : le flux est maintenant auto-détecté si vous soumettez directement l'URL de votre site.

[edit du 5 août] : nouvelle version, plus stable, j'ai finalement mis une base de données derrière.

— 23/07/2008

Articles peut-être en rapport

Commentaires

Kévin le 23/07/2008 :

Vraiment intéressant le site, merci.

Nath le 23/07/2008 :

Bien joué !

Par contre, j'ai relevé une petite coquille : dans la partie "Lisez", le lien de retour vers la liste s'appelle "choisisse". :/

michel v le 23/07/2008 :

Sympa l'idée de détecter le navigateur, mais voilà une idée supplémentaire assez triviale à implémenter : fournir un bookmarklet qui, pour n'importe quelle page qui a un flux détectable, lancerait la page dans iPheeds.

Comme ça, tout pourrait être lu par ce biais, pas juste les pages de ceux qui en parlent à leurs visiteurs. :)

David, biologeek le 23/07/2008 :

@Nath : Oui c'est la css de iUI qui tronque, ça le fait à d'autres endroits aussi. Je suis pas sûr de la bonne solution à adopter à ce sujet (la version anglaise passe mieux ;p)

David, biologeek le 23/07/2008 :

@michel v : excellente idée, il faudrait que je m'occupe de la détection automatique du flux en fonction du domaine aussi.

Thomas le 23/07/2008 :

"consulter la version iPhone de ce site" est un peu "faciel" sachant qu'on peut juste voir ce qui est disponible sous forme de flux RSS, c'est à dire les news seulement en général et que les dernières !

"Bon avec tout ça j'ai pas terminé d'intégrer le super design que j'ai dans les cartons... je crois que je suis de moins en moins fan des CSS :-(."

Un design pourquoi ? Biologeek ? :) Pourquoi moins fan des CSS, qu'elle serait l'alternative ?

Oui, je suis curieux.

Neovov le 23/07/2008 :

Pas mal du tout ! Bravo !

Bon pas terrible le nom de domaine par contre mais bon :P

PS : Une petite astuce iPhone (pour le firmware 2.0) : taper deux fois sur la barre de statut (en haut de l'écran) pour scroller tout en haut d'une page.

NiKo le 23/07/2008 :

Simple. Rapide. Efficace. J'adore.

Seul reproche a priori, l'absence de version anglophone (i18n enabled) du site ?

David, biologeek le 23/07/2008 :

@Thomas : c'est en effet une version allégée du site mais en même temps je lis rarement des pages et des pages sur un iPhone alors ça me semble un bon compromis. Peut-être reformuler la phrase en effet.

Sinon concernant les CSS j'ai pas trouvé mieux mais je suis davantage attiré par le code en ce moment.

@Neoveov : c'est assez difficile d'avoir un bon .com maintenant... si tu as mieux je suis preneur. Il me fallait .fr et .org (même si finalement je n'ai gardé que le .org, je voulais faire un switch de langage entre les deux mais c'est probablement plus logique de se baser sur la langue de l'iPhone directement).

Et pour l'astuce en effet, c'était même là avant non ?

@xave (oui j'ai jeté un œil aux logs) : tu as soumis un flux erroné apparemment, ça passe bien en local sur ton flux atom.

@Guillaume Bizet (idem) : il faut donner l'adresse de son flux directement, pas de sa home, il n'y a pas encore de détection automatique.

David, biologeek le 23/07/2008 :

@NiKo : essaye de changer la locale de ton téléphone ;-)

Jean-Sébastien Mansart le 23/07/2008 :

Merci David, je viens de le mettre en place, Frédéric m'a servi de testeur et tout marche correctement.

Je ferais un billet pour en parler prochainement.

David, biologeek le 23/07/2008 :

@Jean-Sébastien Mansart : je confirme ça marche nickel.

Shen le 23/07/2008 :

Pourquoi limiter cela aux iPhone et ne pas l'étendre à tous les mobiles ? Et même plus généralement à tous les écrans réduits, en regardant la résolution par exemple, puisque le problème ne vient pas du fait que ce soit un iPhone mais bien du fait que l'écran soit trop petit pour consulter le site "normal".
On parle partout de l'iPhone alors que c'est juste un téléphone parmi tant d'autres, se restreindre à celui là c'est comme si une ville faisait une piste cyclable accessible uniquement avec une marque de vélo et pas avec les autres, alors que tout le monde pourrait en profiter...

David, biologeek le 23/07/2008 :

@Shen : la question allait forcément être posée et j'aurais dû en parler dans le billet. Ce projet était essentiellement un entrainement pour voir ce qu'il était possible de faire avec une version uniquement iPhone (d'où le choix d'iUI).

Après je suis d'accord qu'il ne faut pas retomber dans les travers netscape vs. ie qu'on a connu il y a quelques années et c'est pour ça que je me suis attelé à un « bonus » et non à un site complet (qui est par ailleurs parfaitement navigable avec un iPhone).

Kevin le 23/07/2008 :

Ha ! Merci beaucoup ! Le plug-in iPhone pour Wordpress fonctionne justement très mal sur mon blog !

Jean-Sébastien Mansart le 23/07/2008 :

@Shen : complètement d'accord avec toi.
C'est une très bonne idée, mais il ne faut pas limiter à un seul terminal mobile.

Peut être que David implémentera bientôt une version pour d'autres mobiles ;)

Sinon xFruits propose un outil pour faire la même chose. A partir d'un flux RSS, il créé une page en XHTML 1.0 pour mobile...

Jean-Sébastien Mansart le 23/07/2008 :

Pour voir ce que cela donne : http://xfruits.com/jihaisse/?id=37229

Je ne sais pas ce que ça donne sur iPhone par contre ou autre smartphone...

David, biologeek le 23/07/2008 :

C'est bien sympa tous vos tests, je pars en vacances la semaine prochaine et je ne vais pas avoir besoin d'un agrégateur mobile, /all/ suffira, merci :-)

pickupjojo le 01/08/2008 :

Super pratique, j'aime beaucoup, bravo ! :)

Simon le 03/08/2008 :

Ah, je me suis pris une petite 500 tiens!

David, biologeek le 04/08/2008 :

@pickupjojo : merci !

@Simon : je suis curieux de savoir de quelle page il s'agit.

Audiofeeline le 12/08/2008 :

Un service prometteur.

jean-Christophe Courte le 28/08/2008 :

Smak, smak, smak…!
Merci, merci, merci…!!
Il semble que mes lecteurs iphonesques sont soulagés… Grâce à vous…!

Manu le 30/01/2009 :

Génial !

Mais je me pose quand meme une lourde question sur l'audience et la pub.

Comment intégrer l'audience réalisée via iphone à l'audience globale de mon site ? Mon audience est controlé par un javascript statcounter en footer de mon blogspot.

Comment intégrer mes pubs dans mon flux, et ce uniquement sur iphone ? Sur le site, elles sont en colonne de droite.

Par avance merci pour vos idées......

David, biologeek le 30/01/2009 :

Quel est le réel intérêt d'avoir ces chiffres ? En fournissant du contenu intéressant, l'audience monte. L'équation est aussi simple que ça.

drole le 08/02/2009 :

Nikel tout ça, exactement ce que je recherchais merci merci beaucoup !

gaetan le 09/05/2009 :

petit script simple et eficace.
merci

benou le 27/05/2009 :

Excellent.. simple et rapide..

Allez, une V2 avec les miniatures des images. c'est jouable ??

Merci

David, biologeek le 27/05/2009 :

Tiens intéressant d'avoir une feature request là-dessus, qu'est-ce que tu entends par images ? Les favicons ? Ou l'image placée dans le feed ?

benou le 29/05/2009 :

En fait je pensais aux images ( 1 ou 2 ) du billet...

La favicon, c'est vrai que ça peut être bien...
mais tu ne vas pas aller la chercher dans le flux...

Sinon, j'ai l'impression que le billet est tronqué certaines fois...(par ex : http://son-blog.blogspot.com/)

David, biologeek le 29/05/2009 :

Ah mais ça c'est blogspot qui tronque les flux et les photos (cf. http://son-blog.blogspot.com/feeds/posts/default), c'est indépendant de ma volonté... il faut militer auprès de blogspot pour qu'ils proposent des flux complets :)

benou le 29/05/2009 :

OK.. Je comprends mieux..

En fait je suis juste un peu con con... J'avais oublié dans ce blog de sélectionner le flux complet...

Merci

Bobby le 04/07/2009 :

Merci pour cette article/tuto, malgré qu'il a presque un an je vien seulement de le trouvé et donc de reglé mon site pro.
bonne continuation a biologeek.
cordiallement
Bobby

blogs le 11/10/2009 :

Je ne connaissais pas du tout merci bcp pour ce partage je cours tester ça de suite.

christophe le 14/10/2009 :

Terrible, j'ai plus qu'a tester. super idée merci

Romy le 05/11/2009 :

Excellente idée !

Natim le 04/01/2010 :

Super, mais ça ne semble pas fonctionner avec mon flux empirique et fait il y a un moment : http://natim.trunat.fr/flux.php

Pourtant feedvalidator dit qu'il est bon.

Excellente idée,
A bientôt

Rémy

David, biologeek le 05/01/2010 :

@Natim : je teste ça dès que j'ai un peu de temps, c'est étonnant.

Yann le 04/02/2010 :

Bonjour,

J'ai un petit soucis car j utilise votre script avec Ipheeds. Le principe correspond totalement à ce que je souhaite faire mais cela ne marche pas comme je le voudrais.

en effet lorsque le message apparait "voulez vous consulter la version pour iphone" je clique dessus et j'arrive sur la version ipheeds (donc juste avec le flux RSS) mais pas au format iphone, c'est écrit en petit.

par contre si je vais directement sur la page http://ipheeds.org/?ipheed=http://ajph.free.fr/rss/

pas de problème le site s'affiche correctement.

J'ai testé plusieurs scripts et solution mais toujours le même problème.

Auriez vous une solution dans vos cartons ?

Merci pour vos réponses

David, biologeek le 04/02/2010 :

@Yann : je n'arrive pas à reproduire ton problème, ton site sur iPheeds marche très bien sur mon iPhone lorsque je viens de ajph.free.fr Est-ce que tu as toujours ce problème ?

Yann le 04/02/2010 :

Merci pour votre réponse,

J'ai une petite idée du problème mais pas la solution pour le réparer.

En fait, le problème se pose quand on va sur www.ajph.fr, là, le message pour le redirection vers la version iphone s'affiche, ce qui nous renvoie vers http://ipheeds.org/?ipheed=http://ajph.free.fr/rss/

mais dans un format normal et non compatible pour iphone...

Car les visiteurs du site ne sont pas taper dans leur navigateur l'adresse en free.fr, plus longue et moins agréable.

auriez vous une solution s'il vous plait :)

David, biologeek le 04/02/2010 :

En effet, mets plutôt le check js au niveau de ajph.fr et non ajph.free.fr, ça permettra de ne pas rester dans la frame lorsque ça ouvre ipheeds à mon avis. Enfin à vérifier :-)

Yann le 04/02/2010 :

même resultat, j'ai mis le javascript ds le index.html de ajph.fr et supprimer la détection dans le template de ajph.free.fr et l'affichage se fait de la même manière !

je désespère...

Yann le 04/02/2010 :

j'ai réussi !!

j'ai annulé la redirection en frame su 1&1 et fais la redirection en JS dans le nom de domaine ajph.fr

ça me pose encore un petit soucis, que se passe t il si javascript n est pas actif sur le navigateur des clients & la redirection ne se fait plus dans une frame et donc on voit le domaine source ajph.free.fr

Maison le 19/05/2010 :

Bonjour, je vous félicite pour ce service combien utile et toujours d'actualité. Le code fonctionne bien pour mon site en HTML. J'ai bookmarqué cet article du service Ipheeds. Merci

live feeds le 08/07/2010 :

On parle partout de l'iPhone alors que c'est juste un téléphone parmi tant d'autres, se restreindre à celui là c'est comme si une ville faisait une piste cyclable accessible uniquement avec une marque de vélo et pas avec les autres, alors que tout le monde pourrait en profiter...

Franck Melka le 24/09/2010 :

Magnifique travail

Une seule question: dans les flux sur blogspot on voit les images du post ( la première ), pourquoi ne les voit on pas avec Ipheeds.

Ce n'est qu'une petite suggestion pour que ce soit parfait.

Merci encore

Stéphane le 21/10/2010 :

Eh bien, moi qui fustigeait parce mon I-phone ne me proposait que le .com, je suis bluffé (eh oui je viens de tester et ca fonctionne). Après un an de bons et loyaux services, j'en découvre encore. La double frappe sur la barre espace... je connaissais pas non plus. Pour le script avec Ipheeds, j'ai testé sur un de mes blogs en construction et je dirais que c'est pas concluant pour le moment, va falloir bidouiller un peu. En tous cas, merci pour toutes ces infos.

After Work le 09/12/2010 :

Excellent ! j'ai testé avec mon flux XML et ca fonctionne c'est une excellente solution pour avoir une version iPhone très facilement... en quelques clics et c'est qd meme plus sympa pour lire sur un iphone
mais en effet il faut prévoir pour tous les mobiles
merci en tout cas