INFO0406. Olivier Flauzac. Olivier Flauzac (URCA) INFO / 34

Documents pareils
Supervision de réseau

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Programmation des Applications Réparties. Parsers XML DOM et SAX

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Module http MMS AllMySMS.com Manuel d intégration

SII Stage d informatique pour l ingénieur

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Séance 1 Introduction aux bases de données

Programmation Web. Introduction

Formation en Logiciels Libres. Fiche d inscription

Architecture Orientée Service, JSON et API REST

Manuel d intégration API FTP SMS ALLMYSMS.COM

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Alfstore workflow framework Spécification technique

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

4. SERVICES WEB REST 46

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

Cours: Administration d'une Base de Données

Les services usuels de l Internet

CREATION WEB DYNAMIQUE

TP JAVASCRIPT OMI4 TP5 SRC

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

TP 1. Prise en main du langage Python

TP3 : Manipulation et implantation de systèmes de fichiers 1

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

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

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

TP1. Outils Java Eléments de correction

PROGRAMME DE FORMATION CONTINUE «CHEF DE PROJET WEB»

UE 8 Systèmes d information de gestion Le programme

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

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

Introduction au langage C

DESS Arts, création et technologies

Les outils de création de sites web

Introduction au projet ebxml. Alain Dechamps

Ecran principal à l ouverture du logiciel

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

PHP. PHP et bases de données

Pratique et administration des systèmes

Rappel sur les bases de données

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

MobiTicket: une application mobile de ventes aux enchères de billets de spectacles

Programmation Internet Cours 4

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

PROSOP : un système de gestion de bases de données prosopographiques

Bases de programmation. Cours 5. Structurer les données

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

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

Programmation Web. Madalina Croitoru IUT Montpellier

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

Administration Avancée de Réseaux d Entreprises (A2RE)

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Le cadre des Web Services Partie 1 : Introduction

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

Systèmes d'informations historique et mutations

PloneLabs un gestionnaire de contenu pour les laboratoires

Demande de transformation de la formation qualifiante TEMIR : Technicien En Maintenance Informatique et Réseaux en diplôme d université (DU)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Master d'informatique. Réseaux. Supervision réseaux

Téléphone IP Cisco 7942G

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

«Créer son site web professionnel avec WordPress»

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Les bases de données

Le réseau Internet.

Programme Compte bancaire (code)

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Les structures. Chapitre 3

NOS SOLUTIONS DE BANQUE ELECTRONIQUE

Programmation Web Avancée Introduction aux services Web

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)

Passage des documents de compte électroniques à la norme ISO 20022

Configuration Interface for MEssage ROuting

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Hébergement de site web Damien Nouvel

TP1 : Initiation à Java et Eclipse

Baladeur Santé VITAL'ACT

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

S LICENCE INFORMATIQUE Non Alt Alt SS1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

TP1 : Initiation à Java et Eclipse

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

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

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Catalogue des formations Edition 2015

Petite définition : Présentation :

TP2 : Client d une BDD SqlServer

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Catalogue De Formation Pour Les Entreprises

Transcription:

INFO0406 Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) INFO0406 olivier.flauzac@univ-reims.fr 1 / 34

Programme Objectif Etude de technologies et de moyens autour de la programmation WEB Programme 1 XML & PHP 2 Transformation XML (XSLT) 3 AJAX 4 Communication et protocoles 5 Clients et Serveurs en Java Olivier Flauzac (URCA) INFO0406 olivier.flauzac@univ-reims.fr 2 / 34

Organisation Volume horaire CM TD TP 10 heures 10 heures 10 heures Equipe pédagogique Olivier Flauzac (CM) Luiz-Angelo Steffenel (TD, TP) Kudiretti Jacques (TP) Sylvain Darras (TP) Olivier Flauzac (URCA) INFO0406 olivier.flauzac@univ-reims.fr 3 / 34

