niveau implémente une ou plusieurs des couches décrites ci-dessus.
Le premier niveau est appelé client. Il a pour rôle d'interagir avec les humains utilisateurs. Il
implémente la couche présentation. Dans le cadre d'une application WEB, il est représenté
physiquement par une machine (PC, tablette, téléphone portable intelligent, télévision, etc) qui
héberge un navigateur capable d'afficher un flux HTML, voire d'exécuter du javascript. Ce
dispositif empile peu de couches logiciels, le terme de client léger est souvent utilisé pour le décrire.
C'est pourquoi il peut être présent sur les périphériques mobiles.
Le second niveau est composite, il implémente les couches de service, de métier, d'accès aux
données, voire de médiation. L'ensemble peut être résumé par le terme de niveau logique de
domaine. Il est déployé dans une entité elle-même logique appelée serveur WEB ou serveur
d'application WEB hébergée sur un serveur qui peut être une entité physique ou virtuelle (machine
virtuelle).
Le dernier niveau représente les données persistantes de l'application le plus souvent stockées dans
une base de données, elle-même déployée sur un serveur physique ou virtuelle (machine virtuelle).
Il implémente la couche de stockage des données.
L'ensemble représente une application client-serveur où le serveur WEB joue à la fois le rôle de
serveur et de client. Serveur pour le navigateur distant de l'utilisateur et client vis à vis du serveur de
base de données. Il s'agit donc bien d'une infrastructure en réseau dont le protocole est HTTP entre
le client et le serveur d'application et un driver au dessus de TCP/IP (ou encore HTTP avec la
technologie RESTful par exemple) entre le serveur d'application et le serveur de la base de données.
Patron de structuration MVC2.
Chaque application logicielle peut être vue comme la composition de trois aspects, de trois
orientations. Le premier aspect, la vue (le « V » de MVC2) est représenté par la partie de
l'application réalisée avec une technologie qui permet d'interagir avec le monde extérieur afin de
présenter de l'information. Cela peut-être une simple interface de programmation (API) mais dans le
cadre d'une application WEB, il s'agit de l'ensemble des pages ou flux de présentation qui sont
affichés par le navigateur HTML du client. Ces pages génèrent des événements lorsque l'utilisateur
manipule leurs composants graphiques (logique événementielle).
Le second aspect, le modèle (le « M » de MVC2) représente l'ensemble du code de l'application qui
structure les données. Le modèle est une représentation des concepts métier mis en œuvre par
l'application. Avec les langages orientés objet, le modèle est encapsulé dans des classes métier sous
la forme de données membres privées. La richesse sémantique du modèle est également exprimé
par les relations qu'entretiennent ces classes entre elles. Le modèle est persistant et permet, côté
serveur, de générer des pages au contenu dynamique (mélange de données statiques et de données
provenant du modèle). Le modèle envoie une notification au contrôleur à chaque fois qu'un
événement extérieur à l'application modifie son état.
Le dernier aspect concerne le code de l'application qui contrôle la logique applicative. Il s'agit du
2/22 Licence SIL JJLC
< réponse SQL
SGBDR
(données)
3
internet
internet
requête HTTP >
Client léger
(navigateur)
1
Serveur web
(application)
2
requête SQL >
< réponse HTTP