Programmation Internet. Mikael DAUTREY Janvier 2006

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

Download "Programmation Internet. Mikael DAUTREY Janvier 2006 mikael.dautrey@isitix.com"

Transcription

1 Programmation Internet Mikael DAUTREY Janvier

2 Objectifs du module Acquérir des connaissances de base en programmation Internet Technologies Syntaxe des langages Modèles de programmation Mise en œuvre, test et intégration Présenter les schémas d architecture Internet Architecture n-tiers Séparation données / métier / présentation Implémentation du Modèle/Vue/Contrôleur (MVC) Modèles de données XML Confronter l approche conceptuelle avec sa mise en œuvre concrète à travers des exemples Java PHP 2

3 Programme du module Volume horaire 6 heures de cours 4 heures de Travaux Dirigés 14 heures de Travaux Pratiques Cours Présentation des technologies et des architectures Web Rappels sur Java Présentation de J2EE Architecture de Tomcat Travaux Dirigés Présentation du langage PHP, Eléments complémentaires concernant HTML, Javascript et les CSS Présentation des évolutions (4.x vers 5.x) Exercices Extensions de PHP Accès aux bases de données Traitement des flux XML RSS (optionnel) 3

4 Programme du module (2) Travaux dirigés Outils : JBuilder pour tous les travaux dirigés en Java Apache httpd + PHP5 + MySQL pour les travaux dirigés PHP Tomcat 2 séances de 2 heures sur RMI et Java à partir d un mini projet sur RMI 3 séances de 2 heures sur Tomcat Présentation, découverte de l environnement Tomcat Exercices simples sur les servlets Mini-projet sur les servlets 2 séances de 2 heures sur PHP Création et gestion d un formulaire HTML Accès aux bases de données Transformation des données extraites de la base en XML Présentation des données et affichage Intégration de données d un serveur externe par RSS 4

5 Ressources techniques Support de cours Code source des exemples Enoncés des exercices Documentation de référence du langage PHP Documentation de référence de JAVA Liens utiles L ensemble des ressources se trouvent sur 5

6 Programmation Internet, partie 1 Technologies de programmation Internet 6

7 Traitements client-serveur Web 7

8 Technologies côté client Couche réseau Echange HTTP SSL Streaming (via applets, plugs in ou contrôles ActiveX) : RSVP, MPEG3 + protocoles propriétaires Services DNS Couche de présentation, affichage du contenu MIME (Multipurpose Internet Mail Extension) HTML et la gestion des styles Balises et styles HTML Styles du navigateur CSS (Cascading Style Sheet) DOM (Document Object Model) 8

9 Technologies côté client (2) Données de session Cookies Variables de session Données de contexte / données du navigateur Données de formulaire (get/post) Interactivité URL HTML Scripting client Javascript Visual Basic Script (pour les navigateurs Microsoft) Plugs in Contrôles Active X Applets Java 9

10 Technologies côté serveur Couche réseau Front end HTTP SSL Streaming Back end Connections bases de données Web services Systèmes de fichiers distribués Traduction des URL Proxy + partage de charge Virtual hosting Gestion de répertoires utilisateurs 10

11 Technologies côté serveur (2) Données clients MIME Données utilisateurs Cookies Get/Post Session Contexte utilisateur Charge utile URL demandée Données serveurs Données statiques => répertoire Données dynamiques => plusieurs technologies de Web dynamique 11

12 Technologies côté serveur (3) Web dynamique Exécution d instructions en fonction des données clients 12

13 Technologies serveurs (4) Interface frontal / moteur CGI Module intégré dans le serveur HTTPD (DLL ou module Linux) Java / serveur d application Moteur de génération de pages Java PHP CGI / PERL, C, C++ ASP.NET Services et données accessibles Bases de données Outils de signatures électroniques Outils XML Outils de gestion de contenus Annuaires Système de gestion des droits et d authentification 13

14 Technologies de développement Web Echanges de données SOAP WSDL Réseau HTTP SSL URL Scripting client, interactivité client Javascript Visual Basic Script DOM Flash et ActionScript AJAX Langages de manipulations de données Expressions régulières XML XSLT XPath DOM XML DTD XMLSchema XForms XQuery RDF SQL Présentation HTML CSS XSL-FO XSLT XForms RSS 14

