====== Cours d'Introduction aux Web et Services Web ====== {{:cours:search-13476_640.jpg?200 |}} Cet ensemble de cours se déroule dans le prolongement de cours sur les protocoles UDP et TCP over IP. Il s'appuie donc sur la programmation Socket pour les développements en TP telle que présentée dans [[http://www.i3s.unice.fr/~lopezpac/teach/archres.html|le support de cours Sockets de Dino Lopez]]. ||| ||| ||| ||| ||| ||| ||| ||| ||| ---- ==== Cours d'introduction : du Web au Web services ==== {{:cours:des_sockets_aux_web_services_intro_si3_cours_1.pdf| Transparents surpport du cours 1 : du Web au Web services}} ==== Travaux pratiques : Mon premier serveur web dans mon serveur TCP/IP Socket ==== ||| {{:cours:td1_web_statique_et_http_si3_2017.pdf| Support de Travaux Pratiques : Web Statique}} == Quelques Notes et Commentaires : == * Une des difficultés de ce TD réside dans le respect du format d'échange entre le client (browser Web) et votre serveur Web. Ce format est décrit dans le protocole HTTP.Les détails sont donnés dans les transparents du cours ci-dessus. * La lecture d'une variable d'environnement avec python se fait grâce à : //os.environ[“VAR_NAME”]// == Quelques compléments pour le TD == [[https://fr.wikibooks.org/wiki/Apprendre_%C3%A0_programmer_avec_Python/Communications_%C3%A0_travers_un_r%C3%A9seau|Rappel sur la programmation réseau avec les sockets et python]] **Exemple de Code Python d'un client et d'un serveur TCP/IP (Python 2)** {{:cours:code_client_server_socket_python.zip|code_client_server_socket_python.zip}}, attention donc à la version Python que vous utilisé [[http://apprendre-python.com/page-syntaxe-differente-python2-python3-python-differences|Différences entres python 2 et python 3]] === RENDU TD1 === Ce TD est à rendre à l'enseignant responsable du cours sous la forme suivante : - les fichiers python (ex. serveurweb.py) et tous les fichiers et répertoires nécessaires à la bonne exécution de votre solution (ex. la sous arborescence des fichiers et répertoires exportés par votre serveur) doivent être regroupés dans un fichier .zip, où est votre nom (sans le prénom) tout en minuscules. - Un fichier README.txt doit être rédigé pour donner un minimum d'explications sur votre solution comme la commande d'appel de votre programme et ses arguments, l'url à définir dans votre browser web pour tester votre serveur et les résultats attendus dans le browser. - Le fichier .zip et le fichier README.txt doivent être attaché à un email à l'attention de **tigli@unice.fr** - Votre email à l'attention de **tigli@unice.fr** doit comporter le sujet suivant : [TD SERVEUR WEB SI3] [], où est votre nom (sans le prénom) tout en minuscules. - La date limite de ** rendu est le Dimanche 26/03/17 à minuit **. Toute heure de retard sera pénalisée par un point de moins sur la note du TD. - Tout rendu qui ne respectera pas l'intégralité des consignes ci-dessus ne sera pas pris en compte car intraitable et potentiellement perdu lors de la collecte et le rangement automatique de mails. ---- ==== Cours sur le Web Dynamique et le protocole HTTP ==== ||| {{:cours:protocole_http_si3_et_web_dynamique_cours_2.pdf|Cours protocole HTTP et Pages Web Dynamiques}} ==== Travaux pratiques : Serveur de pages Web Dynamiques ==== ||| {{:cours:td2_web_dynamique_et_http_si3_2017.pdf|Support de Travaux Pratiques : Web Dynamique}} ---- ==== Cours d'introduction aux Services Web ==== ||| {{:cours:cours_intro_services_web_rest_et_soap_si3_2016-2017.pdf|Cours sur Les principes des Services Web et des WS REST et SOAP}} ==== Travaux pratiques : Introduction aux Web Services ==== ||| {{:cours:td3a_formulaire_web_pour_tester_un_post_dans_un_browser_web2017.pdf| TD Utilisation d'un formulaire HTML pour générer des requêtes GET et POST}} ||| {{:cours:td3b_web_et_introduction_aux_services_web_2015_2016.pdf|TD introduction aux services Web}} === RENDU TD3 === Le rendu porte sur la question 1 du "TD introduction aux services Web". Il s'agit de fournir votre serveur Web supportant les invocations HTTP/GET et HTTP/POST vers les deux types de cgi-bin. Pour illustrer le fonctionnement de votre serveur vous devrez écrire trois cgi-bin : * Un premier cgi-bin type GET qui renverra une chaine de caractère reçue précédée de la chaine "GET" * Un second cgi-bin type POST qui renverra une chaine de caractère reçue précédée de la chaine "POST" * Un premier cgi-bin type POST/GET qui renverra une chaine de caractère reçue précédée de la chaine "GET de POST/GET" s'il répond à une commande GET et "POST de POST/GET" s'il répond à une commande POST Pour tester les 4 cas d'appels des cgi-bin, 4 formulaires seront écrits avec des noms explicites test-post.get, test-post.html, test-post-get-post.html, test-get-get-post.html. Ces 4 formulaires seront accessible directement comme fichiers .html à la racine $HTTP_ROOT de votre serveur. Ce TD est à rendre à l'enseignant responsable du cours sous la forme suivante : - les fichiers python (ex. serveurweb.py) et tous les fichiers et répertoires nécessaires à la bonne exécution de votre solution (ex. la sous arborescence des fichiers et répertoires exportés par votre serveur) doivent être regroupés dans un fichier .zip, où est votre nom (sans le prénom) tout en minuscules. - Un fichier README.txt doit être rédigé pour donner un minimum d'explications sur votre solution comme les 4 url à tester dans un browser web. - Le fichier .zip et le fichier README.txt doivent être attaché à un email à l'attention de **tigli@unice.fr** - Votre email à l'attention de **tigli@unice.fr** doit comporter le sujet suivant : [TD SERVEUR WEB avec POST cgi-bin SI3] [], où est votre nom (sans le prénom) tout en minuscules. - La date limite de ** rendu est le Dimanche 16/04/17 à minuit **. Toute heure de retard sera pénalisée par un point de moins sur la note du TD. - Tout rendu qui ne respectera pas l'intégralité des consignes ci-dessus ne sera pas pris en compte car intraitable et potentiellement perdu lors de la collecte et le rangement automatique de mails. ---- ===== Frequently Asked Quastions: FAQ ===== [[cours:SI3:FAQ:FAQ_Web_WS| Page des FAQ "du Web aux Web Services en Python"]] ===== Compléments de Cours et de TD ===== [[cours:SI3:FAQ:complement_cours_Web_WS|Page sur des compléments de cours "Web aux Web Services"]] ===== Archives ===== [[cours:intro_web_web_service_si3_2015_2016| Page du Cours "Du Web aux Web Services" 2016]]