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

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1 DOCUMENTATION MISE A JOUR ANTIBIOGARDE V4.0 en v4.1 Version d Antibiogarde 4.1 Version du document 1.0 Date dernière mise à jour du document 15/06/2010 Retrouvez cette doc à jour sur : http://www.antibiogarde.org/activation/

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

Programmation du Web : Présentation du protocole HTTP

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

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

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

Services Web WSDL. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web WSDL p.1/40 Services Web WSDL Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web WSDL p.1/40 Plan du cours WSDL 1. Présentation 2. Structure générale 3. Les types 4. Les messages

Plus en détail

Architecture client/serveur

Architecture client/serveur Architecture client/serveur Table des matières 1. Principe du client/serveur...2 2. Communication client/serveur...3 2.1. Avantages...3 2.2. Inconvénients...3 3. HTTP (HyperText Transfer Protocol)...3

Plus en détail

Applications orientées données (NSY135)

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

Plus en détail

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

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

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

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

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

Le protocole HTTP. Sources. Caractéristiques de HTTP. Objectifs. Une transaction typique (2) Une transaction typique (1)

Le protocole HTTP. Sources. Caractéristiques de HTTP. Objectifs. Une transaction typique (2) Une transaction typique (1) Sources Le protocole Supports de cours de Olivier Glück (Lyon 1) Livres cités en bibliographie Le web Sylvain Brandel Sylvain.brandel@liris.univ-lyon1.fr http://bat710.univ-lyon1.fr/~sbrandel M1 Informatique

Plus en détail

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

HTTP et le Web. 2010 Pearson France Perl moderne Sébastien Aperghis-Tramoni, Damien Krotkine, Jérôme Quelin

HTTP et le Web. 2010 Pearson France Perl moderne Sébastien Aperghis-Tramoni, Damien Krotkine, Jérôme Quelin 21 HTTP, le protocole de transfert à la base du Web est devenu omniprésent. Parce qu il est le seul protocole dont il est quasi certain qu il passera à travers les proxies et les firewalls, celui-ci est

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

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

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

Sujet Projets 2 nd Semestre

Sujet Projets 2 nd Semestre Sujet Projets 2 nd Semestre Seuls les appels systèmes vus en cours sont autorisés. L usage d autres fonctions doit impérativement être validé par l enseignant. La date d ouverture pour l assignation de

Plus en détail

BLANCHON Enzo et GRIMAUD Bastien INSTALLATION LOGICIEL SOUS LINUX

BLANCHON Enzo et GRIMAUD Bastien INSTALLATION LOGICIEL SOUS LINUX BLANCHON Enzo et GRIMAUD Bastien INSTALLATION LOGICIEL SOUS LINUX Sommaire Installation depuis un dépôt (P 3-4) 1 Qu est-ce que c est un dépôt? (P 3) 2 Procédure d installation (P 3-4) 1 Rendre accessible

Plus en détail

Le Web: les machines parlent aux machines

Le Web: les machines parlent aux machines Le Web: les machines parlent aux machines Historique Année 70 : ARPA (Advanced Research Project Agency). Relier les centres de recherche : ARPANET. 1972 : Premières spécifications TCP/IP (IP internet Protocol)

Plus en détail

Systèmes d'informations

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

Plus en détail

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

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

Plus en détail

Architecture applicative de l application Web

Architecture applicative de l application Web Architecture applicative de l application Web Principes d organisation de l application PHP Gsb-AppliFrais Les principes d'organisation de l'application s'inspirent des travaux réalisés autour du contexte

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

Installation et utilisation de SSH. .et

Installation et utilisation de SSH. .et Installation et utilisation de SSH.et.soumission de travail SSH est un protocole de communication qui permet de communiquer à distance entre deux ordinateurs. Pour cela, il faut qu un des deux ordinateurs

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

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

GED MARKETING. Page 1 sur 18

GED MARKETING. Page 1 sur 18 GED MARKETING I. Présentation du produit... 2 II. Page principale de l application... 3 L arbre... 3 Le menu... 4 La fenêtre de navigation... 4 III. La recherche de documents... 4 Rechercher tous les documents...

Plus en détail

