Technologie des Serveurs Internet. Langage Perl

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

Download "Technologie des Serveurs Internet. Langage Perl"

Transcription

1 Technologie des Serveurs Internet Jean Denis Girard :: SysNux BP Mahina Tahiti Polynésie française Année 2015

2 Plan Protocole HTTP Serveur Web (Apache) Serveur d'application (Zope / Plone)

3 Protocole HTTP Protocole au niveau application (niveau 7 du modèle OSI) pour l'accès aux documents hypermédias (MIME) distribués, défini par les RFC 1945 (HTTP/ ) et 2068 (1998) puis 2616 (HTTP/ ), par Aucune hypothèse sur la couche réseau; dans la pratique TCP/IP assure la «connexion». Protocole de type client / serveur (ou requête / réponse) : le client envoie une commande au serveur sous la forme d'une requête définissant une «méthode», un «URI», une version du protocole, éventuellement suivi d'entêtes, d'une ligne vide et éventuellement d'un contenu. Le serveur répond avec une ligne d'état (version du protocole et résultat) suivi d'entêtes avec des informations du serveur et sur le document, une ligne vide, puis, éventuellement, le document lui même. Protocole HTTP

4 Le client, par l'intermédiaire de son navigateur (UA = user agent), envoie une requête au serveur (O = origin server), qui lui envoie à son tour la réponse, en une ou plusieurs connexions (v): Cas simple requête > UA v O < réponse Avec intermédiaires: requête > UA v A v B v C v O < réponse Protocole HTTP

5 Passerelle (gateway): système qui agit comme intermédiaire du serveur réel; le client ne sait pas qu'il parle à un intermédiaire. Il s'agit par exemple d'un ou plusieurs routeurs. Modifie le protocole utilisé Proxy: programme (niveau application), qui sert de relais entre le client et le serveur; il doit donc lui même être à la fois client et serveur. Le client (UA) doit être configuré pour communiquer avec un proxy. HTTP est aussi utilisé comme protocole de communication générique vers les proxies pour d'autres applications (FTP,...). Peut modifier les réponses et requêtes. Tunnel: établit une connexion transparente entre le client et le serveur, à travers plusieurs intermédiaires, sans modification ni mise en cache. Protocole HTTP

6 Repérage des documents: pour HTTP, une URI (Uniform Resource Identifier) est simplement une chaîne de caractères permettant de définir un document. URL (uniform ressource locators) HTTP: http[s]://serveur:port/chemin_absolu/nom_fichier Par défaut port=80. Le nom de serveur ne différencie pas les majuscules des minuscules. Par contre, les chemins et noms de fichiers sont sensibles à la casse. Si le serveur n'est pas spécifié, le serveur actuel est utilisé. Si le chemin ne commence pas par /, le document actuel sert de base pour rechercher le nouveau document (chemin relatif) : URL relative / absolue. Les caractères non ASCII ou spéciaux doivent être codés (cf. rfc3986) : code du caractère (espace =>%20 ou &#32 ;) ou entités. Protocole HTTP

7 Méthodes des requêtes HTTP: GET: lire un document (statique), POST: envoyer des données au serveur, et obtenir la réponse (traitement), HEAD: lire l'entête d'une réponse, TRACE: serveur retourne la requête telle quelle (outil de test), PUT: envoyer un document au serveur, DELETE: effacer un document du serveur. Syntaxe: <METH> <URI> HTTP/<version> La fin de la requête est signalée par une ligne vide. Ex: >telnet localhost http GET /manual/new_features_2_0.html HTTP/1.0 >telnet http HEAD / HTTP/1.0 Protocole HTTP

8 Entêtes de requêtes: Les entêtes permettent au client de transmettre des informations complémentaires au serveur. Syntaxe: <ENT>: <paramètres> HTTP/1.1 rend obligatoire l'entête «Host: nom_serveur», pour gérer les serveurs virtuels (plusieurs noms gérés par un seul serveur). Ex: >telnet lvs.mana.pf http GET / HTTP/1.1 Host: Protocole HTTP

9 D'autres entêtes (optionnelles) permettent au client de définir un certain nombre de préférences, comme la langue, les formats de fichiers acceptables... c'est la négociation de contenu. Exemple d'entêtes: accept-language: fr, en-gb; q=0.8, en; q=0.7 accept-encoding: gzip Les préférences sont généralement ignorées par le serveur s'il ne peut y répondre. Dans tous les cas, la configuration du serveur permet de définir une réponse appropriée. Protocole HTTP

10 Réponse du serveur: contient le code de réponse qui indique le résultat global de la requête, puis des entêtes qui donnent des informations générales sur le serveur et/ ou le document, puis enfin le cas échéant le document à afficher dans le navigateur. 200 OK la requête a abouti, 301 Moved Permanently URI a changé, 304 Not Modified le document n'est pas modifié, 400 Bad Request requête mal formée, 401 Unauthorized autorisation nécessaire, 403 Forbidden autorisation refusée, 404 Not Found document introuvable, 405 Method Not Allowed méthode interdite, 408 Request Timeout temps pour requête écoulé, 500 Internal Server Error erreur du serveur lui même. Protocole HTTP

