Vous êtes sur la page 1sur 5

Serveur Web

Un serveur Web est généralement constitué de trois grands modules:


serveur de fichiers, serveur d'application et serveur de base de données.

Serveur de fichiers
Un serveur de fichier n'est rien d'autre qu'un espace de stockage ou
d’hébergement des fichiers et dossiers constituant le site Web. Il
n'applique aucun traitement spécial au contenu des pages Web avant de
les renvoyer au client. Dans le jargon des réseaux on parle de partage de
données.

Par exemple les fichiers HTML, CSS ou Javascript sont renvoyés au client
tel qu'ils sont, le serveur de fichier ne fait que les stocker. C'est le
navigateur qui se chargera de les exécuter, d'ailleurs on parle de
langages coté client.

Dans les cours précédents, vous vous rappelez probablement que je


vous ai demandé d'enregistrer vos fichiers n'importe où sur votre
ordinateur, car c'est la navigateur qui s'occupera de les exécuter. En fait,
votre ordinateur est rendu un serveur de fichiers qui ne fait que stocker
vos pages Web, mais c'est le navigateur qui fait tout le reste.

Serveur d'application
Le serveur d'application intervient quand le document demandé par le
client contient des scripts CGI (écrits en PHP ou ASP par exemple). Les
scripts CGI sont d'abord exécuté par le serveur, particulièrement par le
serveur d'application, puis le résultat d’exécution est renvoyé au client. A
la fin le contenu renvoyé ne contient aucune trace des scripts CGI et tout
ce qu'il renferme ce sont les langages coté client conventionnels tels que
HTML, CSS et Javascript que le navigateur est censé exécuter à son tour.

En général, quand on parle d'un serveur Web (en tant que logiciel et pas
en tant que machine) on fait souvent allusion au serveur d'application
qui renferme le moteur d’exécution des scripts CGI.

Serveur de base de données


Le serveur de base de données n'est rien d'autre que le SGBD (Système
de Gestion de Base de Données). Il s'agit d'un logiciel qui gère la base de
données et qui est installé au sein du serveur Web.

Les sites Web dynamiques écrits à base des langages CGI tel que PHP
reposent généralement sur des bases de données. Le contenu que vous
visualisez sur un site dynamique n'est généralement pas intégré
directement au sein du code HTML lors de la création, mais il provient
d'une base de données. Le fait de modifier les entrées de la bases de
données revient à modifier le contenu visible sur le site Web.

Les principaux serveurs de bases de données (ou SGBD) connus sont:


Oracle, MySQL, PostgreSQL, Microsoft Access, Microsoft SQL Server,
Informix, dBase, SQLite...
Préparer son serveur
Désormais, il n'est plus question de mettre nos pages Web n'importe où
sur notre ordinateur. En effet, il y aura un emplacement qui sera dédié à
l'hébergement et qui sera géré par le logiciel faisant office de serveur
Web.

Parlant justement de serveur Web, il faut d'abord savoir que ce serveur


exécute les requêtes HTTP (HyperText Transfer Protocol) qui est le
protocole de communication utilisé pour transférer les données
hypertextes entre le client et le serveur.
Un autre protocole peut être pris en charge par le serveur Web, il s'agit
de HTTPS (pour HyperText Transfer Protocol Secure, la version sécurisée
de HTTP).
Il existe plusieurs serveurs Web. Certains sont multi-plateforme et
peuvent être installés sur divers systèmes d'exploitations
comme Apache ou Lighttpd et d'autres qui sont propres à un système
particulier comme IIS de Microsoft qui est destinée à Windows.

Cependant, Apache reste le serveur Web le plus connu et le plus adapté


pour exécuter PHP.

Serveur Apache
Apache est un serveur Web libre distribué sous la licence Apache. Il est le
serveur Web le plus populaire et le plus utilisé par les hébergeurs à
travers la toile.

Apache Server prend en charge de nombreux modules supplémentaires


qui lui confèrent des fonctionnalités plus étendues comme l’interpréteur
des langages PHP, Perl, Python et Ruby, le module CGI, le module URL
Rewriting, le module Proxy... Donc Apache ne reconnait pas
automatiquement la syntaxe PHP qu'après avoir activé son module.

Parmi les atouts de Apache c'est la portabilité. En effet, il est supporté


