En Perl, les choses sont un peu différentes. Le cgi Perl ne peut être qu'un programme qui génère des sorties.

Dimension: px
Commencer à balayer dès la page:

Download "En Perl, les choses sont un peu différentes. Le cgi Perl ne peut être qu'un programme qui génère des sorties."

Transcription

1 Les CGI en Perl. En Perl, les choses sont un peu différentes. Le cgi Perl ne peut être qu'un programme qui génère des sorties. 1

2 Une fois de plus. #!/usr/bin/perl print "Content-type: text/html\n\n"; print '<HTML>'; print '<HEAD>'; print '<TITLE> Table </TITLE>'; print '</HEAD>'; print '<BODY bgcolor = "#CCCCCC">'; print '<TABLE BORDER="2" WIDTH=80%>'; print '<TH COLSPAN=8> Titre de la table. </TH>'; for($i=0;$i<4;$i++){ print '<TR>'; for($j=0;$j<=7;$j+=1){ print ('<TD ALIGN=CENTER> Bonjour. </TD>'); } print ('</TR>'); } print ('</TABLE>'); print '</BODY>'; print '</HTML>'; 2

3 Commençons par un exemple. Considérons le programme suivant : #!/usr/bin/perl print <<fin; <HTML> <HEAD> <TITLE>essai de script CGI</TITLE> </HEAD> <BODY> Voici le texte de ma page </BODY> </HTML> fin Son exécution produit : <HTML> <HEAD> <TITLE>essai de script CGI</TITLE> </HEAD> <BODY> Voici le texte de ma page </BODY> </HTML> C'est à dire un source html. Le service cgi est un moyen de retransmettre ce résultat à un client html afin qu'il soit interprète et fournisse un résultat. 3

4 Les en têtes. Le serveur doit avoir des informations supplémentaires afin de savoir quoi faire de la sortie standard des scripts CGI. Cette information est fournie par l'en-tête MIME. Elle se présente immédiatement après la ligne shebang. #!/usr/bin/perl print "Content-type: text/html\n\n"; print <<fin; <HTML> <HEAD> <TITLE>essai de script CGI</TITLE> </HEAD> Ce programme est stocké dans un répertoire cgi-bin, qui possède les droits d'accès appropriés, sous le nom "premier.cgi". <BODY> Voici le texte de ma page </BODY> </HTML> fin 4

5 Appel du programme. On ouvre un navigateur et on se place dans la barre de navigation. Dans un navigateur et on fait référence à l'url qui contient le programme en question : 5

6 Les variables d'environnement d'un CGI. CONTENT_LENGTH : Taille des données en entrée. CONTENT_TYPE : Type MIME des entrée ("text/html"). GATEWAY_INTERFACE : Version CGI mise en œuvre par le serveur. HTTP_ACCEPT : Liste des types MIME reconnus par le client. HTTP_FROM : Adresse électronique de l'utilisateur. HTTP_USER_AGENT : Navigateur utilisé par le client. PATH_INFO : Spécification d'un chemin d'accès. PATH_TRANSLATED : Version décodée du contenu de PATH_INFO. HTTP_USER_AGENT : Navigateur utilisé par le client. QUERRY_STRING : Contenu de la requête. REMOTE_ADDR : Adresse IP de l'utilisateur. REMOTE_HOST : Nom de la machine de l'utilisateur. REMOTE_IDENT : Identification de lutilisateur. REMOTE_USER : Nom authentifié de l'utilisateur. REQUEST_METHOD : Méthode employée par l'utilisateur. SCRIPT_NAME : Chemin virtuel du script. SERVER_NAME : Nom ou adresse IP du serveur. SERVER_PORT : Numéro de port du client. SERVER_PROTOCOL : Nom et version du protocole. SERVER_SOFTWARE : Nom et version du serveur. 6

7 Formulaire. Les CGI sont très utilisé pour transmettre des informations d'un client WWW vers un service particulier, via un serveur HTTP. Synoptique des échanges client, serveur et script CGI par un formulaire. Le client WWW affiche un formulaire. L'utilisateur complète les champs et valide le contenu qui est transmis. L'information est transmise, méthode GET ou POST. Le serveur HTTP qui réceptionne la requête initialise le CGI référencé par le formulaire WWW ; Le CGI effectue le traitement demandé et retransmet le résultat vers le client WWW. 7

8 Référence à un cgi. Par l'intermédiaire d'un formulaire <FORM> Les informations sont envoyées au le serveur à une adresse spécifiée par son url. Cette adresse est spécifiée par l'attribut action. Le résultat généré par le serveur se présente dans la page courante ou dans la fenêtre du navigateur spécifiée par l'attribut target. La syntaxe est : <FORM action="url" method="get" enctype="encodage" name="nom" target="cible"> <FORM action="url" method="post" enctype="encodage" name="nom" target="cible"> 8

9 Les méthodes. Méthode GET : L'information est transmise dans l'url d'appel du script CGI qui les récupère via la variable QUERY_STRING. Méthode POST (fortement conseillée): Les champs sont transmis dans un corps de document dont le CONTENT_TYPE est "application/x-www-form-urlencoded". Ils sont passés au script CGI via son entrée standard. Ce type implique que les champs du formulaire sont séparés par le caractère &, qu'ils sont précédés de leur nom, l'attribut NAME de la balise HTML $<$FORM$>$ et du signe =. Les caractères accentués et les espaces sont encodés comme spécifié dans RFC

10 Notre toute première cgi. #!/usr/locałbin/perl # hello.cgi - My first CGI program print Content-Type: text/html\n\n ; Ne pas oublier les deux retours chariot. print <html> <head>\n ; print <title>c.g.i. qui dit bonjour!</title> ; print </head>\n ; print <body>\n ; print <h1>salut christian... Comment tu vas?</h1>\n ; print </body> </html>\n ; 10

11 Explication. Le programme perl #!/usr/locałbin/perl # hello.cgi - My first CGI program print Content-Type: text/html\n\n ; Content-Type décrit le type d information MIME. print <html> <head>\n ; print <title>c.g.i. qui dit bonjour!</title> ; print </head>\n ; print <body>\n ; print <h1>salut christian... Comment tu vas?</h1>\n ; print </body> </html>\n ; A généré la sortie suivante sur <stdout> Content-Type: text/html <html> <head> <title>c.g.i. qui dit bonjour!</title></head> <body> <h1>salut Christian... Comment tu vas?</h1> </body> </html> 11

12 Type de programmation. Il existe deux manières de programmer un CGI. La programmation orienté objet la plus complète. La programmation orienté fonction lorsqu'on n'a pas besoin des possibilités objet. En programmation orientée objet, il est nécessaire de créer un ou plusieurs objets CGI. Les méthodes qui leur sont associées seront alors utilisées pour créer les différents éléments de la page. Chaque objet CGI commence avec la liste des paramètres nommés tels qu'ils ont été passés au programme CGI par le serveur. En programmation orienté fonction, on utilise un objet CGI par défaut avec lequel on interagit que très rarement. On se contente d'appeler les fonctions pour toutes les opérations nécessaires : Récupérer les paramètres du CGI. Créer les balises HTML. Gérer les cookies. L'interface de programmation est propre mais limitée à un seul objet CGI à la fois 12

13 Orientation objet. # chargement du module CGI use CGI; # creation d'un nouvel objet CGI $q = new CGI; # creation de l'en-tete HTTP print $q->header, $q->start_html('orientation Objet.'), $q->h1('bonjour tout le monde.'), $q->end_html; 13