15 Technologies de développement Web (2) Technologies Serveur PHP Java + Servlets, JSP.NET, ASP (C#, VB, J#) CGI (C, PERL) J2EE Serveurs Apache HTTPD Apache Tomcat Microsoft IIS BEA Weblogic IBM Websphere Outils XML Saxon Sablotron Xerces Expat Apache Batik Apache FOP Outils divers PDFLib Cocoon ChartDirector ADOdb Clients divers Excel Word Business Object Messagerie SMTP POP, IMAP Adds-on des navigateurs Plugs in Active X Applets Java Bases de données MySQL PostGres «commerciales» : Sybase, Oracle, etc Outils de développement Visual Studio.Net Eclipse XML Spy Zend studio JBuilder JetBrain IntelliJ IDEA 15

16 Echanges de données SOAP Définition : Simple Object Access Protocol. SOAP est un protocole d échange dans un environnement distribué. SOAP est conceptuellement proche de technologies comme RMI ou les RPC. Il permet en effet à une application «cliente» de demander l exécution d un service sur une autre application «serveur» en lui transmettant L identification du service demandé Les paramètres de la demande et en recevant, en fin de procédure, le résultat de sa demande. La différence entre SOAP et les technologies type RMI ou RPC est le format des messages SOAP est XML. SOAP est une des briques de base des WebServices. Usage : SOAP est utilisé pour mettre en place des services Web au dessus d un protocole de transaction qui peut être (mais ce n est pas obligatoire) http Exemples : accès à un annuaire LDAP des utilisateurs. Accès au contenu d une banque de données. Echange d information entre services Web Lien : 16

17 Echanges de données (2) WSDL Définition : WSDL, Webservices Description Language, est un langage de description de services web. Usage : WSDL permet de créer, au niveau d un serveur SOAP, un dictionnaire des WebServices. Il permet donc à une application de découvrir, au moment de la connexion au service web, les règles d échange et de transaction associées au service. Il se rapproche en cela des interfaces type COM+, DCOM existant au niveau GUI dans Windows (qui sont des mécanismes système et non des mécanismes XML comme pour WSDL) Exemples : création d un annuaire de webservices. Génération automatique des webservices à partir de leur description en WSDL. Lien : 17

18 Echange de données (3) Usage des échanges de données Intégration de service Fourniture d API d échange entre serveurs Synchronisation souple entre services Limites des échanges de données Problèmes de synchronisation Gestion des transactions Performance Conclusion Très utile en gestion de contenu Plus difficile en transactionnel sur des gros volumes 18

19 Réseau HTTP Définition : Hyper Text Transfer Protocol. Protocole d échange réseau en mode connecté (utilisé au dessus de TCP) permettant à un client d émettre des requêtes et d obtenir des réponses d un serveur http. Usage : HTTP est utilisé, associé aux mécanismes des URL, pour demander de l information à un site Web depuis un client. Caractéristiques : 1. Le protocole HTTP repose sur un format de message défini dans le RFC1945 et RFC2616 disponibles sur le site du W3C 2. Le format de message comprend des headers et une charge utile. 3.Les headers permettent de véhiculer les options de l échange requête/réponse (MIME, GET/POST, redirection, erreurs, contexte client, contexte serveur, session, URL appelante et appelée, persistance de la connexion) 4.La charge utile contient les données transmises (généralement, il s agit de la page HTML renvoyée par le client au serveur) 5.Le protocole traite les URL et assure donc la traduction des noms FQDN (fully qualified domain name) en adresse IP en faisant appel au mécanisme de DNS (Domain Name Service) 6.L usage du protocole s est progressivement étendu de l échange de données entre un navigateur et un serveur Web pour couvrir également certains échanges entre serveurs. Exemples : Serveur Web 19

20 Réseau (2) SSL Définition : Secure Socket Layer, est une surcouche de TCP permettant de sécuriser une connexion sur TCP Caractéristiques : SSL (Secure Sockets Layer) est un protocole réseau de sécurisation des échanges introduit par Netscape en 1994, dans son navigateur. La version actuelle de SSL est la version 3.0. SSL a été le point de départ du protocole TLS (Transport Layer Security) de l IETF (Internet Engineering Task Force), décrit dans la RFC SSL reste beaucoup plus répandu que TLS et est supporté par la plupart des navigateurs et serveurs. SSL est un protocole intermédiaire entre le protocole de transport (niveau 4 OSI) et les couches supérieures (session, présentation, application) d une pile de protocole réseau. SSL peut donc s appuyer sur n importe quel protocole de transport en mode connecté et servir n importe quelles couches supérieures nécessitant un transport sécurisé en mode connecté. C est ce qui a fait son succès. Usage : SSL permet la mise en place simple et rapide d une version sécurisée des protocoles connectés d Internet (FTP, SMTP, http, Telnet) sur un canal crypté du serveur au navigateur. Il offre les fonctions suivantes : Cryptage du trafic du client au serveur (incluant les headers http, variables de sessions, données des formulaires, cookies) Contrôle d intégrité des données transmises entre le client et le serveur Authentification forte du serveur pour le client (navigateur) par certificat numérique Possibilité d une authentification forte du client (navigateur) par le serveur si le serveur le réclame au client à l ouverture de session Possibilité d un contrôle d accès du client par certificat 20

21 Réseau (3) SSL Synthèse de SSL : vue sur les messages échangés 21

22 Réseau (4) SSL Synthèse de SSL : vue sur les piles de protocole 22

23 Réseau (5) URL Définition : Uniform Ressource Locator, mécanisme de localisation (adressage + partie locale) des ressources distribuées sur un réseau Usage : Utilisé conjointement avec HTML et HTTP pour accéder à une page Web lors d une transaction entre un navigateur et un serveur Web. Caractéristiques : 1. Un préfixe donne le type du protocole (https, ftps, http, ftp, gopher, etc). Ce protocole est généralement associé à un port par défaut sur le serveur (Web = 80 par exemple) 2. L URL se décompose ensuite en une partie réseau et une partie locale 3. La partie réseau est l adresse FQDN (Fully Qualified Domain Name) ou IP du serveur qui peut être suivi, si nécessaire, de : et d un numéro de port. Cette adresse est traduite en adresse IP en utilisant le service DNS 4. La partie locale est gérée par le serveur. Par défaut, il s agit simplement du chemin relatif depuis la racine du serveur vers la ressource demandée. Des règles de traduction des URL peuvent être utilisées. 5. Les URLs sont également utilisés dans la norme XML pour définir de manière unique les espaces de noms 23

24 Réseau : documentation de standardisation (6) RFC http1.1: RFC2616 URL: RFC1738 MIME: RFC2045, 2046 et 2047 HTML 2.0: RFC1866 Cookies, gestion des sessions et des états: RFC2109 TCP: RFC793 Spécifications Netscape Cookies 24

25 Réseau (7) Intérêt de disposer des connaissances réseau Connaître et utiliser les mécanismes de base Redirection, traduction d URL, gestion des erreurs, etc Utiliser les informations de contexte renvoyés par http Type de navigateur, etc Etre en mesure de résoudre les problèmes rencontrés Gestion de session Cookies Etc Pouvoir sécuriser rapidement une connexion serveur en basculant de http vers https Optimiser la performance d un serveur Persistance Gestion des paramètres réseau Etc Utiliser des requêtes http pour faire autre chose que de l affichage Web 25

26 Scripting client, interactivité client Javascript Définition : langage interprété pouvant être inclus dans les pages HTML pour gérer les interactions entre l utilisateur et la page Web Usage : Inclus dans le code HTML via un balise spécifiquie ou via un lien URL sur un fichier externe joint à une page Web, Javascript s exécute sur événement utilisateur Caractéristiques : 1. La syntaxe est proche de Java. Javascript constitue une sorte de Java simplifiée adaptée au scripting sur un navigateur Web. 2.Ce sont les interactions entre l utilisateur, le client Web et la page Web qui déclenche les actions Javascript selon un modèle de programmation évènementielle. 3.Le langage est faiblement spécifié. Il existe donc des variantes du langage par famille de navigateurs voire au sein d une même famille de navigateurs. 4.Javascript supporte la programmation objet et en particulier le DOM, Document Object Model qui lui permet d accéder à l ensemble des objets de la page Web et du navigateur. Usage : Validation des données d un formulaire côté client. Menus déroulants. Images changeantes sur événement utilisateur. Visual Basic Script : Même principe que Javascript mais réservé à Microsoft Internet Explorer 26

27 Scripting client, interactivité client (2) DOM Définition : Document Object Model permettant l accès aux éléments d un document en utilisant une syntaxe objet. Usage : supporté par les derniers navigateurs, le DOM vient en complément des langages de script client comme Javascript et leur permet d accéder aux propriétés et méthodes objets contenus dans une page Caractéristiques : 1. La syntaxe est une syntaxe objet (objet/propriétés et méthodes/collections d objets). 2. Le DOM permet de gérer les évènements affectant les objets. 3. Le modèle sous-jacent, proche du DOM XML, est un modèle arborescent d objets ayant pour racine l objet document. 4. Les implémentations du modèle varient en fonction des familles de navigateurs et de la version dans une famille. Application : Affichage dynamique côté client. 27

28 Scripting client, interactivité client (3) Flash et Action Script Définition : Technologie propriétaire permettant de créer des animations (graphiques principalement) côté client Usage : Création d animation graphique client multimédia Caractéristiques : 1. La technologie s appuie sur un langage de dessin vectoriel et d interaction avec ces images vectorielles (ActionScript). 2. Le langage nécessite l installation, sur le navigateur, du plug-in de visualisation Flash. 3. La technologie sous-jacente permet également de créer des formulaires, etc mais est peu utilisée à cet effet. Applications : animation graphique 28

29 Scripting client, interactivité client (4) AJAX Définition : Asynchronous JavaScript and XML, AJAX est modèle de programmation client associant HML-DOM, Javascript et XML-XSLT pour permettre la gestion et le rafraîchissement de données XML en arrière plan d une page Web de manière transparente pour l utilisateur. Usage : Gestion de données XML côté client. Caractéristiques : 1. AJAX utilise l objet XMLHTTPRequest pour émettre des requêtes HTTP/XML en arrière plan d une page Web 2. Avec les dernières versions des navigateurs, il est possible de parser côté client les données XML récupérées avec le parser et des feuilles de styles XSLT. 3. Pour améliorer la performance des échanges, il peut être préférable d utiliser, à la place du couple XML+XSLT, JSON, Javascript Object Notation Applications : rafraîchissement de formulaires Web en fonction d interactions clients 29

30 Scripting client, interactivité client (4) Utilité du scripting client Améliorer l interactivité des applications Mettre en place une gestion de bonne qualité des formulaires Mettre en place les mécanismes interactifs classiques Menus déroulants Animations Etc 30

31 Description et manipulation de données Expression régulières Définition : langage de contrôle et format et de manipulation de chaînes de caractères Usage : recherche (search&replace) plein texte, contrôle de format dans des formulaires Caractéristiques : 1.Les expressions régulières s appuient sur une syntaxe spécifique associant, dans une même chaîne de caractères, caractères normaux, caractères «magiques» de précédence, substitution, généralisation. 2. La syntaxe est extrêmement puissante et concise, avec comme contrepartie d être complexe à lire, à écrire et à mettre au point. 3. L usage des expressions régulières nécessitent l installation de l outil de traitement des expressions régulières, bibliothèque de fonctions pour le langage de programmation cible, exécutable. 4. Les fonctions d utilisation des expressions régulières existent pour pratiquement tous les langages en standard. Une exception notable: VBScript sous Office 5. La syntaxe est portable entre les différents langages même s il existe des spécificités PERL, JAVA ou VB. Applications : contrôle de données de formulaires, définition de formats, parsing de test, définition de formats utilisateurs dans les schémas XML 31

32 Description et manipulation de données (2) XML Définition : extensible Markup Language, langage de description de contenu issu de SGML et permettant de structure le contenu en y insérant des markups. Usage : format de documents texte standardisé Caractéristiques : 1.XML est un langage de description de contenu. Il contient donc principalement des markups descriptifs 2.Cette approche descriptive 1. Permet d utiliser le langage dans de multiples applications en fonction de la sémantique que l on y introduit 2. Assure sa lisibilité par un être humain 3. Rend les développements réalisés à partir du langage plus facilement portable 3. XML est un langage minimaliste 1. Définition des règles d encodage des caractères 2. Définition des markups et de la manière de former les markups 3. Définition des éléments constituant un document bien formé 1. En-têtes et déclarations 2. Enchaînement des markups 4. Définition d outils complémentaires 1. Entités 2. Commentaires 3. Instructions de traitement 4. Sections de texte Applications : création de documents texte dans un format standard lisible par les parsers et outils XML 32

33 Description et manipulation de données (3) Fondements du langage XML Syntaxe Syntaxe Grammaire Encodage des caractères Syntaxe Tags Markups Octets Caractères Token Document Mots, champs Phrases, etc Indépendance par rapport aux données : s appuyer sur un ou des standards d encodage des caractères reconnu et supporté par l ensemble des machines Syntaxe : définir les règles de formation des tags et des markups et prendre en compte les interactions des markups entre eux et avec le texte Grammaire : prévoir une grammaire de base permettant de former un document et la possibilité d étendre cette grammaire par domaines 33

34 Description et manipulation de données (4) Extensions du langage XML Extensions Grammaire Extension 1 Grammaire Extension 2 Grammaire Extension 3 Grammaire Syntaxe niveau 2 Socle Syntaxe niveau 1 Encodage des caractères 34

35 Description et manipulation de données (5) Mécanisme XML Données + format + traitement => résultat Ce schéma est utile sous réserve De disposer d outils logiciels pour lire et d interpréter du XML Accès au DOM Accès aux éléments et à leurs valeurs De disposer d outils logiciels pour challenger un document par rapport à un schéma ou une DTD De disposer d outils logiciels pour appliquer des règles de transformation à un document Ces logiciels ou bibliothèques d utilitaires sont aujourd hui disponibles Viewer de XML Parser de XML Schémas XSL DOM 35

36 Description et manipulation de données (6) DTD Définition : Document Type Definition, langage de définition de formats de documents XML Usage : définir la norme des documents XML Caractéristiques : 1. La DTD répond à une syntaxe propre indépendante de la syntaxe de XML 2. Le langage des DTD est simple et permet de définir rapidement les principales caractéristiques d un document. 3. Le langage des DTD est limité. Il est donc plus adapté à des fins de normalisation (DTD de HTML, de XML, de XMLSchema, etc) qu à un usage applicatif 36

37 Description et manipulation de données (7) Outils et sur-couches de XML XSLT Définition : XML Stylesheet Language transformation, langage de transformation d un document XML Usage : transformation de données XML en tout format, XML, HTML, texte Caractéristiques : 1. XSLT est une surcouche de XML conforme à la syntaxe XML 2. XSLT posséde son propre espace de noms XML (balises et règles de cohérences des documents) 3. XSLT est un langage de transformation de contenus permettant de manipuler les données XML par bloc 4. Ce langage a des caractéristiques intéressantes 1. Navigation et sélection dans un document avec XPath (recherche et sélection d occurrences, déplacements verticaux et transversaux dans l arborescence du document) 2. Absence de variables au sens classique du terme 3. Usage de mécanismes de récursivité 4. Adaptation à la gestion de contenu (robustesse par rapport au format du document) Applications : transformation de données et documents XML 37

38 Description et manipulation de données (8) Outils et sur-couches de XML XMLSchema Définition : XML schema, langage de définition de documents XML Usage : définition du format d un document XML Caractéristiques : 1. XMLSchema est une surcouche de XML conforme à la syntaxe XML 2. XMLSchema posséde son propre espace de noms XML (balises et règles de cohérences des documents) 3. XMLSchema est un langage évolué de description de contenu XML 4. Ce langage a des caractéristiques intéressantes 1. Réutilisation des types et héritage 2. Définition de types complexes 3. Collections, séquences, etc Applications : à des fins documentaires, pour documenter la structure type d un document XML ou en production pour vérifier qu un document respecte bien un schéma 38

39 Description et manipulation de données (9) Outils et sur-couches de XML DOM Définition : Document Object Model, paradigme de programmation (ou une forme d API abstraite) permettant d accéder aux éléments d un document XML dans une syntaxe objet (même principe que pour le DOM HTML) Usage : parser des fichiers XML, accès aléatoire à des fichiers XML Caractéristiques : 1. Le DOM permet un accès aléatoire à un fichier XML, par opposition aux techniques de parsing type XSLT qui sont plutôt en mode flots de caractères. 2. Cette accès aléatoire à un document après son chargement dans le DOM permet ensuite d accéder, via des API à syntaxe objets, aux éléments du document. 3. Le DOM permet, avec des parsers comme SAXON, une programmation évènementielle en positionnant des handlers sur événements liés au parsing des documents. Applications : gestion de fichiers de configuration, gestion de formulaires interactifs 39

40 Description et manipulation de données (10) Outils et sur-couches de XML XQuery Définition : XML Query Language, langage de requête au sein d un document ou d un ensemble de documents XML Usage : rechercher des informations selon des critères complexes dans des documents XML (voire dans des bases de données, via des couches d abstraction ad hoc) Caractéristiques : 1. XQuery est une surcouche de XML conforme à la syntaxe XML. 2. XQuery posséde son propre espace de noms XML (balises et règles de cohérences des documents) 3. XQuery permet d exécuter en technologie XML des opérations voisines de celles exécutées en SQL 4. XQuery est récent, peu implémenté, peu utilisé. 5. XQuery est complexe. Applications : effectuer des recherches complexes (jointures) dans des documents XML 40

41 Description et manipulation de données (11) Outils et sur-couches de XML XForms Définition : XML Forms, langage de définition de formulaire en XML Usage : créer des formulaires publiables sous différentes formes (Web, Word, PDF, etc) en s appuyant sur un framework commun et en évitant de programmer chaque formulaire indépendamment des autres Caractéristiques : 1. XForms est une surcouche de XML conforme à la syntaxe XML. 2. XForms posséde son propre espace de noms XML (balises et règles de cohérences des documents) 3. XForms s appuie sur les autres technologies XML (schémas, XSLT, etc). 4. XForms recrée en XML une instance du Modèle/Vue/Contrôleur MVC 1. Modèle = modèle d affichage des données 2. Vue = vue sur les données 3. Contrôleur = contrôle des interactions vue<->modèle 5. XForms est une norme récente et complète. Il existe peu d implémentations complètes. Applications : mettre en place un serveur générique de publication de formulaires 41

42 Description et manipulation de données (12) Outils et sur-couches de XML RDF Définition : Ressource Description Framework, langage de description de contenu orienté Web Usage : échange de données sur le Web, syndication de contenu Caractéristiques : 1. RDF est une surcouche de XML conforme à la syntaxe XML. 2. RDF posséde son propre espace de noms XML (balises et règles de cohérences des documents) 3. RDF est un dictionnaire permettant de décrire des données Applications : Syndication de contenu entre site Web RSS : Définition Rich (RDF) Site Summary ou Really Simple Syndication : un format XML associé à un espace de noms particulier permettant de décrire simplement le contenu d une page ou d un site Web et ses évolutions. SQL : Search & Query Language 42

43 Description et manipulation de données (13) Utilisation des outils et technologies de manipulation des données Structurer le contenu Mettre en place une architecture n-tiers Contenu / présentation / métier Développer des composants réutilisables Mettre en place une architecture modulaire Simplifier l intégration et les évolutions de l application Test Maintenabilité Développer plus vite 43

44 Présentation de contenus HTML Définition : HyperText Markup Language Usage : pages HTML Caractéristiques : 1. Structuration du contenu en fonction (partielle) de la présentation. 2. HyperText = URL = Navigation 3. Markup = balises comme en XML 4. Les balises ont trois fonctions, 1. Une fonction «sémantique» par rapport à un modèle de documents simple (type h1, h2, h3, etc) 2. Une fonction de mise en page et de présentation du contenu 3. Une fonction de gestion de l interactivité et des échanges avec l utiliateur (formulaires et DOM) Applications : pages Web 44

45 Présentation de contenus (2) CSS Définition : Cascading StyleSheet Usage : définition des styles de présentation du contenu HTML Caractéristiques : 1. Surcharge des styles par défaut des balises HTML 2. Modèle hiérarchique avec des règles d héritage des styles entre les différents niveaux 3. Gestion du flot d affichage selon deux modes, blocs et en ligne 4. Insertion des règles de style dans la page ou dans un fichier à part lié par URL à la page dont le style est défini Applications : séparation contenu/présentation dans une page; factorisation des styles dans la page 45

46 Présentation de contenus (3) XSL-FO Définition : XSL-Formating Object, langage de mise en page de contenu Usage : génération de fichiers PDF, PostScript ou HTML à partir de contenu XML Caractéristiques : 1. Dérivé du langage XSL, XSL-FO définit des règles de mise en page du contenu sur différents niveaux, page, section, etc 2. Les règles de mise en page sont proches de celles des feuilles de style 3. La génération du fichier XSL-FO est réalisée à partir du fichier XML en lui appliquant une feuille de style XSL Applications : génération de document PDF à la volée à partir de données XML XSLT XSLT peut également être utilisé pour réaliser des mises en page HTML, txt, etc XForms : XForms comporte un volet «présentation du contenu» 46

47 Présentation de contenus (4) Utilisation des outils de présentation de contenus Mettre en place une architecture n-tiers Factoriser les modèles de contenu Police par défaut Formats de page Etc Améliorer la maintenabilité de l application Simplifier les modifications de l application Accélérer le développement Pouvoir faire évoluer la présentation en fonction du type de navigateur et/ou de terminal client 47

48 Technologies Serveurs PHP Définition : Personnal Home Page, langage de script Web côté serveur Usage : génération de pages Web dynamiques Caractéristiques : 1. Il s agit d une technologie de scripting côté serveur Web. Le contenu de la page est généré à la volée, par interprétation du code PHP 2. Une page PHP est un fichier texte mêlant section en HTML qui sont affichées directement et section en PHP interprétées par le serveur 3. L outil d interprétation peut être installé comme CGI ou comme librairie intégrée au serveur (statique ou dynamique) 4. PHP est un langage procédural complet associée à des bibliothèques de fonction riches (bases de données, etc) 5. La dernière version du langage (5) inclut des fonctionnalités objets plus développées que les précédentes Applications : site web dynamique; technologie de développement rapide 48

49 Technologies Serveurs (2) J2EE, servlets et JSP Définition : bibliothèques Java pour le développement d applications Web. JSP = Java Server Page, technologie de script associée aux servlets Usage : développement d applications métier possédant une interface Web Caractéristiques : 1. Le développement de l application s effectue en Java avec accès à toutes les fonctionnalités et bibliothèques de Java 2. Des classes spécifiques permettent de fournir un service Web. Elles assurent le pont entre la logique métier et la présentation Web 3. Les JSP sont une version simplifiée des servlets permettant d employer des schémas de développement voisin de PHP tout en reposant sur une plate-forme et en bénéficiant des adds on de Java 4. Les servlets nécessitent, pour fonctionner, une surcouche de la JVM gérant les couches basses du Web. Il s agit d un serveur d application. Ce serveur d application est un service d infrastructure résidant installé sur un serveur. Applications : application métier complexe possédant un volet Web et éventuellement un volet client lourd 49

50 Technologies Serveurs (3).NET et ASP Définition : ASP, Active Server Page et.net forment une plate-forme technologique voisine dans ses fonctionnalités du couple Java + JSP en technologies Microsoft Usage : développement d applications métier Windows possédant une interface Web Caractéristiques : 1. Le développement de l application s effectue sur la plate-forme Windows en technologies Windows : VB + C# + ActiveX 2. Des pages de scripts peuvent être réalisées (comme PHP ou JSP) en mêlant HTML et VB 3. L intégration dans Windows permet d accéder aux services de l OS Windows. Applications : application métier Windows possédant un volet Web 50

51 Technologies Serveurs (4) CGI Définition : CGI, Common Gateway Interface, interface normalisée pour lancer et échanger avec des processus s exécutant derrière un serveur Web Usage : création de pages dynamiques Caractéristiques : 1. C est le premier système d interface développé pour les pages dynamiques 2. Il permet l usage de tout langage 3. Il peut être utilisé pour lancer un interpréteur PHP 4. Très utilisé au début du Web, supplanté par les technologies de scripting serveur aujourd hui 5. Faiblesse: 1. l environnement d exécution du programme CGI est dissocié de celui du serveur Applications : développement Web 51

52 Technologies serveurs (5) Utilisation des technologies serveurs Développement d applications Internet Développement de pages Web dynamiques 52

53 Serveurs httpd Apache httpd : serveur httpd de la fondation Apache Performant, robuste, complet Distribué librement Serveurs d application IIS +.Net S Serveur d application en technologies Microsoft Supporte les ActiveX, VisualBasic, C# Intégré dans la plate-forme Windows Server Fourni avec l outil de développement Microsoft Visual Studio et l OS Serveur de MS Intérêt : pour développer en technologie Microsoft Tomcat Serveur d application en technologie Java Supporté par la fondation Apache Distribué librement Intérêt : serveur d application libre de référence Weblogic (BEA) et Websphere (IBM) Serveur d application en technologie Java Supportés par leur éditeur Intérêt : support éditeur, + complets que Tomcat 53

54 Outils XML Saxon Parser XML orienté DOM Non totalement compatible DOM Programmation événementielle Utilisation complexe Intérêt Un des premiers parsers performants développés Compatible avec la plupart des plates-formes Standard de fait Tend à être remplacé par des outils issus de la norme Sablotron Processeur de feuille de style XSLT Intégré dans la plupart des plates-formes serveurs Couverture étendue de la norme XSLT Xalan Processeur de feuille de style XSLT Destiné à Java Fourni par la fondation Apache Xerces Parser XML Orienté et compatible DOM Fourni par la fondation Apache 54

55 Outils XML (2) Expat Parser XML Orienté et partiellement compatible DOM Un des premiers parsers intégré dans PHP Apache Batik Processeur de SVG Apache FOP Processeur de XSL-FO 55

56 Outils XML (3) Les outils XML sont nécesaires à l utilisation des technologies XML XSLT => processeur XSLT DOM => parser DOM Schema => processeur de Schéma XSL-FO => générateur de documents à partir de documents XSL-FO etc 56

57 Outils divers PDFLib Librairie de création de documents PDF Distribué commercialement Intérêt Création de PDF sans avoir à apprendre la syntaxe XSL-FO (couche d abstraction plus élevée que XSL-FO) ChartDirector Outil de génération de graphiques à la volée pour les affichage sur le web Production d images GIF, JPEG à partir de tableaux de données Bar chart, etc Fonctions d interactivité sur les graphiques Distribué commercialement Intérêt Création de graphiques dans un format plus simple d usage et d apprentissage plus rapide que SVG (couche d abstraction plus élevée que SVG) 57

58 Outils divers (2) ADOdb Couche d abstraction des bases de données pour PHP Intérêt Modèle portable inter base de données Frameworks de développement Exemples Cocoon Apache Wiki Spipe Imp Etc Intérêt Lorsque l outil correspond au besoin, possibilité d installation rapide d application 58

59 Clients divers Les principaux logiciels clients du marché supportent le protocole http Excel, Word, Business Object, Cognos, etc Il est donc envisageable de réaliser du développement Web (Intranet) ciblé pour ces clients Intérêt Permet de fournir deux versions d une application Client lourd/client léger Permet d utiliser les fonctions «avancées» des clients lourds pour alléger les développements sur des besoins spécifiques Tableaux dynamiques Affichage de graphiques Cubes de données Mise en page et génération de documents 59

60 Messagerie Son usage est fréquent dans le cadre des applications Web Mails de confirmation, mails automatiques Traitement automatique de mails clients Webmail Mailing list Trois protocoles principaux SMTP Simple mail transfer protocol RFC821 Définit les règles d envoi de mail entre Un client mail et un serveur Deux serveurs POP3 Post Office Protocol V3 RFC1939 Orienté client non connecté (connexion -> récupération des mails -> déconnexion) IMAP Internet Message Access Protocol RFC2060 Orienté client connecté (manipulation des mails sur le serveur) 60

61 Messagerie (2) Protocoles propriétaires Clients Client Exchange Client Notes Synchronisation de serveurs Exchange Notes Formats d échange MIME Multipurpose Internet Mail Extension Formatage du contenu des mails S-MIME Secure Mime Signature et cryptage des mails 61

62 Adds on navigateurs Ce sont des outils permettant d exécuter du code sur les navigateurs (~ des CGi et librairies dynamiques serveur côté client) Plugs in : échange de données et intégration dans l interface graphique d un logiciel externe dans le navigateur pour la visualisation d un document ou le traitement d une fonction spécifique Flash Java plug in Acrobat reader Applets et ActiveX Applets = technologie Java ActiveX = Windows Exécution d un programme dédié (Java ou ActiveX) dans une zone spécifique du navigateur 62

63 Adds on des navigateurs (2) Intérêt / besoin couvert Développement de fonctions spécifiques Signature électronique de documents côté client Outils de chat Outils de téléphonie etc 63

64 Bases de données Bases de données Utilisées de manière intensive Nécessite la présence du client correspondant sur le serveur httpd Principales bases rencontrées MySQL PostGres Bases commerciales (Oracle, Sybase) Différences entre les bases Support de certaines fonctions avancées plus ou moins étendues Couches d abstraction XML Scripting sur la base Procédures stockées Cluster Etc Performances, stabilité Outils livrés avec la base Développement Administration 64

65 Outils de développement Des outils sont disponibles pour la plupart des technologies Il est recommandé d en faire usage lorsque c est possible Assistance à la rédaction du code Coloration du code Complétion Indentation Gestion des commentaires Fonctions de recherche et de navigation Vues graphiques Détection des erreurs de syntaxe Debugger Intégration avec d autres outils Gestion de version (CVS) Autres outils de développement 65

66 Outils de développement Ce sont le plus souvent des outils commerciaux Visual Studio Développement.Net, C, C++ Zend Studio Développement PHP XMLSpy Développement XML Frontpage Développement HTML, CSS, Javascript Dreamweaver Développement HTML, CSS, Javascript Flash MX Développement flash et Action Script JBuilder Développement Java IntelliJ IDEA Développement Eclipse (gratuit) Framwork de développement multi langage Inconvénients Coûteux Temps d apprentissage, prise en main de l outil 66

67 Technologies utilisées dans le cadre des TD et TP Côté client HTML + CSS + Javascript + expressions régulières DOM Echange Quelques fonctions de http Envoi de mail? (à voir) RSS (Really Simple Syndication) Côté serveur PHP Java, RMI, Tomcat Manipulation de données XML, XSLT DOM SQL Présentation XSL-FO XSLT 67

Programmation Internet

Programmation Internet Programmation Internet Mikael DAUTREY Janvier 2007 mikael.dautrey@isitix.com 1 Objectifs du module Acquérir des connaissances de base en programmation Internet Technologies Syntaxe des langages Modèles

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

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

Architectures web/bases de données

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

Plus en détail

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

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

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Bertrand DAVID : Interaction Humain-Machine

Bertrand DAVID : Interaction Humain-Machine Interaction Humain-Machine Xml La transformation avec Xslt Les parseurs les outils pour Xml Transformation de documents dans les applications multimédia 1 XML extensible Markup Langage Un langage universel

Plus en détail

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

techniques & langages

techniques & langages 65 techniques & langages ActionScript 2 66 ActionScript 3 67 ASP 68 ASP.NET 69 Bases de données MySQL 70 Ajax 71 Java 72 Javascript-AJAX 73 PHP-MySQL 74 XHTML et CSS niveau 1 75 XHTML et CSS niveau 2 76

Plus en détail

//////////////////////////////////////////////////////////////////// Développement Web

//////////////////////////////////////////////////////////////////// Développement Web ////////////////////// Développement Web / INTRODUCTION Développement Web Le développement, également appelé programmation, désigne l'action de composer des programmes sous forme d'algorithme (codage).

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés XHTML Les bases Jean-François Ramiara INP-ENM 04/10/2012 Toulouse 1 Généralités Jean-François Ramiara XML 2 jours Initiation à XML Contenu Cours Exercices Support PDF Horaires Tour de table 2 Sommaire

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

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE XML/ SOA/ Web services TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE Réf: PXM Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION XML est devenu une technologie incontournable tant sur le poste utilisateur

Plus en détail

Cours de programmation web

Cours de programmation web Cours de programmation web ENSAE 2006-2007 Cours 1 - Introduction 1. Introduction 2. Le principe d Internet 3. Les langages du web 4. Le web 2.0 Introduction : Historique 1967 : Arpanet : réseau militaire

Plus en détail

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

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

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

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Développement Web Introduction générale

Développement Web Introduction générale 1 / 58 Développement Web Introduction générale Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer Juillet 2008 2 / 58 Plan Plan 1 Introduction 2 Historique et

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Chapitre 1 HTML et le Web... 15. Chapitre 2 Les navigateurs du marché... 31. Chapitre 3 Les bases du langage HTML... 49

Chapitre 1 HTML et le Web... 15. Chapitre 2 Les navigateurs du marché... 31. Chapitre 3 Les bases du langage HTML... 49 Chapitre 1 HTML et le Web... 15 1.1 Pourquoi apprendre le langage HTML?... 17 1.2 Trois concepts étroitement liés : WWW, HTML et HTTP... 18 1.3 Principes généraux et versions de HTML... 20 Utilisation

Plus en détail

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

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

Plus en détail

Application 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

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise Lucid e-globalizer, solution globale de gestion de contenu multilingue. Ce document a pour objectif de vous présenter Lucid e-globalizer, la solution de gestion de contenu multilingue de Lucid i.t., ses

Plus en détail

Architecture technique

Architecture technique OPUS DRAC Architecture technique Projet OPUS DRAC Auteur Mathilde GUILLARME Chef de projet Klee Group «Créateurs de solutions e business» Centre d affaires de la Boursidière BP 5-92357 Le Plessis Robinson

Plus en détail

Catalogue de formation

Catalogue de formation 4 rue Jules Raimu 31 200 Toulouse http://www.creabilis.com contact@creabilis.com Tél. : 05 34 251 641 Fax : 05 34 257 956 Catalogue de formation CREABILIS S.A.R.L au capital de 7500 - R.C.S. Toulouse 441

Plus en détail

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

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

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

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

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Calendrier des Formations

Calendrier des Formations Systèmes et Réseaux IPV6 980,00 HT Jan. Fév. Mar. Avr. Mai Juin Jui. Août Sept. Oct. Nov. Déc. Comprendre IPV6 et explorer les méthodes pour migrer 14-15 23-24 1-2 26-27 Configuration et Maintenance des

Plus en détail

Telecommunication Services Engineering (TSE) Lab

Telecommunication Services Engineering (TSE) Lab Chapitre 3: La toile Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Application Couche Application Transport Réseau Liaison de données Support

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

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

Vulnérabilités et sécurisation des applications Web Rencontres SPIRAL 25/02/03 Vulnérabilités et sécurisation des applications Web Pourquoi les firewalls sont impuissants face à certaines attaques patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Langages et technologies du Web 1

Langages et technologies du Web 1 Langages et technologies du Web 1 Manuel ATENCIA manuel.atencia-arcas@upmf-grenoble.fr Objectifs Comprendre le fonctionnement du World Wide Web Produire des documents web statiques et dynamiques 1 2 vocabulaire

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

Écriture de pages Web

Écriture de pages Web Écriture de pages Web Le langage HTML / XHTML Laurent Tichit Janvier 2011 Laurent Tichit 2005-2010 1 Comment fonctionne le Web? C'est un mécanisme client-serveur. Logiciel serveur : programme qui a pour

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

*4D, quand c est la solution qui compte. 4D démocratise les services Web

*4D, quand c est la solution qui compte. 4D démocratise les services Web *4D, quand c est la solution qui compte. 4D démocratise les services Web Table des matières I. INTRODUCTION page 3 II. VERS UNE DEFINITION DES SERVICES WEB 1. Qu est ce que c est? page 3 2. A quoi ça sert?

Plus en détail

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Olivier BOEBION 12/02/2004 1 Le point de départ 1.1 Et la lumière fut... A la fin des années 1980, Tim Berners-Lee travaillant

Plus en détail

Tout pour monter son site Web. IUFM de Bourgogne

Tout pour monter son site Web. IUFM de Bourgogne Tout pour monter son site Web IUFM de Bourgogne Pourquoi utiliser les technologies Web? Visible par toutes les plates-formes (PC, Mac, Unix ) Technologies simples et descriptives Contenu principalement

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

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

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

Plus en détail

Présentation générale des Web Services

Présentation générale des Web Services Présentation générale des Web Services Vue Globale Type d'architecture reposant sur les standards de l'internet Alternative aux architectures classiques : Client/serveur n/tiers Orientée services permettant

Plus en détail

Présentation et traitement d information sur le Web Présentation du WWW (architectures web)

Présentation et traitement d information sur le Web Présentation du WWW (architectures web) Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Présentation et traitement d information sur le Web Présentation du WWW (architectures web) Jean-Michel Follin jean-michel.follin@univ-lr.fr

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Exploitation de données sur Internet/Intranet

Exploitation de données sur Internet/Intranet Exploitation de données sur Internet/Intranet Jacques THOORENS 2 Chapitre 1 Clients et serveurs D un point de vue architectural, l histoire de l informatique peut se voir de la manière suivante : les gros

Plus en détail

Historique et éléments du WEB.

Historique et éléments du WEB. Historique et éléments du WEB...1 1. Internet...2 1.1. Adresse IP...2 1.2. DNS...2 1.3. Approche client-serveur...3 2. Web...3 2.1. CERN (Conseil Européen pour la Recherche Nucléaire)...3 2.2. URL : Uniform

Plus en détail

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Hébergement de sites Web

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

Plus en détail

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Olivier Beaudoux 4 septembre 2008 1 Introduction 1.1 Propos Dans ce mini-projet, nous proposons de construire différentes briques logicielles

Plus en détail

WEBMASTER DEESWEB DEES

WEBMASTER DEESWEB DEES Diplôme Européen délivré par la Fédération Européenne des Ecoles DEES WEBMASTER Fonction Le s adresse aux titulaires d un diplôme du 1er cycle de l enseignement supérieur dans le domaine de l informatique

Plus en détail

420-283 Programmation d'un serveur Session H-2008

420-283 Programmation d'un serveur Session H-2008 420-283 Programmation d'un serveur Session H-2008 1. Une station cliente Client HTTP Encodage SSL Client FTP Client SMTP Client POP Client NNTP HyperText Transfer Protocol Le client HTTP permet la réception

Plus en détail

Ingénieur Développement Nouvelles Technologies

Ingénieur Développement Nouvelles Technologies Ingénieur Développement Nouvelles Technologies M. Nour-eddine FOUAD 26/02 Rue Paul Ramadier 59800 Lille E-mail : fnour@free.fr Site perso : http://nfouad1.free.fr/ : 03.20.06.32.04 : 06.77.44.15.28 Nationalité

Plus en détail

Ecole Nationale Supérieure des Télécommunications Les outils XML

Ecole Nationale Supérieure des Télécommunications Les outils XML Ecole Nationale Supérieure des Télécommunications Les outils XML Page 1 sur 13 SOMMAIRE 1 Introduction 3 2 Parseur XML et processeur XSLT 4 2.1 Le Parseur XML v2 4 2.1.1 Les API DOM et SAX 4 2.1.2 Le parseur

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

Plus en détail

Architectures. 28/12/02 CPI 1A : WEB Présentation 1

Architectures. 28/12/02 CPI 1A : WEB Présentation 1 Architectures 28/12/02 CPI 1A : WEB Présentation 1 Modèle Maître Esclave Utilisation du poste client, un simple terminal passif Le serveur gère l'affichage sur le terminal en fonction. Terminaux spécifiques

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

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

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

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

INTEGRATEUR DEVELOPPEUR

INTEGRATEUR DEVELOPPEUR www.emweb.fr INTEGRATEUR DEVELOPPEUR FORMATION ELIGIBLE AU DIF/CIF DURÉE : 700 h de formation PRE REQUIS Avoir un esprit logique Etre motivé(e)! OBJECTIF A l issue de cette formation, vous serez capable

Plus en détail

Architecture technique des PGI

Architecture technique des PGI Architecture technique des PGI Description du thème Propriétés Description Intitulé long Formation concernée Matière Présentation Notions Transversalité Pré-requis Outils Mots-clés Durée Auteur(es) Version

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

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

FileMaker Server 11. Publication Web personnalisée avec PHP

FileMaker Server 11. Publication Web personnalisée avec PHP FileMaker Server 11 Publication Web personnalisée avec PHP 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Internet. PC / Réseau

Internet. PC / Réseau Internet PC / Réseau Objectif Cette présentation reprend les notions de base : Objectif, environnement de l Internet Connexion, fournisseurs d accès Services Web, consultation, protocoles Modèle en couches,

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Concepteur Développeur Informatique Option Nomade

Concepteur Développeur Informatique Option Nomade Concepteur Développeur Informatique Option Nomade Module : Espace ouvert de formation (2 semaines) Ce module est composée de plusieurs parties : - le module développement durable (14 heures), qui traite

Plus en détail

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript...

Projet Web. Tim Burton. Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Projet Web Tim Burton Refonte complète du site de Tim Burton en utilisant les dernières technologies du web : HTML 5 / CSS 3 / JavaScript... Par Omar EDDASSER L3 ISC parcours MIAGE Sous l enseignement

Plus en détail

18 TCP Les protocoles de domaines d applications

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

Plus en détail

IBM Lotus Domino Designer 6.5.1

IBM Lotus Domino Designer 6.5.1 Créez rapidement des applications multi-plateformes pour automatiser les processus métier et améliorer l efficacité de votre workflow IBM Lotus Domino Designer 6.5.1 Créez, testez et déployez rapidement

Plus en détail

INTRODUCTION CHAPITRE 1

INTRODUCTION CHAPITRE 1 CHAPITRE 1 INTRODUCTION Query, qu est-ce que c est?... 11 HTML, CSS, JavaScript, PHP : qui fait quoi?... 16 Un environnement de développement simple et gratuit... 19 Ce que vous allez apprendre... 20 9

Plus en détail

Alexandre Brillant XML. Modélisation - Schéma - Design patterns - XSLT - XPath - SOAP - XQuery - XSL-FO SVG. Groupe Eyrolles, 2007,

Alexandre Brillant XML. Modélisation - Schéma - Design patterns - XSLT - XPath - SOAP - XQuery - XSL-FO SVG. Groupe Eyrolles, 2007, Alexandre Brillant XML Cours et exercices Modélisation - Schéma - Design patterns - XSLT - XPath - SOAP - XQuery - XSL-FO SVG Groupe Eyrolles, 2007, ISBN : 978-2-212-12151-3 1 Le document XML L objectif

Plus en détail

Initiation au Web et à l HTML

Initiation au Web et à l HTML Initiation au Web et à l HTML Mathieu LACROIX, François RÉVERET, Antoine VACAVANT mathieu.lacroix@isima.fr françois.reveret@univ-bpclermont.fr antoine.vacavant@liris.cnrs.fr 2 et 3 Avril 2007 /40 Mathieu

Plus en détail

Initiation au Web et à l HTML

Initiation au Web et à l HTML Initiation au Web et à l HTML Thibault MARZAIS, Mathieu LACROIX, Antoine VACAVANT marzais@llaic3.u-clermont1.fr mathieu.lacroix@isima.fr antoine.vacavant@liris.cnrs.fr 24 et 25 Avril 2006 /39 Thibault

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Programmeur Java/XML

Programmeur Java/XML Renaud Fleury les Cahiers du Programmeur Java/XML Avec la contribution de Caroline de Vasson, de Frédéric Baudequin et Gaël Thomas Table des matières AVANT PROPOS...VII Quel est l objectif de cet ouvrage?

Plus en détail