La gestion des protocoles HTTP, FTP, SOAP, etc.

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

Download "La gestion des protocoles HTTP, FTP, SOAP, etc."

Transcription

1 Chapitre 16 La gestion des protocoles HTTP, FTP, 16.1 Fonctions réseau (de base) Réseau Les sockets FTP curl (client URL Library) SOAP

2

3 Réseau Fonctions réseau (de base) Réseau Les fonctions présentées dans ce chapitre ne permettent pas de réels développements, mais constituent une "trousse à outils" parfois nécessaire dans la manipulation d informations réseau (comme ce peut être le cas, par exemple, avec l utilisation des sockets). Elles ne nécessitent aucune installation particulière. Adresses IP et DNS L opération la plus souvent sollicitée est certainement celle qui consiste à déterminer l adresse IP d une machine lorsque l on ne connaît que son nom. Pour cela, vous disposez de la fonction gethostbyname(). gethostbyname() Retourne l adresse IP de la machine précisée par son nom. $nommachine string gethostbyname(string $nommachine) Nom de la machine. Adresse IP de la machine, ou $nommachine si aucune adresse IP n a pu être trouvée. Ainsi, le code suivant : <?php echo gethostbyname("localhost");?> nera très probablement : Alors que : <?php echo gethostbyname("www.php.net");?> nera une adresse IP publique comme, par exemple,

4 Chapitre 16 La gestion des Il est également possible de réaliser l opération inverse, à savoir récupérer un nom de machine à partir de son adresse IP grâce à gethostbyaddr(). gethostbyaddr() Retourne un nom de machine associé à l adresse IP précisée (tel qu on le trouve dans le fichier /etc/hosts des sytèmes UNIX/Linux). $adresseip string gethostbyaddr(string $adresseip) Adresse IP de la machine. Nom associé à la machine, ou $adresseip si aucun nom n a pu être trouvé. Le code suivant : <?php echo gethostbyaddr(" ");?> pourra ner : localdomain.localhost On notera au passage que l opération n est pas nécessairement réversible. Si gethostbyname("localhost") ne " " cela n implique pas que gethostbyaddr(" ") ne "localhost". En effet, une machine peut avoir plusieurs noms (via des alias), et c est donc le nom principal qui est né par gethostbyaddr(). De même, une unique machine peut posséder plusieurs adresses IP. Pour en déterminer la liste, vous pouvez faire appel à gethostbynamel(). gethostbynamel() Retourne la liste des adresses IP de la machine précisée par son nom. $nommachine array gethostbynamel($nommachine) Nom de la machine. Tableau indexé des adresses IP de la machine, ou FALSE si aucune adresse IP n a pu être trouvée. PHP dispose de fonctions permettant de convertir des adresses IP précisées sous la forme "classique" xxx.xxx.xxx.xxx en adresses sous la forme d entiers, et réciproquement. 1266

5 Réseau ip2long() Convertit une adresse IP du format "xxx.xxx.xxx.xxx" en un entier. : int ip2long(string $adresseip) $adresseip Adresse IP au format "xxx.xxx.xxx.xxx". Adresse IP sous forme d un entier. Entier signé ou non Un simple echo du résultat fourni par ip2long peut conduire à l affichage d un entier négatif. Or celui-ci est théoriquement non signé. Il est donc préférable de faire appel à printf("%u", ip2long($adresseip)). long2ip() Convertit une adresse IP d entier au format "xxx.xxx.xxx.xxx". int ip2long(string $adresseip) $adresseip Adresse IP sous forme d un entier. Adresse IP au format "xxx.xxx.xxx.xxx". Dans certaines circonstances, comme par exemple pour déterminer si une adresse a des chances d être valide, il peut être utile de déterminer si le nom de domaine indiqué existe, ou, plus précisément, vérifier si ce nom est connu du DNS. DNS DNS sont les initiales anglaises de "Domain Name Server", autrement dit "Serveur de nom de domaine". En deux mots, ce serveur contient les tables de correspondances qui permettent de retrouver une machine (ou son adresse IP) à partir de son nom. Vous trouverez plus d informations sur le site Internet : Pour tester la présence d un nom de machine auprès du DNS vous ferez appel à checkdnsrr(). checkdnsrr() (non disponible sous Windows) Teste la présence d un nom de machine ou d une adresse IP auprès du DNS. Notez que dans la version 5 de PHP, cette fonction est baptisée DNS_check_record() (tout en assurant la compatibilité). 1267

6 Chapitre 16 La gestion des boolean checkdnsrr(string $nommachine [, string $type]) $nommachine Nom de la machine ou adresse IP. $type Précise le type d entrée recherchée (par défaut MX) : A (Address = Adresse) : une simple adresse. CNAME (Cannonical Name = Nom canonique) : un alias. MX (Mail exchanger = Distributeur de courrier) : machine permettant la réception de mails. NS (Name Server = Serveur de nom) : un serveur de nom. PTR (Pointer = Pointeur) : un renvoi sur une autre machine. SOA (Start Of Authority) : une zone. ANY : l ensemble des options précédentes. TRUE si la machine est connue du DNS (pour le type précisé), FALSE sinon. Voici donc une petite fonction permettant non pas de vérifier la validité d une adresse , mais de débusquer certaines adresses manifestement non valides. <?php function test ($ ) { $domaine = ); return checkdnsrr($domaine, MX ); } $ = if (test ($ )) { echo "Je ne peux pas assurer que cette adresse est valide ". "mais elle n est pas totalement farfelue"; } else { echo "Pfuuu... C est n importe quoi cet , ". "jamais je ne pourrai envoyer d à cette adresse"; }?> Pour ce qui concerne les entrées MX du fichier de configuration du DNS, il est possible d en savoir un peu plus grâce à la fonction getmxrr(). getmxrr() (Non disponible sous Windows) Retourne la liste des machines enregistrées auprès du DNS pour la gestion des mails. Notez que dans la version 5 de PHP, cette fonction est baptisée DNS_get_mx() (tout en assurant la compatibilité). $nommachine $machines boolean getmxrr(string $nommachine, array &$machines [, array &$poids]) Nom de la machine. Référence sur une variable dans laquelle sera copié un tableau indexé contenant les noms des machines devant "router" les mails. 1268