14 Orientation fonction # chargement des fonctions standard de CGI use CGI qw/:standard/; # creation de l'en-tete HTTP print header, start_html('orientation fonction.'), h1('bonjour tout le monde.'), end_html; 14

15 Par exemple. # Creation d'un formulaire et renvoie des valeurs. use CGI qw/:standard/; print header, start_html('un exemple simple'), h1('un exemple simple'), start_form, "Votre nom? ",textfield('nom'),p, "Vos gouts?", p, checkbox_group(-name=>'gouts', -values=>['television','cinema','lecture','eclectiques'], -defaults=>['eclectiques']), p, "Votre statut? ", popup_menu(-name=>'statut', -values=>['celibataire','marie','separe','divorce']),p, submit, end_form, hr; if (param()) { print "Vous vous appelez ",em(param('nom')),p, "Vos gouts sont : ",em(join(", ",param('gouts'))),p, "Vous etes ",em(param('statut')), hr; } 15

16 Résultat. 16

17 Autre exemple. #!/usr/bin/perl use CGI qw/:standard/; my $page = new CGI; print header; print $page->start_html(-bgcolor=>"lightblue"); print h2('identite'), start_form, "Votre nom...",textfield('nom'),p, "Votre prenom...",textfield('prenom'),p, "Votre mail...",textfield('mail'),p, submit, end_form; print $page->hr; print $page->end_html; Et il est possible de mélanger les deux méthodes. if (param()) { print "Votre prenom est ",strong(param('nom')),p, "Votre nom est ",em(join(", ",param('prenom'))),p, "Votre adresse mail est ",param('mail'), hr; } 17

18 Autre exemple. 18

19 Le problème des erreurs. De manière standard, les erreurs d'un cgi sont redirigées vers un fichier "error_log". Nombre d'erreurs ne permettent pas de retrouver certaines informations indispensables. Le script fautif. La ligne en cause. L'heure du problème. Le type de l'erreur générée. Toute mise au point devient alors particulièrement délicate. Un module spécifique a été créé pour faciliter le travail, c'est "CGI::Carp". Toute commande qui rajoute une ligne dans le fichier "error_log" sera prise en compte par le module. Chaque ligne indiquera très précisément : L'heure à laquelle s'est produit l'évènement. L'origine de l'erreur. Le fichier et ligne du fichier sur laquelle porte l'erreur. L'erreur sera quand même écrite dans le fichier log. 19

20 Utilisation de CGI::Carp. Pour valider le module Carp, on rajoute la ligne suivante au début du cgi. use CGI::Carp; De plus, si la commande se présente sous la forme : use CGI::Carp qw(fatalstobrowser); Les erreurs fatales apparaitront directement sur la page du navigateur mais seront tout de même écrite dans le fichier error_log. 20

21 Les types MIME. MIME signifie : Multipurpose Internet Mail Extensions. les types de base sont : Type MIME text/html text/plain text/rtf image/gif image/jpeg audiøbasic audiøx-wav videømpeg videøquicktime Description. Hyper Text Markup Language (HTML). Fichier texte ordinaire. Texte en format Rich Text Format. Image en format GIF. Image en format JPEG. Fichiers audio au format sun (*.au). Fichiers audio au format Windows (*.wav). Vidéo compressé en format MPEG. Vidéo en format Quick time. 21

22 L'interface navigateur <-> CGI. Le programme CGI reçoit un certain nombre d informations. En provenance du navigateur, du serveur et du programme lui même. Du navigateur : Son type. Ce qu il fait. etc... Du serveur : Son nom. La version. Le port sur lequel il s exécute. etc... Du programme : Son nom. Son emplacement. etc... En provenance de l utilisateur. Soit par une variable d environnement (méthode GET). Soit par l entrée standard <stdin> (méthode POST). 22

23 Les variables d'environnement. Variable REMOTE_ADR REMOTE_HOST HTTP_ACCEPT HTTP_USER_AGENT REQUEST_METHOD CONTENT_LENGTH QUERY_STRING PATH_INFO PATH_TRANSLATED Signification. L adresse IP de la machine client. Le nom de la machine client. Liste des types MIME que le navigateur est capable d interpréter. Information sur le navigateur (nom, numéro de version, système etc...). GET ou POST. La taille de l entrée si méthode POST, non utilisé si méthode GET. Information d entrée pour la méthode GET. Permet à l usager de spécifier un chemin (http://nom/cgibin/prog/path). Traduit le path relatif de PATH_INFO en path courant du système. 23

24 Les variables d'environnement. #!/usr/locałbin/perl print Content-type: text/html\n\n ; print <html> <head>\n ; print <title>les variables d environnement.</title>\n ; print </head>\n ; print <body>\n ; print <h1>cgi Voici l ensemble des variables d environnement :</h1>\n ; foreach $variable (keys(%env)) { print <B>$variable</B> = $ENV{$variable}<BR>\n ; } print </body> </html>\n ; 24

25 Liste des variables d'environnement. 25

26 Exemple de formulaire. <html> <head> <title>etat civil.</title> </head> <body> <form action= /nometage.cgi method=post> Quel est votre nom : <input type=text name= nom ><p> Quel est votre age : <input type=text name= age ><p> <input type=submit> </form> </body> </html> 26

27 Et le CGI qui va avec. #!/usr/locałbin/perl # nameage.cgi use CGI; my $info = new CGI; $info devient la référence à un hash $info ->header contient la chaine : Content-type: text/html \n\n $info ->start_htm( Etat civil ) va mettre la chaine Etat civil dans les balises ; <!DOCTYPE HTML PUBLIC -//IETF//DTD HTMŁ/EN > <HTML><HEAD><TITLE>Etat civil</title> $info -> param( nom ) va permettre d accéder à la valeur d indice nom de la table de hash. print $info->header, $info->start_html( Etat civil ), Bonjour :, $info->param( nom ), <BR>, Vous avez bien, $info->param( age ), ans, n est-ce pas?<br>, $info->end_html; $info -> end contient la chaine : </BODY></HTML> $info -> param( age ) va permettre d accéder à la valeur d indice age de la table de hash. 27

28 Exécution. 28

29 Résultat. 29

30 Autre exemple. Soit la page HTML suivante : <HTML> <!-- Page crée par C. Aperghis-Tramoni --><HEAD> <TITLE> test de CGI </TITLE> </HEAD> <BODY BACKGROUND= ppats/backblue.jpg BGCOLOR= #FFFFFF TEXT= # LINK= #0000DD ALINK= #00DD00 VLINK= #DD0000 > <DIV ><H1>Appel de CGI.<BR></H1></DIV> <BR><HR> <H3> <BR> Appel d un CGI date.cgi dont l URL est : <BR> <BR> <BR> <A HREF= > C.G.I.</A> </H3> <BR><HR> </BODY> </HTML> 30

31 Appel de CGI. Le texte html précédent produit le résultat suivant : 31