11 L'entête Date: est obligatoire dans HTTP/1.1; elle est notamment utilisée pour contrôler les caches. HTTP/ OK Date: Tue, 10 Jan :40:17 GMT Server: Apache/2.2.0 (Mandriva Linux/PREFORK- 6mdk) Last-Modified: Fri, 06 Jan :04:49 GMT ETag: "949eb-2c-4b4bde40" Accept-Ranges: bytes Content-Length: 44 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>... Protocole HTTP

12 La réponse ne concerne généralement qu'un unique document (page HTML, image, feuille de style ou code JavaScript); lorsque la réponse est terminée, le serveur coupe la connexion réseau. Néanmoins ce fonctionnement est coûteux, car une page Web typique comporte le fichier HTML lui même plus des images, une ou plusieurs feuilles de style,... HTTP/1.1 a introduit la notion de connexion «persistante» (keep alive), qui permet de transférer plusieurs documents dans une seule connexion réseau. Lorsque la réponse est terminée, le serveur attend une nouvelle requête, sans couper la connexion réseau. Protocole HTTP

13 Contrôle d'accès HTTP fournit un moyen simple de protéger les accès à certains documents ou groupe de documents. L'accès est donné si un couple (utilisateur, mot_de_passe) correct est passé au serveur (cf. rfc2617). Lorsque, le client demande (GET) un document protégé, le serveur envoie au client un code 401 (Authorization Required), et un entête : WWW-Authenticate: Basic realm="nom domaine" Dans la pratique, le navigateur ouvre alors une boîte de dialogue permettant d'entrer le nom d'utilisateur et le mot de passe; le navigateur renvoie la même demande (GET), augmentée d'un entête comportant un champ «Authorization». Protocole HTTP

14 Ex: Authorization: Basic amrnom1kca== La clé représente: nom_utilisateur:mot_de_passe, codé selon Mime/Base64. Attention: cette méthode n'est pas sûre, car il est trivial de retrouver le nom d'utilisateur et le mot de passe pour toute personne ayant accès au réseau; il faut obligatoirement l'associer à un chiffrage SSL. Application: «cracker» les nom d'utilisateurs / mots de passe en étudiant les trames avec un «sniffer» ethernet. Outil: wireshark + deux lignes de code Python: import base64 base64.decodestring("amrnom1kca==") Protocole HTTP

15 Contrôle des caches: Le rôle des caches est d'enregistrer les réponses issues des serveurs, dans le but qu'une requête identique ne soit pas soumise, ou que le serveur ne renvoie pas le document, afin de diminuer les temps de réponse, et l'occupation du réseau. Le problème essentiel est de déterminer si le document dans le cache est valide ou non. Le serveur peut être configuré pour envoyer des directives qui permettent de faciliter la décision. Normalement seules les requêtes GET sont mises en cache; les requêtes POST sont sensées réaliser un traitement, il faut les exécuter inconditionnellement. Protocole HTTP

16 La version 1.1 du protocole améliore notablement le contrôle des caches, à travers un double mécanisme : Expiration: si le document dans le cache n'a pas expiré, il est directement servi au client (pas de requête au serveur): entête Expires: ou Cache-Control: max-age dans la réponse Validation: le cache dispose du document, mais ne sait pas s'il est toujours valide. Il interroge le serveur. Les entêtes ETag: et Last-Modified: servent à évaluer la validité du document. La réponse 304 indique au cache qu'il peut réutiliser le document stocké localement. Protocole

17 Ex: dans une réponse, l'entête «Expires» définit quand la validité du document aura expiré. HTTP/1.1 définit aussi l'entête Cache-Control: qui peut être utilisée par le client ou le serveur. Cache-Control: max-age=0 force la validation auprès du serveur Cache-Control: no-cache force le cache à interroger le serveur. Protocole HTTP

18 CGI (Common Gateway Interface): site statique = fichiers (html, png, css, js,...) site dynamique = programmes (ou scripts) CGI définit essentiellement l'appel et le passage des paramètres, et l'envoi des résultats au navigateur. L'environnement d'exécution des scripts CGI est mis en place par le serveur web. Les résultats des scripts sont simplement imprimés sur la sortie standard par le script: le serveur web intercepte ces impressions et les envoie au navigateur. Il faut donc que cela respecte HTTP, et soit compréhensible par le navigateur. Protocole HTTP

19 Trois méthodes dans la RFC pour le passage des paramètres, seules deux sont utilisées : GET, paramètres nommés : paramètres disponibles dans la variable d'environnement QUERY_STRING POST : POST /cgi-bin/script HTTP/1.1 [entêtes] p1=v1&p2=v2 paramètres transmis dans le corps de la requête puis lus sur l'entrée standard par le script CGI. Protocole HTTP