ECOSERRE Guide d installation

ECOSERRE Guide d installation ECOSERRE Guide d installation 1. Configuration nécessaire pour installer ecoserre. Pour installer ecoserre sur votre machine, il faut au préalable vérifier que votre système d'exploitation vous donne accès

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

DEFINITION... 2 EXEMPLE SANS PROXY... 2 EXEMPLE AVEC PROXY... 2 LE REVERSE-PROXY... 2 EXEMPLE AVEC WINGATE...

DEFINITION... 2 EXEMPLE SANS PROXY... 2 EXEMPLE AVEC PROXY... 2 LE REVERSE-PROXY... 2 EXEMPLE AVEC WINGATE... Serveur Proxy Sommaire : DEFINITION... 2 EXEMPLE SANS PROXY... 2 EXEMPLE AVEC PROXY... 2 LE REVERSE-PROXY... 2 EXEMPLE AVEC WINGATE... 3 POSTE CLIENT... 8 EXEMPLE AVEC SQUID (SOUS WINDOWS)... 8 POSTE CLIENT...10

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

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

COMPTE RENDU D ACTIVITE ACTIVITE N 4. Identification (objectif) de l'activité. Contexte dans lequel le projet s'inscrit

COMPTE RENDU D ACTIVITE ACTIVITE N 4. Identification (objectif) de l'activité. Contexte dans lequel le projet s'inscrit BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux Développeur d applications COMPTE RENDU D ACTIVITE ACTIVITE N 4 Nom et Prénom : BUISSON Pierre-Adrien EPSI Lyon 107 rue de Marseille 69 007

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

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

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

DESS TEXTE. Outils informatiques 5. HTML et le protocole HTTP p.1

DESS TEXTE. Outils informatiques 5. HTML et le protocole HTTP p.1 Outils informatiques 5. HTML et le protocole HTTP DESS TEXTE Outils informatiques 5. HTML et le protocole HTTP p.1 Introduction But du cours : récupérer automatiquement des données accessibles sur le web

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Module: Programmation sites Web Dynamique

Module: Programmation sites Web Dynamique Module: Programmation sites Web Dynamique Formateur: A BENDAOUD LEÇON : MÉTHODES DE NAVIGATION Les différentes méthodes de navigation : Voici les différentes méthodes que nous allons expliciter dans cette

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

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

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

Plus en détail

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

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

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP

Plus en détail

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

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

Plus en détail

Langages du Web. Que savez vous???

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

Plus en détail

1 Programmation Client/Serveur basée sur TCP/IP

1 Programmation Client/Serveur basée sur TCP/IP Outils Informatique pour l ingénieur TD 1 Réseau et Web IP, Client/serveur 1 Programmation Client/Serveur basée sur TCP/IP 1.1 Buts de cette réalisation Ce TP sur la programmation client/serveur a pour

Plus en détail

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.40

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.40 Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.40 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

Comment déposer les comptes annuels des organisations syndicales et professionnelles?

Comment déposer les comptes annuels des organisations syndicales et professionnelles? Comment déposer les comptes annuels des organisations syndicales et professionnelles? Quels sont les organismes qui doivent déposer? Les organisations syndicales et professionnelles de salariés ou d employeurs

Plus en détail

Chapitre 1 Introduction... 25 À quoi sert PHP?... 27. Présentation, rôle et fonctionnement d un langage de script... 27 Les version 1à4dePHP...

Chapitre 1 Introduction... 25 À quoi sert PHP?... 27. Présentation, rôle et fonctionnement d un langage de script... 27 Les version 1à4dePHP... Chapitre 1 Introduction... 25 À quoi sert PHP?... 27 Présentation, rôle et fonctionnement d un langage de script... 27 Les version 1à4dePHP... 29 Rasmus Lerdorf... 29 Naissance et évolution de PHP... 30

Plus en détail

- A - B - La documentation en ligne > Glossaire internet. Vous trouverez ici un glossaire des termes les plus souvent utilisés sur Internet.