32 Contenu du programme "date.cgi". #!/usr/locałbin/perl # date.cgi # Impression Header CGI. print Content-Type: text/html\n\n = ( Dimanche, Lundi, Mardi, Mercredi, Jeudi, Vendredi, Samedi = ( Janvier, Février, Mars, Avril, Mai, Juin, Juillet, Aout, Septembre, Octobre, Novembre, Décembre ), ($ss,$mm,$hh,$jj,$mo,$aa,$js,$ja,$st) = localtime(time); $annee = $aa ; print <html> <head>\n ; print <title>la date et l heure.</title>\n ; print </head>\n ; print <body BACKGROUND=\ ppats/nuages.jpg\ >\n ; print <h1>nous sommes le <br> ; print ( $jours[$js] $jj $mois[$mo] $annee<br> ); print ( Il est $hh heures, $mm minutes, $ss secondes<br> ); print ( Ce jour est le $ja ème de l année<br> ); print ( Nous sommes en heure d hiver.<br> ) if ($st =1); print </h1> ; print </body>\n</html>\n ; 32

33 Résultat obtenu. 33

34 Un formulaire client. <HTML> <HEAD> <!-- Auteur : C.A.T. - Date = 19 Juin > <TITLE>A Form </TITLE> </HEAD> <BODY bgcolor="#80b080"> <P> <H3 ALIGN=CENTER>Done for ERIICTA training.</h3> <form action="http://naboo.lim.univ-mrs.fr/cgi-bin/chris/page.cgi" method=post> <P> Your first name.... <INPUT TYPE=TEXT NAME=FIRST SIZE=40> </P> <P> Your second name..<input TYPE=TEXT NAME=SECOND SIZE=40> </P> <P> Your <input TYPE=TEXT NAME=MAIL SIZE=40> </P> <BR> <CENTER> <INPUT TYPE=SUBMIT VALUE="Envoyer"> <INPUT TYPE=RESET VALUE="Annuler"> </CENTER> </FORM> </BODY> </HTML> 34

35 Récupération de l'information.. C. Aperghis-Tramoni L'information envoyée par le client sera récupérée sur le serveur par un CGI. Récupération des valeurs par l'intermédiaire d'un hash. #!/usr/bin/perl use CGI; my $info = new CGI; #get info $nom1 = $info->param('first'); $nom2=$info->param('second'); $mail=$info->param('mail'); Your first name.... <INPUT TYPE=TEXT NAME=FIRST SIZE=40> Your second name..<input TYPE=TEXT NAME=SECOND SIZE=40> Your <input TYPE=TEXT NAME=MAIL SIZE=40> 35

36 Edition des résultats. L'information est retournée au client en format html. print $info->header; print $info->start_html("result."); print ('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'); print ('<HTML><HEAD><TITLE>Your results.</title>'); print ('</HEAD><BODY bgcolor="#f5f5f5">'); print ("<H1><CENTER>This is the information you sent. :</CENTER></H1><BR>"); print ("<H3> Your first name is : $nom1.</h3>") print ("<H3> Your second name is : $nom2.</h3>") print ("<H3> Your is : $mail.</h3>") print ("<H2>Nice to meet you.</h2>") print $cgi->end_html; print $cgi->end_html; 36

37 Les effets pervers de la mémoire cache. La majorité des navigateurs mémorisent les pages visitées dans un cache. Cette technique permet d'en disposer aussi longtemps que nécessaire sans avoir besoin de les recharger à chaque consultation. Cette technique est profitable sauf dans certains cas bien précis. Soit le cgi ci contre. #!/usr/bin/perl use CGI; my $cgi = new CGI; chomp ($heure = `date`); $script = $ENV{'SCRIPT_NAME'}; $rel = "<A HREF = \"$script \" > Relancer."; print $cgi->header; print $cgi->start_html("effet surprenant du cache."); print ('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'); print ("</HEAD><BODY bgcolor='#f0f0ff'>"); print ("<H1><CENTER>$heure<BR>"); print (" $rel.</center></h1><br>"); print $cgi->end_html; 37

38 Résultat. Si le cache est actif, chaque requête faite par l'intermédiaire du lien "Relancer" ira chercher la page présente dans le cache et l'heure affichée ne sera pas remise à jour. Il est nécessaire d'interdire au navigateur de stocker le document dans sa mémoire cache. 38

39 Les intitulés "Expires" et "Pragma" Ce sont les intitulés "Expires" et "Pragma" qui vont permettre de contrôler la mise en cache d'une page. #!/usr/bin/perl use CGI; my $cgi = new CGI;.... print $cgi->header; print ('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'); print ("</HEAD><BODY bgcolor='#f0f0ff'>"); # Suppression de la mise en cache. print ("Pragma: no cache \n\n");.... print $cgi->end_html; #!/usr/bin/perl use CGI; my $cgi = new CGI;.... print $cgi->header; print ('<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'); print ("</HEAD><BODY bgcolor='#f0f0ff'>"); # Date de peremption. print ("Expires: Tuesday 01-Jan-08 00:00:00 GMT\n\n");.... print $cgi->end_html; Attention, certains navigateurs se révèlent incapables de traiter de manière correcte ces en-têtes. 39

40 Utilisation de SSI. Server-Side Includes est un ensemble de fonctionnalités fournissant des instructions qui permettent d'insérer les résultats d'actions dans les documents html. L'utilisation de ces fonctions impose ique les documents aient l'extension shtml et que le fichier de configuration d'apache soit modifié comme suit. # # Pour activer SSI, utiliser les lignes suivantes: # # Pour les fichiers Server-parsed HTML : AddType text/html.shtml AddHandler server-parsed.shtmll Dans une page HTML, un commentaire est inséré par la ligne suivante. <!-- description des instructions -->. Les instructions SSI s'insèrent dans un document "*.shtml" au moyen de la ligne. <!--#include file="fichier.html"--> La différence est le signe " # " qui va permettre d'utiliser le "Server-parsed HTML" a condition que le document ait l'extension shtml. <!--#exec cgi="naboo.lidil.univ-mrs.fr/cgi-bin/chris/counter.pl"--> 40

41 Les instructions SSI. <!-# include file="fichier.html"-> <!-# echo var="server_name"-> <!-# echo var="last_modified"-> <!-# exec cmd="/bin/uname -n"-> <!-# exec cgi="/cgi-bin/form.pl-> <!-# fsize file="fichier.html"-> <!-# config errmsg="erreur: fichier introuvable!"-> <!-# config timefmt="%d/%m/%y"->. Insère un fichier dans le document. Affiche le nom du navigateur. Affiche la date de dernière modification du fichier. Exécute la commande uname -n. Exécute le script form.pl. Affiche la taille du fichier en octets. Affiche ce message: ERREUR: fichier introuvable! Met en forme la date (et/ou l'heure). 41

42 Les fonctions de balisage. De nombreuses méthodes génèrent des balises HTML. Voyons comment les fonctions de balisage génèrent automatiquement certaines balises. use CGI qw/:standard/; $q = new CGI; print h1('en tete de niveau 1.'); print "\n"; print $q -> h1('en tete de niveau 1.'); <h1>en tete de niveau 1.</h1> <h1>en tete de niveau 1.</h1> 42

