Bases de Données et Internet



Documents pareils
Module BD et sites WEB

Pratique et administration des systèmes

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Création de formulaires interactifs

Programmation Web. Introduction

Architectures web/bases de données

TP JAVASCRIPT OMI4 TP5 SRC

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Attaques applicatives

CREATION d UN SITE WEB (INTRODUCTION)

INF8007 Langages de script

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

(structure des entêtes)

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

Formulaire pour envoyer un mail

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

Techniques de Programmation pour Internet

Bases de données et Interfaçage Web

les techniques d'extraction, les formulaires et intégration dans un site WEB

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

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

SQL MAP. Etude d un logiciel SQL Injection

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

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

Activités HTML. Code: act-html

PDO : PHP Data Object 1/13

HTML, CSS, JS et CGI. Elanore Elessar Dimar

TD HTML AVEC CORRECTION

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

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

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

PostgreSQL. Formations. Catalogue Calendrier... 8

Bases de données Outils de gestion

PostgreSQL, le cœur d un système critique

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Séance 1 Introduction aux bases de données

Stockage du fichier dans une table mysql:

Hébergement de sites Web

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Bases de données relationnelles : Introduction

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Structured Query Language

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

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

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

Hébergement de site web Damien Nouvel

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Mercredi 15 Janvier 2014

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

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

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)

PostgreSQL. Formations. Calendrier... 14

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Les bases de données

Programmation Web. Madalina Croitoru IUT Montpellier

PHP. PHP et bases de données

PHP 4 PARTIE : BASE DE DONNEES

1. La plate-forme LAMP

Java et les bases de données

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

PySQLi. Framework d'injection de code SQL

CREATION WEB DYNAMIQUE

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

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

Les services usuels de l Internet

ALGORITHMIQUE ET PROGRAMMATION En C

Compte Rendu d intégration d application

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

L3 informatique TP n o 2 : Les applications réseau

Surveiller et contrôler vos applications à travers le Web

Java DataBaseConnectivity

Cours Base de données relationnelles. M. Boughanem, IUP STRI

CESI Bases de données

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

Bernard Lecomte. Débuter avec HTML

Atelier marin. - Vers un suivi optimal des lagons et récifs -

CAHIER DES CHARGES D IMPLANTATION

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

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

CGI et SSI. La programmation CGI. Sources. Objectifs. Qu'est ce qu'un programme CGI? CGI

1 Introduction et installation

Initiation à l algorithmique

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

Sécurité des applications web. Daniel Boteanu

PHP 5. La base de données MySql. A. Belaïd 1

Diffuser un contenu sur Internet : notions de base... 13

Licence Professionnelle Commerce Electronique. MySQL. Michel DUBOIS Michel Dubois : Support de cours SGBD N 1

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Atelier 1. Portails documentaires : BioLib et Cemadoc

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

Transcription:

Informatique S6 3A Bases de Données et Internet Python: SGBD et CGI Alexis NEDELEC LISYC EA 3883 UBO-ENIB-ENSIETA Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2008 nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 1 / 15

Python Python : langage interprété Le langage C est quoi donc? langage interprété, orienté objet expressif, extensible et adaptable Python : Hello World $ python >>> print "hello" hello >>> import sys >>> sys.stdout.write("hello\n") hello nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 2 / 15

Python Python : langage interprété Le langage Python : Hello World >>> for i in range(101) : print "I won t say \" hello \" >>> x="world" >>> y="hello" >>> x,y ( World, Hello ) >>> x,y = y,x >>> x,y ( Hello, World ) anymore" nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 3 / 15

Python Python : aller plus loin Bases de Données Programmation avancée Interface d accès aux SGBD (DB-API) développement d applications WEB (client,serveur,cgi)... Interfaces d accès aux SGBD commerciaux : Oracle, sybase, SQL server, ingres... open source : MySQL, PostgreSQL, SQLite, Gadfly... DB-API : Spécification d adaptateurs connexion connect() communication cursor() types Date(), Binary()... nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 4 / 15