MCC Session 1 ITP 50 % EET (1 heure) 50 % Session 2 ITP 50 % EET (1 heure) 50 % Olivier Flauzac (URCA) INFO0406 olivier.flauzac@univ-reims.fr 4 / 34

XML & PHP INFO0406 Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 5 / 34

Plan 1 Généralités 2 Structure des documents XML 3 XML et PHP Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 6 / 34

Plan 1 Généralités 2 Structure des documents XML 3 XML et PHP Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 7 / 34

Introduction XML? Extended Markup Language standard définit par le W3c http://www.w3c.org permet une représentation structurée des informations indépendant des plate-formes indépendant des langages indépendant des logiciels qui l exploite Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 8 / 34

Ce qu est XML Définitions un langage de structuration de données basé sur une structure stricte représentation balisée couple balise ouvrante / fermante extensible définition de nouveaux documents définition de nouvelles "balises" Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 9 / 34

Ce que n est pas XML XML n est pas un langage de visualisation un langage d exécution lié à une technologie ou un langage de programmation Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 10 / 34

XML en action Utilisation de XML organisation "locale" de données sauvegarde dans un fichier de type texte mise en place de données structurées alternative à de "petites" bases de données transmission de données échanges normalisés indépendant de l exploitation des données fichier de configuration traitement des données transformation automatique Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 11 / 34

Plan 1 Généralités 2 Structure des documents XML 3 XML et PHP Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 12 / 34

Un exemple Un carnet d adresse <? xml version= " 1.0 " encoding= "UTF 8" standalone= " yes " > <carnet> <personne> <nom> Flauzac < / nom> <prenom> O l i v i e r < / prenom> <adresse> dans son bureau < / adresse> < / personne> <personne> <nom> S t e f f e n e l < / nom> <prenom> Luiz Angelo < / prenom> <adresse> chez l u i < / adresse> < / personne> < / carnet> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 13 / 34

L en tête Rôles définir et préciser le type du document (XML) définir la version utilisée définir l encodage (codage des caractères) définir les relations avec d autres documents Exemple <? xml version= " 1.0 " encoding= "UTF 8" standalone= " yes " > Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 14 / 34

Les éléments XML Rôles architecture des données hiérarchie des informations définition par imbrication de couples de balises <balise> contenu </balise> <carnet> <personne> <nom> Flauzac < / nom> <prenom> O l i v i e r < / prenom> <adresse> dans son bureau < / adresse> < / personne> < / carnet> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 15 / 34

Représentation sous forme d arbre Flauzac Olivier dans son bureau Steffenel Luiz-Angelo chez lui Arbre du document carnet carnet personne personne nom prénom adresse nom prénom adresse Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 16 / 34

Les attributs Rôles qualification des éléments définit sous la forme : nom="valeur" définit dans la balise "ouvrante" <carnet> <personne> <nom> Flauzac < / nom> <prenom> O l i v i e r < / prenom> <adresse type= " t r a v a i l " > dans son bureau < / adresse> < / personne> <personne> <nom> S t e f f e n e l < / nom> <prenom> Luiz Angelo < / prenom> <adresse type= " perso " > chez l u i < / adresse> < / personne> < / carnet> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 17 / 34

Représentation sous forme d arbre Flauzac Olivier dans son bureau Steffenel Luiz-Angelo chez lui Arbre du document carnet carnet personne personne nom prénom adresse travail nom prénom adresse perso Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 18 / 34

Plan 1 Généralités 2 Structure des documents XML 3 XML et PHP Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 19 / 34

Utiliser XML en PHP Solution codage manuel des opérations gestion des chaînes de caractères, expressions régulières... utilisation de structure élémentaires de gestion XML utilisation directe d une bibliothèque de bas niveau libxml utilisation d une bibliothèque spécifique : SimpleXML utilisation d un système de transformation (XSLT) Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 20 / 34

SimpleXML Caractéristiques opérations de base XML permet la création, manipulation de documents XML bibliothèque objet fournie en standard dans PHP Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 21 / 34

Utilisation Programmation objet création d un objet SimpleXML vide à partir d une chaîne de caractères item à partir d un fichier manipulation à l aide des méthodes manipulation des noeuds XML manipulation des attributs retour d une chaîne affichable sauvegarde dans un fichier texte Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 22 / 34

Construction d un objet SimpleXML A partir d une chaîne utilisation du constructeur de la classe SimpleXML construct ( s t r i n g $data [, i n t $options [, bool $ d a t a _ i s _ u r l [, s t r i n g $ns [, bool $ i s _ p r e f i x ] ] ] ] ) data : chaîne XML bien formé ou URI d un document options : définition de paramètres de la bibliothèque XML data_is_url : définition si data est de type URI Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 23 / 34

Construction d un objet SimpleXML : exemples A partir d une chaîne <? $chaine= " <a> <b> h e l l o </b> <b> s a l u t </b> </a> " ; $xml = new SimpleXMLElement ( $chaine ) ;?> A partir d un URI <? $sxe = new SimpleXMLElement ( h t t p : / / example. org / document. xml, NULL, TRUE ) ;?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 24 / 34

Construction d un objet SimpleXML A partir d un fichier méthode simple_xml_load_file o b j e c t s i m p l e x m l _ l o a d _ f i l e ( s t r i n g $filename [, s t r i n g $class_name= " SimpleXMLElement " [, i n t $options =0 [, s t r i n g $ns [, bool $ i s _ p r e f i x = false ] ] ] ] ) filename : chemin du fichier class_name : classe de résultat options : définition de paramètres de la bibliothèque XML A partir d un fichier <??> $videotheque = s i m p l e x m l _ l o a d _ f i l e ( " f i c h i e r. xml " ) ; Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 25 / 34

Récupération d une chaîne Récupération à partir d un objet SimpleXML mixed asxml ( [ s t r i n g $filename ] ) filename : fichier à écrire au lieu de retourner la chaîne de caractères Affichage du contenu <? $carnet = s i m p l e x m l _ l o a d _ f i l e ( " f i c h i e r. xml " ) ; echo " <pre > " ; echo $carnet >asxml ( ) ; echo " </ pre > " ;?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 26 / 34

Ajout des données ajout d un noeud addchild SimpleXMLElement addchild ( s t r i n g $name [, s t r i n g $value [, s t r i n g $namespace ] ] ) name : nom du noeud value : valeur associée namespace : espace de nom associé Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 27 / 34

Ajout de noeuds Construction d un document <? $xml = new SimpleXMLElement ( " <carnet > </ carnet > " ) ; $personne = $xml >addchild ( " personne " ) ; $personne >addchild ( "nom", " Durant " ) ; $personne >addchild ( " prenom ", " Paul " ) ; $personne >addchild ( " adresse ", " i c i et l à " ) ; $personne = $xml >addchild ( " personne " ) ; $personne >addchild ( "nom", " Dupont " ) ; $personne >addchild ( " prenom ", " Jean " ) ; $personne >addchild ( " adresse ", " plus l o i n " ) ; echo " <pre > " ; echo $xml >asxml ( ) ; echo " </ pre > " ;?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 28 / 34

Un document XML Un document XML <?xml version= " 1.0 " encoding= "ISO 8859 1" standalone= " yes "?> <videotheque> < f i l m > < t i t r e > Pulp f i c t i o n < / t i t r e > <realisateur > Quentin Tarantino < / realisateur > <annee> 1994 < / annee> <acteurs> <acteur> John T r a v o l t a < / acteur> <acteur> Uma Thurman < / acteur> <acteur> Bruce W i l l i s < / acteur> <acteur> Samuel L. Jackson < / acteur> < / acteurs> < / f i l m > < f i l m > < t i t r e > Lawrence d Arabie </ t i t r e > < realisateur > David Lean </ realisateur > <annee> 1962 </annee> <acteurs > <acteur > Peter O Toole < / acteur> <acteur> Omar S h a r i f < / acteur> <acteur> Alec Guinness < / acteur> < / acteurs> < / f i l m > Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 29 / 34

Construction d un document < f i l m > < t i t r e > Le bon, l a brute et l e truand < / t i t r e > <realisateur > Sergio Leone < / realisateur > <annee> 1966 < / annee> <acteurs> <acteur> C l i n t Eastwood < / acteur> <acteur> Lee Van Cleef < / acteur> <acteur> E l i Wallach < / acteur> < / acteurs> < / f i l m > < f i l m > < t i t r e > Impitoyable < / t i t r e > <realisateur > Clint Eastwood < / realisateur > <annee> 1992 < / annee> <acteurs> <acteur> C l i n t Eastwood < / acteur> <acteur> Gene Hackman < / acteur> <acteur> Morgan Freeman < / acteur> < / acteurs> < / f i l m > < / videotheque> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 30 / 34

Parcourir un document Utilisation du tableau des noeuds fils : accès direct les fils d un noeud sont numérotés dans un tableau <? $videotheque = s i m p l e x m l _ l o a d _ f i l e ( " video. xml " ) ; echo " <p> f i l m 1 : ". $videotheque >f i l m [0] > t i t r e. " </p> " ; echo " <p> f i l m 2 : ". $videotheque >f i l m [1] > t i t r e. " </p> " ; echo " <p> f i l m 3 : ". $videotheque >f i l m [2] > t i t r e. " </p> " ; echo " <p> f i l m 4 : ". $videotheque >f i l m [3] > t i t r e. " </p> " ;?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 31 / 34

Parcourir un document Utilisation du tableau des noeuds fils parcours avec un boucle utilisation de la structure foreach <? $videotheque = s i m p l e x m l _ l o a d _ f i l e ( " video. xml " ) ; foreach ( $videotheque > f i l m as $ f i l m ) { echo " <p> ", $ f i l m > t i t r e, " </p> " ; }?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 32 / 34

Parcourir un document Utilisation des noeuds fils utilisation de la méthode children SimpleXMLElement c h i l d r e n ( [ s t r i n g $ns [, bool $ i s _ p r e f i x ] ] ) <? $videotheque = s i m p l e x m l _ l o a d _ f i l e ( " video. xml " ) ; foreach ( $videotheque >c h i l d r e n ( ) as $ f i l m ) { echo " <p> ", $ f i l m > t i t r e, " </p> " ; foreach ( $ f i l m >acteurs >c h i l d r e n ( ) as $act ) { echo " <p> > ", $act, " </p> " ; } }?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 33 / 34

Suppression d un noeud de l arbre Utilisation de unset destruction d une variable (d un noeud) void unset ( mixed $var [, mixed $var [, mixed $... ] ] ) <? $videotheque = s i m p l e x m l _ l o a d _ f i l e ( " video. xml " ) ; echo " <p> f i l m 1 : ". $videotheque >f i l m [0] > t i t r e. " </p> " ; echo " <p> f i l m 2 : ". $videotheque >f i l m [1] > t i t r e. " </p> " ; echo " <p> f i l m 3 : ". $videotheque >f i l m [2] > t i t r e. " </p> " ; echo " <p> f i l m 4 : ". $videotheque >f i l m [3] > t i t r e. " </p> " ; unset ( $videotheque >f i l m [ 0 ] ) ; echo " <hr / > " ; echo " <p> f i l m 1 : ". $videotheque >f i l m [0] > t i t r e. " </p> " ; echo " <p> f i l m 2 : ". $videotheque >f i l m [1] > t i t r e. " </p> " ; echo " <p> f i l m 3 : ". $videotheque >f i l m [2] > t i t r e. " </p> " ;?> Olivier Flauzac (URCA) XML & PHP olivier.flauzac@univ-reims.fr 34 / 34