20 Sécurité (SSL Secure Socket Layer / TLS Transport Layer Security RFC2246) Objectifs: chiffrement, identité, intégrité Deux types de chiffrement : conventionnel (ou symètrique): par utilisation d'une clé partagée à clé publique (asymètrique): couple de clés. Cryptage effectué par l'expéditeur avec clé dite publique que le destinataire lui a transmise. Déchiffrement possible uniquement avec la clé privée. Intégrité : fonctions de hachage Identité : certificat (serveur et / ou client) Protocole https, sur port 443 Intermédiaire entre TCP/IP et HTTP (entêtes chiffrés!) Protocole HTTP

21 Intégrité des messages : Assurer que le message n'a pas été modifié durant son transport sur le réseau est aussi important que de le chiffrer. On utilise pour cela des algorithmes qui calculent un nombre de longueur fixe (digest) à partir d'un message de longueur quelconque. Ces algorithmes sont étudiés pour que deux messages différents fournissent des digest différents. Le digest calculé par l'expéditeur est ajouté au message envoyé; de son côté, le destinataire calcule le digest correspondant au message reçu. Si les digests transmis et calculés sont égaux, le message n'a pas été modifié pendant sa transmission. Algorithmes : MD5 (128 bits, cracké en 2004), SHA 1 (NSA, 160 bits, doute sur fiabilité depuis 2005), SHA 256 (256 bits) Protocole HTTP

22 Certificats: Le problème qui demeure est d'assurer que la clé publique est réellement celle du destinataire. On introduit donc un tiers, autorité de confiance (Certificate Authority), qui fournit des certificats signés par lui même, permettant d'authentifier la clé publique. La liste des autorités de confiance est intégrée dans les navigateurs Internet. Protocole HTTP

23 Éléments d'un certificat : Sujet: nom (Distinguished Name DN), clé publique Émetteur: nom (DN), signature Période de validité: début de validité, fin de validité Information administrative: version, numéro de série Information additionnelle: contraintes, etc. DN (cf. LDAP) est lui même composé d'un nom commun (CN: secure.sysnux.pf), du nom de l'organisation (O: Sysnux), du département (OU: cellule web), la ville (C: Papeete), de l'état ou province (ST: Tahiti), et du pays (C: PF). Le certificat est ensuite transmis sous forme binaire. Protocole HTTP

