On peut raisonnablement supposer que des bases de données contenant de gros volumes de données, ou un schéma relationnel compliqué (comme, par exemple, une base lexicale pour un langage parlé), doivent être accessibles à beaucoup d'utilisateurs à la fois. De même, il doit être possible d'utiliser diverses plates-formes matérielles et logicielles existantes pour construire le système final. Pour réduire les coûts de mise en oeuvre, une seule partie du système a réellement besoin de puissance : le serveur de la base de données ; les stations utilisateurs doivent seulement afficher des données et accepter des commandes utilisateurs, mais le traitement proprement dit est fait sur une seule machine, justifiant ainsi le terme "base de données client - serveur". De plus, l'interface utilisateur doit être facile à configurer, et requérir le moins de traitement possible sur le client.
Les éléments suivants (protocoles, logiciels et plus généralement concepts) sont utilisés pour construire un système conforme à ces critères :
est le système d'exploitation. Il s'agit d'une implémentation stable d'Unix, multi-utilisateurs, multi-tâches, avec support réseau complet (TCP/IP entre autres). A part le coût du support et de la transmission, il est gratuit et livré sous forme de distributions, qui incluent généralement l'indispensable, du Système d'Exploitation lui-même au traitement de texte, outils de développement logiciel, langage de script, générateurs d'interfaces, etc.
Le langage HTML (HyperText Markup Language) est utilisé pour construire des interfaces de systèmes réseaux comme des Intranets, des serveurs Web (WWW). HTML est extrêmement simple et peut être généré à partir de n'importe quel éditeur de texte ASCII.
Les navigateurs sont des applications en mode texte (par exemple Lynx) ou en mode graphique (par exemple Mosaic, Netscape, Arena, etc.) destinées à la lecture et à l'affichage de documents HTML. C'est le seul logiciel directement manipulé par l'utilisateur de la base de données. Grâce aux navigateurs, on peut afficher différents types de données (texte ou images), et communiquer avec des serveurs HTTP (voir plus loin), hébergés par à peu près n'importe quel modèle d'ordinateur sur lequel un navigateur est disponible.
Un serveur HTTP fournit l'accès à une zone de l'ordinateur contenant les données publiques d'un réseau. Il supporte le protocole HTTP et fournit l'information demandée par l'utilisateur.
SQL (Structured Query Language) est un langage de manipulation de données dans une base relationnelle. Sa grammaire est très simple et constitue un standard largement supporté dans l'industrie. Les bases de données SQL sont au coeur même du concept classique de base de données Client - Serveur. Des systèmes SQL reconnus existent, comme Oracle, Informix, etc. ; on trouve aussi des bases comme msql, mysql, postgresql, pratiquement gratuites lorsqu'elles sont utilisées dans un cadre scolaire ou universitaire.
CGI (Common Gateway Interface) est l'interface de programmation entre le système supportant les données (dans notre cas, le système SQL) et le protocole réseau (HTML, bien sûr). Les interfaces CGI peuvent être construites en utilisant beaucoup de langages de programmation, dont l'un des plus populaires est perl.
Perl est un langage de script particulièrement puissant, qui combine les avantages du C, des différents shells, et des langages de manipulations de flux comme awk ou sed. Par exemple, perl possède de nombreux modules de manipulation de base de données SQL.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre