La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les serveurs HTTP IIS APACHE.

Présentations similaires


Présentation au sujet: "Les serveurs HTTP IIS APACHE."— Transcription de la présentation:

1 Les serveurs HTTP IIS APACHE

2 APACHE

3 Historique La version 1.0 est disponible début décembre 1995.
Elle fut crée par une équipe de Webmaster indépendant. Cette équipe fondée par les développeurs du NCAS (National Center for Supercomputing Applications) était à l’origine du plus populaire serveur web de l’époque : Urbain-Champain. Dès sa sortie, APACHE fut immédiatement porté sur la pluspart des environnements. APACHE est, aujourd’hui, un serveur fiable et robuste utilisé par de grandes entreprises comme IBM MICROSOFT qui utilise APACHE comme serveur Internet. Voir

4 Configuration 1- arborescence cgi-bin : par défaut contenant les cgi
conf : Contient les fichiers de configuration du serveur log : Contient les log users : Contient les sites des utilisateurs htdocs : Répertoire par défaut contenant les pages publiées. modules : Contient les modules optionnels pouvant complèter le serveur. icons : Répertoires des Icones

5 Configuration Les logs
access.log : Contient les informations concernant les accès au serveur. error.log : Contient les erreurs produites par le serveur. Les fichiers de configuration Au nombre de trois : access.conf : Droits d'accès aux répertoires du serveur srm.conf : Emplacement des principaux fichiers http.conf : Directives de fonctionnement du serveur lui-même

6 Configuration access.conf
Sur un répertoire <Directory ”Nom répertoire"> Options None|All|Includes|ExecCGI order deny,allow deny from all allow from AllowOveride None </Directory> Sur un URL <Location /url> </Location> Sur un Fichier <Files “fichier”> </Files> Allowoveride : le fichier .htaccess prend le relais sauf si NONE AuthConfig : config pouvant être modifiée par .htaccess FileInfo : droit accès aux fichiers

7 Configuration srm.conf
1. Etiquette définissant l’emplacement des principaux fichiers : DocumentRoot, UserDir, DirectoryIndex, AccessFileName, ScriptAlias Ex : DocumentRoot /Apache/htdocs 2. Permet de lier les types de fichiers à des icônes lorsque le mode FancyIndexing est sur on Ex : AddIcon /icons/binary.gif .bin .exe 3. Permet d’associer un entête à un type de fichier Ex : AddType text/html .shtml 4. Association des erreurs avec des textes appropriés Ex : #ErrorDocument 500 "Le serveur a commis une erreur” #ErrorDocument 404 /missing.html

8 Configuration port : port TCP/IP par défaut 80
Httpd.conf port : port TCP/IP par défaut 80 user : utilisateur sous lequel les CGI seront exécutés ServerAdmin : adresse du gestionnaire de site ServerRoot : répertoire de l’arborescence du serveur ServerName : Nom du server MaxClients : Nombre maximal de clients ErrorLog : Fichier log des erreurs. relatif à ServerRoot. CustomLog : Fichier des accès. Relatif à ServerRoot. TimeOut : Durée maximale avant attente trop longue

9 Authentification access.conf <Location /exemple>
AuthUserFile “c:\etc\passwd” AuthName ‘Libellé” AuthType Basic require valid-user </Location> ATTENTION : Charger le module spécifique dans httpd.conf LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll La création du fichier password doit être effectuée par l’outil htpasswd

10 Internet Information Server

11 IIS : Définition Logiciel de Microsoft
Pour Windows NT à partir de NT 4.0 Pour Windows NT / XP : IIS 5)

12 IIS : Définition Ensemble de 3 services sous Windows NT.
Services utilisant le réseau internet Services de publication d’information «publishing services» Permet de rendre accessibles (mettre en ligne) des sites FTP, Web et NNTP.

13 IIS : Les services Service Service Service SMTP... FTP HTTP IIS

14 IIS : Définition Service WWW
SGBD ASP DLL ISAPI (dont ASP.DLL) PROGRAMME CGI Pages HTML FILTRE ISAPI SERVEUR NT AVEC IIS BROWSER WEB

15 Configurer IIS Gérer l’accès aux sites
Onglet «Advanced» Autoriser certaines adresses IP ou domaines à se connecter Autoriser toutes les adresses IP ou domaines à se connecter sauf certains Limiter l’utilisation du réseau. Cumul de l’utilisation de tous les services

16 Configurer IIS Le compte du logon anonyme
Onglet «Service» Compte créé à l’installation d’IIS, avec le nom «IUSR_NomOrdinateur» Compte utilisé par NT pour les personnes qui se connectent en anonyme à un des services quand on autorise ce type d’accès

17 Configurer IIS Propriétés des répertoires
Permettent de limiter les possibilités du client sur ces répertoires Propriétés «Read» et «Write» pour FTP Propriétés «Read» et «Execute» pour WWW

18 Configurer IIS Les serveurs virtuels
Onglet «Directory» Permettent d’utiliser une autre adresse IP sur le même serveur Web On a donc plusieurs serveurs Web sur la même machine

19 Les technologies Serveur
SSI / CGI / ISAPI / JAVA SERVLET / JSP / PHP / ASP / DOT NET

20 SSI

21 SSI Les SSI (Server Side Include)
Si elles sont supportées par le serveur http, elle seront compatibles avec tous les navigateurs puisque le code des SSI sera transformé en HTML. Le format d'un appel SSI est le suivant : <!--#<balise><variables> --> Les balises reconnues sont break, config, echo, , exec, if, include, fsize, flastmod, label, goto et odbc. Les commandes break : La balise break permet de terminer le document HTML config : Utilisée pour positionner les options de sortie HTML. <!--#config timefmt="%d/%m/%y" -->

22 SSI echo : Permet d'insérer certaines données dans une page HTML.
Utilisez la variable var <!--#echo var="DATE_LOCAL" --> est la date du jour Afficher des variables d'environnement : DATE_LOCAL la date et l'heure locales du serveur HTTP DOCUMENT_NAME le nom complet du document REMOTE_ADDR l'adresse IP du client distant REMOTE_HOST le nom de la station cliente REMOTE_USER le nom du client distant

23 SSI exec : La balise exec permet d'exécuter une commande quelconque par le système d'exploitation du serveur. <!--#exec cmd='date' --> goto : La balise goto permet de sauter vers une étiquette #label sans exécuter le code entre l'instruction courante et l'étiquette. <!--#goto ="suite" --> blablabla non renvoyé <BR> <!--#label ="suite" --> if : La balise if permet d'effectuer une exécution sous certaines conditions, par exemple, d'afficher une portion de texte HTML si une condition est remplie. La syntaxe générale de la balise est la suivante : <!--#if expr="expression" --> ... <!--#elif expr="expression" --> ... <!--#else --> ... <!--#endif --> include : Permet d'inclure le contenu d'un fichier dans la page HTML <!--#include vitual|file = "fichier" -->

24 SSI Exemple <!--#if expr="${HTTP_USER_AGENT} = /MSIE 5/" -->
<!--#set var="brtype" value="msie5" --> <!--#elif expr="${HTTP_USER_AGENT} = /MSIE 4/" --> <!--#set var="brtype" value="msie4" --> <!--#elif expr="${HTTP_USER_AGENT} = /MSIE 3/" --> <!--#set var="brtype" value="msie3" --> <!--#elif expr="${HTTP_USER_AGENT} = /MSIE 2/" --> <!--#set var="brtype" value="msie2" --> <!--#else --> <!--#set var="brtype" value="unknown" --> <!--#endif --> <!--#include file="$brtype.txt"-->

25 CGI

26 Objectifs du chapitre Présentation des CGI Programme CGI
Fonctionnement Ecriture d’une application CGI Utilisation avancée de CGI

27 Possibilités d'extension
Internet Database Connector (IDC) Active Server Pages (ASP) applications ISAPI API applications ISAPI scripts Perl Perl Windows NT Server, Internet Information Server CGI Application simple API filtres ISAPI Filtres ISAPI Client Web

28 Présentation de CGI «Common Gateway interface»
Protocole de communication Permet à un browser Web et à un programme situé sur un serveur Web de dialoguer

29 Le support des CGI sur IIS
Support total des applications CGI Basé sur STDIN/STDOUT Généralement en Perl Accès à toutes les variables HTTP Les applications CGI s'exécutent en dehors du processus Les applications CGI peuvent s'exécuter dans le contexte du client ou du serveur

30 Les Variables d'environnement CGI
En-têtes HTTP AUTH_TYPE CONTENT_LENGTH GATEWAY_INTERFACE LOGON_USER PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_PORT_SECURE SERVER_PROTOCOL SERVER_SOFTWARE URL

31 Présentation de CGI Requête «classique» Requête «CGI» Client
Serveur Web Requête «CGI» f Programme Client Serveur Web

32 Programme CGI Figures imposées
Respecter le protocole CGI en entrée : Lire les paramètres d’entrée depuis «stdin» (si la méthode utilisée par le browser est «POST») Lire les paramètres d’entrée depuis une variable d’environnement (si la méthode utilisée par le browser est «GET»)

33 Programme CGI Figures imposées
Respecter le protocole CGI en sortie : Préciser le type de données retournées ( en précisant la valeur de «Content-type») Retourner le résultat par «stdout»

34 Fonctionnement : Envoi d’informations à partir du browser
Envoi à partir d’un formulaire Exemple de code HTML : <form action="cgi-bin/NomDuProgramme.exe" method="POST"> <input type="text" size="20" maxlength="256" name="NomDuControl" value="defaut"> <input type="submit" value="Submit Form"> </FORM> =>Un champ de saisie pour entrer la requête et un bouton «submit» pour l’exécuter

35 Fonctionnement : Envois d’informations à partir du browser
Méthodes de passage de paramètres GET Chaîne de requête à la suite de GET Le programme lit depuis une variable d’environnement Chaîne limitée à 1024 octets POST Chaîne de requête envoyée séparément Le programme lit ses arguments depuis stdin Pas de limite

36 Fonctionnement : Renvoi des informations au browser
Le programme utilise stdout pour renvoyer au serveur le résultat Il peut renvoyer une page HTML, une image, ou d’autres types de données en modifiant le Content-type du header HTTP

37 Ecriture d’une application CGI Exemple : L’application la plus simple
void main() { printf("Content-type: text/html\n\n") ; printf("<html>\n") ; printf("<head><title>Hello World</title> </head>\n") ; printf("<body>\n") ; printf("<h1>Hello, world.</h1>\n"); printf(«</body></html>\n«); }

38 ISAPI

39 Objectifs du chapitre Présentation d’ISAPI Différences avec CGI
Les filtres Les extensions

40 Présentation d’ISAPI Internet Server Application Programming Interface
Technologie de Microsoft et de Process Software, apparue en 1995 Permet de doter les serveurs Web d’extensions logicielles

41 Présentation d’ISAPI Ces applications peuvent:
Fonctionner avec Microsoft Internet Information Server Etre créées avec Visual C++ (à partir de la version 4.1)

42 Présentation d’ISAPI Ces applications prennent la forme de :
Filtres : applications qui «filtrent» toutes les données circulant entre le browser et le serveur Web Extensions : comparables à des applications CGI, sont exécutées par le serveur suite à des requêtes du browser

43 Présentation d’ISAPI Client Serveur FILTRE EXTENSION Filtre ISAPI
SERVICE WWW BROWSER WEB Application ISAPI EXTENSION SERVICE WWW BROWSER WEB

44 Introduction à la Programmation ISAPI
Les extensions ISAPI Etendent les fonctionnalités Hautes performances Exécution In-process Plug-ins Activation par Script Maintain state Les filtres ISAPI Contrôler l'activité Modifier le comportement Modifier les Entrées/Sorties Participer aux opérations intermédiaires

45 Les filtres Description
Dll qui se placent entre le browser et le service Web Toutes les données qui circulent, à partir ou vers le browser, peuvent être lues et modifiées

46 Les filtres Description
Client Serveur Filtre SERVICE WWW BROWSER WEB

47 Les filtres ISAPI Pourquoi: Opérations particulières, superviser/modifier les entrées/sorties, applicables à toutes les requêtes Architecture: Appelle les filtres pour des opérations immédiates Plusieurs filtres peuvent être actifs simultanément Plusieurs threads peuvent faire appel aux filtres

48 Le support d'un Filtre Plusieurs filtres peuvent être enregistrés et traiter chaque requête Chaque filtre doit indiquer à quel type de notification il s'intéresse Quand un filtre est appelé, il peut: Traiter entièrement la requête Traiter la requête et la passer au filtre suivant du type de notification courante Assumer tout le traitement de la notification courante

49 Différences entre ISAPI et CGI
Des .dll Des filtres et des applications Encore très peu répandu CGI Des .exe Seulement des applications Standard mondial

50 Différences entre ISAPI et CGI
Souvent utilisé avec un langage compilé comme C ou C++ Outil d’aide à la réalisation en C++, pour les handlers et les entrées CGI Souvent utilisé avec un langage de script (PERL) Rien, le développeur doit décrypter la chaîne d’entrée tout seul comme un grand

51 Différences entre ISAPI et CGI
Une dll regroupe un ensemble de fonctions Pour n utilisateurs, une dll est en mémoire A chaque utilisateur, un thread est lancé CGI Un exe contient une seule fonction Pour n utilisateurs, n exe sont en mémoire A chaque utilisateur, un processus est lancé

52 Différences entre ISAPI et CGI
Application CGI Dll ISAPI threads 3 utilisateurs Service Web 3 utilisateurs Service Web

53 JAVA

54 JAVA - Les SERVLET Le JSDK (Java Servlet Development Kit) fournit un modèle de classes pour l'écriture des Servlet. Il est disponible sur : Les Servlets sont des modules JAVA exécutés côté serveur pour générer des pages HTML dynamiques. Les Servlets sont en fait des petits serveurs spécialisés. Les servlets s'exécutent dans un moteur de servlet (parfois appelé conteneur de servlet) utilisé pour établir le lien entre la servlet et le serveur web

55 JAVA - Les SERVLET Le Conteneur Servlet se charge du cycle de vie d'une Servlet. Il crée un Instance, appelle la méthode init () de l'instance, puis il appelle la méthode service () et enfin avant de la détruire appelle la méthode destroy (). Une Servlet est crée en étendant soit la classe GenericServlet, soit la classe HttpServlet. GenericServlet est déjà une extension de HttpServlet. Elle propose des fonctionnalités spécifique à HTTP tout en simplifiant la création d'une Servlet. Une Servlet est chargée une seule fois et peut traiter plusieurs requêtes HTTP .

56 JAVA - La structure d'une SERVLET
Chaque requête provoque la création d'un Thread par le moteur qui éxécute la méthode Service de la Servlet. S'il s'agit une méthode GET (resp. POST), la méthode service transmet la requête à la méthode doGet (resp. doPost). Pour établir la réponse HTTP afin d'envoyer une réponse au client, l'objet HttpServletReponse de la méthode doGet (resp. doPost), permet : d'envoyer le type MIME par la méthode setContentType d'extraire l'objet PrintWriter grâce la méthode getWriter () qui va permettre de générer le contenu du flot de sortie.

57 JAVA - Exemple d'une SERVLET
import javax.servlet.*; import javax.servlet.http; import java.io.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) { res.setContentType("text/html"); PrintWriter out = res.getWriter (); out.println("<HTML>"); out.println("<BODY>"); out.println("<HELLO WORLD>"); out.println("</BODY>"); out.println("</HTML>"); out.close (); } Servlet doGet Type MIME Flot de sortie

58 LES JSP JSP (Java Server Page)
Les pages web JSP sont une technologie développée par Sun basée sur Java qui simplifie le processus de développement de sites web dynamiques Lorsque la page est demandée par un utilisateur en HTTP, alors le serveur web HTTP va transmettre sa requête à un moteur de JSP qui va interpréter le page, compiler le code et générer la réponse.

59 LES JSP - Exemple <html> <body> <% String visitor = request.getParameter("name"); if (visitor == null) visitor = " World"; %> Hello, <%= visitor %>! </body> </html>

60 JSP - Installation Les éléments nécessaires pour utiliser JSP sont :
un serveur HTTP (Apache, IIS…) un logiciel implémentant le conteneur (ou moteur) de JSP est nécessaire (Tomcat, Netscape entreprise Server) une Java Virtual Machine tel que JDK (Java Development Kit) qui contient une JVM, un compilateur...

61 JSP - Exécution Les JSP sont dérivées des servlets (les JSP sont transformées par le conteneur en Servlet), Elles sont donc compilées en une classe Java dérivant de la classe HttpServlet le serveur Web appelle le conteneur de JSP qui transforme la page JSP en code source Java et compile la classe afin de fournir un fichier compilé (d'extension .class). Le script JSP est donc devenu une Servlet.

62 JSP - Exécution

63 PHP

64 PHP - Introduction PHP, signifie "PHP: Hypertext Preprocessor" (Preprocesseur HyperTexte), est un langage de script HTML. La plupart de sa syntaxe est empruntée aux langages C, mais y ajoute plusieurs fonctionnalités uniques. Le but de ce langage est de permettre aux développeurs web de concevoir rapidement des sites, aux pages dynamiques PHP 3.0 est un logiciel libre : vous pouvez le modifier et/ou le modifier sous licence GNU General Public License, telle que publiée par Free Software Foundation; Sources, documentation, executable : PHP supporte de nombreuses bases de données (et aussi ODBC).

65 PHP - Installation Le langage PHP a été conçu durant l'automne 1994 par Rasmus Lerdof. Multi-plateforme, il est disponible sur UNIX, LINUX, WINDOWS. Sur WINDOWS, PHP peut-être couplé avec : · Personal Web Server (Version la plus récente recommandée) · Internet Information Server 3 ou 4 · Apache 1.3.x · Omni HTTPd 2.0b1

66 PHP - Premier Exemple Balises HTML <html> <head>
<title>Exemple</title> </head> <body> <?php echo ”Je suis un script PHP!"; ?> </body> </html> Instruction PHP PHP est un langage de script HTML, qui fonctionne coté serveur. Il possède les même fonctionnalités que les autres langages permettant d'écrire des scripts CGI, comme collecter des données, générer dynamiquement des pages web ou bien envoyer et recevoir des cookies.

67 PHP - Les variables & Les variables dynamiques
Une variable classique est affecté avec l'instruction suivante: $a = "bonjour"; Il est pratique d'avoir des noms de variables qui sont variables. C'est-à-dire un nom de variable qui affecté et utilisé dynamiquement. Une variable dynamique prend la valeur d'une variable et l'utilise comme nom d'une autre variable. $$a = "le monde"; A ce niveau, deux variables ont été définies et stockées dans l'arbre des symboles $a avec comme valeur "bonjour" et $bonjour avec comme valeur "le monde".

68 PHP - Les types PHP est faiblement typé.
Les type de base sont : ENTIER, les DOUBLE, les CHAINES : $str = <<< FIN Ceci est une chaine de caractères FIN; Pas de type DATE, ni de type BOOLEAN.

69 PHP - Assignation par référence
Le & placé au début de la variable qui est assignée permet d’assigner par référence. <?php $v1 = ‘Valeur1’; $v2 = &$v1; $v2 = ‘valeur 2’; echo $v1; echo $v2; ?> Seule les variables nommées peuvent être assignées par référence.

70 PHP - Les variables prédéfinies
Variables Apache Elles sont spécifiques et créées par le serveur Apache. SERVER_NAME : nom du serveur hôte SERVER_PROTOCOL: Nom et révision du protocole de communication REQUEST_METHOD : Méthode de requête utilisée pour accéder à la page QUERY_STRING : La chaîne de requête, DOCUMENT_ROOT : La racine sous laquelle le script courant est exécuté Variables PHP Elles sont créées par PHP argv : Tableau des rguments passées au script. argc : Contient le nombre de paramètres de la ligne de commande passés au script PHP_SELF : Le nom du fichier du script en cour d'éxécution, HTTP_COOKIE_VARS : Un tableau associatif HTTP_GET_VARS : Un tableau associatif HTTP_POST_VARS : Un tableau associatif Variables d’environnement Ces variables sont importées depuis l'environnement sous lequel PHP fonctionne. EX : PATH

71 PHP - Les tableaux Deux types de tableaux :
tables de hashage (tableaux associatifs) tableaux indexés (tableaux scalaires). Tableaux à une dimension : <?php $a[0] = "abc"; $a[1] = "def"; $b["foo"] = 13; ?> Ajout d’un nouvel élément en fin de tableau $a[] = "Bonjour"; // $a[2] == "Bonjour"; $a[] = "Monde"; // $a[3] == "Monde"; Un ensemble de fonctions sont disponibles pour agir sur les tableaux : asort(), arsort(), ksort(), rsort(), sort(), uasort(), usort(), uksort(), count().

72 PHP - Les tableaux parcours
reset($arr); while (list($key, $value) = each ($arr)) { echo "Clé: $key; Valeur: $value<br>\n"; } foreach ($arr as $key => $value) { ?> Pointeur interne du tableau au début Retourne une paire clé /valeur Permet d ’assigner une liste de variables Extension de foreach

73 PHP - Les tableaux à plusieurs dimensions
Pour chaque dimension du tableau, ajouter une nouvelle [clef] à la fin. <?php $a[1] = $f; $a["foo"] = $f; $a[1][0] = $f; $a["foo"][2] = $f; $a[3]["bar"] = $f; $a["foo"][4]["bar"][0] = $f; # ?> La méthode la plus simple à comprendre est l’utilisation de la fonction array(). $a = array( "pomme" => array( "couleur" => "rouge", "saveur" => "sucrée", "forme" => "rond"), "orange" => array( "couleur" => "orange", "saveur" => "amère", "forme" => "rond”)); Mélanger les types Associatifs / Scalaires

74 PHP - Les opérateurs Les opérateurs arithmétiques : + - * / %
Les opérateurs d'assignement : += -= *= /= %= .= Bitwise Operators : & | ^ ~ << >> Opérateurs de comparaison : == === != < > <= >= === Egalité et meme type Opérateur de contrôle d'erreur : @ @ permet d’ignorer les warning Opérateur d'exécutions : ` ` $d = ` DIR ` Incrementing/Decrementing Operators : Les opérateurs logiques : && and || or xor ! String Operators : .

75 PHP - Require & Include require()
La commande require() se remplace elle même par le contenu du fichier spécifié, comme les préprocesseurs C le font avec la commande #include. include() La fonction include() inclue et évalue le fichier spécifié en argument. <?php $files = array (’premier.inc’, ’second.inc’, ’troisieme.inc’); for ($i = 0; $i < count($files); $i++) { include $files[$i]; } ?> include() diffère de require() car le fichier inclus est ré-évaluée à chaque fois que la commande est exécutée. include_once () & require_once ()

76 PHP - Les structures de contrôles
Les conditionnelles if else elseif switch case Les itératives while do while for foreach Exemple : $a = array (1, 2, 3, 17); foreach ($a as $v) { print "Valeur courante de \$a: $v.\n"; } Les ruptures break continue

77 PHP - Les fonctions En PHP, les fonctions peuvent être utilisées avant d’étre définies. PHP supporte un nombre variable d’arguments et l’assignation des valeurs par défaut. func_num_args() : retourne le nombre d’arguments de la fonction func_get_arg(n) : retourne un argument func_get_args() : retourne un tableau contenant les arguments <?PHP function test (arg1 = val_defaut1, arg2 = val_defaut2) { .. } test (); ?>

78 PHP - Les fonctions passage des arguments par références
Par défaut, les arguments sont passés à la fonction par valeur. PHP supporte le passage d’arguments par référence. Pour passer un argument par référence, utiliser ’&’ devant l’argument dans la déclaration de la fonction : function add_some_extra(&$string) { $string .= ’, et un peu plus.’; } $str = ’Ceci est une chaîne’; add_some_extra($str); echo $str; Pour passer une variable par référence à une fonction ponctuellement : function add_some_extra($string) { … } add_some_extra(&$str);

79 PHP - Class & Objet Une classe est un ensemble de propriétés et de méthodes. Une classe est définie par la syntaxe suivante : class exClass { var $p1; var $p2; function exClass () { } Un objet est instancié par l’instruction new : obj = new exClass (); obj->p1 = ‘TEST’; Une Class peut-être enrichie par héritage : class exFilleClass extends exClass { Un objet peut se référencer par l’objet $this. Définition d ’une class Instanciation d ’un objet Accès aux propriétés & Méthodes d ’un objet Héritage Référence l ’objet courant

80 PHP - Images Dynamiques
Entete HTTP <?php Header("Content-type: image/png"); $string=implode($argv," "); $im = ImageCreatefromPNG("images\\bouton.png"); $orange = ImageColorAllocate($im, 0, 20, 60); $px = (imagesx($im)-7.5*strlen($string))/2; $py = (imagesy($im))/2; ImageString($im,3,$px,$py,$string,$orange); ImagePNG($im); ImageDestroy($im); ?> Identifiant IMG Image de fond Créée L’IMAGE PHP n'est pas limité à la création de fichier HTML. Il peut aussi servir à créer des images GIF/JPG/PNG à la volée,. Cet exemple sera utilié dans une page HTML : <img src="button.php3?text">.

81 PHP - Images Cliquables
HTML> <BODY> <FORM action = 'index.php' name = 'img'> <INPUT type = "image" src = "image.php?CNAM"> </FORM> <BR> <?php printf ("X : %d <BR>",$x); printf ("Y : %d <BR>",$y); ?> </BODY> </HTML> Image Coordonnées X, Y du clique Permet de récupérer dans un script PHP les coordonnées X, Y relatives d’un clique effectuée sur une Image.

82 PHP - Les COOKIES Le PHP supporte les cookies HTTP de manière totalement transparente, La fonction setcookie() sert à créér un cookie. Tout cookie envoyé depuis le client sur le serveur sera stocké sous forme de variable, comme pour les méthodes POST ou GET. Pour assigner plusieurs valeurs à un seul cookie, il vous faut ajouter les caractères [ ] au nom du cookie. Par exemple : SetCookie ("MyCookie[]", "Testing", time()+3600);

83 PHP - Accès à une Base de données
PHP dispose, en natif de plusieurs fonctions spécifiques aux bdd du marché : dBase INGRES INFORMIX INTERBASE SQL SERVER mSQL MySQL ODBC ORACLE Ovrimos SQL PostgreSQL Connexion au serveur $con = mysql_connect(" ") or die ("erreur”); mysql_select_db("test"); r = mysql_query ("select * from personne); mysql_result (r,1,1); echo (r); mysql_close($con); Base Requête Résultat

84 PHP - Fonctions MySQL mysql_connect (s,u,p) : connexion à un serveur de données mysql_select_db(bd) : selectionne une bd mysql_query (req) : envoie une rêquete au serveur mysql_num_fields () : nombre de champs mysql_num_rows () : nombre de lignes mysql_result (result, row,field): contenu d’un champ mysql_field_name (i) : nom du champ mysql_field_type (i) : type d’un champ

85 PHP - Fonctions Supplémentaires en PHP
Gestion de l’annuaire LDAP Gestion de la DOM XML Correcteur orthographique Gestion des Gestion FTP Gestion réseaux Gestion des paiements sécurisés Gestion des fichiers ZIP Gestion des PDF Génération d’objet FLASH Cryptage


Télécharger ppt "Les serveurs HTTP IIS APACHE."

Présentations similaires


Annonces Google