REST + AJAX, quel couple ! (1/3)

Partie 2
Partie 3

Suite à une discussion avec un ami, je me lance dans ce billet qui a pour but de décrire une architecture intéressante de  site web. Il n’y a pas de révolution dans celle-ci : on reprend les principes de base des sites modernes en les poussant un peu.

1. architecture générale

Le site web se base sur deux technologies bien connues :

  • REST pour l’accès aux ressources.
  • AJAX pour la gestion dynamique des pages web.

Pour un site web, REST propose de donner une URL ayant du sens à chaque ressource : pages web, images, données… REST sera utilisé principalement par les “machines”. Nos pages web consulteront le serveur REST pour les données et les fichiers utilisés. De même les autres sites  web voulant exploiter les données du site web s’adresseront à lui ainsi que les moteurs de recherches (URL propres).

AJAX gère le contenu dynamique, c’est donc via du code javascript que l’accès aux données se réalisera. Toutes les pages seront des pages statiques HTML et non générées par du code PHP, Python, Perl…  Ce qui a pour  avantages :

  • Une navigation plus fluide entre les pages d’un même thème ;
  • La complexité visuelle  déporté du côté client ;
  • Une diffusion plus aisée des pages statiques.

C’est la vue de notre site web, c’est l’utilisateur qu’on souhaite satisfaire en priorité. On cherchera ensuite à guider les moteurs de recherche vers nos services REST.

NB : Côté technos, il y a déjà tout ce qu’il faut , par exemple Django ou MERB. Ensuite un serveur apache suffit pour tout supporter. Pour le code Ajax, on peut se baser sur un framework type JQuery.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: