Bonjour à tou(te)s
Y'en a encore qui vont dire que je ferais mieux de me renseigner sur ce qui existe plutôt que réinventer l'eau chaude mais bon ...
Donc l'idée, suite à une discussion sur l'opportunité (ou l'inopportunité...) de maintenir deux sites, l'un "classique" et l'autre pour mobiles, est de chercher à raisonner la chose dans l'autre sens. On se dit que plusieurs cas de figures peuvent apparaitre, par exemple qu'un mobile ne reconnaisse pas handheld. Que se passe-t-il dans ce cas-là ? Hé bien il utilise screen et ça tourne vite au vinaigre question utilisabilité (ça j'ai pu le vérifier).
On part dans l'idée qu'en l'état normal des choses qu'un ordi utilisera la feuille screen et un mobile la handheld. On fabrique donc 2 feuilles, avec dans la handheld une gestion des contenus pour présentation spécifique aux mobiles. Le choix de l'une ou l'autre ne dépend pas de l'utilisateur mais de l'UA.
Dans le cas critique d'une feuille handheld non-reconnue (ou plus exactement d'utilisation de la première feuille rencontrée...), il convient d'envoyer au mobile une autre feuille CSS que la screen générique. L'idée est de commencer par détecter quelle feuille est utilisée par l'UA : screen ou handheld. Si handheld, pas de souci, le mobile réagit bien. Si screen, question : est-ce un ordi ou un mobile ? A ce moment-là JS intervient : si c'est une fenêtre supérieure à 450px de large rien ne se passe, si c'est moins il va proposer un lien (à placer par exemple en premier en haut de page avec les évitements et qui serait caché si y'en a pas besoin), genre Version pour mobiles. Ce lien ne concernera que les utilisateurs de mobiles non-handheld.
Quand l'utilisateur clique il ouvre une session PHP qui remplace dans l'entête les deux feuilles screen et handheld par une <link ref moobil.css media=screen>... A partir de là on peut développer une feuille suffisamment dégradée pour répondre aux différentes contraintes de consultation sur UA peu performants. On opère ainsi un système de filtrage plus ou moins temporaire puisque cette dégradation devrait concerner de moins en moins de mobiles.
Il reste aussi évidemment la possibilité de renvoyer par la session Php la même feuille handheld mais cette fois déclarée comme screen dans l'entête, mais il est dommage de se priver de cet outil de filtrage que représente une Css spécifique destinée aux "vieux" mobiles (enfin pas tant que ça.. le Viewty de LG, par ailleurs véritable bijou techno en mieux et moins cher que l'iPhone, s'affiche encore en screen).
Un petit test est en ligne ici. Ça marche aussi en réduisant les fenêtres d'écrans. Delete permet de réinitialiser le test en perdant la session Php.
Si votre mobile ne comprend ni Css ni JS il est temps d'en changer.
Y'en a encore qui vont dire que je ferais mieux de me renseigner sur ce qui existe plutôt que réinventer l'eau chaude mais bon ...
Donc l'idée, suite à une discussion sur l'opportunité (ou l'inopportunité...) de maintenir deux sites, l'un "classique" et l'autre pour mobiles, est de chercher à raisonner la chose dans l'autre sens. On se dit que plusieurs cas de figures peuvent apparaitre, par exemple qu'un mobile ne reconnaisse pas handheld. Que se passe-t-il dans ce cas-là ? Hé bien il utilise screen et ça tourne vite au vinaigre question utilisabilité (ça j'ai pu le vérifier).
On part dans l'idée qu'en l'état normal des choses qu'un ordi utilisera la feuille screen et un mobile la handheld. On fabrique donc 2 feuilles, avec dans la handheld une gestion des contenus pour présentation spécifique aux mobiles. Le choix de l'une ou l'autre ne dépend pas de l'utilisateur mais de l'UA.
Dans le cas critique d'une feuille handheld non-reconnue (ou plus exactement d'utilisation de la première feuille rencontrée...), il convient d'envoyer au mobile une autre feuille CSS que la screen générique. L'idée est de commencer par détecter quelle feuille est utilisée par l'UA : screen ou handheld. Si handheld, pas de souci, le mobile réagit bien. Si screen, question : est-ce un ordi ou un mobile ? A ce moment-là JS intervient : si c'est une fenêtre supérieure à 450px de large rien ne se passe, si c'est moins il va proposer un lien (à placer par exemple en premier en haut de page avec les évitements et qui serait caché si y'en a pas besoin), genre Version pour mobiles. Ce lien ne concernera que les utilisateurs de mobiles non-handheld.
Quand l'utilisateur clique il ouvre une session PHP qui remplace dans l'entête les deux feuilles screen et handheld par une <link ref moobil.css media=screen>... A partir de là on peut développer une feuille suffisamment dégradée pour répondre aux différentes contraintes de consultation sur UA peu performants. On opère ainsi un système de filtrage plus ou moins temporaire puisque cette dégradation devrait concerner de moins en moins de mobiles.
Il reste aussi évidemment la possibilité de renvoyer par la session Php la même feuille handheld mais cette fois déclarée comme screen dans l'entête, mais il est dommage de se priver de cet outil de filtrage que représente une Css spécifique destinée aux "vieux" mobiles (enfin pas tant que ça.. le Viewty de LG, par ailleurs véritable bijou techno en mieux et moins cher que l'iPhone, s'affiche encore en screen).
Un petit test est en ligne ici. Ça marche aussi en réduisant les fenêtres d'écrans. Delete permet de réinitialiser le test en perdant la session Php.
Si votre mobile ne comprend ni Css ni JS il est temps d'en changer.