Un même site pour le bureau et le mobile, c’est possible ?
L’internet devient mobile. Derrière cette évidence se cache une problématique élémentaire pour tous les designers de sites web : faut-il désormais créer pour chaque site une version pour la navigation sur ordinateur et une autre pour la navigation sur mobile ? Pas vraiment, le CSS est là pour vous sauver.
Fluid Grids
La première technique à utiliser est celle des fluid grids. Utiliser des fluid grids est une méthode de définition de fichiers CSS n’utilisant pas de tailles absolues mais uniquement des tailles relatives : à la taille de police par défaut d’un navigateur d’une part, aux éléments parents de chacun des blocs html ensuite.
Cette technique permet ainsi d’avoir des design HTML/CSS qui ont un bon comportement lorsque l’utilisateur change la taille de sa fenêtre : tous les éléments gardent la même proportion.
Media Queries
Que se passe-t-il alors quand l’écran atteint une taille critique et fait en sorte que l’apparence d’une page sur un écran trop petit n’est plus adaptée et ne permet pas une bonne lisibilité ? Là, une seconde technique rentre en jeu : les media queries.
Là encore, il s’agit d’une technique CSS qui permet de réorganiser le layout d’une page selon des conditions. Par exemple, si la largeur d’un écran de navigateur est en deça d’une certaine taille limite, il est sans doute pertinent d’abandonner un layout en colonnes au profit d’un layout mono-colonnes ou les blocs de succèdent les uns en dessous des autres.
Fluid Images
Bien sûr, cela n’est pas suffisant à créer un site complet et des problèmes vont se poser lorsqu’on va essayer de mettre des contenus de tailles fixes dans nos pages (des images, des vidéos YouTube, etc.).
Quelques éléments de réponses existent, notamment la méthode max-width de CSS. Cela pose néanmoins quelques problèmes de compatibilité entre navigateurs, Internet Explorer en tête.
Adaptation à iOS
Ce qui m’intéresse ici particulièrement, ce n’est pas vraiment Internet Explorer mais réussir à faire des sites qui ont un bon rendu sur les devices iOS, c’est-à-dire l’iPhone et l’iPad. J’ai donc cherché à tester cette technique avec un layout assez simple que voici :

Il s’agit d’un layout de 10 colonnes de 82px chacune, séparées par des espaces de 20px. Avec 2 gouttières extérieures de 12px chacune, on obtient une grille définie par rapport à une largeur d’écran par défaut de 1024px.
Pour construire ma CSS, quelques calculs sont nécessaires :

Ils me permettent de construire ma CSS rapidement pour la page de test que j’ai mise en ligne.
Cette page a les rendus suivants en modes portrait et paysage :

Conclusion
J’adapterai bientôt ce site, pour l’instant construit très rapidement avec ZPIP, pour qu’il utilise ces méthodes et soit adapté, avec un design sympa, à la consultation par iPhone et iPad. Stay tuned...
Les ressources web qui m’ont aidé :
Fluid Grids
Responsive Web Design
Fluid Images


69 Messages de forum