43 La fonction header(). header() renvoie l'en-tête ``Content-type:''. On peut indiquer son propre type MIME, sinon il est positionné par défaut à text/html. Un second paramètre optionnel spécifie le code de Status et un message lisible. Les caractères de soulignement internes sont transformés en tiret. use CGI qw/:standard/; $q = new CGI; print header( -type=>'image/gif', -nph=>1, -status=>'en attente', -expires=>'+3d', -cookie=>$cookie, -charset=>'utf-7', -attachment=>'moi.jpg', -Cost=>'$2.00'); print "\n"; print $q->header( -type=>'image/gif', -nph=>1, -status=>'en attente', -expires=>'+3d', -cookie=>$cookie, -charset=>'utf-7', -attachment=>'moi.jpg', -Cost=>'$2.00'); HTTP/1.0 En attente Server: cmdline Status: En attente Expires: Sun, 24 Feb :21:24 GMT Date: Thu, 21 Feb :21:24 GMT Content-Disposition: attachment; filename="moi.jpg" Cost: $2.00 Content-Type: image/gif; charset=utf-7 HTTP/1.0 En attente Server: cmdline Status: En attente Expires: Sun, 24 Feb :21:24 GMT Date: Thu, 21 Feb :21:24 GMT Content-Disposition: attachment; filename="moi.jpg" Cost: $2.00 Content-Type: image/gif; charset=utf-7; 43

44 La fonction start_html(). Permet la création de l'en tête html. use CGI qw/:standard/; $q = new CGI; print $q->start_html( -title=>"le secret de l'espadon.", -base=>'olrik', -target=>'basam_damdu', -meta=>{'keywords'=>'blake, Mortimer'}, -style=>{'src'=>'/espadon/style.css'}, -BGCOLOR=>'red'); C:\Documents and Settings\Chris\Bureau>perl prog.pl <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us"> <head> <title>le secret de l&#39;espadon.</title> <link rev="made" href="mailto:edgar.p.jacobs%40lombard.be" /> <base href="http://localhost" target="basam_damdu" /> <meta name="keywords" content="blake, Mortimer" /> <link rel="stylesheet" type="text/css" href="/espadon/style.css" /> <meta http-equiv="content-type" content="text/html; charset=iso " /> </head> <body bgcolor="red">; 44

45 Création d'éléments html standards. use CGI qw/:standard/; $q = new CGI; print $q -> start_html(-title=>"le secret de l'espadon."); print $q->blockquote("blake et Mortimer ont réussi à rallier la base secrète", "<br>de la résistance dans les falaises du ", $q->a({href=>"http://makran.org/"},"makran"), "au Moyen-Orient", "<br>a l'abri de ses redoutables défenses et tandis que", "<br>blake s'occupe de la sécurité,", "<br>le professeur Mortimer fini de mettre au point", "<br>le premier prototype de l'espadon :.", $q->strong(" le SX 1."), ), $q->hr; print $q -> end_html; 45

46 Distributivité des méthodes. Une fonctionnalité utile des méthodes HTML est la distributivité. Si un argument de type référence à une liste est passé en paramètre, la balise sera alors distribuée sur chacun des éléments de la liste. #!/usr/bin/perl -w use CGI qw/:standard/; $q = new CGI; print $q -> start_html(-title=>"création d'une liste ordonnée."); print ul( li({-type=>'albums'}, ["La marque jaune", "L'énigme de l'atlantide", "SOS météores","le piège diabolique"]) ); $q->hr; print $q -> end_html; 46

47 Création d'une table. #!/usr/bin/perl -w use CGI qw/:standard/; $q = new CGI; print $q -> start_html(-title=>"création d'une table."); print table({-border=>undef}, caption('les gentils et les méchants'), Tr({-align=>CENTER,-valign=>TOP}, [ th(['album', 'Héros','Gentil','Méchant']), td(['la marque jaune.','philip Mortimer','Françis Blake','Colonel Olrik']), td(['coke en stock.','tintin','capitaine Hadock','Roberto Rastapopoulos']), td(['les dragons de feu.','luc Orient','Hugo Kala', 'Docteur Argos']) ] ) ); print $q -> end_html; 47

48 Création d'un formulaire. #!/usr/bin/perl -w use CGI qw/:standard/; $q = new CGI; print $q -> start_html(-title=>"création d'un formulaire."); print h3("pratique de la programmation."); print $q -> start_form (-action => "http://coruscant.lim.univ-mrs.fr/cgi-bin/ident.txt", -method => "POST"); print "Vos Nom et prénom : <INPUT TYPE=TEXT NAME=NOM1 SIZE=40>"; print "<BR>"; print "Votre adresse électronique : <INPUT TYPE=TEXT NAME=ADR1 SIZE=40>"; print h3("quel langage désirez vous pratiquer?"); print<<fin; <PRE> <INPUT TYPE=RADIO NAME=SECTEUR1 VALUE="UNIV" checked> Perl <INPUT TYPE=RADIO NAME=SECTEUR1 VALUE="CNRS"> Java <INPUT TYPE=RADIO NAME=SECTEUR1 VALUE="INSE"> C++ <BR> <INPUT TYPE=SUBMIT VALUE="Envoyer"> <INPUT TYPE=RESET VALUE="Annuler"></PRE> FIN print $q -> end_form; print $q -> end_html; 48

49 Les champs de texte. #!/usr/bin/perl -w use CGI qw/:standard/; $q = new CGI; print $q -> start_html(-title=>"création d'une zone de saisie."); $x = <<FIN; #!/usr/bin/perl print ("Entree dans le programme.\n"); print ("Requete Fork.\n"); $pwd = fork(); print ("Apres le Fork.\n"); if ($pwd) { print ("Je suis le pere.\n"); } else { print ("Je suis le fils.\n"); } FIN print $q->textarea(-name=>'texte', -default=>$x, -rows=>15, -columns=>50); print $q -> end_html; 49

50 Mot de passe. Création d'un champ mot de passe (PASSWORD) print $query->password_field(-name=>'secret', -value=>'starting value', -size=>50, -maxlength=>80); print $query->password_field('secret','starting value',50,80); 50

51 Exemple de création de fichier. #!/usr/bin/perl use CGI qw(:standard); use CGI::Carp qw(fatalstobrowser); my $cgi = new CGI; print $cgi->header(), $cgi->start_html( '' ), $cgi->h1('creation et comptage.'), $cgi->start_form(-method=>'get'), "type de comptage ", $cgi->popup_menu(-name=>'type',-values=>['lignes','caracteres']), $cgi->p, "Nom du fichier ", $cgi->textfield(-name=>'nom'), $cgi->p, $cgi->textarea(-name=>'contenu', -rows=>10, -columns=>50), $cgi->p, $cgi->submit(), $cgi->end_form, $cgi->hr; if ($cgi->param) { my $nom = $cgi->param('nom'); my $contenu = $cgi->param('contenu'); my $type = $cgi->param('type'); my $sortie; open($sortie, ">".$nom); print $sortie $contenu; close $sortie; $wc = "wc -".substr($type,0,1)." ".$nom."\n" ; $n = `$wc` + 0; print "Le fichier <b>$nom</b> a ete cree, il comporte $n $type"; print $cgi->end_html; } 51

52 CGI perl et JavaScript. La partie JavaScript. #!/usr/bin/perl $f=<<'fin'; <SCRIPT LANGUAGE="JavaScript"> function f (nom, qualite, photo) { w=open("","popup","width=400,height=300,resizable=no"); w.document.write("<title> Identite.</TITLE>"); w.document.write("<body BGCOLOR=lightgreen TEXT=navy LEFTMARGIN=20 ONLOAD=\"moveTo(400,200)\">"); w.document.write("<font FACE=arial SIZE=3><CENTER>"+nom+"</CENTER> </FONT><BR>"); w.document.write("<table BORDER=\"2\" WIDTH=100%>"); w.document.write("<tr>"); w.document.write("<td WIDTH=50%>"+qualite+"</TD>"); w.document.write("<td WIDTH=50%><img src=ident/"+photo+" border=0> <TD></TD>"); w.document.write("</tr>"); w.document.write("</table>"); w.document.close(); } </SCRIPT> FIN 52

