Application web monopage

Application web basé sur une page unique et une logique côté client

Une application web monopage (en anglais single-page application ou SPA) est une application web accessible via une page web unique. Son but est d'éviter le chargement d'une nouvelle page à chaque action demandée et de fluidifier ainsi l'expérience utilisateur : la quantité de données à télécharger est réduite et le navigateur web, au lieu de devoir réinitialiser toute la page, n'a qu'une partie à mettre à jour.

La conception d'une application monopage par rapport à une autre sur plusieurs pages.

Le terme a été introduit par Steve Yen en 2005[1].

Approches techniques

modifier

Stockage de ressources

modifier

Les ressources (contenu, images, styles et scripts) nécessaires au fonctionnement de l'application peuvent être :

  • soit chargés dès l'ouverture de l'application (comme cela est fait par le concours Castor informatique français) ;
  • soit récupérés dynamiquement au besoin, généralement en fonction des actions de l'utilisateur (comme sur Wikipédia en version mobile, qui ne charge les images qu'au moment où elles sont censées apparaitre à l'écran).

Le fruit de l'application peut également être géré de deux manières :

  • il peut être placé dans le stockage web local, c'est-à-dire dans l'espace disque de l'utilisateur (dans ce cas, il se peut que l'application fonctionne entièrement avec simplement des fichiers locaux, sans serveur web) ;
  • il peut également être envoyé à un serveur web (habituellement via le protocole HTTP), généralement celui qui héberge l'application.

TiddlyWiki est un exemple d'application web monopage qui permet de créer un journal personnel au format HTML. Cette application peut fonctionner en local et sauvegarder vos modifications en ligne grâce à des modules d'extension sur GitHub ou Dropbox par exemple.

Bibliothèques JavaScript

modifier

De nombreuses bibliothèques JavaScript, et notamment des bibliothèques libres, sont spécialisées dans la création d'applications web monopages, entre autres : AngularJS, Ember.js, React, Vue.js et Svelte.

Annexes

modifier

Liens externes

modifier

Notes et références

modifier
  1. (en) Single-page webapplications, sur slideshare.net.