Exécution de code par le serveur HTTP



Documents pareils
INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Les serveurs WEBUne introduction

A. Architecture du serveur Tomcat 6

Procédure d'installation du serveur Apache HTTPD pour Windows

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Préparation d un serveur Apache pour Zend Framework

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

TP Service HTTP Serveur Apache Linux Debian

1. La plate-forme LAMP

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Titre: Version: Dernière modification: Auteur: Statut: Licence:

ECLIPSE ET PDT (Php development tools)

Programmation Web. Madalina Croitoru IUT Montpellier

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

CGI et SSI. La programmation CGI. Sources. Objectifs. Qu'est ce qu'un programme CGI? CGI

L3 informatique TP n o 2 : Les applications réseau

L installation du module Webmail nécessite également quelques prérequis, à savoir :

TP1. Outils Java Eléments de correction

Mysql. Les requêtes préparées Prepared statements

Internet Information Server. Conçu et réalisé par Denis Szalkowski Formateur consultant

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Serveur Subversion Debian GNU/Linux

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Stéphane Mariel. les Cahiers. Programmeur PHP 5. Avec la contribution de Jean Zundel et Jean-Marie Thomas. Groupe Eyrolles, 2004, ISBN

Services Réseaux - Couche Application. TODARO Cédric

UE5A Administration Réseaux LP SIRI

Architectures web/bases de données

Installation d un hébergement Web à domicile

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Hébergement de site web Damien Nouvel

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Réaliser un inventaire Documentation utilisateur

2011 Hakim Benameurlaine 1

FileMaker Server 14. Guide de démarrage

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

PHP 5. La base de données MySql. A. Belaïd 1

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Mise en oeuvre d un Serveur de CD AXIS StorPoint

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

SERVEUR HTTP Administration d apache

Automatisation de l administration système

SERVEUR DE MESSAGERIE

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Optimisation SSD associé à un disque dur classique. Windows 7.

Utilisation de Jakarta Tomcat

Module 7 : Configuration du serveur WEB Apache

Démonstration de la mise en cache via HTML 5 sur iphone

FICHE 1 : GENERALITES SUR INTERNET EXPLORER

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Présentation Serveur Apache et pour RePeGlio

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Formation : WEbMaster

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

Serveurs de noms Protocoles HTTP et FTP

Club informatique Mont-Bruno Séances du 05 octobre et du 24 octobre 2012 Présentateurs : Réjean Côté

Maîtriser Apache. Benjamin Drieu. version

Bases Java - Eclipse / Netbeans

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Table des matières Hakim Benameurlaine 1

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

Version Décembre 2005

Formation en Logiciels Libres. Fiche d inscription

Stocker des données sur Amazon S3

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Hébergement de sites Web

Mandataires, caches et filtres

JavaServer Pages (JSP)

Manuel d utilisation du logiciel de messagerie personnelle Palm VersaMail 2.5

Petit guide pour l installation de CVW sous Linux

Apache 2.4 Installation et configuration

Module BD et sites WEB

Organiser le disque dur Dossiers Fichiers

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

UTILITAIRE BRM BACKING UP, RESTORING AND MOVING CONTENT

Open Source Job Scheduler. Installation(s)

1. Introduction Sauvegardes Hyper-V avec BackupAssist Avantages Fonctionnalités Technologie granulaire...

Cours d initiation à la programmation en C++ Johann Cuenin

Guide d utilisation. Version 1.1

Le serveur web Apache

Single User. Guide d Installation

Cours Programmation Système

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

RÉALISATION D UN SITE DE RENCONTRE

Protection des protocoles

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Transcription:

Chapitre 4 Exécution de code par le serveur HTTP L un des inconvénients de HTML est qu un serveur ne peut renvoyer que des pages Web dites statiques, c est-à-dire ne dépendant pas d un paramètre qui serait envoyé par le client. La seule latitude est le choix de la page. Cette restriction se voit très bien dans le cas des formulaires : nous avons vu comment envoyer les renseignements d un formulaire par courrier électronique mais nous ne savons pas comment renvoyer Bonjour suivi du nom qui se trouverait dans le formulaire. On a donc conçu des moyens d obtenir des pages dynamiques. La première méthode consiste à faire exécuter du code par le serveur HTTP et de placer le résultat de celui-ci dans la page Web avant de l envoyer. Apparue très rapidement dans l histoire du Web, il s agit des directives SSI (pour Server Side Includes). Elles gardent un intérêt, même si elles sont maintenant éclipsées par PHP. 4.1 Mise en place 4.1.1 Configuration du serveur Pour pouvoir exécuter les directives SSI, il faut que le serveur HTTP puisse les exécuter et qu il soit paramétré pour cela. Prenons le cas de Apache pour Windows. Module Include.- Le module SSI doit être chargé au démarrage du serveur. De façon générale, si Apache se trouve, disons dans le répertoire : 41

42 CHAPITRE 4. EXÉCUTION DE CODE PAR LE SERVEUR HTTP E:\Program Files\Apache Software Foundation\Apache 2.2\ que nous abrégerons désormais en le sous-répertoire : Apache, les binaires se trouvent de façon naturelle dans Apache\bin les fichiers de module se trouvent, quant à eux, dans le répertoire : Apache\modules comme on peut le vérifier. Pour que le module include soit chargé au démarrage du serveur Apache, il faut que dans le fichier httpd.conf se trouvant dans le répertoire : Apache\conf se trouve la ligne (décommentée, c est-à-dire non précédée du caractère # ) : LoadModule include_module modules/mod_include.so Option Includes.- D autre part, il faut ajouter +Includes aux options du répertoire des pages Web par défaut, c est-à-dire Apache2.2/htdocs, ce qui devrait donner : Options Indexes FollowSymLinks +Includes de façon à pouvoir faire exécuter les codes SSI situés dans les fichiers HTML qui se trouveront dans ce répertoire. Nom des fichiers contenant des SSI.- Enfin, à la fin de la section <IfModule>, il faut décommenter les deux lignes : AddType text/html.shtml AddOutputFilter INCLUDES.shtml pour enjoindre au serveur d analyser tout document HTML d extension.shtml avant envoi. Ceci qui obligera à donner l extension traditionnelle.shtml (évidemment pour SSI HTML) aux fichiers HTML contenant une directive SSI. On peut se passer de cette dernière contrainte en décommentant, entre autre, la ligne suivante : XBitHack on ce qui est cependant à éviter car une telle pratique nuit aux performances du serveur. 4.1.2 Premier exemple Dans l exemple suivant, sont affichées la date et l heure à laquelle la page Web a été envoyée : <TITLE>Page Web donnant la date et l heure</title>

4.2. LES DIRECTIVES SSI 43 <H1>Page Web donnant la date et l heure</h1> <!--#echo var="date_local" -->. 4.2 Les directives SSI 4.2.1 Syntaxe Comme nous l avons vu à propos de notre premier exemple, les directives SSI sont construites en respectant la syntaxe suivante : <!--#directive paramètre="valeur" --> Commentaires.- 1) Il s agit de commentaires HTML de façon à ce qu elles ne soient pas interprétées par les serveurs ne les prenant pas en compte ou non paramétrés pour cela. - 2) La marque de commentaire <!-- est immédiatement suivie du caractère # de façon à indiquer qu il s agit d une directive SSI aux serveurs qui les prennent en compte. -->. - 3) Il doit y avoir un espace entre la valeur et la marque de fin de commentaire - 4) Le tableau suivant donne la liste exhaustive des directives SSI : Directive Paramètre Description echo var Affiche la valeur de la variable spécifiée, d environnement ou propre à SSI include Insère les données textuelles d un autre document dans le fichier en cours file Chemin d accès relatif du document virtual Chemin d accès virtuel du document fsize file Affiche la taille du fichier spécifié flastmod file Insère la date et l heure de la dernière modification du fichier spécifié exec Lance un programme externe et en insère la sortie dans le document en cours cmd Toute applcation disponible sur le serveur cgi Un programme de CGI config Configuration de l outil SSI errmsg Message d erreur par défaut sizefmt Format d affichage de la taille du fichier timefmt Format de présentation des reprères temporels

44 CHAPITRE 4. EXÉCUTION DE CODE PAR LE SERVEUR HTTP 4.2.2 Directive d affichage Notre premier exemple a montré l utilisation de la directive echo d affichage. Les variables propres à SSI sont les suivantes : Nom Description DOCUMENT NAME Nom du fichier en cours DOCUMENT URI Chemin virtuel du fichier en cours QUERY STRING UNESCAPED Demande de recherche non décodée, où le caractère d échappement \ remplace les métacaractères du shell DATE LOCAL Date et heure locales DATE GMT Temps universel LAST MODIFIED Date et heure de la dernière modification du fichier en cours L exemple suivant illustre l utilisation de celle-ci : <TITLE>Bienvenue</TITLE> <H1>Bienvenue sur le serveur <!--#echo var="server_name" --></H1> Ce document a pour titre : <!--#echo var="document_name" -->. <BR> Pour y accéder ultérieurement, composez l adresse : <!--#echo var="document_uri" -->. Pensez &agrave l inclure dans vos signets! <!--#echo var="date_local" --> Date de la dernière mise &agrave jour : <!--#echo var="last_modified" -->. 4.2.3 Directive d inclusion de fichiers Certaines portions de fichiers HTML se retrouvent dans beaucoup de nos pages. Il est peutêtre inutile de les réécrire à chaque fois ; il suffit de les écrire très proprement et de les inclure lorsque nécessaire. Considérons le fichier suivant, nommé adresse.shtml : <ADRESS> <PRE> Patrick Cégielski

4.3. INCONVÉNIENT DES SSI 45 Universit&eacute Paris-Est Créteil cegielski@u-pec.fr Mis &agrave jour le : <!--#echo var="last_modified" -->. </PRE> </ADRESS> Insérons-le dans le fichier précédent pour obtenir le fichier inclusion.shtml : <TITLE>Bienvenue</TITLE> <H1>Bienvenue sur le serveur <!--#echo var="server_name" --></H1> Ce document a pour titre : <!--#echo var="document_name" -->. <BR> Pour y accéder ultérieurement, composez l adresse : <!--#echo var="document_uri" -->. Pensez &agrave l inclure dans vos signets! <!--#echo var="date_local" -->. <!--#include file="adresse.shtml" --> Son appel affichera l adresse et la date de dernère mise à jour du fichier inclusion.shtml. 4.3 Inconvénient des SSI L inconvénient essentiel des SSI est que le serveur HTTP doit lire ligne à ligne le code HTML de toute page à renvoyer (tout au moins celles d un suffixe déterminé tel que.html) pour voir si du code est à exécuter, exécuter celui-ci (et en placer le résultat là où il faut, mais cette dernière étape n est pas la plus lente). Ceci risque de ralentir fortement un serveur HTTP très sollicité.