- A - B - La documentation en ligne > Glossaire internet. Vous trouverez ici un glossaire des termes les plus souvent utilisés sur Internet. La documentation en ligne > Glossaire internet Vous trouverez ici un glossaire des termes les plus souvent utilisés sur Internet. @ FTP PAQUET ASCII HOTE PING BACKBONE HTML PPP BANDE PASSANTE HTTP PROVIDER

Plus en détail

Programmation Web. Thierry Hamon

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

Plus en détail

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.42

Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.42 Manuel Utilisateur : INSTALLATION DE L APPLICATION SOFIE V1.42 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

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

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

Ftp : H:\Mes Documents\ecole\cours\Os_sept_02\commandes Ftp.doc

Ftp : H:\Mes Documents\ecole\cours\Os_sept_02\commandes Ftp.doc Ftp : Transfère les fichiers de/vers un système utilisant un service serveur FTP (parfois appelé daemon ou démon). Ftp peut être utilisée de manière interactive. Cette commande est disponible uniquement

Plus en détail

Headers, cookies et sessions

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

Plus en détail

LAN GUIDE D'INSTALLATION 4148996V/A 03/06/2010 ORIG0424-1

LAN GUIDE D'INSTALLATION 4148996V/A 03/06/2010 ORIG0424-1 LAN GUIDE D'INSTALLATION 4148996V/A 03/06/2010 ORIG0424-1 4148996V/A - 03/06/2010 4148996V/A 03/06/2010 ORIG0424-4 Procédure d'installation du LAN Les systèmes d affranchissement de la série IS ont la

Plus en détail

Démarrage rapide. Protection de logiciels sous MAC avec DinkeyDongle. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Démarrage rapide. Protection de logiciels sous MAC avec DinkeyDongle. Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Démarrage rapide Protection de logiciels sous MAC avec DinkeyDongle Contact commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail

TD3 : PHP «avancé» V2.4.0

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

Plus en détail

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

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Web et présentation d information spatiale

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

Plus en détail

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16 CONFIGURATION 1 Présentation 2 Topologie du projet 3 Installation 4 Configuration 4.1 Création de la DMZ publique 4.2 Accès vers l Internet 4.3 Publication d Exchange 4.4 Rapports d activité et alertes

Plus en détail

MANUEL INSTALLATION GANESHA VERSION 2.0 23/01/04 MANUEL INSTALLATION. GANESHA version 2.0. Editeur Anéma SA Département Développement

MANUEL INSTALLATION GANESHA VERSION 2.0 23/01/04 MANUEL INSTALLATION. GANESHA version 2.0. Editeur Anéma SA Département Développement MANUEL INSTALLATION GANESHA version 2.0 Editeur Anéma SA Département Développement Rédacteur Graziella DUVERNY Tél. : + 33 (0)1 43 47 17 14 duverny@anemalab.org Anéma SA 12, rue Moreau F-75012 Paris Tél.

Plus en détail

PHP. Olivier Aubert 1/24

PHP. Olivier Aubert 1/24 PHP Olivier Aubert 1/24 Introduction PHP = Hypertext PreProcessor Site officiel : http://www.php.net Créé en 1994 par Rasmus Lerdorf (Personal Home Page Tool) 1995 : ajout de la gestion des formulaires

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

KWISATZ MODULE PRESTASHOP

KWISATZ MODULE PRESTASHOP Table des matières -1) KWISATZ - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) PRESTASHOP :...4-1.3.1.1) Les Web Services :...4-1.3.2) KWISATZ

Plus en détail

L1 Option Programmation Web côté Serveur - Contrôle continu n 1

L1 Option Programmation Web côté Serveur - Contrôle continu n 1 L Option Programmation Web côté Serveur - Contrôle continu n Veuillez noircir les cases correspondantes à votre numéro d étudiant ( case/colonne). Si votre N est, il faut noircir le dans la ère colonne,

Plus en détail

Projet réseau : un «petit» client ftp

Projet réseau : un «petit» client ftp Projet 2005-2006 Client FTP Manuel Technique Projet réseau : un «petit» client ftp Maquaire Myriam Jilibert Laurent L3 GMI Resp : Mr Guesnet Sommaire 1) Aperçu du protocole FTP. 3 2) Historique... 4 3)

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

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

TYPOlight de base Concept-Image Procédure d installation Version 2.7 RC2