53 CGI perl et JavaScript. La partie programmation Perl. usecgi qw(:standard); use CGI::Carp qw(fatalstobrowser); my $fiche = new CGI; print $fiche->header(), $fiche->start_html(), $f, $fiche->h1('consultation de fichier.'), $fiche->start_form(-method=>'post'), "Fiche a consulter ", $fiche->popup_menu(-name=>'type',- values=>['matricule','we4976','bi4638','bu2654']), $fiche->submit(), $fiche->end_form, $fiche->hr; if ($fiche->param) { my $type = $fiche->param('type'); open (FICHE,"ident/$type.txt"); = <FICHE>); close (FICHE); print "<SCRIPT LANGUAGE=\"JavaScript\"> f(\"$ident[0]\",\"$ident[1]\", \"$ident[2]\");</script>"; print $fiche->end_html; } 53

Programmation des Sites Web

Programmation des Sites Web Programmation des Sites Web Deuxième Année ENSIMAG ENSIMAG 2000-2001 James L. Crowley Séance 5 21 mars 2001 Plan : CGI : Common Gateway Interface...2 Formulaires HTML...3 Exemple d'un Script pour un html

Plus en détail

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Olivier BOEBION 12/02/2004 1 Le point de départ 1.1 Et la lumière fut... A la fin des années 1980, Tim Berners-Lee travaillant

Plus en détail

Bases de données et Sites Web. Li345

Bases de données et Sites Web. Li345 Bases de données et Sites Web. Li345 Remerciements à: Stéphane Gançarski et Philippe Rigaux. Ces transparents sont fortement inspirés du très bon livre : Pratique de MySQL et PHP, troisième édition Philippe

Plus en détail

LES SCRIPTS CGI. Présentation Mise en œuvre La programmation Les variables d environnement

LES SCRIPTS CGI. Présentation Mise en œuvre La programmation Les variables d environnement LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement OBJECTIFS Historiquement,

Plus en détail

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

CGI et SSI. La programmation CGI. Sources. Objectifs. Qu'est ce qu'un programme CGI? CGI Sources CGI et SSI Supports de cours de Olivier Glück (Lyon 1) Livres cités en bibliographie Le web Sylvain Brandel Sylvain.brandel@liris.univ-lyon1.fr http://bat710.univ-lyon1.fr/~sbrandel M1 Informatique

Plus en détail

Programmation CGI. Chapitre 6. 6.1 Principe : architecture à trois niveaux

Programmation CGI. Chapitre 6. 6.1 Principe : architecture à trois niveaux Chapitre 6 Programmation CGI Nous avons vu que l un des inconvénients de HTML est qu un serveur ne peut renvoyer que des pages dites statiques. Nous avons vu comment les SSI peuvent apporter un peu plus

Plus en détail

Extension de Perl les modules. LPRO ISVD Olivier FLAUZAC olivier.flauzac@univ-reims.fr

Extension de Perl les modules. LPRO ISVD Olivier FLAUZAC olivier.flauzac@univ-reims.fr Extension de Perl les modules LPRO ISVD Olivier FLAUZAC olivier.flauzac@univ-reims.fr 1 Modules Perl 2 Extension de perl Utilisation de modules Banque de modules : CPAN Installation de modules additionnels

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

Gérer les formulaires

Gérer les formulaires 195 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel sur les formulaires Le formulaire est un outil de base indispensable pour les sites web dynamiques puisqu'il

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Web et présentation d information spatiale

Web et présentation d information spatiale Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Moteurs de recherche et formulaires HTML Jean-Michel FOLLIN jmfollin@univ-lr.fr

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

TD 1 - Programmation Web avec PHP (1)

TD 1 - Programmation Web avec PHP (1) TD 1 - Programmation Web avec PHP (1) CORRIGE DU TD 1 Objectif : créer des scripts du côté serveur avec PHP, utiliser quelques fonctionnalités Internet de PHP Attention : si vous recréez des pages PHP

Plus en détail

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL

L3 - Sites Web dynamiques : Mini-Wall MINI-WALL L3 - SITES WEB DYNAMIQUES MINI-WALL 1 Introduction L'objectif de ce TD est de mettre en place un mini "livre d'or", permettant à vos visiteurs de vous laisser des messages sur votre site. Une page affiche

Plus en détail

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068 HTTP/1.1 RFC 2068 1 Caractéristiques Niveau application Sans état Tout transfert de données Au dessus du protocole TCP Largement utilisé dans le World Wide Web Utilise les normes : URI (Uniform Resource

Plus en détail

World-Wide Web et les formulaires électroniques, les images réactives

World-Wide Web et les formulaires électroniques, les images réactives World-Wide Web et les formulaires électroniques, les images réactives francois.dagorn@univ-rennes1.fr octobre 1995 1 Introduction Les clients WWW sont en général utilisés pour accéder à des documents diffusés

Plus en détail

Le Web. Présentation du langage HTML et du protocole HTTP

Le Web. Présentation du langage HTML et du protocole HTTP Le Web Présentation du langage HTML et du protocole HTTP Une petite histoire du web 1989 1ère note relative au web «hypertexte et le CERN» au sujet du World Wide Web. 1991 premier serveur web sur l Internet,

Plus en détail

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP.

1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. TP5: LES FORMULAIRES OBJECTIFS : 1. Manipulation des formulaires avec PHP. 2. Transmission d'arguments entre pages : méthodes GET et POST. 3. Manipulation du JavaScript avec le PHP. PARTIE 1: Formulaire

Plus en détail

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

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Pages WWW interactives et CGI

Pages WWW interactives et CGI Pages WWW interactives et CGI cgi-intro Pages WWW interactives et CGI Code: cgi-intro Originaux url: http://tecfa.unige.ch/guides/tie/html/cgi-intro/cgi-intro.html url: http://tecfa.unige.ch/guides/tie/pdf/files/cgi-intro.pdf

Plus en détail

Conception de sites Web TP n o 5

Conception de sites Web TP n o 5 Conception de sites Web TP n o 5 Objectif : Dans ce TP, vous mettrez en œuvre le langage PHP afin de gérer, entre autres, un compteur de visites, le formulaire que vous avez intégré à votre blog ainsi

Plus en détail

Service Web. Cours de Réseaux. Tuyêt Trâm DANG NGOC 2012-2013. Université de Cergy-Pontoise. Tuyêt Trâm DANG NGOC Service Web 1 / 12

Service Web. Cours de Réseaux. Tuyêt Trâm DANG NGOC 2012-2013. Université de Cergy-Pontoise. <dntt@u-cergy.fr> Tuyêt Trâm DANG NGOC Service Web 1 / 12 Service Web Cours de Réseaux Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012-2013 Tuyêt Trâm DANG NGOC Service Web 1 / 12 Plan 1 Le Web 2 HTTP 3 FTP 4 URL Tuyêt Trâm DANG NGOC

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

Utilisations pratiques de Php

Utilisations pratiques de Php UTILISATIONS PRATIQUES DE PHP 1. TRAITEMENT DES FORMULAIRES Utilisations pratiques de Php 1.1. LISTE DES DONNÉES DE FORMULAIRE 1.2. ENREGISTREMENT DES DONNÉES DE FORMULAIRE DANS UN FICHIER 2. UTILISATION

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Langages du Web. Que savez vous???

Langages du Web. Que savez vous??? Langages du Web Que savez vous??? Le WEB World Wide Web ouwww ouweb Toile d'araignée mondiale ou la toile Le Web utilise le réseau Internet pour relier des serveurs qui, grâce aux protocoles HTTP, HTTPS,

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie JAVASCRIPT JS08-Gestion des cookies-consignes Accueil Apprentissage Période

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

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

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé) Introduction PHP = Personal Home Pages ou PHP Hypertext Preprocessor Langage de script interprété (non compilé) Plan Avantages Fonctionnement interne Bases du langage Formulaires Envoi d un email Avantages