7 Réseau $poids Référence sur une variable dans laquelle sera copié un tableau indexé contenant les poids associés aux machines. Les mails seront prioritairement "routés" par la machine de plus faible poids. TRUE si la machine est connue du DNS, FALSE sinon. Protocoles et services PHP propose également des fonctions permettant de récupérer des informations plus intimement liées au serveur. Il est, par exemple, possible de connaître le port associé à un service ou, inversement, de retrouver le nom d un service à partir de son numéro de port. getservbyname() Retourne le port associé au service donné. int getservbyname(string $service, string $protocole) $service Nom du service (ex. : "ftp", "http",...) $protocole Nom du protocole ("tcp" ou "udp"). Numéro de port, ou FALSE en cas d échec. getservbyport() Retourne le nom du service associé au port donné. int getservbyport(string $port, string $protocole) $port Numéro du port. $protocole Nom du protocole ("tcp" ou "udp"). Nom du service, ou FALSE en cas d échec. Ainsi, pour connaître le port associé au service FTP, ou le nom du service associé au port 80, l on pourra utiliser le script suivant : <?php echo getservbyname("ftp", "tcp")."<br />"; echo getservbyport(80, "tcp");?> ce qui nera (probablement) : 21 http 1269

8 Chapitre 16 La gestion des Il est également possible de connaître le numéro associé à un protocole ou, inversement, de retrouver le nom d un protocole à partir de son numéro. getprotobyname() Retourne le numéro associé à un nom de protocole (tel qu on le trouve dans le fichier /etc/protocols des systèmes UNIX/Linux). $nomprotocole int getprotobyname(string $nomprotocole) Nom du protocole. Numéro du protocole, ou 1 s il n existe pas. getprotobynumber() Retourne le nom associé à un numéro de protocole (tel qu on le trouve dans le fichier /etc/protocols des systèmes UNIX/Linux). $numeroprotocole int getprotobynumber(string $numeroprotocole) Numéro du protocole. Nom du protocole, ou FALSE s il n existe pas. Voici un exemple d utilisation. Le script suivant : <?php echo getprotobyname("tcp")."<br />"; echo getprotobynumber(62)."<br />";?> pourra ner : 6 cftp Les sockets Pour communiquer directement avec un service d une machine donnée, vous serez peut-être amené à utiliser les sockets. Vous pouvez ainsi communiquer directement avec un serveur FTP, HTTP, NNTP (newsgroup), etc, et maîtriser plus finement les opérations que si vous utilisiez les commandes de plus haut niveau (plus couramment utilisées). Le principe d utilisation est simple et se déroule en quatre grandes étapes : 1270

9 Les sockets j Ouverture de la connexion ; j Configuration de la connexion ; j Lecture/écriture sur la socket ; j Fermeture de la connexion. Un exemple d application est donné à la fin de ce sous-chapitre. Ouverture de la connexion L ouverture d une connexion se fait via la fonction fsockopen(). fsockopen() Ouvre une connexion sur une socket. $serveur $port $codeerreur $msgerreur $delaiexpiration resource fsockopen(string $serveur, int $port [, int &$codeerreur [, string &$msgerreur [, double $delaiexpiration]]]) Nom du serveur sur lequel doit se porter la connexion (éventuellement précédé de "udp://" pour une connexion UDP). Numéro du port sur lequel établir la connexion. Référence sur une variable dans laquelle sera copié le code d erreur levé. Référence sur une variable dans laquelle sera copié le message d erreur levé. Délai (en secondes) au-delà duquel la tentative de connexion doit être abandonnée (par défaut 60 secondes). Identifiant de connexion à la socket, ou FALSE en cas d erreur. La fonction fsockopen() possède un équivalent permettant l ouverture d une connexion persistante (nous n avons pas vérifié le caractère persistant et réutilisable de la connexion). Il s agit de la fonction pfsockopen(), qui possède exactement la même syntaxe que fsockopen(). Configuration de la connexion Il est possible de jouer sur deux paramètres de connexion : j Le mode de lecture bloquant ou non ; j Le délai d expiration (timeout) de la socket. La lecture est dite en mode bloquant si la fonction de lecture doit attendre qu un message lui soit adressé pour "rendre la main" au programme. Dans le cas contraire, elle est dite non bloquante, et la fonction de lecture ne simplement le contenu de la mémoire tampon 1271

10 Chapitre 16 La gestion des (espace stockant les messages nouvellement reçus) qui pourra éventuellement être vide (si le message n est pas encore arrivé). Par défaut, en l absence d appel à la fonction socket_set_blocking(), le mode de lecture est bloquant. socket_set_blocking() Détermine si le mode de lecture de la socket doit être ou non bloquant. $idsocket $modelecture boolean socket_set_blocking(resource $idsocket, boolean $modelecture) Identifiant de la socket tel que né par fsockopen(). TRUE si le mode de lecture doit être bloquant, FALSE sinon. FALSE en cas d échec, TRUE sinon. La durée de vie de la connexion à la socket peut être limitée par la fonction socket_set_timeout(). socket_set_timeout() Détermine la durée de vie maximale de la socket. $idsocket $secondes $microsecondes boolean socket_set_timeout(resource $idsocket, int $secondes, int $microsecondes) Identifiant de la socket tel que né par fsockopen(). Partie "secondes" de la durée de vie de la socket exprimée en "secondes:microsecondes". Partie "microsecondes" de la durée de vie de la socket exprimée en "secondes:microsecondes". FALSE en cas d échec, TRUE sinon. Lecture/écriture sur la socket La lecture et l écriture sur la socket s effectuent à l aide des fonctions qui ont déjà été vues dans le chapitre relatif aux fichiers. Vous pourrez ainsi utiliser fgets($idsocket, $nboctets); pour lire jusqu à $nboctets octets sur la socket, fputs($idsocket, $chaine); pour envoyer au serveur une chaîne de caractères via la socket, ou encore feof($idsocket); pour tester si la fin de fichier (fin d émission) a été atteinte. 1272

