Faire de l'adaptive design avec Fasterize

Modifié le  Tue, 04 Dec 2018 sur 12:10 PM

L'adaptive design est la technique qui consiste à générer différents templates de pages pour des écrans de tailles différentes (mobile, tablet, desktop). Cette technique est différente du responsive design dans la mesure où le template est choisi au niveau du serveur en fonction de l'entête HTTP User-Agent.






La difficulté liée à l'adaptive design consiste à classer l'ensemble des navigateurs par type. Cela implique de maintenir et interroger une base de données contenant la correspondance entre l'entête User-Agent et son type (mobile, desktop, tablet).

Fasterize gère la classification des User-Agents


Chaque requête envoyée au serveur d'origine contient un entête X-User-Agent-Class. Cet entête HTTP contient une des valeurs suivantes :

  • mobile : la requête provient d'un navigateur sur smartphone
  • tablet : la requête provient d'un navigateur sur tablette
  • desktop_recent : la requête provient d'un navigateur sur bureau
  • old : la requête provient d'un vieux navigateur desktop (Internet Explorer en dessous de la version 10). Cette classe n'est pas mise en cache au niveau de Fasterize.
  • bot : la requête provient d'un bot (d'un moteur de recherche ou d'un outil de monitoring)


Par ailleurs, Fasterize segmente automatiquement son cache en intégrant cette catégorisation dans la clé de cache. Cela veut dire qu'il est possible de mettre en cache les différentes versions d'une même page sans risque de servir une page mobile à un client desktop.


La règle à suivre : ne pas cumuler les bases de données


Au niveau du serveur d'origine, il est impératif d'utiliser l'entête X-User-Agent-Class pour générer le template. En effet, cela permet d'aligner la génération des templates avec le paramétrage du cache Fasterize. Si vous utilisez votre propre base de données de User-Agent (comme avec Sparkow), il y aura un risque que certains user-agents ne se retrouvent pas dans la même classe ce qui corromprait le cache.

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article