Plus en détail

3. Formulaires. Cours Web. Formulaires. 3. Formulaires. 3. Formulaires. Formulaires. Lionel Seinturier. Université Pierre & Marie Curie

3. Formulaires. Cours Web. Formulaires. 3. Formulaires. 3. Formulaires. Formulaires. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Formulaires Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr 8/9/03 Formulaires HTML 1.0 essentiellement "mono"-directionnel informations fournies par le serveur (suite

Plus en détail

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

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

L3 informatique TP n o 2 : Les applications réseau L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique

Plus en détail

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML

PHP. virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/pwb. Internet et HTML PHP virginie.sans@irisa.fr http://perso.univ-rennes1.fr/virginie.sans/ BUR Internet et HTML PHP, qu'est-ce que c'est? Un langage pour la programmation du serveur Permet d'inclure des parties programmées

Plus en détail

Internet. Web Sécurité Optimisation

Internet. Web Sécurité Optimisation Internet Web Sécurité Optimisation Objectif Survol Web / Optimisation / Sécurité Sommaire 1. Fondamentaux 2. Hotes virtuels 3. Règles de réécriture 4. Optimisations 1. Fondamentaux - DNS fsf.com => 208.73.210.29

Plus en détail

Programmation du Web : Présentation du protocole HTTP

Programmation du Web : Présentation du protocole HTTP Programmation du Web : Présentation du protocole HTTP Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-14 Présentation générale Le

Plus en détail

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr

Initiation aux techniques du Web. Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr Initiation aux techniques du Web Cours L2 sciences cognitives séance 2 Charif HAYDAR: alchiekc@loria.fr Introduction Tableaux La balise (DIV) Polices en HTML Body (corps) et Head (en-tête) attributs Forms(formulaires):

Plus en détail

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86 Plan du travail Chapitre 1: Internet et le Web Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015 Cours TIC - 1ère année MI

Plus en détail

IAE - Web Marketing. Créer un site internet «simple» Publier un site internet Référencer un site internet. Olivier Toscano Gérant WebCMS Sàrl

IAE - Web Marketing. Créer un site internet «simple» Publier un site internet Référencer un site internet. Olivier Toscano Gérant WebCMS Sàrl IAE - Web Marketing Créer un site internet «simple» Publier un site internet Référencer un site internet Olivier Toscano Gérant WebCMS Sàrl HTML HTML est un langage à balisage Les balises permettent de

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

APPLICATIONS JAVA. 3. JSP Java Server Pages. JSP - Java Server Pages Servlet. http://139.124.26.245/pi. Java Server Pages (JSP) IvMad, 2011-2013 2

APPLICATIONS JAVA. 3. JSP Java Server Pages. JSP - Java Server Pages Servlet. http://139.124.26.245/pi. Java Server Pages (JSP) IvMad, 2011-2013 2 APPLICATIONS JAVA JSP - Java Server Pages Servlet Java Server Pages (JSP) IvMad, 2011-2013 2 3. JSP Java Server Pages http://139.124.26.245/pi Java Server Pages (JSP) IvMad, 2011-2013 3 JSP - Introduction

Plus en détail

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année

PHP/MySQL. École Nationale Supérieure des Mines de Nancy 2nde Année Bases de Données et Ingénierie des Systèmes d Information 1 PHP/MySQL École Nationale Supérieure des Mines de Nancy 2nde Année Table des matières I PHP 2 1 Les bases 2 1.1 Introduction........................................

Plus en détail

La vocation purement sémantique de la page HTML a été pervertie avec les années.

La vocation purement sémantique de la page HTML a été pervertie avec les années. Bruxelles Formation CEPEGRA Olivier Céréssia 2012 PRÉAMBULE A mille lieues de la vision structuraliste de ses créateurs, la page HTML est devenue un document hybride mêlant structure, contenu, mise en

Plus en détail

Le langage php. Serveur http est automatiquement lancé.

Le langage php. Serveur http est automatiquement lancé. Le langage php 1. Introduction aux langages serveurs : Il y a deux modes d exécution d une page HTML : Local : en cliquant sur le fichier, le navigateur Serveur http est automatiquement lancé. Navigateur

Plus en détail

Techniques de Programmation pour Internet

Techniques de Programmation pour Internet Séance 7 Transactions par CGI Année Spéciale Informatique ENSIMAG 2002-2003 James L. Crowley Anullé Le but de l'exercice est d'introduire un certain nombre de constructions en PERL utiles pour la programmation

Plus en détail

Introduction. Rappel : conception, interrogation et mise à jour d une base de données

Introduction. Rappel : conception, interrogation et mise à jour d une base de données Introduction Rappel : conception, interrogation et mise à jour d une base de données De nombreux sites Web ont une (ou plusieurs) BD pour gérer leur données 2/51 Pages Web statiques L utilisateurice demande

Plus en détail

Aide Utilisateur. Cellpass.fr

Aide Utilisateur. Cellpass.fr Aide Utilisateur Mise en place simple :... 2 Création d une ressource... 2 Installation du module... 5 Test fonction file OK... 7 temps de connexion < 1 seconde(s)... 7 Exemple d'installation PassUp pour

Plus en détail

Programmation WEB dynamique PHP

Programmation WEB dynamique PHP Programmation WEB dynamique PHP G. Maurey Master 1-2010 Les présentations Gilles MAUFFREY Bureau 5 Batiment W2 T : 72 61 k : maurey@hec.fr www.hec.fr/maurey PHP Plan de la séance 1 Présentation du cours

Plus en détail

Partie HTML TD 6 : Liens hypertexte et formulaires

Partie HTML TD 6 : Liens hypertexte et formulaires Partie HTML TD 6 : Liens hypertexte et formulaires 1. Les liens hypertextes Ils permettent la navigation dans les sites Web. Il y a 3 types de liens : - Les liens internes à un site - Les liens internes

Plus en détail

Les formulaires. Pour sortir de la page ou de votre ordinateur, les moyens disponibles sont :

Les formulaires. Pour sortir de la page ou de votre ordinateur, les moyens disponibles sont : 1. L'interactivité ( cgi / mailto / Javascript ) 1.1 L'interactivité, mais comment? Les formulaires Avec les formulaires, Html vous ouvre les portes de l'interactivité et vous permet de recevoir des informations

Plus en détail

TP 1 : HTML 4. EXERCICE 1 : UN PREMIER DOCUMENT HTML Pour cet exercice, vous utiliserez l éditeur de texte standard de Windows

TP 1 : HTML 4. EXERCICE 1 : UN PREMIER DOCUMENT HTML Pour cet exercice, vous utiliserez l éditeur de texte standard de Windows TP 1 : HTML 4 EXERCICE 1 : UN PREMIER DOCUMENT HTML Pour cet exercice, vous utiliserez l éditeur de texte standard de Windows : Bloc-notes ou bien EDIT en mode MS-DOS suivant votre ordinateur. Les utilisateurs

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

Programmation des Sites Web

Programmation des Sites Web Programmation des Sites Web Deuxième Année ENSIMAG ENSIMAG 2000-2001 James L. Crowley Séance 3 20 octobre 2000 Plan : JavaScript...2 Qu'est que Java Script...2 Messages de Alert...4 Fonctions...5 Ouverture

Plus en détail

Serveurs et environnements de développement. Serveur Web

Serveurs et environnements de développement. Serveur Web Serveurs et environnements de développement Serveurs et environnements 1 Serveur Web Serveur web: Système sur lequel s'exécute un serveur HTTP (HTTPd) Logiciel HTTP lui-même (HTTPd) Sert des données Hypermédia

Plus en détail

TP HTML n 3 : Les formulaires et le PHP

TP HTML n 3 : Les formulaires et le PHP TP HTML n 3 : Les formulaires et le PHP 1 ) Qu'est-ce qu'un formulaire? En HTML, un formulaire est un espace de saisie dans une page web, pouvant comporter plusieurs zones, ou champs : on peut y saisir