11 Les sockets Fermeture de la connexion Le fermeture de la connexion s opère exactement de la même façon que celle d un fichier, c est-à-dire par la commande fclose($idsocket). Informations sur la connexion Pour connaître l état d une socket, vous pouvez faire appel à la fonction socket_get_status(). socket_get_status() Retourne quelques informations sur l état de la socket. array socket_get_status(resource $idsocket) $idsocket Identifiant de la socket tel que né par fsockopen(). Tableau associatif possédant les clés : "time_out" associée à une valeur de type booléen précisant si la durée de vie de la socket a expiré ou non. "blocked" associée à une valeur de type booléen précisant si la lecture sur la socket se fait en mode bloquant ou non. "eof" associée à une valeur de type booléen précisant si un indicateur de fin de fichier a été détecté ou non. "unread_bytes" associée à une valeur de type entier précisant le nombre d octets actuellement dans la mémoire tampon de lecture de la socket. Application Pour mettre en place une communication via une socket, l essentiel est de bien connaître le langage de communication avec le serveur. Si vous avez conçu votre propre serveur, vous savez certainement comment il fonctionne autrement, il faut se référer aux spécifications. Dans le cas d un serveur HTTP, le principe est assez simple et a été évoqué dans le chapitre En-têtes. Vous pouvez vous reporter à l annexe "Les en-têtes" pour plus de détails. Pour récupérer un document via la méthode GET, il suffit de lui envoyer les instructions "GET <nom du document> HTTP/<norme HTTP>", et, dans le cas de la norme 1.1, il faut au minimum communiquer l en-tête Host. Pour récupérer la page d accueil d un site, il faudra donc, par exemple, envoyer les instructions suivantes : GET / HTTP/1.1 Host: localhost 1273

12 Chapitre 16 La gestion des ce qui nous donne le script suivant : Listing 16.1 : socket_01.php <?php // Exemple de récupération d un document via HTTP // en utilisant directement les sockets. $serveur = "www.gnu.org"; $document = "/"; echo "<b>lecture de $serveur$document</b><br />"; $idsocket = fsockopen($serveur, 80, $codeerreur, $msgerreur); if (!$idsocket) { echo "La connexion via la socket a échouée.<br />"; echo "Code d erreur: $codeerreur<br />"; echo "Message d erreur: $msgerreur<br />"; die(); } // Configuration de la connexion // en mode bloquant // et avec un timeout de 5 minutes socket_set_blocking($idsocket, TRUE); socket_set_timeout($idsocket, 5, 0); // Envoi de données au serveur fputs($idsocket, "GET $document HTTP/1.1\r\n"); fputs($idsocket, "Host: localhost\r\n"); fputs($idsocket, "\r\n"); // Marque la fin de l en-tête?> // Lecture de la réponse while (!feof($idsocket)) { $donnees = fgets($idsocket, 512); echo "<xmp>$donnees</xmp>"; } // Affichage du code source qui fournira, par exemple, le résultat suivant (début de la réponse uniquement) : Lecture de HTTP/ OK Date: Tue, 28 May :39:34 GMT Server: Apache/ (Unix) Debian GNU/Linux mod_python/2.7.8 Python/1.5.2 Last-Modified: Fri, 24 May :51:38 GMT ETag: " e6e-3cee7daa" Accept-Ranges: bytes Content-Length: Content-Type: text/html 1274

13 FTP <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <TITLE>GNU s Not Unix! - the GNU Project and the Free Software Foundation (FSF)</title> <META HTTP-EQUIV="Keywords" CONTENT="GNU, FSF, Free Software Foundation, Linux, Emacs, GCC, Unix, Free Software, Operating System, GNU Kernel, HURD, GNU HURD"> <META HTTP-EQUIV="Description" CONTENT="Since 1983, developing the free Unix-like operating system GNU, Comme vous pouvez le constater, nous récupérons ainsi non seulement le code source HTML de la page, mais également l en-tête né par le serveur (le début du code source se trouvant juste après la première ligne laissée vide). L utilisation des sockets permet ici de récupérer l en-tête né par le serveur (et ainsi, par exemple, de vérifier le "Content-type"), mais aussi de préciser notre propre en-tête de requête (en utilisant par exemple le "User-agent" d Internet Explorer ou de Mozilla, et en testant différentes valeurs pour "Accept-Language", etc.) FTP Les fonctions de la bibliothèque FTP permettent d accéder en tant que client à un serveur FTP. Installation Sous Windows Que ce soit avec l archive du PHP Group ou avec EasyPHP, les fonctions FTP sont intégrées à PHP. Sous Linux Vous devrez recompiler PHP avec l option enable ftp (avec les versions 3 de PHP, il s agissait de l option with ftp). Vous pouvez vous reporter au chapitre "Prise en main" pour plus de détails sur la façon de compiler PHP. Vérification Pour vérifier que le support FTP est activé, appelez un script contenant <?php phpinfo();?>. Celui-ci doit alors laisser apparaître : 1275

14 Chapitre 16 La gestion des Figure 16.1 : phpinfo() FTP Les fonctions de base Connexion/déconnexion La première étape consiste, comme toujours, à se connecter au serveur. ftp_connect() Permet de se connecter à un serveur FTP. resource ftp_connect(string $serveur [, int $port [, int $delaiexpiration]]) $serveur Adresse du site FTP. $port Port du serveur FTP si celui-ci est différent du port usuel 21. $delaiexpiration Temps en secondes pour toute commande avant abandon ; par défaut cette valeur vaut 90 secondes. Un identifiant de connexion ou FALSE en cas d erreur. Une fois connecté, il faut s identifier (sans quoi rien n est possible). ftp_login() Identification auprès du serveur. $idconnexion $identifiant $motdepasse boolean ftp_login(resource $idconnexion, string $identifiant, string $motdepasse) Identifiant de connexion obtenu par ftp_connect(). Identifiant (login) de l utilisateur. Mot de passe utilisateur. TRUE si la connexion a pu se faire, FALSE sinon. La déconnexion s effectuera, quant à elle, grâce à la fonction ftp_close(). 1276

15 FTP ftp_close() Permet de clore la connexion FTP. $idconnexion boolean ftp_close(resource $idconnexion) Identifiant de connexion obtenu par ftp_connect(). TRUE en cas de succès. ftp_close() possède un alias appelé ftp_quit(). Déplacement dans l arborescence Une fois que l on est identifié, il est possible d effectuer toutes les opérations courantes en ligne, comme, par exemple, changer de répertoire : ftp_chdir() Permet de changer de répertoire. $idconnexion $repertoire boolean ftp_chdir(resource $idconnexion, string $repertoire) Identifiant de connexion obtenu par ftp_connect(). Répertoire de destination. TRUE en cas de succès, FALSE sinon. De son côté, ftp_cdup() permet de monter d un niveau dans la hiérarchie des répertoires. ftp_cdup() Change de répertoire pour monter d un niveau. boolean ftp_cdup(resource $idconnexion) $idconnexion Identifiant de connexion obtenu par ftp_connect(). TRUE en cas de succès, FALSE sinon. Liste du contenu d un répertoire Il est possible également de voir le contenu d un répertoire : 1277