par de nombreux systèmes d'exploitation, principalement Unix/Linux,
Mac OS, Windows, BSD...

Installation d'Apache Server


Pour faire simple, je vais vous montrer comment installer le serveur
Apache sur Windows. D'ailleurs c'est très facile. Cependant, pour les
autres systèmes d'exploitation on verra dans les cours prévus pour le
système et sécurité comment installer et configurer correctement les
services requis sur un serveur Web destiné à la production,
particulièrement sur une plateforme Unix/Linux.

Pour commencer, sachez que l'objectif et d'installer une plateforme de


développement et non pas de production. L’essentiel est d'apprendre à
utiliser le langage PHP. D'ailleurs les développeurs ont pour coutume de
créer une plateforme de développement sur leur propres machines pour
faire les tests. Une fois le projet approuvé ils l’hébergent sur un serveur
Web de production pour que le site (ou application Web) soit accessible
sur la toile (ou au sein d'un réseaux local d'entreprise).

Il existe plusieurs logiciels qui font office de serveur Web et qui


supportent automatiquement le langage PHP. Les plus connus sont:

 WAMP: pour Windows, Apache, Mysql & PHP (le P peut aussi
désigner Perl ou Python). Il constitue la plateforme de développement la
plus utilisée par les développeurs.
 XAMPP: pour X, Apache, Mysql, PHP & Perl (le X désigne les
systèmes d’exploitation Windows, Linux et Mac OS). Il s'agit d'une
distribution Apache gratuite et largement utilisée aussi.
 MAMP: pour Macintosh, Apache, Mysql & PHP. Il s'agit d'une
plate-forme de développement destinée au système MacOS.
 Easy PHP: similaire au WAMP, était à une certaine époque la plus
célèbre des plateformes de développement en PHP sur Windows.
 ZMWS: pour Zazou Mini Web Server est un serveur Web léger et
portable (ne requière pas d'installation).
 LAMP: pour Linux, Apache, Mysql (ou MariaDB) & PHP (le P peut
aussi désigner Perl ou Python). Il s'agit d'un ensemble de logiciels libres
qui permettent de mettre en place un serveur Web pour les systèmes
GNU/Linux.

Vous pouvez utiliser n'importe quel plateforme. De toute façon elles font
toutes la même chose. Même si j'ai un léger penchant vers ZMWS je vous
recommande d'utiliser WAMP que vous pouvez télécharger directement
de son site officiel.

L'installation de WAMP Server est très simple, il suffit de cliquer deux


fois sur le fichier téléchargé et suivre les étapes de l'installation. Si vous
êtes débutant mieux vaut ne pas changer les paramètres par défaut et
suivez l'installation jusqu'à la fin. Une fois le logiciel installé il démarrera
automatiquement, sinon vous pouvez le lancer manuellement.

Une fois WAMP Server démarré, vous disposez désormais d'un serveur
Web local à votre machine. Pour interroger ce serveur vous pouvez taper
sur l'URL de votre navigateur préféré
l'adresse http://localhost ou http://127.0.0.1. Ces deux adresses font
référence au serveur local (ou boucle locale dans le jargon des réseaux
informatiques). Normalement, vous devez obtenir la page propre au
serveur qui contient des informations sur WAMP Server. Si c'est le cas,
alors votre serveur fonctionne bien, sinon c'est qu'il y a un problème lors
du démarrage. D'ailleurs, vous obtenez une petite icone du logiciel sur
votre barre des tâche. Si elle est verte, c'est que le serveur fonctionne
normalement, si elle est orange c'est qu'un problème a été rencontré
lors de la tentative du démarrage et si elle est rouge c'est que je serveur
est arrêté.

Sachez que le serveur Web exécute le protocole HTTP. Ce protocole


écoute sur le port 80. Si vous avez déjà un logiciel qui utilise ce port,
alors il est normal que votre serveur Web ne fonctionnera pas. Vous avez
donc deux solutions, soit changer le numéro de port HTTP de WAMP
Server (chose que je ne recommande pas pour le moment), ou bien
essayer d'identifier le logiciel qui occupe déjà le port 80 et l'arrêter, puis
essayer de redémarrer votre serveur local.

Vous aimerez peut-être aussi