24 L'établissement de la session implique: 1. négociation du type de cryptage (méthode d'échange de la clé de session, algorithme, type de digest), 2.échange de la clé de session, 3. authentification du serveur (optionnel), 4. authentification du client (optionnel). Le web sécurisé utilise le protocole HTTP sécurisé par SSL (d'où le nom HTTPS); les seules différences sont donc le protocole dans l'url ( et le port qui vaut 443 par défaut. C'est ce que fournit le module mod_ssl d'apache (cf. cette extension utilisant la bibliothèque libre OpenSSL (cf. (cf. documentation du module mod_ssl) Protocole HTTP

25 Protocole HTTP

26 L'utilisation de SSL pose problème avec les serveurs virtuels. L'extension Server Name Indication (rfc 4366) lève cette limitation en ajoutant le nom du serveur au début de la négociation SSL. Cette extension suppose le support côté client et serveur. Mozilla Firefox 2.0 Opera 8.0 Internet Explorer 7 (Windows Vista, pas XP) Google Chrome (Vista, not XP) Safari Safari (Mac OS X , ou Vista, pas XP) Protocole HTTP

27 Serveurs Web Définition Le serveur Web est un programme qui réalise le protocole HTTP. Il attend les requêtes des clients (navigateurs), leur retourne les réponses appropriées (traitement des erreurs), et le cas échéant les documents demandés. Les documents peuvent dépendre des entêtes de requêtes (négociation de contenu); ils peuvent aussi être le résultat de programmes exécutés sur le serveur. Le serveur doit envoyer des entêtes de contrôle de cache... Il doit gérer les protections d'accès. Un serveur Web doit être multi tâche, rapide et sûr. Serveurs Web

28 État du marché Serveurs Web

29 Novembre 2014 Décembre 2014 Apache 350,853, % 358,159, % Microsoft 306,029, % 272,967, % nginx 139,130, % 132,467, % Google 19,560, % 20,011, % Voir aussi tableau fiabilité. Serveurs Web

30 Introduction Perl est un langage de programmation interprété, à l'origine développé sous UNIX et spécialisé dans le traitement des chaînes de caractères ; Il hérite en cela d'outils tels que le shell, grep, sed, awk. Il a néanmoins évolué en un langage complet, aussi bien utilisé pour le web, que pour les applications scientifiques, l'accès aux bases de données, la programmation de jeux ou l'administration système. C'est un logiciel libre, qui fonctionne sur plus de cent plate formes. La version 1 est parue en 1987, est sortie en 1995, et la version actuellement stable est , avec une branche 6 en développement depuis plusieurs années.

31 L'inventeur de Perl, Larry Wall, a la particularité d'avoir effectué des études de linguistique ; Perl en hérite, avec quelques caractéristiques proches des langages naturels, notamment la notion de contexte. Le style de programmation est très libre, d'ailleurs le slogan de Perl est : There's more than one way to do it (TMTOWTDI). Visitez Le programme (ou interpréteur) perl permet d'éxécuter les scripts Perl, stockés par convention dans des fichiers ayant l'extension.pl. On peut néanmoins exécuter des instructions simples directement : perl -e 'print "Bonjour!\n ;"'

32 On peut aussi rendre les fichiers exécutables, et ajouter sur la première ligne : #!/usr/bin/env perl... On peut alors directement exécuter le script. La syntaxe de Perl est très permissive, mais on peut demander à l'interpréteur de prévenir si une variable est utilisée avant d'être initialisée, ou autre : #!/usr/bin/env perl use strict ; use warnings...

33 Syntaxe Toutes les instructions doivent être terminées par ; Les blocs de code sont indiqués par {} Les commentaires sont indiqués par # Les espaces n'ont pas d'importance en dehors des chaînes de caractères. Les chaînes de caractères sont délimitées par des guillemets: simples : pas d'interpolation des variables ou caractères spéciaux (\n) doubles : interpolation des variables et caractères spéciaux. Les parenthèses à l'appel de fonctions ne sont généralement pas obligatoires.

34 Une des premières caractéristique de Perl est sa gestion des variables. Les variables n'ont pas besoin d'être déclarées (sauf sous mode strict, utilisation de la fonction my), et il existe essentiellement, trois types : Scalaire : valeur unique, nombre (entier ou flottant) ou chaîne de caractères, indiqué par le caractère $, my $pi = 3.14; my $b = 'bonjour'; my $n = 'toto'; print "$b $n\n"; print 'Ce produit coûte 10$', "\n"; print 'Diamètre cercle de rayon 5 ', 2*$pi*5, "\n"; Certaines variables magiques existent par défaut, comme $_ qui est la variable par défaut.

35 Tableau : liste ordonnée indicée par un nombre entier (commence à 0), indiqué par le Attention, les éléments d'une liste sont des = ('a', 'bb', 123, $x, 'azerty', 6.51); print $t[0], "\n"; On peut obtenir des extraits ou tranches (slices) de listes : "\n"; "\n"; Dans un contexte scalaire, la renvoie le nombre d'éléments de la liste. La variable spéciale $# renvoie le dernier indice du contient la liste des arguments passés à une fonction, les arguments passés au script.

36 Dictionnaire (ou hash) : liste accédée par une chaîne de caractères, représenté par le caractère %. %rvb = ('R', 'Rouge', 'V', 'Vert', 'B', 'Bleu'); %jours = ('lun' => 'lundi', 'mar' => 'mardi', 'mer' => 'mercredi', 'jeu' => 'veudi', 'ven' => 'vendredi', 'sam' => 'samedi', 'dim' => 'dimanche'); print 'Nous sommes ', $jours{'ven'}, "\n"; Les fonctions keys et values permettent de renvoyer la liste des clés et des valeurs d'un dictionnaire.

37 Finalement les références vont permettre de construire des structures de données arbitrairement complexes. Une référence est indiquée par le symbole \ qui précède le nom de la variable (scalaire, tableau ou dictionnaire). La référence est elle même un élément scalaire. $pi = 3.14; $rs = = ('a', 'bb', 123); $rt = \@t; %j = ('lun' => 'lundi', 'mar' => 'mardi'... $rd = \$j ; Le déréférencement est réalisé en ajoutant le symbole correspondant au type de variable avant le nom de la référence : %$rd;

38 On peut aussi construire des références dites «anonymes», c'est à dire qui ne s'appuient sur aucune variable précédemment déclarée. C'est plus particulièrement utile pour les tableaux et dictionnaires : $rs = \ ; $rt = ['a', 'bb', 'ccc']; $rh = {'x' => 1.1, 'y' => -2.1e-5, 'z' => $rt}; Le déréférencement génère parfois des difficultés de lecture, aussi l'opérateur flèche ( >) a été créé, qui permet de faciliter la lecture : print ${$$rh{'z'}}[2] ; devient plus simplement : print $rh->{'z'}->[2] ;

39 Les variables créées avec my ont une portée limitée au bloc local {}. my $x = "var X"; my $condition = 1; if ($condition) { my $y = "var Y"; print "$x\n"; # Affiche "var X" print "$y\n"; # Affiche "var Y" } print "$x\n"; # Affiche "foo" print "$y\n"; # Erreur si mode strict Les variables déclarées sans my (si mode strict pas activé) ont une portée globale.

40 Structures de contrôle Perl dispose des structures de contrôle classiques. if (condition1) { instruction;... } elsif (condition2) {... } else {... } Le bloc est obligatoire même si l'instruction est unique. Il existe aussi une version négative : unless (condition) {... }

41 Le bloc est obligatoire même si l'instruction est unique., mais il existe des raccourcis pour ce cas : print 'ok!' if condition; print 'ko!' unless condition; Historiquement Perl ne dispose pas d instruction de type switch / case, néanmoins, depuis la version 5.10, on peut utiliser : use feature 'switch'; given ($v) { when ('a') { $x=1; } when ('b') { $x=2; } when ('c') { $x=3; } default { $x=0; } }

42 Boucles simples avec conditions positive ou négative, test au début ou à la fin : while (condition) {... } until (condition) {... } do {... } while (condition); do {... } until (condition); instruction while (condition); instruction until (condition);

43 Les boucles for existent sous deux formes, la deuxième étant préférée et plus rapide : for (my $i=0; $i< 10; $i++) { print "$i\n";... } = (0..9); foreach my $i (@t) { print "$i\n";... } print "$_\n" foreach (@t); for et foreach sont en réalité synonymes.

44 On peut naturellement sortir d une boucle précocement ou continuer sans faire la fin de la boucle : while ($i<100) {... last if (condition); # Sortie immédiate... } = (0..9); foreach my $i (@t) {... next if (condition); # Reprise immédiate... }

45 Les instructions last et next peuvent aussi prendre une étiquette en argument, par exemple, pour rechercher les couples de nombres dont le produit vaut une certaine valeur = (0..100); my $v = 50; EXTERNE: foreach my $i (@t) { INTERNE: foreach my $j (@t) { if ($i * $j == $v) { print "$v = $i * $j\n"; next EXTERNE; } if ($j >= $i) { last INTERNE; } } }

46 Opérateurs Arithmétique : + - * / ** Chaînes de caractères, concaténation et multiplication :. x Comparaison numérique : ==!= > >= < <= Comparaison de chaînes de caractères : eq ne lt gt le ge Affectation : = Affectation combinée avec une opération : += -= *= /=.= x= Incrémentation / décrémentation : $i++ ++$i $i-- --$i Intervalle (liste) d entiers (en contexte liste) : (n1..n2)

47 Logique : && and or (priorité plus faible pour ces derniers, peuvent être utilisés en contexte de liste) Opérateurs bit à bit : & ^ Décalage bit à bit : >> << Opérateur intervalle :.. Opérateur conditionnel : condition? 'vrai':'faux' Opérateur déclaration de chaînes : 'texte' "texte" `texte` q{texte} qq{texte} qx{texte}

48 Accès aux fichiers La fonction open permet de d'initier l'accès à un fichier. Elle prend par défaut trois paramètres : la variable descripteur de fichier, le mode d'ouverture (< > >>), et le nom du fichier (avec chemin éventuellement).open renvoie une valeur fausse en cas d'erreur. Une fois le descripteur de fichier ouvert, on peut lire le fichier avec l'opérateur <>. Pour écrire, on utilise la fonction print, avec le descripteur en premier argument. La fonction close ferme le descripteur de fichier. open (my $in, '<', '/tmp/fichier1.txt'); open (my $out, '>', '/tmp/fichier2.txt'); while (my $ligne=<$in>) { print $out $ligne; } La fonction chomp permet d'éliminer le retour à la ligne, dans les lignes lues.

49 Fonctions Le mot clé sub permet de déclarer une fonction. Les arguments sont passés à travers la variable L'instruction return sort immédiatement de la fonction en renvoyant éventuellement une valeur (scalaire ou liste). La fonction est appelée par son nom, suivi des arguments ; si la fonction n'est pas déclarée avant son appel, il faut ajouter & avant le nom. sub ma_fonction { my ($x, $y, $z) print "$x $y $z\n"; return "OK!"; } ma_fonction 'Bonjour', 'comment', 'allez-vous?' ; Les fonctions Perl sont récursives. On peut prendre une référence sur une fonction : my $rf = \&ma_fonction;

50 Expressions rationnelles Encore appelées expressions régulières (regular expressions, regex, pattern matching) : recherche et modifications dans les chaînes de caractères. L'opérateur de recherche est m//, ou simplement // ; il s'applique par défaut à la variable par $_. On peut aussi le lier à une variable quelconque avec l'opérateur =~ (négation!~). Dans le cas le plus simple, on cherche une simple chaîne de caractères, par exemple : if (m/motif/) {... if ($x =~ /motif/) {... Les expressions rationnelles prennent leur sens lorsque le motif contient des méta-caractères (caractères spéciaux) :. (point) correspond à n'importe quel caractère, \d correspond à un chiffre, \D pas un chiffre, \w correspond à caractère alphanumérique ou _, \W au contraire,

51 \s correspond à un espace (ou retour ligne, ou tabulation), \S pas un espace. ^ correspond au début de ligne, $ correspond à la fin de ligne, indique une alternative (ou). Exemples : /peu\w/; # Correspond à 'peut' 'peur', 'peux' /^\d\d\d$/; # Ligne contenant 3 chiffres exactement On peut aussi définir des classes de caractères : [xyz] l'un quelconque de x, y ou z, [a-z] lettre minuscule, [^ABC] pas A, ni B, ni C. Ainsi que des groupements de caractères avec () : /(a b)b/; # reconnaît 'ab' ou 'bb' /(^a b)c/; # 'ac' au début ou 'bc' /chat(on )/; # reconnaît 'chaton' ou 'chat'. /chat(on(s ) )/; # 'chatons' ou 'chaton' ou 'chat'.

52 Certains caractères spéciaux permettent d'indiquer une répétition du caractère qui les précèdent : + au moins une fois,? aucune fois ou une seule, * aucune fois ou plusieurs, {n} exactement n fois, {n,} au moins n fois, {n,m} entre n et m fois. Exemples : /peu\w?/; # 'peu', 'peut' 'peur', 'peux' /\d{3}/; # Nombre de 3 chiffres L'opérateur s/// permet d'effectuer une correspondance et une substitution sur la correspondance, par exemple : 'bonjour' =~ s/jour/ne nuit/; # bonjour -> bonne nuit

53 Les groupements de caractères servent aussi à effectuer des mémorisations ou captures, qui peuvent être réutilisées dans la suite du code en tant que variables $1, $2,... selon l'ordre de la capture. Exemples : if ($t =~ /(\d\d):(\d\d):(\d\d)/) { # format hh:mm:ss $heures = $1; $minutes = $2; $secondes = $3; } Les captures peuvent aussi être utilisées dans la deuxième partie de l'opérateur substitution. Enfin certains modificateurs placés après l'expression changent la reconnaissance, notamment : i insensible à la casse, g global.

54 Bibliothèque standard (man perlfunc) Scalaires, chaînes de caractères chomp, chop : suppression caractère retour ligne ou dernier caractère, chr, ord : code ASCII <=> caractère chr(65) ; ord('a');. length : longueur chaîne. substr : extraction chaîne. Tableaux Push, pop shift, unshift début, keys, values : clés d'un dictionnaire ou index d'un tableau + valeurs. Each : en contexte de liste renvoie la clé et la valeur d'un dictionnaire ou l'index et la valeur d'un tableau ; en contexte scalaire, renvoie la clé ou l'index.

55 Listes split ':', $s ; join ' ; : découpe la chaîne en fonction du séparateur, ou concatène les éléments du liste avec le séparateur. sort : classement, alphabétique par défaut, sinon selon la fonction. reverse :renverse la liste. map le bloc pour chaque élément de la liste, $_. qw : retourne une liste de mots. wantarray : impose le contexte liste. Nombres abs, atan2, cos, exp, hex, int, log, oct, rand, sin, sqrt, srand

56 Fichiers / répertoires chdir, chmod, chown, glob '*.c' ; open, close opendir, readdir, closedir mkdir, rmdir readlink, rename, Stat, Divers eval : considère la chaîne comme du code Perl et l'exécute (si possible!). defined, undef : vérifie l'existence ou détruit une variable. die, exit : fin et renvoie code retour.

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

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

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

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

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

(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

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

Dans l'épisode précédent

Dans l'épisode précédent Dans l'épisode précédent 2 Le réseau SERVEURS POSTE CLIENT POSTE CLIENT wifi SERVEURS POSTE CLIENT switch Borne Wifi SERVEURS routeur POSTE CLIENT? SERVEURS SERVEURS SERVEURS POSTE CLIENT SERVEURS 3 Les

Plus en détail

Protection des protocoles www.ofppt.info

Protection des protocoles www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2

Plus en détail

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1 Le protocole HTTP 10 minutes pour comprendre HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1 http://tic01.tic.ec-lyon.fr/~muller/cours-tdw/http.pdf http://tic01.tic.ec-lyon.fr/~muller/cours-tdw/httpbw.pdf

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

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

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

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Réseaux. 1 Généralités. E. Jeandel

Réseaux. 1 Généralités. E. Jeandel 1 Généralités Réseaux Couche Application E. Jeandel Couche application Dernière couche du modèle OSI et TCP/IP Échange de messages entre processus Protocole Un protocole de niveau application doit spécifier

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

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

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

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Protocoles DHCP et DNS

Protocoles DHCP et DNS Protocoles DHCP et DNS DHCP (Dynamic Host Configuration Protocol) est un protocole qui permet à un serveur DHCP (Unix, Windows, AS400...) d'affecter des adresses IP temporaires (et d'autres paramètres)

Plus en détail

Perl Orienté Objet BioPerl There is more than one way to do it

Perl Orienté Objet BioPerl There is more than one way to do it Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, berenice.batut@udamail.fr DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels

Plus en détail

Réseaux et protocoles Damien Nouvel

Réseaux et protocoles Damien Nouvel Réseaux et protocoles Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles applicatifs pour les sites web Requêtes HTTP 2 / 35 Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles

Plus en détail

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x SQUID P r o x y L i b r e p o u r U n i x e t L i n u x 1. P r é s e n t a t i o n : SQUID est un proxy (serveur mandataire en français) cache sous linux. De ce fait il permet de partager un accès Internet

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

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

Protocoles Applicatifs

Protocoles Applicatifs Programmation Réseau Protocoles Applicatifs Jean-Baptiste.Yunes@liafa.jussieu.fr UFR Informatique 2011-2012 Protocoles Protocoles applicatifs on appelle protocole applicatif ou protocole d application

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

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

«Cachez-moi cette page!»

«Cachez-moi cette page!» «Cachez-moi cette page!» Atelier Pratique 1h30 Hugo Hamon (@hhamon) http://hugohamon.com Qui suis-je? Au menu de cet atelier 1. Introduction 2. Avantages 3. Expiration (Expires & Cache-Control) 4. Validation

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

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9 Chapitre 3 Introduction à HTTP L HyperText Transfer Protocol, plus connu sous l abréviation HTTP (littéralement protocole de transfert hypertexte ) est un protocole de communication client-serveur développé

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Mr. B. Benaissa. Centre universitaire Nâama LOGO Mr. B. Benaissa Centre universitaire Nâama Dans ce chapitre, nous allons examiner le rôle de la couche application. Nous découvrirons également comment les applications, les services et les protocoles

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

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

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

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii WebDAV en 2 minutes le but affirmé du groupe de travail WebDAV (DAV) est (pour ses concepteurs) de "définir les extensions de HTTP nécessaires pour assurer la disponibilité d'outils WEB de création collective

Plus en détail

Linux sécurité des réseaux

Linux sécurité des réseaux Linux sécurité des réseaux serveurs mandataires (proxy) fbongat@ipsl.jussieu.fr 2007-2008 Qu'est-ce qu'un proxy? = mandataire (traduction) Un proxy est un service mandataire pour une application donnée.

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH 2012 Les tutos à toto CUPS server - install and configure Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7

Plus en détail

SSH, le shell sécurisé

SSH, le shell sécurisé , le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,

Plus en détail

Vulnérabilités et sécurisation des applications Web

Vulnérabilités et sécurisation des applications Web OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Devoir Surveillé de Sécurité des Réseaux

Devoir Surveillé de Sécurité des Réseaux Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La

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

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

Manuel d'utilisation d'apimail V3

Manuel d'utilisation d'apimail V3 Manuel d'utilisation d'apimail V3 I Préambule Page 3 II Présentation Page 4 III Mise en route Configuration Page 5 Messagerie Serveur smtp Serveur pop Compte pop Mot de passe Adresse mail Laisser les messages

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

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 Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

L identité numérique. Risques, protection

L identité numérique. Risques, protection L identité numérique Risques, protection Plan Communication sur l Internet Identités Traces Protection des informations Communication numérique Messages Chaque caractère d un message «texte» est codé sur

Plus en détail

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :

Plus en détail

Serveur d application WebDev

Serveur d application WebDev Serveur d application WebDev Serveur d application WebDev Version 14 Serveur application WebDev - 14-1 - 1208 Visitez régulièrement le site www.pcsoft.fr, espace téléchargement, pour vérifier si des mises

Plus en détail

L'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

L'AAA, késako? Bruno Bonfils, <asyd@solaris fr.org>, Novembre 2005. Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Introduction L'AAA, késako? Bruno Bonfils, , Novembre 2005 Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants : Authentication (authentification) Authorization

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Service de certificat

Service de certificat Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec

Plus en détail

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B Protocole SIP 1 - La définition du protocole SIP, signifiant Session Initiation Protocole, vient du monde de l'informatique contrairement aux autres. SIP a été initié à l'origine par le groupe MMusic (Multiparty

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique Document technique : Guide d'initiation aux certificats ssl Document technique Guide d'initiation aux certificats SSL Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en

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

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Proxy et reverse proxy. Serveurs mandataires et relais inverses Serveurs mandataires et relais inverses Qu'est-ce qu'un proxy? Proxy = mandataire (traduction) Un proxy est un service mandataire pour une application donnée. C'est à dire qu'il sert d'intermédiaire dans

Plus en détail

GENERALITES. COURS TCP/IP Niveau 1

GENERALITES. COURS TCP/IP Niveau 1 GENERALITES TCP/IP est un protocole inventé par les créateurs d Unix. (Transfer Control Protocol / Internet Protocole). TCP/IP est basé sur le repérage de chaque ordinateur par une adresse appelée adresse

Plus en détail

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

TP réseaux 4 : Installation et configuration d'un serveur Web Apache TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux

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

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

SSL. Secure Socket Layer. R. Kobylanski romain.kobylanski@inpg.fr. janvier 2005 - version 1.1 FC INPG. Protocole SSL Application avec stunnel

SSL. Secure Socket Layer. R. Kobylanski romain.kobylanski@inpg.fr. janvier 2005 - version 1.1 FC INPG. Protocole SSL Application avec stunnel SSL Secure Socket Layer R. Kobylanski romain.kobylanski@inpg.fr FC INPG janvier 2005 - version 1.1 1 Protocole SSL 2 SSL/TLS Encapsule des protocoles non sécurisés (HTTP IMAP...) dans une couche chiffrée

Plus en détail

Installation et utilisation d'un certificat

Installation et utilisation d'un certificat 1 IceWarp Merak Mail Server Installation et utilisation d'un certificat Icewarp France octobre 2007 2 Icewarp Merak Mail Serveur : Guide de mises à jour à la version 9 Sommaire Introduction...3 Situation

Plus en détail

Installation et configuration de Vulture Lundi 2 février 2009

Installation et configuration de Vulture Lundi 2 février 2009 Installation et configuration de Vulture Lundi 2 février 2009 V1.0 Page 1/15 Tables des matières A. Informations (Page. 3/15) B. Installation (Page. 3/15) 1- Téléchargement des paquets nécessaires. 2-

Plus en détail

Manuel d'utilisation du navigateur WAP Palm

Manuel d'utilisation du navigateur WAP Palm Manuel d'utilisation du navigateur WAP Palm Copyright Copyright 2002 Palm, Inc. Tous droits réservés. Graffiti et Palm OS sont des marques déposées de Palm, Inc. Palm et le logo Palm sont des marques commerciales

Plus en détail

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0 RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises La banque en ligne et le protocole TLS : exemple 1 Introduction Définition du protocole TLS Transport Layer Security

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

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

Services Réseaux - Couche Application. TODARO Cédric Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port

Plus en détail

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et

Plus en détail

Application de lecture de carte SESAM-Vitale Jeebop

Application de lecture de carte SESAM-Vitale Jeebop Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge

Plus en détail

Utilisation des certificats X.509v3

Utilisation des certificats X.509v3 En pratique Utilisation des certificats X.509v3 Commerce électronique, avec HTTPS (HTTP/SSL) Authentification SSL/TLS par certificat, obligatoire pour le serveur Authentification optionnelle pour le client

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 Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Gestion collaborative de documents

Gestion collaborative de documents Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,

Plus en détail

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version 08.05.22

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version 08.05.22 Services bancaires par Internet aux entreprises Guide pratique pour : Transfert de fichiers Version 08.05.22 Table des matières Introduction...3 Avez-vous besoin d'aide?... 3 Exigences informatiques...

Plus en détail

IIS, c est quoi? Installation de IIS Gestion de base de IIS Méthodes d authentification. Edy Joachim,

IIS, c est quoi? Installation de IIS Gestion de base de IIS Méthodes d authentification. Edy Joachim, IIS, c est quoi? Historique de IIS Installation de IIS Gestion de base de IIS Méthodes d authentification Edy Joachim, Internet Information Services, c est quoi? Internet Information Services (IIS) 7.5

Plus en détail

Content Switch ou routage de niveau HTTP

Content Switch ou routage de niveau HTTP ALOHA Load-Balancer - Application Note Document version: v1.1 Last update: 19 juin 2014 EMEA Headquarters 3, rue du petit robinson ZAC des Metz 78350 Jouy-en-Josas France http://www.haproxy.com/ Objectif

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

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 14 Mise en place d un serveur ftp Le plus grand

Plus en détail

SSL ET IPSEC. Licence Pro ATC Amel Guetat

SSL ET IPSEC. Licence Pro ATC Amel Guetat SSL ET IPSEC Licence Pro ATC Amel Guetat LES APPLICATIONS DU CHIFFREMENT Le protocole SSL (Secure Socket Layer) La sécurité réseau avec IPSec (IP Security Protocol) SSL - SECURE SOCKET LAYER Historique

Plus en détail

ETI/Domo. Français. www.bpt.it. ETI-Domo Config 24810150 FR 10-07-144

ETI/Domo. Français. www.bpt.it. ETI-Domo Config 24810150 FR 10-07-144 ETI/Domo 24810150 www.bpt.it FR Français ETI-Domo Config 24810150 FR 10-07-144 Configuration du PC Avant de procéder à la configuration de tout le système, il est nécessaire de configurer le PC de manière

Plus en détail

Table des matières. 2011 Hakim Benameurlaine 1

Table des matières. 2011 Hakim Benameurlaine 1 Table des matières 1 OpenSSH... 2 1.1 Introduction... 2 1.2 Installation... 2 1.3 Test de connexion... 2 1.4 Configuration du serveur ssh... 3 1.5 Contrôle du service ssh... 4 1.6 Log... 4 1.7 Client ssh...

Plus en détail

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication Table des matières Atelier pratique 8 : Implémentation de la réplication 1 Exercice 1 : Création d'une publication 1 Exercice

Plus en détail

L3 informatique Réseaux : Configuration d une interface réseau

L3 informatique Réseaux : Configuration d une interface réseau L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2

Plus en détail

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com>

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com> Arnaud Desmons Jérémie Jourdin Présentation Motivations Historique Démonstration Présentation fonctionnelle Présentation technique L'interface d'administration Roadmap

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

Standard. Manuel d installation

Standard. Manuel d installation Standard Manuel d installation 1 2 3 4 5 Vérifications avant l installation Installation Création d utilisateurs et Configuration rapide Exemples d utilisation et paramètres Annexe Lisez attentivement

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail

CS REMOTE CARE - WEBDAV

CS REMOTE CARE - WEBDAV CS REMOTE CARE - WEBDAV Configuration des serveurs archange KONICA MINOLTA BUSINESS SOLUTIONS FRANCE Date Version Marque de révision Rédaction 18/10/2011 1 - Claude GÉRÉMIE Nicolas AUBLIN Sommaire 1) PRINCIPE

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Introduction. Adresses

Introduction. Adresses Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom

Plus en détail