16 Chapitre 16 La gestion des ftp_rawlist() Permet d obtenir une liste détaillée des fichiers d un répertoire (et éventuellement de ses sous-répertoires). Le résultat est identique à ls l. array ftp_rawlist(resource $idconnexion, string $repertoire [, boolean $recursif]) $idconnexion Identifiant de connexion obtenu par ftp_connect(). $repertoire Répertoire à lister. $recursif TRUE si le contenu des sous-répertoires doit également être né, FALSE (valeur par défaut) sinon. (Option disponible depuis PHP 4.3.0) Tableau indexé des différents fichiers du répertoire avec leur détail (droits, taille, date). ftp_nlist() Permet d obtenir une liste des fichiers d un répertoire. Le résultat est identique à ls. $idconnexion $repertoire array ftp_nlist(resource $idconnexion, string $repertoire) Identifiant de connexion obtenu par ftp_connect(). Répertoire à lister. Tableau des différents fichiers du répertoire. Création, suppression, renommage ftp_mkdir() Création d un nouveau répertoire. boolean ftp_mkdir(resource $idconnexion, string $repertoire) $idconnexion Identifiant de connexion obtenu par ftp_connect(). $repertoire Nom du répertoire à créer avec, éventuellement, son chemin. TRUE si le répertoire a pu être créé, FALSE sinon. 1278

17 FTP ftp_rmdir() Permet d effacer un répertoire vide. $idconnexion $chemin boolean ftp_rmdir(resource $idconnexion, string $chemin) Identifiant de connexion obtenu par ftp_connect(). Répertoire à effacer avec, éventuellement, son chemin. TRUE si le répertoire a été effacé, FALSE sinon. ftp_delete() Permet d effacer un fichier. $idconnexion $chemin boolean ftp_delete(resource $idconnexion, string $chemin) Identifiant de connexion obtenu par ftp_connect(). Chemin du fichier à effacer avec, éventuellement, son chemin. TRUE si le fichier a été effacé, FALSE sinon. ftp_rename() Permet de renommer un fichier ou un répertoire. $idconnexion $anciennom $anciennom Transfert de fichiers boolean ftp_rename(resource $idconnexion, string $anciennom, $nouveaunom) Identifiant de connexion obtenu par ftp_connect(). Ancien nom du fichier ou répertoire. Nouveau nom du fichier ou répertoire. TRUE si le fichier ou répertoire a pu être renommé, FALSE sinon. Les fonctions de transfert de fichiers sont également disponibles. Il est ainsi possible de copier un fichier du serveur FTP vers le serveur web (ftp_get()) ou le contraire (ftp_put()). ftp_get() Permet de récupérer un fichier d un serveur FTP. 1279

18 Chapitre 16 La gestion des $idconnexion $cheminfichierlocal boolean ftp_get(resource $idconnexion, string $cheminfichierlocal, string $cheminfichierdistant, int $mode [, int $offset]) Identifiant de connexion obtenu par ftp_connect(). Chemin avec le nom du fichier où enregistrer le fichier. $cheminfichierdistant Chemin avec le nom du fichier à récupérer. $mode FTP_ASCII (pour les fichiers textes) ou FTP_BINARY (pour les fichiers binaires). $offset Position dans le fichier distant du premier octet à transférer. (Paramètre ajouté depuis PHP 4.3.0) TRUE si le fichier a pu être copié, FALSE sinon. ftp_put() Télécharge un fichier du serveur web vers le serveur FTP. $idconnexion $fichierdistant $fichierlocal $mode $offset boolean ftp_put(resource $idconnexion, string $fichierdistant, string $fichierlocal, int $mode [, int $offset]) Identifiant de connexion obtenu par ftp_connect(). Destination sur le serveur web. Chemin sur le serveur web local. FTP_ASCII (pour les fichiers textes) ou FTP_BINARY (pour les fichiers binaires). Position dans le fichier local du premier octet à transférer. (Paramètre ajouté depuis PHP 4.3.0) TRUE si le fichier a pu être copié, FALSE sinon. Les fonctions ftp_get() et ftp_put() possèdent des variantes permettant d utiliser un pointeur vers un fichier. Cela permet de garder le fichier accessible en lecture ou écriture une fois copié. ftp_fget() Permet de télécharger un fichier d un serveur FTP dans un fichier (ou plus généralement un stream) ouvert. $idconnexion $idfichier boolean ftp_fget(resource $idconnexion, resource $idfichier, string $fichierdistant, int $mode [, int $offset]) Identifiant de connexion obtenu par ftp_connect(). Identifiant (obtenu par fopen()) du fichier à remplir. 1280

19 FTP $fichierdistant $mode $offset Nom du fichier distant à récupérer. FTP_ASCII (pour les fichiers textes) ou FTP_BINARY (pour les fichiers binaires). Position dans le fichier distant du premier octet à transférer. (Paramètre ajouté depuis PHP 4.3.0) TRUE si le fichier a pu être récupéré, FALSE sinon. ftp_fput() Permet de déposer le contenu d un fichier ouvert (ou plus généralement un stream) sur un serveur FTP. $idconnexion $fichierdistant $idfichier $mode $offset boolean ftp_fput(resource $idconnexion, string $fichierdistant, resource $idfichier, int $mode [, int $offset]) Identifiant de connexion obtenu par ftp_connect(). Nom qu aura le fichier sur le serveur FTP. Identifiant (obtenu par fopen()) du fichier à copier. FTP_ASCII (pour les fichiers textes) ou FTP_BINARY (pour les fichiers binaires). Position dans le fichier local du premier octet à transférer. (Paramètre ajouté depuis PHP 4.3.0) TRUE si le fichier a pu être mis sur le serveur FTP, FALSE sinon. Exemple d application Les fonctions vues jusque-là sont les fonctions les plus couramment utilisées, et nous permettent de réaliser un script de client FTP. Dans le script présenté, l utilisateur pourra naviguer sur le compte FTP, ajouter des fichiers, en supprimer, en renommer, ajouter et supprimer des répertoires, uploader ou télécharger des fichiers. 1281

20 Chapitre 16 La gestion des Figure 16.2 : Client FTP en PHP Voici le script en question : Listing 16.2 : ftp.php <html> <head> <title>client FTP</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <center><font color="blue"><h1>client FTP 12.9</h1></font></center> <font color="red"> <?php // On augmente le temps de vie du script à 100 secondes set_time_limit(100); // Parametres de connexion $serveur = "ftp.monsite.com"; $utilisateur = "utilisateur"; $motdepasse = "motdepasse"; // Connexion au serveur FTP $connexion = ftp_connect($serveur) or die("serveur FTP inexistant"); // Identifiaction sur le serveur FTP ftp_login($connexion, $utilisateur, $motdepasse) or die("utilisateur inconnu ou mauvais mot de passe"); $repertoire = $_GET["repertoire"]!=""? $_GET["repertoire"] : "/"; 1282