DB-API : PyGreSQL Python Bases de Données Objet de Connexion import pgdb cxn = pgdb.connect(user="nedelec",database="bdm") Création de curseur cur=cxn.cursor() cur.execute("select * FROM bars") Résultat de requête rows = cur.fetchall() print rows[0] print rows[0][0] nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 5 / 15

Format HTML Communication : navigateur / serveur web Présentation : Format HTML langage à balises contient des données des liens vers des pages HTML stockés sur un serveur fournies à la demande aux clients <html> <head><title>exemple de HTML</title></head> <body> un <a href="cible.html">hyperlien</a>. <p> un paragraphe tout court </p> </body> </html> nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 6 / 15

programmation CGI Communication : serveur web / logiciels serveur CGI : Common Gateway Interface technologie standard à tout serveur Web interface client web / programme applicatif Cheminement CGI du côté serveur 1 réception de formulaire client (GET,POST) 2 appel au programme externe CGI 3 réponse du programme CGI au serveur 4 mise en forme de la réponse au client 5 retour dans une page HTML au client nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 7 / 15

Serveur WEB en Python Python & CGI Côté Serveur : lancement $ python -m CGIHTTPServer Serving HTTP on 0.0.0.0 port 8000... Côté Client : accès au serveur nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 8 / 15

Python & CGI Côté Serveur : le code applicatif Création des pages $ ls index.html cgi-bin/ $ ls cgi-bin unscript.py unepage.html... Accès aux pages http://localhost:8000/index.html http://localhost:8000/cgi-bin/unepage.html nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 9 / 15

Python & CGI Coté Client : formulaire HTML Création de formulaire sur le serveur <FORM ACTION= unscript.py METHOD= POST > <B>SELECT</B> <BR> <INPUT TYPE=text NAME=select SIZE="50"> <BR><BR> <B>FROM</B> <BR> <INPUT TYPE=text NAME=from SIZE="50"> <INPUT TYPE=submit NAME=ok VALUE="Requete!"> </FORM> nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 10 / 15

Python, CGI & SGBD Coté Serveur : réception de données unscript.py : réception des données #!/usr/bin/env python import cgi form = cgi.fieldstorage() request = "SELECT " + form[ select ].value + " " + "FROM " + form[ from ].value unscript.py : connexion sur le serveur SGBD import pgdb cxn = pgdb.connect(user="nedelec",database="bdm") cur=cxn.cursor() cur.execute(request) nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 11 / 15

Coté serveur : retour au client Python, CGI & SGBD unscript.py : mise en forme des données reshtml= Content-Type : text/html\n <HTML>... <TABLE BORDER=1> %s %s </TABLE>... </HTML> cxn = pgdb.connect(user="nedelec",database="bdm")... colnames="" # à coder : noms de colonnes au format HTML tuples="" # à coder : enregistrements au format HTML # on retourne le tout dans la page HTML : print reshtml % (colnames, tuples) nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 12 / 15

Application WEB Python, CGI & SGBD Requête client Retour serveur nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 13 / 15

Application WEB Python, CGI & SGBD Présentation au client : table HTML <CENTER> <TABLE BORDER=1> <TR BGCOLOR="lightgrey"> <TH>.</TH><TH>.</TH><TH>.</TH> </TR> <TR> <TD>.</TD><TD>.</TD><TD>.</TD> </TR> <TR BGCOLOR="lightcyan"> <TD>.</TD><TD>.</TD><TD>.</TD> </TR>... </TABLE> </CENTER> nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 14 / 15

Bibliographie Références Livres G. Swinnen : Apprendre à programmer avec Python Éditions O Reilly(2005 2ème édition) Wesley J. Chun : Au coeur de Python version 2.5 Vol 1 & 2 Collection Campus Press, Pearson Education (2007) Adresses au Net www.postgresql.org : le site officiel du SGBD www.pygresql.org/ : DB-API : python / postgresql www.python.org/ guido : le créateur du langage python www.cifen.ulg.ac.be/inforef/swi/python.htm : Swinnen nedelec@enib.fr (ENIB-CERV) Bases de Données et Internet enib c 2008 15 / 15