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 ( 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=" 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.", -author=>'[email protected]', -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" " <html xmlns=" 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=" 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=>" "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 => " -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"); chomp(@ident = <FICHE>); close (FICHE); print "<SCRIPT LANGUAGE=\"JavaScript\"> f(\"$ident[0]\",\"$ident[1]\", \"$ident[2]\");</script>"; print $fiche->end_html; } 53

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 [email protected] http://bat710.univ-lyon1.fr/~sbrandel M1 Informatique

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

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

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

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

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

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

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

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

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

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

TD HTML AVEC CORRECTION

TD HTML AVEC CORRECTION TD HTML AVEC CORRECTION On utilisera Notepad++ comme éditeur sur Windows Vous créez un répertoire www sous vos répertoires personnels et vous mettrez vos pages dedans. Créez vos fichiers HTML et n oubliez

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

Création de formulaires interactifs

Création de formulaires interactifs SESSION 16 Création de formulaires interactifs Programme de la session Lancer un sondage en utilisant divers éléments d'entrée de formulaire Traiter les entrées utilisateur Activer un script à partir d'un

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

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

CREATION d UN SITE WEB (INTRODUCTION)

CREATION d UN SITE WEB (INTRODUCTION) CREATION d UN SITE WEB (INTRODUCTION) Environnement : World Wide Web : ordinateurs interconnectés pour l échange d informations ( de données) Langages : HTML (HyperText Markup Language) : langages pour

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:[email protected]

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

Développement Web. Les protocoles

Développement Web. Les protocoles Développement Web NFA016 2007-2008 Les protocoles CNAM le 28 octobre 2007 O. Pons S. Rosmorduc M. Simonot 1 / 27 Notion de protocole Un réseau : ensemble de machines reliées entre elles. Communiquer :

Plus en détail

Initiation à html et à la création d'un site web

Initiation à html et à la création d'un site web Initiation à html et à la création d'un site web Introduction : Concevoir un site web consiste à définir : - l'emplacement où ce site sera hébergé - à qui ce site s'adresse - le design des pages qui le

Plus en détail

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado - RAPPORT AUDIT SEO Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado 17 septembre 2013 Table des matières Optimisation structurelle 2 Optimisation des standards, performances et

Plus en détail

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type Typage des ressources Internet Types MIME (Multi-purpose Internet Mail Extension) RFC 2046. Composé par un type et un sous-type Les types principaux sont les suivants text image audio video message multipart

Plus en détail

Zoom sur Newtest LDAP intégration

Zoom sur Newtest LDAP intégration Zoom sur Newtest LDAP intégration L a suite Newtest doit s intégrer parfaitement dans votre Système d Information afin, notamment, d en faciliter l usage. La version NEP 2.1.1 ne déroge pas à cette règle

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Les sites Internet dynamiques. contact : Patrick VINCENT [email protected]

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org Les sites Internet dynamiques contact : Patrick VINCENT [email protected] 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

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ... HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections

Plus en détail

Bases de données et Interfaçage Web

Bases de données et Interfaçage Web Bases de données et Interfaçage Web Université Virtuelle de Tunis 2006 Le Web et les Bases de Données Connecter une base de données au World Wide Web, c est mettre en place une passerelle entre un serveur

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

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

Internet Information Server. Conçu et réalisé par Denis Szalkowski Formateur consultant Internet Information Server Conçu et réalisé par Denis Szalkowski Formateur consultant Support IIS - 2 / 56 - Sommaire Internet Information Server...1 I. Produits...5 A. Lʹoffre...5 B. Information sur

Plus en détail

Activités HTML. Code: act-html

Activités HTML. Code: act-html Activités HTML act-html Activités HTML Code: act-html Originaux url: http://tecfa.unige.ch/guides/tie/html/act-html/act-html.html url: http://tecfa.unige.ch/guides/tie/pdf/files/act-html.pdf Prérequis:

Plus en détail

(structure des entêtes)

(structure des entêtes) Aide mémoire HTTP (structure des entêtes) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/10 Structure générale d une requête Requête HTTP méthode ressource

