
Application Monopage (SPA) : Qu'est-ce que c'est, et quand devriez-vous l'utiliser ?
Une Single Page Application est une approche complètement nouvelle de la manière dont les pages web fonctionnent et se comportent. Cette technologie offre des opportunités pour créer des sites web interactifs qui ressemblent plus à une application native qu'à une page web traditionnelle.
Comment fonctionne une Single Page Application ?
Souvent, le terme SPA est confondu avec un site One Page. Ce sont toutefois deux choses complètement différentes. Pour un aperçu plus approfondi du fonctionnement et des avantages des Single Page Applications, il est important de se rappeler d'abord comment fonctionnent les sites web traditionnels.
Sites web traditionnels : requête-réponse
Les pages web traditionnelles fonctionnent en utilisant la méthode requête-réponse. Cela signifie qu'à chaque fois que nous voulons visiter une page, nous envoyons une requête au serveur. Ce dernier traite notre requête en vérifiant, par exemple, si nous sommes un utilisateur connecté, quels cookies nous avons envoyés, etc. Sur cette base, il décide quel contenu doit être affiché pour nous. En résumé, le serveur effectue beaucoup de travail pour finalement nous envoyer le code HTML (et CSS et JS, bien sûr) comme réponse, que notre navigateur affichera sous forme de page. Si nous voulons aller sur une autre sous-page – par exemple, de droptica.com à droptica.com/case-studies – toute l'opération est réalisée à nouveau. Le serveur traite la requête, décide quel contenu doit être affiché, génère et renvoie le code HTML. Cela se produit chaque fois que nous voulons afficher de nouvelles sous-pages.
SPA : requête-réponse, mais une seule fois
Dans le cas des pages de type SPA, la situation est complètement différente. Lorsque nous visitons une page donnée pour la première fois, le serveur nous envoie un minimum de codes HTML et JS. Dans cette situation, notre navigateur est responsable de générer, sur la base des fichiers envoyés, le fichier HTML approprié, qui nous sera affiché sous forme de site web. Si nous voulons aller sur une autre sous-page au sein du même site, nous n'avons plus besoin d'envoyer une autre requête au serveur, car notre navigateur a déjà tout téléchargé pour générer le reste des sous-pages. Cela est très important, car désormais en cliquant, par exemple, sur un lien vers une autre sous-page, le contenu sera modifié dynamiquement sans recharger toute la page.

Source : Devopedia
Qu'est-ce qu'une Single Page Application ?
En termes de fonctionnement, les Single Page Applications ressemblent davantage à des applications natives qu'à des sites web traditionnels. Grâce à l'utilisation de ces dernières, nous réduisons considérablement la charge du serveur, ce qui n'est pas sans importance, surtout dans le cas des sites à fort trafic.
Il est intéressant de noter que l'idée elle-même n'est pas nouvelle. Une solution similaire a déjà été décrite en 2002. Certains se souviennent même des pages basées sur Flash. Leur principe de fonctionnement était très similaire aux SPA, mais dans ce cas, le problème venait de Flash lui-même, dont l'utilisation – principalement en raison de failles de sécurité – a été abandonnée en 2020. L'idée a cependant survécu, et avec le développement de frameworks tels que Angular, React ou Vue (et le langage JavaScript lui-même), cette technologie gagne à nouveau en popularité. Les plus grands sites web, tels que Facebook, Pinterest ou Netflix, utilisent cette solution.
Sites web sous forme d'applications mobiles
Le marché des applications mobiles se développe encore rapidement, et nous pouvons souvent trouver des sites web qui, en plus d'offrir un accès aux pages web traditionnelles, permettent également de les visiter via une application dédiée pour téléphone. Dans le cas d'une Single Page Application, nous pouvons avoir ces deux choses en même temps. En visitant une page à l'aide d'un téléphone portable ou d'une tablette, nous recevrons des informations sur la possibilité de l'installer sous forme d'application. Bien sûr, il convient de noter ici qu'une application installée de cette manière n'offrira pas autant de possibilités que les applications dédiées iOS ou Android.
Aspects positifs des SPA
Le plus grand avantage d'une Single Page Application est sa rapidité de fonctionnement. Comparé à un site web traditionnel, l'utilisateur peut naviguer plus facilement. D'autres avantages sont : la commodité pour l'utilisateur (UX) et la génération d'une charge moindre pour le serveur. Cette solution sera parfaite pour les sites web qui peuvent également être téléchargés sous forme d'application mobile.
Aspects négatifs des SPA
Jusqu'à présent, nous avons décrit uniquement les avantages de la technologie Single Page Application. Il est donc temps de regarder ses inconvénients – en réalité un seul – qui, malheureusement, dans certains cas, peut complètement disqualifier l'utilisation de cette solution.
Avant de rentrer dans le vif du sujet, nous décrirons brièvement ce que sont les robots d'indexation appelés web crawlers. Ce sont des applications particulières (bots) conçues pour tracer et déterminer ensuite le contenu d'un site donné. C'est grâce à eux que lorsque nous partageons un lien sur Facebook, en plus de l'adresse URL, le titre, la description et une image, par exemple, le logo du site, apparaissent. Les crawlers de Google fonctionnent de manière similaire. Ils analysent la page et déterminent si le contenu y est précieux et à quel rang il doit se positionner dans les résultats de recherche. C'est là que réside le problème – les crawlers de Facebook ne sont pas du tout capables de gérer les sites SPA. D'un autre côté, Google s'en sort mieux, mais pas très bien.
Il peut donc être très difficile d'obtenir de bons résultats dans le moteur de recherche Google pour un SPA. Nous ne disons pas que ce n'est pas possible, car il existe des moyens de résoudre le problème, mais ce qui est relativement facile à réaliser sur un site "classique", dans ce cas, sera problématique.
Single Page Application – résumé
Le SPA est une solution qui devient de plus en plus populaire. Rapidité de fonctionnement, UX, faible charge pour le serveur ne sont que quelques-uns de ses avantages. Cependant, comme tout le reste, il a aussi ses inconvénients. Le plus important d'entre eux est la difficulté de positionner une page web dans les résultats des moteurs de recherche Google ou Facebook. Nos experts en création de logiciels sur mesure vous aideront à évaluer si une single page application sera la meilleure solution pour votre entreprise.