21 FTP // Verifie si "effacer" est passé en parametre if ($_GET["effacer"]!="") { effacer($_get["effacer"], $repertoire); } // Verifie si "effacerrep" est passé en parametre if ($_GET["effacerrep"]!="") { effacerrep($_get["effacerrep"], $repertoire); } // Verifie si "telecharger" est passé en parametre if ($_GET["telecharger"]!="") { telecharger($_get["telecharger"], $repertoire); } // Verifie si "nouveaurep" est passé en parametre if ($_POST["nouveaurep"]!="") { nouveaurep($_post["nouveaurep"], $repertoire); } // Verifie si "ajouterfichier" est passé en parametre if ($_POST["ajouterfichier"]!="") { ajouterfichier($_post["ajouterfichier"], $repertoire); } // Verifie si "nouveaunom" est passe en parametre if ($_POST["nouveaunom"]!="") { nouveaunom($_post["nouveaunom"], $_POST["fichier"], $repertoire); }?> </font> <form method="post"> Nouveau Repertoire:<input type="text" name="nouveaurep" /><br /> <form> <form method="post"> Ajouter fichier:<input type="text" name="ajouterfichier" /> <font size="1">le chemin doit etre absolou ou relatif a l endroit ou est place ce script.</font><br /> <form> <?php // Changement de repertoire ftp_chdir($connexion, $repertoire); // Affichage du contenu du repertoire listerrepertoire($repertoire); ftp_close($connexion);?> </body> </html> <?php function listerrepertoire($repertoire) { global $connexion; echo "<h2><font color=\"green\">".$repertoire."</font></h2>\n"; // Affichage du lien vers le repertoire superieur if ($repertoire!="/") { echo "<a href=\"ftp1.php?repertoire=". 1283

22 Chapitre 16 La gestion des substr(substr($repertoire, 0, -1), 0, 1+strrpos(substr($repertoire, 0, -1), "/"))."\"> <h2><font color=\"green\">". substr(substr($repertoire, 0, -1), 0, 1+strrpos(substr($repertoire, 0, -1), "/")). "</font></h2></a>\n"; } // Recuperation de la liste des fichiers $liste = ftp_rawlist($connexion, $repertoire); echo "<table>"; foreach($liste as $fichier) { echo "<tr>"; if (substr($fichier,0,1)=="d") { echo "<td>"; echo "<a href=\"ftp1.php?repertoire=$repertoire". substr($fichier,56)."/\">". "<b>".substr($fichier,56)."/</b></a><br />\n"; echo "</td><td>"; echo "<a href=\"ftp1.php?repertoire=$repertoire&effacerrep=". substr($fichier,56)."\">effacer ce repertoire</a><br />\n"; } else { echo "<td>"; echo "<a href=\"ftp1.php?repertoire=$repertoire&telecharger=". substr($fichier,56)."\"><b>".substr($fichier,56)."</b>\n"; echo "</td><td>"; echo "<a href=\"ftp1.php?repertoire=$repertoire&effacer=". substr($fichier,56)."\">effacer</a><br />\n"; echo "</td>"; echo "</tr><tr><td> </td><td>"; echo "<form method=\"post\">". "<input type=\"hidden\" name=\"fichier\" value=\"$repertoire\"".substr($fichier,56)."\"/> <input type=\"text\" name=\"nouveaunom\" /> <input type=\"submit\" value=\"renommer\"/></form>"; echo "</td>"; } echo "</tr>"; } echo "</table>"; } // Efface un fichier function effacer($fichier, $repertoire) { global $connexion; if $repertoire.$fichier)) echo "Le fichier $fichier a ete supprime"; else echo "Impossible d effacer le fichier $fichier"; } // Efface un repertoire vide function effacerrep($fichier, $repertoire) { global $connexion; 1284

23 FTP } if $repertoire.$fichier)) echo "Le repertoire $fichier a ete supprime"; else echo "Impossible d effacer le repertoire $fichier assurez vous "."qu il est vide"; // Telecharge un fichier depuis le site FTP function telecharger($fichier, $repertoire) { global $connexion; if $fichier, $repertoire.$fichier, FTP_BINARY)) echo "Le fichier $fichier devrait etre telecharge dans le repertoire". " ou se trouve ce script"; else echo "Impossible d ouvrir le fichier $fichier"; } // Cree un repertoire function nouveaurep($fichier, $repertoire) { global $connexion; if $repertoire.$fichier)) echo "Le nouveau repertoire $fichier a ete cree"; else echo "Impossible de creer le repertoire $fichier"; } // Renomme un fichier function nouveaunom($nouveaunom, $fichier, $repertoire) { global $connexion; if $fichier, $repertoire.$nouveaunom)) echo "Le fichier $fichier a ete renomme"; else echo "Impossible de renommer $fichier"; } // Ajoute un fichier function ajouterfichier($fichier, $repertoire) { global $connexion; $nomfichier = (strrchr($fichier, "/"))? $repertoire.substr(strrchr($fichier, "/"), 1) : $repertoire.$fichier; if $nomfichier, $fichier, $FTP_BINARY)) echo "Le fichier $fichier a ete ajoute"; else echo "Impossible d ajouter $fichier"; }?> 1285

24 Chapitre 16 La gestion des Transfert de fichiers en mode asynchrone Les fonctions ftp_put(), ftp_get(), ftp_fput() et ftp_fget() sont des fonctions synchrones. C est à dire que lorsque le script PHP traite ces fonctions il ne fait plus rien d autre en attendant le transfert complet des données. Depuis, PHP 4.3.0, ces fonctions ont leur équivalent en mode asynchrone. Il s agit des fonctions ftp_nb_put(), ftp_nb_get(), ftp_nb_fput(), ftp_nb_fget(). Leur syntaxe est tout à fait identique si ce n est qu elles ne nent pas un booléen mais un entier dont les valeurs possibles sont les mêmes que celles nées par la fonction décrite ci-après. Une fois lancées, ces fonctions transfèrent bien les fichiers mais le script, lui, continue pour traiter les instructions suivantes. Pour savoir si la précédente opération est terminée vous devrez faire appel à la fonction ftp_nb_continue(). ftp_nb_continue Teste si la dernière opération FTP asynchrone lancée est terminée ou non. : int ftp_nb_continue(resource $idconnexion) $idconnexion Identifiant de connexion obtenu par ftp_connect(). FTP_MOREDATA si le transfert est en cours, FTP_FINISHED s il est terminé ou FTP_FAILED s il a échoué. Autres fonctions ftp_exec() Permet d exécuter une commande sur le serveur FTP si celui-ci l autorise. boolean ftp_exec(resource $idconnexion, string $commande) $idconnexion Identifiant de connexion obtenu par ftp_connect(). $commande Commande à exécuter sur le serveur. TRUE en cas de succès, FALSE sinon. ftp_site() Envoie une commande à un serveur FTP de type SITE xxxx. boolean ftp_site(resource $IdConnexion, string $commande) $idconnexion Identifiant de connexion obtenu par ftp_connect(). $commande Commande à exécuter. TRUE en cas de succès, FALSE sinon. 1286

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

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/

