CHAPITRE VIII SPECIFICATIONS TECHNIQUES
L'étude qui suit fixe les orientations techniques de
développement de la base de données et de l'application. Elle
couvre tous les déterminants et les choix nécessaires pour une
architecture appropriée à la conception du système. Elle
nous permet ainsi de déterminer les technologies, les outils et le
matériel adapté pour la mise en place du système en
prenant en compte les contraintes d'intégration dans son
environnement.
VIII.1. Choix techniques
VIII.1.1. Choix de l'environnement de travail
Nous avons choisi l'utilisation rien que des logiciels libres
pour tout le projet de développement de cette application web. Ce choix
est réalisable dans la mesure où il existe une multitude de
logiciels capables de concurrencer les logiciels commerciaux et parfois de les
sur planter. Les outils utilisés se regroupent en deux (2) domaines :
- les éditeurs que nous utilisons pour la conception de
notre site, en particulier NVU,
- les logiciels utilisés pour nos travaux.
Linux est un système d'exploitation moderne
bénéficiant de l'ensemble des
fonctionnalités d'Unix. Ce n'est pas un produit
commercial : c'est un logiciel libre que l'on peut obtenir gratuitement. Il est
livré avec toutes les fonctionnalités, les outils et les
utilitaires habituellement livrés avec les variantes commerciales d'Unix
:
- c'est un système 32 bits (64 bits sur certaines
plate-formes),
- il est multi-utilisateurs,
- il est multitâche (multitâche préemptif et
non coopératif comme Windows 98)
dans le domaine des réseaux, il prend parfaitement en
charge la famille des
protocoles TCP/IP et possède bien plus de
caractéristiques que la plupart des
variantes commerciales d'Unix, il dispose de shells très
performants ainsi que
de XFree86, une implémentation complète du
système X-Window.
Linux possède les caractéristiques
idéales pour implémenter un serveur Internet stable, performant,
sécurisé et flexible. Linux facilite à ses utilisateurs un
service d'hébergement de sites Internet ainsi qu'un service de gestion
de boîtes aux lettres électroniques.
VIII.1.2. Architecture Logicielle
Dans les développements d'applications web il existe
plusieurs patterns architecturaux3 allant du client web léger
au client web lourd. Nous ferons un tour d'horizon sur ces architectures avant
de nous appesantir sur notre choix architectural.
D'une manière générale une application
web comporte quatre (4) composants essentiels : un navigateur chez le client,
un serveur web, un serveur d'applications et un serveur de données. Les
types de clients sont :
- Le client web très léger et universel : Dans
ce type d'architecture, la configuration du client n'est pas maîtrisable.
Le client est constitué d'un browser standard. La présentation et
la partie métier sont entièrement réalisées par le
serveur et non pas par le client.
- Le client web léger : c'est l'architecture la plus
utilisée dans les applications Internet ou Intranet dont la
maîtrise des clients n'est pas évidente. Ce type d'architecture
requiert du client un langage tel que JavaScript permettant la validation des
formulaires au niveau client avant l'envoi des requêtes au serveur.
- Le client web alourdi : les pages web de ce type
d'architecture sont constituées de composants tels que ActivesX, applets
Java, Plug-ins. Ceci a pour avantage l'exécution d'une bonne partie du
code par le client déchargeant ainsi le serveur de certaines
opérations. Par contre, il faut que les navigateurs de clients
supportent ces composants pour permettre une bonne exécution des
applications.
- Le client lourd : dans ce type d'architecture, la
configuration du client est bien connue puis-qu'il doit exécuter une
application entièrement conçue à cet effet. Il y a des
contraintes de déploiement qui sont de nos jours plus ou moins
résolues grâce à l'apparition d'outils de livraison
à distance(par le web).
3 Un pattern architectural est l'expression d'un schéma
fondamental d'organisation pour des systèmes logiciels (Pascal Roques
)
Compte tenu de la complexité des données à
collecter et à traiter, la solution envisagée doit obéir
aux règles suivantes :
- assurer une meilleure sécurité des données
et leur transaction par les utilisateurs ;
- permettre une maintenance facile ;
- capacité à résister aux pannes ;
- permettre une évolution du réseau ;
- faciliter la gestion des utilisateurs et le paramétrage
du système ;
- centralisation des données dans une base de
données;
- fiabilité des traitements ;
- facilité d'exploitation ;
- intégrité des données : les
résultats seront reportés sans avoir été à
nouveau saisis ;
- rapidité des mises à jour des indicateurs
grâce à une interaction avec le logiciel ;
- traiter des volumes de données de plus en plus grand
;
- accéder de façon transparente à des
données situées sur des serveurs différents.
Ces règles orientent notre choix vers une architecture
client/serveur.
Le problème est de trouver le nombre de couches
nécessaires pour un bon fonctionnement et une fiabilité maximale
du système.
Pour cela nous avons opté pour une architecture à 3
niveaux.
Dans l'architecture à trois niveaux, les applications
au niveau serveur sont délocalisées, c'est-à-dire que
chaque serveur est spécialisé dans une tâche. Ainsi on aura
un serveur d'application et un serveur de base de données.
En effet l'architecture à trois niveaux offre :
- une plus grande flexibilité du système ; - une
plus grande sécurité des services ;
- une meilleure performance par le partage des tâches
coté serveur.
Figure 16 : Schéma de l'architecture
client/serveur à 3 niveaux
|