Temps de lecture : 3 minutes
09/07/2020
Application web et mobile
Introduction aux technologies des applications - Partie 3 : Le serveur web
Introduction aux technologies des applications web et mobile
Voici donc le dernier article de notre série sur l’introduction aux technologies des applications web et mobile, il concerne le serveur web. Le premier article traitait du moteur des applications et le second de l’affichage.
Tout ce que vous faites au quotidien comme regarder des vidéos sur Netflix, écouter de la musique sur Spotify, discuter avec vos amis sur Whatsapp ou lire des actualités, chercher vos prochaines vacances, découvrir une recette de crêpes… tout se fait avec une connexion vers Internet.
Votre application web ou mobile, lorsque vous vous en servez (ou même en arrière plan), va chercher des informations sur des serveurs (ordinateurs puissants dont le rôle est dédié à vous répondre lorsque vous les interrogez).
Chaque demande que vous faites, chaque action, est appelée « requête » et toutes ces requêtes sont traitées par des logiciels que l’on appelle serveur web.
Il en existe de nombreux sur le marché, les plus connus sont Apache et Nginx.
Apache, sorti en 1995, a longtemps dominé le marché mais perd des places face à Nginx sorti en 2004.
Cloudflare Server est un serveur web récent, mis en place par la société Cloudflare comme un service, il est difficilement comparable en tant que service puisqu’on ne peut pas l’installer sur ses propres serveurs.
Sa forte croissance est due aux services de protection contre les piratages, ses performances et sa facilité d’installation.
Microsoft IIS quant à lui, est conçu principalement pour le langage web de Microsoft mais peut aussi faire d’autres langages moins représentés.
Qu’est-ce qu’un serveur web ?
Un serveur web est un service mise à disposition sur des machines et qui reste toujours à l’écoute. Il reçoit des requêtes pour le contenu d’une page par exemple, traite la demande et la renvoie au navigateur qui peut l’afficher.
Il est possible de prévoir des règles pour améliorer son fonctionnement comme l’utilisation d’une mémoire (cache) pour envoyer plus rapidement les pages souvent demandées, l’ajout de sécurité sur les réponses, la compression d’images ou du code, l’interdiction d’accès à certains pays…
Pourquoi utiliser un serveur web ?
Sans serveur web, pas de web !
Donc pour votre application (ou votre site internet), qu’elle soit web ou mobile, il faut prévoir un serveur web pour que vos visiteurs puissent accéder à vos pages, tout simplement.
Quel serveur web choisir ?
Vous trouverez sur Internet des fans d’Apache qui vous prouveront que Nginx est moins fiable, des articles qui feront des louanges sur les performances de Nginx, un peu comme tout produit ou service qui possède son lot de détracteurs…
Il est en réalité difficile de vraiment trancher.
Là où Apache est plus simple à configurer et dispose de plus de modules permettant de l’étendre, Nginx est plus rapide sur les pages simples (statiques), nécessite moins de ressources, et peut servir pour d’autres rôles…
Ils ont donc tous les deux des avantages, le mieux étant donc de réfléchir à chaque fois aux besoins précis, et aux compétences liées des personnes en charge.
Est-ce que vous devez choisir le serveur web de votre projet ?
Non ! Il y a peu d’intérêt d’imposer un serveur web à une agence.
Les points importants à retenir pour votre sont :
- Le serveur web doit être sécurisé, votre contenu ne doit être accessible qu’en HTTPS
- Le serveur web doit être performant, des pages simples et légères doivent s’afficher instantanément
- Le serveur web doit être fiable et testé, il doit être capable de support des pics de charges et gérer votre application sans erreur
Il en va de même avec l’architecture système et matérielle qui s’occupe de ce serveur web. En fonction de votre activité, il est important de prévoir de la redondance (de multiple serveurs web) pour assurer une haute disponibilité de vos services.
Chez 69pixl
Comme de nombreuses agences de développement web, nous gérons notre propre infrastructure, que nous avons basé sur Nginx, pour diverses raisons qu’il n’est pas utile d’étaler dans ce type d’article. Cela révèlerai certains secrets de notre R&D pour laquelle nous avons longtemps travaillé et surtout beaucoup investi.
Tout ce qu’il faut savoir, c’est que cette infrastructure est si performante qu’elle nous permet de réaliser tout ce que nous proposons dans nos missions de développement web ou de développement d’applications mobiles sans avoir affaire à des prestataires extérieur.
Cela étant, après des centaines d’heures pour affiner et tester nos configurations, nous sommes fiers de voir les performances des applications que nous hébergeons !