TYPOlight de base Concept-Image Procédure d installation Version 2.7 RC2 TYPOlight de base Concept-Image Procédure d installation Version 2. RC2 Concept-Image Rennes - avril 2009 1 1 SOMMAIRE 1 SOMMAIRE 2 2 INSTALLATION DE TYPOLIGHT 3 2.1 Prérequis 3 2.1.1 Recommandations système

Plus en détail

Travaux pratiques. Protocoles de la couche transport et de la couche applications

Travaux pratiques. Protocoles de la couche transport et de la couche applications Travaux pratiques Protocoles de la couche transport et de la couche applications Objectif Ce laboratoire se veut une introduction aux protocoles de la couche transport et de la couche application du modèle

Plus en détail

Serveur FTP. 20 décembre. Windows Server 2008R2

Serveur FTP. 20 décembre. Windows Server 2008R2 Serveur FTP 20 décembre 2012 Dans ce document vous trouverez une explication détaillé étapes par étapes de l installation du serveur FTP sous Windows Server 2008R2, cette présentation peut être utilisée

Plus en détail

Manuel d administration

Manuel d administration Gestion et sécurité de l accueil visiteurs Manuel d administration Version 1.35 Sommaire 1- Introduction... 3 2- L outil d administration WiSecure... 4 2.1 Lancement de l interface d administration...

Plus en détail

Manuel du revendeur. version 2.0-r1

Manuel du revendeur. version 2.0-r1 Manuel du revendeur version 2.0-r1 Table des matières 1 Explication des termes 3 2 Sections du tableau d administration dédié au revendeur 3 3 Généralités 4 3.1 Aperçu............................... 4

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

Le langage php. Serveur http est automatiquement lancé.

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

Plus en détail

TP4 : Firewall IPTABLES

TP4 : Firewall IPTABLES Module Sécurité TP4 : Firewall IPTABLES Ala Rezmerita François Lesueur Le TP donnera lieu à la rédaction d un petit fichier texte contenant votre nom, les réponses aux questions ainsi que d éventuels résultats

Plus en détail

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage Outil d administration de parc informatique Documentation d installation et de paramétrage Nicolas BIDET Ouapi.org 29/07/2012 Sommaire Installation de Wampserver... 3 1.1. Téléchargement de WampServer...

Plus en détail

Conception de sites Web TP n o 5

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

Plus en détail

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

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

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

CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0

CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0 CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0 Informations juridiques Informations juridiques Pour les informations juridiques, voir http://help.adobe.com/fr_fr/legalnotices/index.html.

Plus en détail

Atelier Le gestionnaire de fichier

Atelier Le gestionnaire de fichier Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local

Plus en détail

PROCEDURE DE MISE EN SERVICE D UN SERVEUR RAS-E OU IPL-E ET D UN PC DE TELEMAINTENANCE POUR LA CONNEXION AU SERVICE M2ME_CONNECT

PROCEDURE DE MISE EN SERVICE D UN SERVEUR RAS-E OU IPL-E ET D UN PC DE TELEMAINTENANCE POUR LA CONNEXION AU SERVICE M2ME_CONNECT PROCEDURE DE MISE EN SERVICE D UN SERVEUR RAS-E OU IPL-E ET D UN PC DE TELEMAINTENANCE POUR LA CONNEXION AU SERVICE M2ME_CONNECT Document référence : 9018209-02 Version 2 Le service M2Me_Connect est fourni

Plus en détail

Administration du site

Administration du site Administration du site 1 TABLE DES MATIÈRES Administration du site... 1 Accéder à la console d administration... 3 Console d administration... 4 Apparence... 4 Paramètres... 5 Allez sur le site... 5 Edition

Plus en détail

TD n 1 : Architecture 3 tiers

TD n 1 : Architecture 3 tiers 2008 TD n 1 : Architecture 3 tiers Franck.gil@free.fr 27/10/2008 1 TD n 1 : Architecture 3 tiers 1 INTRODUCTION Ce TD, se propose de vous accompagner durant l installation d un environnement de développement

Plus en détail

Sécurité PHP. FaillesUpload

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

Plus en détail

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