Plus en détail

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP

Introduction à PHP. Formulaires HTML et PHP, interactions avec le client. monnerat@u-pec.fr. 6 avril 2015. IUT de Fontainebleau. Introduction à PHP Formulaires HTML et PHP, interactions avec le client IUT de Fontainebleau 6 avril 2015 1 Formlaire et traitement 2 Texte Cases à cocher Listes Upload de fichiers Sommaire Formlaire et traitement 1 Formlaire

Plus en détail

Introduction au Web. Fabien Givors. Université de Nice Sophia Antipolis Département Informatique fabien.givors@unice.fr

Introduction au Web. Fabien Givors. Université de Nice Sophia Antipolis Département Informatique fabien.givors@unice.fr Introduction au Web D'après les cours de Andrea G. B. Tettamanzi Fabien Givors Université de Nice Sophia Antipolis Département Informatique fabien.givors@unice.fr Fabien Givors, 2014 1 Planning des cours

Plus en détail

OP4. BD & Web. Résumé de cours. Partie II : HTML 4.0

OP4. BD & Web. Résumé de cours. Partie II : HTML 4.0 Univ.Montpellier II 2005 M. Hascoët OP4 BD & Web Résumé de cours Partie II : HTML 4.0 M. Hascoët mountaz@lirmm.fr Université Montpellier II Place Eugène Bataillon 34095 Montpellier Cedex 05 2/5 1. Introduction

Plus en détail

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB Installation et administration d un serveur web Module 25793 TP A5 (1/2 valeur) Chapitre 9 Apache et scripts CGI Le plus grand soin a été

Plus en détail

Internet. Web Sécurité Optimisation

Internet. Web Sécurité Optimisation Internet Web Sécurité Optimisation Objectif Survol Web / Optimisation / Sécurité Sommaire 1. Fondamentaux 2. Hotes virtuels 3. Règles de réécriture 4. Optimisations 1. Fondamentaux - DNS fsf.com => 208.73.210.29

Plus en détail

Applet, Servlet et JSP : des pages Web en action. Philippe Mabilleau ing.

Applet, Servlet et JSP : des pages Web en action. Philippe Mabilleau ing. Carrefour de l information Applet, Servlet et JSP : des pages Web en action Philippe Mabilleau ing. 5 novembre 2002 Des pages Web en action Le Web Des pages Web interactives Applet : de l action du coté

Plus en détail

ultisites S.A. module «services»

ultisites S.A. module «services» M ultisites S.A. module «services» TP N 3 : Installation du serveur WEB Nom : Prénom : Classe : Date : Appréciation : Note : Objectif : Être capable d'installer le serveur WEB, et de créer une page HTML

Plus en détail

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test? Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC Qui contacter pour commencer la mise en place d une configuration de test? CyberMUT Paiement - Paiement CIC Commerce Electronique mailto:centrecom@e-i.com

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

Plus en détail

Séance d ED n 5 : HTML et JavaScript

Séance d ED n 5 : HTML et JavaScript Séance d ED n 5 : HTML et JavaScript EXERCICE 1 1) le but de cet exercice est de construire l'interface suivante en html: une réponse : 1)

Plus en détail

Projet SITEPERSO. Activité A1 Apprentissage du langage HTML par l'exemple Tous. Compétences mises en œuvre : Ressources utiles :

Projet SITEPERSO. Activité A1 Apprentissage du langage HTML par l'exemple Tous. Compétences mises en œuvre : Ressources utiles : Compétences mises en œuvre : C 4.2.2.2 Concevoir les mises à jour à effectuer C 5.2.4.1 Se documenter à propos d une technologie, d un composant, d un outil ou d une méthode Ressources utiles : http://slaout.linux62.org/html_css/html.html

Plus en détail

Le World Wide Web. Introduction. Daniel Hagimont Laurent Broto. 13 mars 2011 IRIT/ENSEEIHT 1 / 34

Le World Wide Web. Introduction. Daniel Hagimont Laurent Broto. 13 mars 2011 IRIT/ENSEEIHT 1 / 34 Le World Wide Web Introduction Daniel Hagimont Laurent Broto IRIT/ENSEEIHT 13 mars 2011 1 / 34 Copyright (c) 2010 Daniel Hagimont & Laurent Broto. Permission is granted to copy, distribute and/or modify

Plus en détail

Internet et applications dans l entreprise (1) Scripts clients et scripts CGI

Internet et applications dans l entreprise (1) Scripts clients et scripts CGI Licence professionnelle «Management des organisations» Option «Systèmes d information et Réseaux» Internet et applications dans l entreprise (1) Scripts clients et scripts CGI O. Auzende 2010-2011 INTRODUCTION...

Plus en détail

NFA016 : Les protocoles. Notion de protocole. Modèle OSI

NFA016 : Les protocoles. Notion de protocole. Modèle OSI NFA016 : Les protocoles O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Notion de protocole Un réseau: ensemble de machines reliées entre elles. Communiquer: Parler "la même langue". Protocole

Plus en détail

Cours Web : Introduction

Cours Web : Introduction Cours Web : Introduction Catherine Letondal letondal@pasteur.fr Institut Pasteur Cours Web IEB 2005 p.1/?? Pourquoi un cours Web? le Web : c est stratégique en biologie c est un bon exemple de système

Plus en détail

Web HTML. Arnaud Sallaberry arnaud.sallaberry@univ- montp3.fr

Web HTML. Arnaud Sallaberry arnaud.sallaberry@univ- montp3.fr Web HTML Arnaud Sallaberry arnaud.sallaberry@univ- montp3.fr 1 Plan Fonc-onnement du web Le langage HTML 2 Web : Introduc;on Réseau : mise en commun de ressources (données, imprimantes, ) Internet : Interconnexion

Plus en détail

Comment extraire l information de pages web

Comment extraire l information de pages web Comment extraire l information de pages web Zhentao Li École Normale Supérieure 2 avril 2014 Zhentao Li (École Normale Supérieure) Comment extraire l information de pages web 2 avril 2014 1 / 11 Extraire

Plus en détail

Manipulation de formulaire

Manipulation de formulaire 1 Manipulation de formulaire points abordés outils (et balises) de création de formulaire, javascript, validation de formulaire en php site de départ nous nous baserons sur cette version pour l'exercice

Plus en détail

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54