Plus en détail

Bernard Lecomte. Débuter avec HTML

Bernard Lecomte. Débuter avec HTML Bernard Lecomte Débuter avec HTML Débuter avec HTML Ces quelques pages ont pour unique but de vous donner les premiers rudiments de HTML. Quand vous les aurez lues, vous saurez réaliser un site simple.

Plus en détail

Langage W4. Note technique W4 Engine

Langage W4. Note technique W4 Engine Note technique W4 Engine Cette note technique décrit la conception d écrans HTML dynamiques prenant en charge un processus de workflow ; elle explique comment utiliser les mots clés et les API W4 dans

Plus en détail

STID 2ème année : TP Web/PHP

STID 2ème année : TP Web/PHP STID 2ème année : TP Web/PHP Plan de travail et aide mémoire [email protected] Ce document est composé de cinq parties : Un aide mémoire sur les aspects pratiques de la création de sites Une introduction

Plus en détail

Protocoles Applicatifs

Protocoles Applicatifs Programmation Réseau Protocoles Applicatifs [email protected] UFR Informatique 2011-2012 Protocoles Protocoles applicatifs on appelle protocole applicatif ou protocole d application

Plus en détail

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion HTTP IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin HTTP Introduction et architecture Messages Authentification Conclusion 1 HTTP Introduction et architecture Hypertext Transfert Protocol URI (Uniform

Plus en détail

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

Démonstration de la mise en cache via HTML 5 sur iphone Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Démonstration de la mise en cache via HTML 5 sur iphone Overview Parmi les nouveautés du HTML 5, l une d elles est très intéressent

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données Activité sur Meteor Annexe 1 : notion de client-serveur et notion de base de données Notion de client-serveur Que se passe-t-il lorsque vous tapez dans la barre d'adresse de votre navigateur «http://www.google.fr»?

Plus en détail

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

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

Module http MMS AllMySMS.com Manuel d intégration

Module http MMS AllMySMS.com Manuel d intégration Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux

Plus en détail

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Dévéloppement de Sites Web

Dévéloppement de Sites Web 1 Dévéloppement de Sites Web Cours II : Internet et HTML - une très brève introduction Peter Stockinger Séminaire de Maîtrise en Communication Interculturelle à l'institut National des Langues et Civilisations

Plus en détail

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

PHP et les Bases de données - Généralités

PHP et les Bases de données - Généralités PHP et les Bases de données - Généralités Conception d une base de données Méthodes utilisées : MERISE, UML Modèle conceptuel des données MCD, Modèle logique MLD, Modèle Physique MPD. Ces aspects seront

Plus en détail

Manuel d'installation

Manuel d'installation CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Bases de Données et Internet

Bases de Données et Internet Informatique S6 3A Bases de Données et Internet Python: SGBD et CGI Alexis NEDELEC LISYC EA 3883 UBO-ENIB-ENSIETA Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2008

Plus en détail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles XSS : Principes, Catégories Démonstrations, Contre mesures HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,

Plus en détail

Formulaires et Compteurs

Formulaires et Compteurs Formulaires et Compteurs Création de formulaires et de compteurs avec extensions FrontPage ou ASP. INFORMATIONS CONNEXES Le but du présent manuel est de permettre à une personne familière d Internet de

Plus en détail

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

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN LES GRANDES ETAPES DE CREATION D UN WEB DESIGN PENSER LA STRUCTURE ET LE THEME DU SITE STRUCTURE ET THEME DU SITE Taille (le site sera-t-il extensible ou fixe?) Organisation Thème Couleurs Illustrations

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico

Plus en détail

Formation HTML / CSS. ar dionoea

Formation HTML / CSS. ar dionoea Formation HTML / CSS ar dionoea le HTML Hyper Text Markup Language langage descriptif composé de balises interprété par le navigateur page HTML = simple fichier texte (bloc notes, vim,...) les déclarations

Plus en détail

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP IFT1147 Programmation Serveur Web avec PHP Un bref survol du langage HTML HMTL HTML: Hypertext Markup Language HTML est essentiellement un langage de description de structure de document (par exemple titre,

Plus en détail

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech Autour du web Une introduction technique Première partie : HTML Georges-André SILBER Centre de recherche en informatique MINES ParisTech [email protected] http://www.cri.ensmp.fr/people/silber/cours/2010/web

Plus en détail

www.evogue.fr SUPPORT DE COURS / HTML

www.evogue.fr SUPPORT DE COURS / HTML L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / HTML Sommaire Sommaire... 2 Présentation... 3 Introduction... 3 Fonctionnement... 3 Historique... 4 Navigateurs... 6 Définition... 6 Historiquement...

Plus en détail

1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3

1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3 Tutorial HTTP 1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3 2 URL HTTP...4 2.1 Format d une URL HTTP...4 2.2 Champs de l URL HTTP...4 2.3 Encodage d

Plus en détail

HTML/CSS - Travaux Pratiques 2

HTML/CSS - Travaux Pratiques 2 HTML/CSS - Travaux Pratiques 2 Le but de ces séances de TP est de se familiariser avec le format HTML et les feuilles de style CSS pour la création de pages web. Pour cela, vous utiliserez emacs sous Linux

Plus en détail

Attaques de type. Brandon Petty

Attaques de type. Brandon Petty Attaques de type injection HTML Brandon Petty Article publié dans le numéro 1/2004 du magazine Hakin9 Tous droits reservés. La copie et la diffusion de l'article sont admises à condition de garder sa forme

Plus en détail

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML

3. RÉALISATION ET QUALIFICATION D UN PROTOTYPE 3.1 Réalisation d un prototype CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML Page:1/20 CRÉATION D UNE PAGE WEB STATIQUE AU FORMAT HTML Objectifs de l activité pratique : Notions sur le HTML, le WEB et le W3C Créer une page web statique au format HTML : - les marqueurs ou balises

Plus en détail

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing Stéphane Bortzmeyer Première rédaction de cet article le 14 juin 2014 Date de publication du

Plus en détail

Etude et développement d un moteur de recherche

Etude et développement d un moteur de recherche Ministère de l Education Nationale Université de Montpellier II Projet informatique FLIN607 Etude et développement d un moteur de recherche Spécifications fonctionnelles Interface utilisateur Responsable

Plus en détail

Le serveur HTTPd WASD. Jean-François Piéronne

Le serveur HTTPd WASD. Jean-François Piéronne Le serveur HTTPd WASD Jean-François Piéronne Sommaire Caractéristiques Architecture générale Performances Intégration dans OpenVMS Caractéristiques Implémentation complète HTTP/1.0 Méthodes "GET", "HEAD",

Plus en détail

1. La plate-forme LAMP

1. La plate-forme LAMP Servi ces pour intranet et Internet Ubuntu Linux - Création et gestion d un réseau local d entreprise 1. La plate-forme LAMP Services pour intranet et Internet La fourniture d'un site pour le réseau ou

Plus en détail

1 ère Université WEB. Courbevoie Samedi 21 octobre 2006. Votre site interactif sur internet.

1 ère Université WEB. Courbevoie Samedi 21 octobre 2006. Votre site interactif sur internet. 1 ère Université WEB Courbevoie Samedi 21 octobre 2006 Votre site interactif sur internet. Programme de la journée. 10H30 - Introduction Université web Votre site interactif sur internet. 10H35 Généralités

Plus en détail

Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.

Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état. Failles des applications Web Ce document est extrait du travail de diplôme de M. DIZON dans l état. 1 Introduction...1 2 Contournement de validation javascript...2 2.1 Introduction...2 2.2 Principe de

Plus en détail

Proxies,, Caches & CDNs

Proxies,, Caches & CDNs Proxies,, Caches & CDNs Anthony Busson Plan Exemple de page web simple Anatomie du téléchargement d une page web Problématique Définition : Proxy, Reverse Proxy Interception, Redirection Système de cache

Plus en détail

Les outils de création de sites web

Les outils de création de sites web Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site

Plus en détail

INF8007 Langages de script

INF8007 Langages de script INF8007 Langages de script Sockets et serveur 1/18 INF8007 Langages de script Sockets et serveur Michel Desmarais Génie informatique et génie logiciel École Polytechnique de Montréal Hiver, 2014 INF8007

Plus en détail

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009 HTTP Technologies du Web Programmation Web côté serveur Pierre Senellart ([email protected]) Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009 P. Senellart (TELECOM

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Logiciels de référencement

Logiciels de référencement Outils Logiciels de référencement Afin de contrôler la qualité de son référencement, d optimiser et d améliorer son positionnement, il peut être utile d utiliser des outils couvrant tout ou partie du référencement.

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Informatique : Création de site Web Master 2 ANI TP 1

Informatique : Création de site Web Master 2 ANI TP 1 Informatique : Création de site Web Master 2 ANI TP 1 Objectifs du TP : créer des pages Web en HTML EXERCICE I : AFFICHAGE DE DOCUMENT HTML 1. Ouvrez le bloc-note, recopiez-y le document suivant :

Plus en détail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

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

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim 01/03/2013 Le rôle de Serveur Web (IIS) dans Windows Server 2008 R2 vous permet de partager des informations avec des utilisateurs sur Internet, sur un intranet ou un extranet. Windows Server 2008 R2 met

Plus en détail

Mise en place d un serveur Proxy sous Ubuntu / Debian

Mise en place d un serveur Proxy sous Ubuntu / Debian BTS INFORMATIQUE DE GESTION Option Administrateur Réseaux Benoît VERRON Activité n 1 Mise en place d un serveur Proxy sous Ubuntu / Debian Présentation d un Proxy Un proxy (serveur mandataire) est un serveur

Plus en détail

Pack Fifty+ Normes Techniques 2013

Pack Fifty+ Normes Techniques 2013 Pack Fifty+ Normes Techniques 2013 Nos formats publicitaires par site 2 Normes techniques 2013 Display classique Pavé vidéo Footer Accueil panoramique Publi rédactionnel Quiz Jeu concours Emailing dédié

Plus en détail

Paiement sécurisé sur Internet. Documentation Technique

Paiement sécurisé sur Internet. Documentation Technique Paiement sécurisé sur Internet Documentation Technique SOMMAIRE Documentation Technique 1 1 Mise en place de l interface de paiement 3 1.1 Introduction 3 1.2 Clé de sécurité commerçant 3 1.3 Spécifications

Plus en détail

Développement des Systèmes d Information

Développement des Systèmes d Information Développement des Systèmes d Information Axe ISI Camille Persson Institut Fayol / LSTI / ISCOD École Nationale Supérieure des Mines de Saint-Etienne 158 cours Fauriel, 42000 Saint-Etienne [email protected]

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description

Plus en détail

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

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1 E-TRANSACTIONS Guide du programmeur API Plug-in Version 1.1 Avertissements : Le fichier Version.txt précise l'environnement dans lequel l API a été compilée et testée. L'installation de l API sur tout

Plus en détail

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web Réseau informatique TIC TC - IUT Montpellier Internet et le Web Ensemble d'ordinateurs reliés entre eux et échangeant des informations sous forme de données numériques But : Rendre disponible l information

Plus en détail

// HTML, Javascript XHTML & CSS

// HTML, Javascript XHTML & CSS design graphique / web design // HTML, Javascript XHTML & CSS version 1.0 date 28 / 04 / 2010 auteur Loïc Swiny contact [email protected] // sommaire HTML 01. Introduction au langage HTML 02. Introduction

Plus en détail

Introduction. Passage de sites statiques à des sites dynamiques

Introduction. Passage de sites statiques à des sites dynamiques PHP (ET MYSQL) Introduction HTML : pages destinées à être publiées sur Internet Texte à afficher + instructions de mise en page Pas d instructions de calcul ou de traitements conditionnels Des sites de

Plus en détail