Application web
À la conquête des applications Web et de leurs caractéristiques
L’évolution de la technologie et de l’information combinée aux besoins croissants des populations a favorisé la création de nombreux sites Web de par le monde. Et on entend même parler d’applications Web. Quel est ce concept ? Quelle touche apporte-t-elle ? Quelle est sa part dans les applications mobiles ? Voilà autant de questions auxquelles nous apportons des réponses claires dans ce billet.
Les applications Web en bref
Construites de manière à répondre à différents types de défis et de problèmes, les applications Web sont des applications dont le bon fonctionnement ne requiert aucune installation sur l’ordinateur de l’utilisateur final. Les applications Web sont directement accessibles grâce à un navigateur Web (Google Chrome, Firefox, Microsoft Edge, Safari…). Tout comme les sites Web, elles ont besoin d’internet pour fonctionner et sont généralement installées sur un serveur distant. Ce dernier représente le nœud le plus important de la chaîne, car toutes les données y sont stockées. On y retrouve en effet le déploiement de l’application internet, les données y afférents et très probablement l’instanciation d’une base de données.
Comment ça marche ?
Une application Web est un raccourci de logiciel applicatif qui automatise ou met en application les principes propres à une activité, avec la particularité qu’elle est rendue accessible aux utilisateurs grâce à internet. Trois éléments sont primordiaux pour le fonctionnement d’une application Web : un serveur Web, un serveur d’applications et une base de données. Un serveur d’application représente un logiciel qui aide le serveur Web à traiter des pages Web. Lorsqu’une page de ce type est requise par l’utilisateur, le serveur Web la transmet au serveur d’application afin qu’il la traite avant son envoi au navigateur. De manière plus élaborée, une application présente une interface utilisateur exécutée sur le poste client. Ladite interface graphique est obtenue grâce au navigateur qui télécharge les données (textes, images, vidéos, bandes sonores) à présenter à l’utilisateur qui interagit ainsi avec l’application Web. Cette information reçoit donc les demandes de l’utilisateur, les transmet au serveur qui effectue les traitements puis envoie le résultat du traitement au client (grâce à l’interface graphique, rappelez-vous). Dans certains cas, il semble nécessaire de stocker certains éléments de ce résultat dans une base de données.
Application Web ou application native ?
Question cruciale. Voyons-y un peu plus clair. Les applications natives sont des logiciels d’applications destinées et adaptées à un système d’exploitation donné, si bien qu’une application mobile conçue pour iPhone par exemple ne pourra fonctionner que sur ce système d’exploitation là. Ce n’est pas le cas de l’application Web. En effet, une application Web peut fonctionner sur tous les appareils : ordinateur portable, ordinateur de bureau, téléphones portables (Android, iOS, Windows Phone…). Toutefois, ce fonctionnement requiert l’existence d’un navigateur Web. Peu importe donc l’appareil grâce auquel l’utilisateur compte accéder à l’application Web. Par ailleurs, à la différence d’une application mobile :
- l’application Web n’occupe aucun espace de stockage sur l’appareil de l’utilisateur ;
- l’application Web ne se télécharge pas dans un dépôt (Google Play, Apple App Store…).
Intéressons-nous pour finir cette rubrique comparative au coût engendré par le développement des applications Web ou native. Puisqu’une application native est adaptée à un système d’exploitation particulier, vouloir l’étendre à d’autres systèmes d’exploitation revient à engendrer davantage de dépenses. Il faudra en effet réécrire le code afin de l’adapter aux autres systèmes. Cela n’est cependant pas le cas des applications Web qui peuvent être consultées à partir de n’importe quelle plateforme.
Une application Web est-elle une application mobile ?
Il existe un certain malentendu entre les termes applications Web et application mobile. Bien qu’il soit possible d’accéder à une application Web à partir d’un téléphone mobile (grâce aux merveilles du responsive design), il n’en demeure pas moins qu’une application Web n’est en aucun cas une application mobile. Cette dernière fonctionne en effet uniquement sur des téléphones portables, jamais dans un navigateur Web.
Quelques avantages d’une application Web
En dehors des points positifs expliqués plus haut, disposer d’une application Web présente également d’autres avantages comme :
- des sauvegardes automatiques ;
- l’absence de risque d’obsolescence ;
- l’hébergement des données dans un cadre contractuel de confidentialité ;
- la mise à niveau des applications de manière automatique et transparente ;
- la possibilité de travail en simultané, car beaucoup d’applications Web permettent à plusieurs utilisateurs de travailler sur le même contenu...
Une pièce possédant deux faces…
Comme qui dirait, à chaque modèle son vice ! Comme inconvénients de l’utilisation d’une application Web, on peut principalement citer :
- l’obtention de bugs à l’affichage sur certains terminaux ;
- l’inutilité totale de l’application Web en l’absence d’internet ;
- l’occurrence d’attaques si la sécurité HTTPS n’est pas associée ;
- des difficultés d’accès à l’application durant les heures pleines…
Le nécessaire pour la création d’une application Web
La conception d’une application Web passe par une idée dont la portée sur un environnement cible devra être jaugée. De plus, il faudra considérer le code couleur à adopter, le design des diverses interfaces (front-end, back-end, dashboard), la définition des fonctionnalités et leur implémentation, les interactions avec la base de données et surtout le choix du langage de développement.
Les langages du développement Web
Le développement d’une application Web nécessite la connaissance des différents langages utilisés dans les technologies du Web. Ce dernier fait intervenir deux catégories de développements que sont :
- le développement front-end dont la finalité représente l’interface graphique par laquelle les sollicitations de l’utilisateur sont transmises au back-end ;
- le développement back-end qui concerne l’implémentation des diverses interactions et fonctionnalités relatives à l’application.
Les technologies utilisées au front-end sont communément HTML, CSS et JavaScript. Pour les automatismes exécutés par le serveur, les développements back-end peuvent être faits grâce aux langages tels que PHP, C#, VBScript, NodeJS, JAVA ou Python. Nous ne pourrons toutefois pas aborder le back-end sans mettre en exergue l’usage des technologies liées à la base de données. On énumère par exemple MySQL, PostgreSQL, MongoDB…
Les types d’applications Web les plus pertinents
Connaissant désormais les caractéristiques des applications Web, il convient de clore ce billet en exposant les divers types d’applications Web que l’on retrouve de nos jours. Soit alors :
- application Web statique : développée en HTML et CSS, elle affiche peu d’informations et leur contenu n’est pas facilement modifiable ;
- application Web dynamique : assez complexe sur le plan technique, elle nécessite des mises à jour chaque fois que l’utilisateur y accède. PHP et ASP sont les langages requis ;
- boutique virtuelle ou e-commerce : son développement est plus compliqué, car devant permettre les commandes et paiements électroniques ;
- portail d’applications Web : les différentes sections de l’application sont atteintes depuis la page d’accueil ;
- application Web avec gestionnaire de contenu : le système de gestion de contenu (CMS en anglais) est utilisé pour un développement rapide et une mise à jour aisée ;
- application Web animée : elle permet de créer un contenu pourvu d'effets d’animations.