Documents web dynamiques. 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques 20 novembre 2007 Architecture Multi-Niveaux 54 Documents web dynamiques Contenu Statique Le client envoie une requête avec un nom de fichier Le serveur répond en lui retournant

Plus en détail

Application distribuée via HTTP Mise en œuvre minimale...

Application distribuée via HTTP Mise en œuvre minimale... Module RX : distrib/http Application distribuée via HTTP Mise en œuvre minimale... Problème de la distribution Fabrice Harrouet École Nationale d Ingénieurs de Brest harrouet@enib.fr http://www.enib.fr/~harrouet/

Plus en détail

Système UNIX et Langages de scripts

Système UNIX et Langages de scripts Système UNIX et Langages de scripts Projet Les deux sujets sont à faire, en binôme! 1 Bash : Gestion d une bibliothèque numérique L objectif est de gérer une bibliothèque numérique (un ensemble de livres

Plus en détail

Les 2 grands métiers. autour de la création Web. Mais où est passé l'intégrateur?

Les 2 grands métiers. autour de la création Web. Mais où est passé l'intégrateur? Les 2 grands métiers autour de la création Web Mais où est passé l'intégrateur? Langages et frameworks Outils spécifi ques dev mobile À voir dans le module multimédia... Langage : Java Objective C C#,...

Plus en détail

Formulaire pour envoyer un mail

Formulaire pour envoyer un mail Formulaire pour envoyer un mail AVERTISSEMENT : Ce tuto est une compilation de plusieurs sources trouvées sur internet, dont les références sont données à la fin de cet article. Le but de ce tutoriel n'est

Plus en détail

PHP/MYSQL. Web Dynamique. ENSG Septembre 2009

PHP/MYSQL. Web Dynamique. ENSG Septembre 2009 PHP/MYSQL Web Dynamique ENSG Septembre 2009 Ces 6 jours de formation Jour 1 : présentations, attentes, principes, HTML Jour 2 : HTML, CSS, PHP Jour 3 : formulaires, connexion à la base de données Jour

Plus en détail

Denis Monnerat monnerat@u-pec.fr. Modifié: 2015/11/09. IUT de Fontainebleau

Denis Monnerat monnerat@u-pec.fr. Modifié: 2015/11/09. IUT de Fontainebleau WIM 1.1 LANGAGE HTML Denis Monnerat monnerat@u-pec.fr Modifié: 2015/11/09 IUT de Fontainebleau Sommaire 1. Introduction 2. HTML 3. Principaux éléments 4. Index des balises html(5) INTRODUCTION Internet

Plus en détail

Echanges d informations entre client et serveur

Echanges d informations entre client et serveur Chapitre 4 Echanges d informations entre client et serveur c 2010-2011 -JA C Q U E S THOORENS - H T T P://W W W.T H O O R E N S.N E T Le protocole HTTP a défini des possibilités d envoi d informations

Plus en détail

Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5

Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5 Phortail, le mini CMS qui vous ouvre de grandes portes! V2.0.5 Avant de lire ce document, sachez définir avec exactitude vos besoins et vos buts. Plusieurs liens vous sont donnés à la dernière page afin

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

Légende. Conception de Sites Web dynamiques 2015. Résumé. Programme. Fonctionnement, p.ex. Règles du jeu 11/03/2015. Cours 5+6

Légende. Conception de Sites Web dynamiques 2015. Résumé. Programme. Fonctionnement, p.ex. Règles du jeu 11/03/2015. Cours 5+6 Légende Conception de Sites Web dynamiques 2015 Cours 5+6 Patrick Reuter http://www.labri.fr/perso/preuter/cswd2015 Titre de la page h1, h2, h3 color: red; $a = 3; SELECT * FROM commentaires; HTML CSS

Plus en détail

TP2 : PHP. Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP.

TP2 : PHP. Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP. TP2 : PHP Exercice 1 : Premiers pas en PHP Voici un exemple de code PHP. 1 3

Plus en détail

Examen «Outils en Informatique» Vendredi 3 juin 2011

Examen «Outils en Informatique» Vendredi 3 juin 2011 Examen «Outils en Informatique» Vendredi 3 juin 2011 Durée de l épreuve: 1h30 Aucun document autorisé Le barème n est pas définitif, il est donné à titre indicatif Question 1 : QCM Dans les questions suivantes

Plus en détail

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

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

Formation PHP débutant

Formation PHP débutant Formation PHP débutant Table des matières 1 Le principe de PHP 3 1.1 Langage côté serveur.................................. 3 1.2 Pour travailler..................................... 3 1.3 Langage de pré-processing...............................

Plus en détail

APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI

APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Cours en Réponse à questions, n 1 Valérie Bellynck, Benjamin Brichet-Billet, Mazen Mahrous Grenoble

Plus en détail

Un code simplifié, plus léger, moins bavard. Il est plus facile à manipuler et à mettre à jour.

Un code simplifié, plus léger, moins bavard. Il est plus facile à manipuler et à mettre à jour. XHTML : introduction 1. Présentation et historique Le HTML à l origine est un langage simple destiné à la présentation des documents hypermédias. Toutefois au fil des ans, il s est avéré que le HTML ne

Plus en détail

Introduction à HTML. A. HTML et le web

Introduction à HTML. A. HTML et le web Introduction à HTML Isabelle Debled Renesson Marie-Dominique Devignes LORIA 1 2 1 Fonctionnement en mode client/serveur 1. Construction d une requête ex web : http://www.loria.fr/news CLIENT 5. Mise en

Plus en détail

Mohammed REZGUI m.rezgui06@gmail.com. Basé sur le cours de Guillaume Perez

Mohammed REZGUI m.rezgui06@gmail.com. Basé sur le cours de Guillaume Perez Mohammed REZGUI m.rezgui06@gmail.com Basé sur le cours de Guillaume Perez Contenu, Organisation Objectif principal: Base pour la création d un site Notions de client-serveur Notions de programmations Option

Plus en détail

Une rapide introduction à HTML / CGI

Une rapide introduction à HTML / CGI Une rapide introduction à HTML / CGI Patrick Fuchs Université Paris 7 Equipe de Bioinformatique Génomique et Moléculaire PLAN 1. Généralités 2. Les Bases d HTML 3. Outils HTML avancés 4. HTML dynamique

Plus en détail

langage web: html BIO30 "Programmez votre site web de A à Z" Carl Herrmann Université de la Méditerranée

langage web: html BIO30 Programmez votre site web de A à Z Carl Herrmann Université de la Méditerranée langage web: html BIO30 "Programmez votre site web de A à Z" Carl Herrmann Université de la Méditerranée langage web: html page statique: l'utilisateur n'a pas d'influence sur le contenu ou l'aspect de

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

Sécurité PHP. FaillesUpload

Sécurité PHP. FaillesUpload Sécurité PHP FaillesUpload Table des matières Introduction...... 3 L upload de fichiers......... 3 Protections coté client...... 4 Protections coté serveur... 5 1. Vérification du type de contenu......

Plus en détail

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

HTML, CSS, JS et CGI. Elanore Elessar Dimar

HTML, CSS, JS et CGI. Elanore Elessar Dimar HTML, CSS, JS et CGI Elanore Elessar Dimar Viamen GPAs Formation, 13 avril 2006 Sommaire Qu est-ce que HTML? HTML : HyperText Marckup Language XML : extensible Marckup Language Qu est-ce que HTML? HTML

Plus en détail