Le langage PHP. Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ Le langage PHP Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 38 Plan 1 Introduction au langage PHP 2 2 / 38 Qu est ce que PHP? langage interprété

Plus en détail

La sécurisation d applications

La sécurisation d applications Université Toulouse 1 Sciences Sociales 10 mars 2008 Les firewalls ne suffisent plus Mais ont-ils jamais été suffisants? La protection à 100% n existe pas. De plus certains protocoles doivent absolument

Plus en détail

A6 - HTTP ESIROI 2014-2015

A6 - HTTP ESIROI 2014-2015 A6 - HTTP ESIROI 2014-2015 HTTP HyperText Transfer Protocol Protocole synchrone 3 version : HTTP/0.9 (obsolète) HTTP/1.0 (rare) HTTP/1.1 HTTP - fonctionnement Requête Réponse Icones : http://www.visualpharm.com/

Plus en détail

Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom

Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom Epreuve écrite individuelle 8 Décembre 2008, durée 45 mns Aucun document autorisé => Finalement, autorisés et semble-t-il utiles!!...

Plus en détail

Serveur DNS. Julien Danjou jdanjou@linuxenrezo.org

Serveur DNS. Julien Danjou jdanjou@linuxenrezo.org Serveur DNS Julien Danjou jdanjou@linuxenrezo.org Pour convertir les noms d ordinateurs en adresses IP, la méthode la plus simple consiste à tenir à jour un fichier hosts contenant les adresses IP suivies

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

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

Que désigne l'url donnée au navigateur?

Que désigne l'url donnée au navigateur? Que désigne l'url donnée au navigateur? http://www-poleia.lip6.fr/~jfp/istm/tp6/index.html Le protocole : pourquoi? Parce que la manière d'indiquer une adresse dépend du service postal utilisé... Le serveur

Plus en détail

WebFTP Un client Web sécurisé pour FTP

WebFTP Un client Web sécurisé pour FTP WebFTP Un client Web sécurisé pour FTP Jirung Albert SHIH, Shih@math.Jussieu.fr Université Paris 7 JRES 2001 Introduction Nous allons dans ce document présenter une solution mise en œuvre sur le réseau

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

TP DE PROGRAMMATION RESEAU : LES SOCKETS

TP DE PROGRAMMATION RESEAU : LES SOCKETS - ENSEIRB - TP DE PROGRAMMATION RESEAU : LES SOCKETS Patrice KADIONIK - 1/11- TABLE DES MATIERES www.enseirb.fr/~kadionik 1. BUT DES TRAVAUX PRATIQUES...3 2. SEANCE 1 : UTILISATION DES COMMANDES UNIX/LINUX

Plus en détail

Définition des Webservices Systempay. Version 1.2c

Définition des Webservices Systempay. Version 1.2c Définition des Webservices Systempay Version 1.2c Historique du document Version Auteur Date Commentaires 1.2c Lyra-Network 06/12/2013 1.2b Lyra-Network 10/07/2013 1.2a Lyra-Network 03/05/2012 Modification

Plus en détail

Aide Utilisateur. Cellpass.fr

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

Plus en détail

Web Services. SLenoir@ugap.fr 17/01/2009

Web Services. SLenoir@ugap.fr 17/01/2009 Web Services SLenoir@ugap.fr 17/01/2009 1. Pourquoi les Web Services? 1.1. Historique des SI 1.2. Exigences actuelles 1.3. SOA 1.4. Mise en place de services 17/01/2008 Web Services 2 1.1. Historique des

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

Réseaux. Couche Application. E. Jeandel

Réseaux. Couche Application. E. Jeandel Réseaux Couche Application E. Jeandel 1 Généralités 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

(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

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26 Services Web Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web p.1/26 Plan du cours 1. Introduction 2. SOAP 3. WSDL 4. UDDI Site du cours : http://apiacoa.org/teaching/webservices/

Plus en détail

Keyyo Guide de mise en service CTI / API / TAPI Keyyo

Keyyo Guide de mise en service CTI / API / TAPI Keyyo Keyyo Guide de mise en service CTI / API / TAPI Keyyo Keyyo Opération & Support http://www.keyyo.fr/fr/support/expert.php Version 1.0.7 Sommaire 1 Portée du document... 3 2 Introduction à la configuration...

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

Cours Web : Introduction

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

Plus en détail

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

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

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

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

Plus en détail

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

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

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 Version 1.0.5 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans

Plus en détail

Manuel d intégration API SOAP SMS ALLMYSMS.COM

Manuel d intégration API SOAP SMS ALLMYSMS.COM Manuel d intégration API SOAP SMS ALLMYSMS.COM 26/02/2014 TABLE DES MATIERES OBJECTIF DU DOCUMENT... 3 LE PROTOCOLE SOAP... 3 ENVOI DE REQUETES SOAP A LA PLATEFORME ALLMYSMS.COM... 3 BACKOFFICE SMS...

Plus en détail

Installer Joomla. Étape 1 : choix de la langue d installation

Installer Joomla. Étape 1 : choix de la langue d installation CHAPITRE 4 Installer Joomla L installation de Joomla se déroule en sept étapes : 1. choix de la langue d installation ; 2. vérification des prérequis ; 3. présentation de la licence publique générale GNU

Plus en détail

Le protocole HTTP. Olivier Aubert 1/40

Le protocole HTTP. Olivier Aubert 1/40 Le protocole HTTP Olivier Aubert 1/40 Liens http://www.jmarshall.com/easy/http/ Références : RFC1945 (HTTP1.0), RFC2616 (HTTP1.1), RFC822 (format des entêtes), RFC2396 (syntaxe des URL), RFC1521 (types

Plus en détail

Méta-connaissances pour générer des programmes sur le Web

Méta-connaissances pour générer des programmes sur le Web Méta-connaissances pour générer des programmes sur le Web Basile STARYNKEVITCH http://starynkevitch.net/basile/ basile@starynkevitch.net (à titre privé, sans rapport avec mon employeur CEA-LIST) Séminaire

Plus en détail

Les Extensions de SOAP

Les Extensions de SOAP Les Extensions de SOAP «Contourner» les limitations 11/03/2010 Présentation: S. Lavirotte Auteurs : et al* 40 Limitations de SOAP Sécurité : Limité à la sécurisation de HTTP? Transfert de données : Données

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

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

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

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

Installation / Sauvegarde Restauration / Mise à jour

Installation / Sauvegarde Restauration / Mise à jour Installation / Sauvegarde Restauration / Mise à jour SPIP version 1.8.x Serveur (Linux) Jean Sébastien BARBOTEU dev.jsb@laposte.net Introduction Nous allons aborder tous les aspects techniques liés à la

Plus en détail

Client FTP NJ Guillaume Poirier Juillet 2014

Client FTP NJ Guillaume Poirier Juillet 2014 Client FTP NJ Guillaume Poirier Juillet 2014 Sommaire Installation de FileZilla Server Démarrage du service Démarrage de l interface Création d un utilisateur Blocs Fonctions NJ Programme NJ Installation

Plus en détail

Procédure d installation. du serveur Big Brother 1.9c. sous Linux

Procédure d installation. du serveur Big Brother 1.9c. sous Linux CHAMBREUIL Maxime Procédure d installation du serveur Big Brother 1.9c sous Linux Juillet / Août 2002 I. Installation Voici les pré-conditions de l installation du serveur BB sous Linux : Vous devez connaître

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

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

Technologies du Web Master COMASIC Internet et HTTP

Technologies du Web Master COMASIC Internet et HTTP Technologies du Web Master COMASIC Internet et HTTP Antoine Amarilli 1 27 novembre 2014 1. Matériel de cours inspiré de notes par Pierre Senellart et Georges Gouriten. Merci à Pierre Senellart pour sa

Plus en détail

Bind, le serveur de noms sous Linux

Bind, le serveur de noms sous Linux Bind, le serveur de noms sous Linux 1. Principes de fonctionnement d'un serveur de noms La résolution des noms d'hôtes sur les réseaux tcp/ip est fondée sur le principe d'une répartition de la base des

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

eth0 10.254.52.1/24 eth1 10.52.1.1/24 Sn Serveur Apache

eth0 10.254.52.1/24 eth1 10.52.1.1/24 Sn Serveur Apache APACHE Configuration et administration d un serveur 1 : Mise en place du réseau Schéma logique stp 10.254.0.254 eth0 10.254.52.1/24 eth0 10.52.1.3/24 eth1 10.52.1.1/24 Sn Serveur Apache eth2 10.52.2.1/24

Plus en détail

Plateforme d'évaluation professionnelle. Manuel d utilisation du service Web d EvaLog

Plateforme d'évaluation professionnelle. Manuel d utilisation du service Web d EvaLog Plateforme d'évaluation professionnelle Manuel d utilisation du service Web d EvaLog Un produit de la société AlgoWin http://www.algowin.fr Version 1.1.0 du 31/01/2015 Table des matières Présentation d

Plus en détail

Guide d utilisation. v 2.0

Guide d utilisation. v 2.0 Guide d utilisation v 2.0 Maj. le 23/10/2013 Inscription et Connexion à l'espace client 3 Installer le service de micropaiement PayPerPass 4 1. Ajouter un site! 5 2. Ajouter un produit! 6 3. Utiliser les

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

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Étude de l application DNS (Domain Name System)

Étude de l application DNS (Domain Name System) Étude de l application DNS (Domain Name System) RICM 4 - Option Réseaux Pascal Sicard Introduction Le but de ce TP est de comprendre l utilisation et le fonctionnement de l application réseau DNS (Domain

Plus en détail

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1. Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

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

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

Administration et sécurité des réseaux. Chapitre 3, Partie 3

Administration et sécurité des réseaux. Chapitre 3, Partie 3 Administration et sécurité des réseaux Chapitre 3, Partie 3 Le Protocole FTP (File Transfer Protocol) 1 Plan Présentation du protocole Fonctionnement Configuration et options 2 Présentation de FTP Fonctionnalités

Plus en détail

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN - @salemioche

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN - @salemioche Gestion centralisée d un réseau de sites discrets Nicolas JEAN - @salemioche SEO / Technique,utilisation SEO Technique / Utilisation Intérêt du réseau Centralisé Discrétion Simplicité d utilisation Caractéristique

Plus en détail

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr Sécurite Web Xavier Tannier xavier.tannier@limsi.fr Yann Jacob yann.jacob@lip6.fr Généralités 80 % des sites contiennent au moins une faille de sécurité 24 familles de failles différentes : on ne présente

Plus en détail

0.1 Mail & News : Thunderbird

0.1 Mail & News : Thunderbird 0.1 Mail & News : Thunderbird 1 0.1 Mail & News : Thunderbird Thunderbird est le lecteur de mail, de newsgroup et de flux RSS de la fondation Mozilla. Il est disponible pour Linux (en version gtk2), pour

Plus en détail

Guide d'installation de MapServer et PHP Mapscript

Guide d'installation de MapServer et PHP Mapscript Guide d'installation de MapServer et PHP Mapscript - Windows et Linux- Veremes 42, avenue des Jardins 66240 St Esteve http://www.veremes.com veremes@veremes.com Table des matières 1. Introduction...2

Plus en détail

Correction TP 04. Guillaume. 16 février 2015 (màj 17/02)

Correction TP 04. Guillaume. 16 février 2015 (màj 17/02) 16 février 2015 (màj 17/02) NB : j ai réalisé ce corrigé avant son application en TP, il se peut que certaines réponses soient inexactes. Vous fâchez pas :c Je vous conseille de faire le TP par vous-même

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

Client Distribution : Interne

Client Distribution : Interne Le fichier Vertec.ini Produit : Vertec Version produit : 5.6 Document Version doc : 1 Base de connaissance Publication : Création : 30.04.2012 FAQ Astuces Modification : 30.04.2012 Client Distribution

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

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

Plus en détail

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

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

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

Préparation d un serveur Apache pour Zend Framework

Préparation d un serveur Apache pour Zend Framework Préparation d un serveur Apache pour Zend Framework Jacques THOORENS 30 novembre 2010 Résumé Cette petite introduction explique comment paramétrer son serveur Apache personnel pour en faire une machine

Plus en détail

Documentation télémaintenance

Documentation télémaintenance Documentation télémaintenance Table des matières Introduction... 2 Interface web du technicien... 2 Connexion à l interface... 2 Mon compte... 3 Configuration... 4 1. Jumpoint... 4 2. Jump clients... 4

Plus en détail

0.1 PureFTP. 0.1.1 1. Créer un utilisateur ftp (mode console) 0.1.2 2. Installation de pure-ftpd 0.1.3 2.1 Installation de la version de base

0.1 PureFTP. 0.1.1 1. Créer un utilisateur ftp (mode console) 0.1.2 2. Installation de pure-ftpd 0.1.3 2.1 Installation de la version de base 0.1 PureFTP 1 0.1 PureFTP Pureftp est un serveur ftp qui présente l avantage d être a la fois très sécure et de se mettre en place tres facilement malgré l abscence d une interface graphique de configuration.

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

Plus en détail

Informatique Générale. Partie 3 - TD Les réseaux. Travaux dirigés associés au CM 3. Informatique, G. KEMBELLEC

Informatique Générale. Partie 3 - TD Les réseaux. Travaux dirigés associés au CM 3. Informatique, G. KEMBELLEC Informatique Générale Partie 3 - TD Les réseaux Travaux dirigés associés au CM 3 1 Chef de projet en ingénierie documentaire Les réseaux et internet Travaux dirigés 2 Réseaux locaux, étendus, Internet

Plus en détail

TP n 1 : Installation et configuration d un serveur Web Apache

TP n 1 : Installation et configuration d un serveur Web Apache TP n 1 : Installation et configuration d un serveur Web Apache Objectifs du TP Configurer, lancer et administrer le serveur Web Apache sous Linux Machines sous Linux Fedora 14 Fichiers de configuration

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Guide administrateur AMSP

Guide administrateur AMSP Guide administrateur AMSP Alinto Version Auteur Date Remarque V1.0 Nicolas Polin 19/10/2015 - Lyon Paris Köln Madrid Table des matières 1. Introduction... 3 2. Se connecter à Factory... 3 3. Gestion des

Plus en détail

Une application bidon avec REST, SQL et Unicode, juste comme exemple

Une application bidon avec REST, SQL et Unicode, juste comme exemple Une application bidon avec REST, SQL et Unicode, juste comme exemple Stéphane Bortzmeyer Première rédaction de cet article le 25 juillet 2007. Dernière mise à jour le 31

Plus en détail

Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL

Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL Cah. Tech. Inra, 70, 47-53 Utilisation et traitement des données saisies sous EndNote avec des scripts PHP/MySQL Sabine Julien 1 et Jacques Maratray 1 Résumé : Cet article présente la façon d exploiter

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

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

LA COUCHE APPLICATION EST LA COUCHE FINALE. Elle offre de très très nombreux protocoles.

LA COUCHE APPLICATION EST LA COUCHE FINALE. Elle offre de très très nombreux protocoles. M1 Informatique Réseaux Cours 8 Couche Application Notes de Cours LA COUCHE APPLICATION EST LA COUCHE FINALE. Elle offre de très très nombreux protocoles. Les protocoles que nous allons voir ici sont à

Plus en détail

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.44

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.44 Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.44 Table des matières 1. INTRODUCTION... 3 1.1 OBJET DU DOCUMENT... 3 2. RESUME DES OPERATIONS... 4 2.1 DIAGRAMME DES ÉTAPES... 4 3. PRE-REQUIS

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

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

Cours réseaux. IUT 1 Université de Lyon

Cours réseaux. IUT 1 Université de Lyon Cours réseaux IUT 1 Université de Lyon Plan du cours 8 séances de 2 heures 5 séance de cours 2 séances de TD 2 contrôles continus 1 TP 1 DS (tous les groupes) Fonctionnement Polycopié Prise de notes aidée

Plus en détail

Supervision de réseau

Supervision de réseau Supervision de réseau Master Informatique première année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) Supervision de réseau olivier.flauzac@univ-reims.fr 1 / 58 Plan 1 Supervision

Plus en détail

DNS Session 1: Principes de base

DNS Session 1: Principes de base DNS Session 1: Principes de base Les ordinateurs utilisent des adresses IP. Pourquoi avons nous besoin des noms? Faciles aux êtres humains de mémoriser Les ordinateurs peuvent être déplacés entres les

Plus en détail

Architecture client-serveur

Architecture client-serveur Architecture client-serveur Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 2007-2008 Master SIB M1 UE 3 / Bloc 4 Cours 3 Objectifs du cours Rappels sur les ordinateurs réseau et Internet.

Plus en détail

Guide d installation de SugarCRM Open Source version 4.5.1

Guide d installation de SugarCRM Open Source version 4.5.1 Guide d installation de SugarCRM Open Source version 4.5.1 Version 1.0.2 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans notification. Disclaimer / Responsabilité

Plus en détail

DNS : Domaine Name System

DNS : Domaine Name System DNS : Domaine Name System - Les machines utilisent les adresses IP pour communiquer. - Les humaines ont du mal à manipuler et à retenir des adresses IP. Ils retiennent plus facilement des noms de machines.

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

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

A.P.I. Kuka Manuel de l utilisateur Version 0.0.5

A.P.I. Kuka Manuel de l utilisateur Version 0.0.5 A.P.I. Kuka Manuel de l utilisateur Version 0.0.5 Paul Chavent Kubrick 8 septembre 2003 1 kuka api 0.0.5 : Manuel de l utilisateur Table des matières 1 Utilisation sur le robot (serveur) 3 1.1 Installation............................................

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

MANUEL D INSTALLATION D UN PROXY

MANUEL D INSTALLATION D UN PROXY MANUEL D INSTALLATION D UN PROXY Squid, SquidGuard, Dansguardian Dans ce guide on va détailler l installation et la configuration d une solution proxy antivirale en utilisant les outils ; squid, dansguardian,

Plus en détail

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 jquery Mobile La bibliothèque JavaScript pour le Web mobile É r i c S a r r i o n Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 1 Installation de jquery Mobile

Plus en détail

Quelques protocoles et outils réseaux

Quelques protocoles et outils réseaux Quelques protocoles et outils réseaux 1 Adresses MAC et IP ifconfig Chaque point de connexion d un réseau est identifié par une adresse MAC (physique) et une adresse IP (logique). Pour l adresse MAC, il

Plus en détail