Langages centrés données 1/10/2015 M2 Fiil
|
|
- Alexandre Jobin
- il y a 8 ans
- Total affichages :
Transcription
1 Langages centrés données 1/10/2015 M2 Fiil Exercice 1 TD n o 2 Pour cet exercice, récupérer les fichier ApplyXPath.class, movies.xml et movies.dtd sur la page du cours (bouton droit, enregistrer sous). Pour évaluer une expression XPath sur un fichier, on peut utiliser la classe java ApplyXPath présent dans le répertoire de travail : java ApplyXPath fichier.xml 'expression XPath' où expression XPath est votre requête XPath (entourée de guillemets simples). Donner des expressions XPath correspondant aux requêtes suivantes (certaines questions, ou sont très difficiles) : évaluation Il y a pas mal de subtilités dans l évaluation d XPath, détaillée au fur et à mesure de l exercice. Il faut garder en tête le schéma d évaluation suivant (expliqué en cours). Une requête /s 1 /s 2 //s n est appliquée à un noeud fictif, situé au dessus de la racine du document. À chaque pas, on prend l ensemble de nœuds du pas précédant, on lui applique le pas s i ce qui donne un ensemble de nœuds résultants, puis on concatène ces ensembles de nœuds intermédiaires et on les passe comme argument au pas s i+1. Considérons le document (les indices ici ne font pas partie du document mais sont juste là pour rendre les exemples plus parlants) : <a 1 > <b 2 > <c 3 /> <d 4 /> </b> <b 5 > <c 6 /> <e 7 /> </b> <f 8 > <c 9 /> <e 10 /> </b> </a> et le chemin /*/b/c. Ce chemin est en syntaxe abrégée. En syntaxe étendue, il s écrit : /child::*/child::b/child::c. L évaluation à lieu de la manière suivante. On est au dessus de la racine (sur le nœud fictif). On évalue child::*, ce qui renvoie un ensemble de nœuds { a 1 }. Sur cet ensemble de nœuds on applique child::b, ce qui renvoie le résultat intermédiaire : { b 2, b 5 }. Pour chacun des nœuds du résultat intermédiaire, on applique child::c, ce qui donne { c 3 } (pour le premier) et { c 6 } (pour le second), puis on concatène les résultats intermédiaires et on a le résultat final { c 3, c 6 } Syntaxe abrégée vs. Syntaxe étendue la vraie syntaxe (syntaxe concrète) pour XPath, est donnée par la grammaire : 1
2 P ::= /s/... /s chemin absolu s/... /s chemin relatif s ::= axe::test pas simple axe::test[φ]... [φ] pas avec prédicats axe ::= self child parent descendant ancestor following-sibling preceding-sibling descendant-or-self... test ::= * n importe quel élément tag un tag particulier text() un noeud texte node() n importe quel noeud φ ::= φ or φ φ and φ not(φ) connecteurs φ op φ opération f(φ) appel de fonction P chemin "chaine" 42 literaux En syntaxe abrégée, on peut écrire.../x/...pour signifier.../child::x/...et...//...pour signifier.../descendant-or-self::node()/...ainsi, // signifie chercher tous les descendants du noeuds courant vérifiant la suite du chemin. Il y a cependant de subtiles différences entre descendant:: et // (cf. Exo 3). comparaison Les comparaisons sont existentielles. Supposons qu on écrive //a[ φ 1 = φ 2 ] φ 1 et φ 2 peuvent par exemple être des expressions XPath et donc renvoyer chacune des séquences de noeuds : l 1 {t 1 ;... ; t n } et l 2 {s 1 ;... ; s m }. La comparaison vaudra vrai (et donc le prédicat sera vérifié) ssi : i 1..n, j 1..m. t.q. t i = s j (et pareil pour!=, <=,...) En particulier, [ not( φ 1 = φ 2 )] et [ φ 1!= φ 2 ] ne signifient pas du tout la même chose. Dans le premier on souhaite qu aucun élément de gauche ne soit égal à un élément de droite, alors que dans le deuxième on demande qu il existe un élément à gauche différent d un élément à droite. 1. Renvoyer tout le document /*, /movies. Ici les deux marchent, on applique bêtement l algo, on est au dessus de la racine et on fait un pas pour selectionner le nœud racine. 2. Renvoyer tous les éléments title du document //title, /descendant::title, /movies/movie/title. Les deux premiers selectionnent tous les title du document (quel que soit le document), la troisième est spécifique au type de document qu on considère (mais les 3 seraient acceptables comme réponse) 3. Renvoyer tous les prénoms de réalisateur (avec doublons) 2
3 Ici, avec doublons veut juste dire que l on ne cherche pas à éliminer les multiples occurences d un prénom si elles existent. Il faut faire attention, il y a des firstname à la fois sous director et actor (cf. la DTD de l exo 1). Il faut donc que director apparaîsse dans le chemin. Réponses possibles ://director//firstname, /descendant::director/descendant::firstname, /movies/movie/directors/name/firstname, (et autres variations similaires) 4. Renvoyer le titre de tous les films dont l année de sortie est inférieure strictement à 1980 Ici on utilise un prédicat : //movie[ year < 1980 ]/title (on peut aussi donner explicitement /movies/ au lieu du // initial). Ici il faut bien faire attention à ce qui se passe, car beaucoup de choses sont cachées. On descend sur tous les nœuds movie. Pour chacun d eux, on teste year < 1980, i.e. on applique le chemin relatif year au noeud movie, donc on récupère une liste de résultat contenant un unique nœud year, que l on compare à une liste contenant un unique entier, La spéc. nous dit que pour comparer un nœud et un entier, on caste d abord le nœud en chaîne de caractères, puis la chaîne en entier et enfin on compare les deux entiers. Donc ici si on a dans le document <year>2000</year>, le moteur XPath fait la conversion pour obtenir la chaîne "2000" puis la conversion pour obtenir l entier 2000 qu il compare à Une fois que l on a gardé les nœuds movie qui vérifient ce prédicat, on prend pour chacun d eux leur fils title. 5. Renvoyer le titre de tous les films qui ont au moins un titre alternatif La valeur booléene d un chemin (dans un prédicat) est vrai ssi le chemin renvoie au moins un résultat. On peut donc écrire la requête comme ceci : //movie[ alternate_titles/* ]/title Ici le sous-chemin relatif alternate_titles/* renvoie tous les fils (quel que soit leur tag) du nœud alternate_title se trouvant sous le nœud courrant movie. Si cet ensemble de fils est non-vide, alors le prédicat vaut vrai et on garde le movie courant dans la liste des résutlats intermédiaires. On peut ensuite déscendre facilement sur title. Une autre manière de faire est d utiliser la fonction count( ) même si c est un peu moins efficace en pratique : //movie[ count(alternate_titles/*) >= 1 ]/title 6. Renvoyer le titre de tous les films qui ont au moins un titre alternatif en français //movie[alternate_title/atitle/@country = "fr" ]/title ou en syntaxe concrète : /descendant::movie[ child::alternate_title/child::atitle/attribute::country = "fr" ]/child::title 7. Renvoyer le titre de tous les films dont le réalisateur est Quentin Tarantino //movie[ directors/director/name[ firstname = "Quentin" and lastname = "Tarantino"] ]/title On remarque la possibilité de faire des prédicats imbriqués. 8. Renvoyer le titre des films dont la description contient le mot "robot" 3
4 On utilise la fonction contains(, ) : //movie[ contains( summary, "robot")/title] 9. Renvoyer les films (élément movie) où Clint Eastwood est acteur et réalisateur Là encore, pas trop de difficulté : //movie[ actor[ name[ firstname = "Clint" and lastname = "Eastwood"]] and directors/director[ name[ firstname = "Clint" and lastname = "Eastwood"]]] 10. Comme précédemment mais renvoyer le rôle de Clint Eastwood //movie[directors/director[ name[ firstname = "Clint" and lastname = "Eastwood"]]]/actor[ name[ firstname = "Clint" and lastname = "Eastwood"]]/role 11. Renvoyer le titre des films dont la durée est supérieure à la moyenne Très subtile Une réponse naturelle est de faire : //movie[ runtime > sum(//runtime) div count(//runtime) ]/title Comme il y a autant de runtime que de movie (d après la DTD) l expression du dessus semble correcte. Malhreusement c est sans compter la perfidie des conversions de types en XPath. Pour faire des comparaisons numériques (à droite du > il y a div, count etc, donc le moteur comprend que la comparaison se fait sur des nombres et pas des chaînes de caractères), XPath prend la valeur chaîne d un élément puis la caste en nombre (par exemple la chaîne "442" devient l entier 442). Il se trouve qu il y a dans le document d origine des <runtime/>, donc sans contenu (ou avec la chaîne vide comme contenu). Considérons un document où on aurait : <movies> <movie> <runtime>5</runtime> </movie> <movie> <runtime/> </movie> <movie> <runtime>10</runtime> </movie> </movie> (on fait abstraction des autres tags). L expression //runtime renvoie la séquence d élements : <runtime>5</runtime>, <runtime/>, <runtime>10</runtime>. En lisant la doc de sum() on voit qu elle prend une séquence d objets en arguments et, si ce ne sont pas des nombres, les caste d abord en chaîne de caractères puis en nombres. Le cast en chaîne donne : "5", "", "10", puis le cast en nombres donne : 5, NaN, 10 (car la chaîne vide n est pas une représentation valide pour un nombre, donc on a le nombre spécial Not a number aussi renvoyé dans des cas spéciaux comme sqrt(-1)). La somme de tout celà donne donc NaN, qui, divisé par un entier reste NaN et rend la comparaison fausse pour tous les nœuds, donc aucun movie n est séléctionné (car sum(//runtime) div count(//runtime) est une valeur globale, la moyenne des durées. On repart de la racine pour la calculer donc c est la même pour tous les éléments). La bonne réponse est : //movie[ runtime/text() > sum(//runtime/text()) div count(//runtime/text()) ]/title En effet ici, la liste intermédiaire de //runtime est toujours <runtime>5</runtime>, <runtime/>, <runtime>10</runtime> mais on applique le pas./text() à chacun des éléments, qui renvoie entre autre la séquence vide pour l élément du milieu. On se retrouve donc uniquement avec "5", "10" et là la sum va bien fonctionner (pas de NaN). 12. Renvoyer le titre des films dont l année de sortie est bissextile 4
5 Juste pour écrire des and et or //movie[ (year mod 4 == 0) and (year mod 100!=0 or year mod 400 == 0) ]/title 13. Renvoyer le titre des films pour lesquels le titre français et le titre original sont identiques //movie[ title = = "fr" ] ]/title la partie gauche de l égalité selectionne le titre du film, la partie droite tous les titres alternatifs dont l attribut country vaut "fr" 14. Renvoyer le titre des films dont le titre est contenu dans la description //movie[ contains(description, title) ]/title 15. Renvoyer le titre des films pour lesquels l un (au moins) des roles des acteurs apparait dans le titre du film. On se souvient que les filtres sont des conditions existentielles. il faut aussi faire attention, on ne peut pas faire contains(title, actor/role) car le deuxième élément de contains doit être une chaîne et pas une liste de chaînes. On descend donc jusqu à actor. De là on peut écrire une expression qui renvoie un titre (parent::*/title et une expression qui renvoie 1 role (role) //movie/actor[ contains( parent::*/title, role) ]/parent::*/title 16. Renvoyer le titre des films pour lesquels deux acteurs ont le même nom de famille Ici la difficulté est de parler de deux acteurs distincts. Si on fait naivement : //movie[ actor/name/lastname = actor/name/lastname]/title Ça ne marche évidemment pas bien car les deux chemins peuvent selectionner le même nœud et donc le prédicat est toujours vrai. On va plutot descendre sur un nœud actor puis le comparer avec un de ses frères : //movie/actor[ name/lastname = following-sibling::actor/name/lastname ] /parent::*/title Attention, entre les crochets, le nœud courant est un actor, donc en utilisant name on descend d un cran, mais en utilisant following-sibling on reste au même niveau. Comme on est descendu jusque sur actor, il faut remonter d un cran pour pouvoir réaccéder au title. Variante sans parent mais avec un prédicat imbriqué : //movie[ actor[ name/lastname = following-sibling::actor/name/lastname]]/title 17. Renvoyer les noms de famille des réalisateurs qui n apparaissent qu une fois dans le document (en tant que réalisateur) On utilise la même technique que pour la question précédente, mais on étend à tout l arbre. Les réalisteurs uniques sont ceux pour les quel, il n est pas vrai, qu il existe un élément, avant dans le document ou après dans le document qui est égal. On utilise l axe following (resp. preceding), qui renvoie tous les noeuds qui ont un pré-ordre plus grand (resp. plus petit) et qui ne sont pas des descendants. Moralement si <x> </x> est un nœud du document, ses following sont tous les éléments dont le tag ouvrant <y> se trouve après le tag fermant </x>. Les nœudspreceding sont les nœuds<z> </z> tel que </z> arrive avant <x> dans l ordre du document. //director [ not (name/lastname = following::director/name/lastname) and not ( name/lastname = preceding::director/name/lastname) ]/name/lastname 5
6 Encore une fois on note bien que not( x = y ) n est pas la même chose que x!= y. 18. Renvoyer le troisième film (dans l ordre du document) dans lequel apparait Morgan Freeman (Voir aussi Exo 3) Il vaut mieux utiliser /descendant::movie plutot que //movie /descendant::movie[ actor[lastname="freeman" and firstname="morgan"]][position() = 3] Il est très important ici de mettre les prédicats en séquence et de ne pas utiliser un and. En effet dans la requête ci-dessus, on sélectionne d abord tous les films (i), puis on filtre ceux dont l un des acteurs est Morgan Freeman (ii), et seulement ensuite on récupère le 3ème élément de cette liste (iii). Si on avait fait : /descendant::movie[ actor[lastname="freeman" and firstname="morgan"] and position() = 3] Alors on sélectionne tous les films (i), puis on garde ceux pour qui l un des acteurs est Morgan Freeman ET la position est 3. Cette requête ne marchera évidemment que si le 3ème film du document a Morgan Freeman comme acteur. 19. Renvoyer tous les films dont l ordre d apparition dans le document est supérieur à la durée Requête complètement artificielle pour utiliser position() : //movie[ runtime/text() < position() ] 20. Renvoyer la liste de tous les prénoms de réalisateurs, sans doublons On réutilise les même techniques qu à la question 17 : On affiche tous les prénoms de réalisateur sauf ceux pour lesquels il existe, plus loin dans le document un réalisateur de même prénom. //director/name [ not(firstname = following::director/name/firstname) ]/firstname Si un prénom apparait plusieurs fois dans le document, seule la dernière occurence sera affichée. Si on remplace following par preceding seule la première occurence sera affichée. 21. Renvoyer les réalisateurs (élément director) qui jouent dans leur film A strictement parler impossible à faire en XPath. Le mieux qu on puisse faire c est : //director [ name = parent::*/parent::*/actor/name ] On descend sur director et on teste que la valeur chaine de l élément name est égale à celle d un acteur (on remonte sur directors puis movie pour pouvoir redescendre sur actor). Malheureusement name contient deux sous éléments donc le test d égalité concatène leurs valeurs chaînes. Ainsi : <movie> <directors> <director> <name> <firstname>toto</firstname><lastname>titi</lastname> </name> <director> </directors> <actor> 6
7 <name> <firstname>to</firstname><lastname>totiti</lastname> </name> </actor> sera selectionné. On voudrait tester que sous deux nœuds(director and actor) les firstname sont égaux et les lastname sont égaux. Ce n est pas une requête possible en XPath. Exercice 2 En repartant de l exercice du TP1 (interface graphique pour une base de données de films) dont un corrigé est disponible sur la page du cours, écrire une classe XMLModel qui implémente l interface IModel. Cette classe doit charger un fichier XML (au lieu d un fichier CSV) tel que le fichier movies.xml donné à l exercice 1. Le document XML sera représenté par un objet de type Document. Les requêtes seront des requêtes XPath. Les packages suivants sont nécessaires 1 : //Factory pour construire des éléments XML import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; //Les types de noeuds qu'on utilise import org.w3c.dom.document; import org.w3c.dom.node; //Requêtes XPath import javax.xml.xpath.xpath; import javax.xml.xpath.xpathfactory; 1. la liste n est pas exhaustive, le but est de l exercice est aussi de lire la documentation et de comprendre quelles classes sont utiles. 7
Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr
Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents
Plus en détailBases de données documentaires et distribuées Cours NFE04
Bases de données documentaires et distribuées Cours NFE04 Introduction a MongoDB Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire
Plus en détailBD et XML : Exercices
BD et XML : Exercices 1 Stockage XML Voici un arbre XML : A B E C F C F C F D C C D D D 1.1 Stockage générique Exercice 1.1.1 : Définissez un schéma de stockage relationnel générique (sans prendre en compte
Plus en détail1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailBases de données - Modèle relationnel
Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailModule Criteo Tags et Flux pour Magento
Module Criteo Tags et Flux pour Ma Module Criteo Tags et Flux pour Ma Documentation Auteur : Web In Color Date : 23 décembre 2014 Version : 1.3.1 Compatibilité : Ma 1.5.x 1.9.x Nom du document : wic_criteo_fr.pdf
Plus en détailTP1 : Initiation à l algorithmique (1 séance)
Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailIntroduction à Eclipse
Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détail1. Installation du Module
1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de
Plus en détailXML 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étailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailThierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition
XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante
Plus en détailIntroduction à ElasticSearch
Introduction à ElasticSearch Présentée par : Romain Pignolet Lundi 7 Juillet 2014 Sommaire 1 Présentation de Elasticsearch 2 Installation et exemples simples 3 API Rest 4 Comment fonctionne Elasticsearch?
Plus en détailSage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8
Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailTelSurvey Système CATI pour LimeSurvey 11 novembre 2012. Manuel administrateur
TelSurvey Système CATI pour LimeSurvey 11 novembre 2012 Manuel administrateur Table des matières 1 - Pré-requis...2 2 - Installation...2 3 - Création de la table des invitations...3 Procédure d initialisation
Plus en détailManuel de l administrateur
Manuel de l administrateur (Version non définitive Novembre 2013) Technofutur TIC Pedago TIC CC by sa Première utilisation en qualité d administrateur Compte administrateur Statut utilisateur Paramètre
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailGuide de démarrage Tradedoubler. Manuel éditeur / affilié
Guide de démarrage Tradedoubler Manuel éditeur / affilié 1 DEMARRER 1. Devenir éditeur sur Tradedoubler 2. Ajouter ses informations bancaires 3. Bénéficier des paiements internationaux 4. Avoir accès aux
Plus en détailIntroduction aux outils BI de SQL Server 2014. Fouille de données avec SQL Server Analysis Services (SSAS)
MIT820: Entrepôts de données et intelligence artificielle Introduction aux outils BI de SQL Server 2014 Fouille de données avec SQL Server Analysis Services (SSAS) Description générale Ce tutoriel a pour
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailBIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
Plus en détailGestion des références bibliographiques. Comment simplifier la gestion des références bibliographiques?
Gestion des références bibliographiques Comment simplifier la gestion des références bibliographiques? Objectifs de la formation Créer votre base de données personnelle de références bibliographiques.
Plus en détailLes logiciels gratuits en ligne
Les logiciels gratuits en ligne L avantage des outils de bureautique en ligne, est qu ils sont consultables sur n importe quel ordinateur. Seule une connexion Internet est requise. En voici quelques exemples.
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailEXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailIMPORTATION ARTICLES DANS LA BASE DE DONNEES
IMPORTATION ARTICLES DANS LA BASE DE DONNEES PRINCIPE À qui s adresse ce document? Pour permettre l accès à vos articles dans votre boutique, vous devez les ajouter dans une base de données. Ce document
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement
Plus en détailCalculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/
Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes
Plus en détail1. Introduction / Identification
Table des matières 1. Introduction / Identification... 3 2. Création de campagne... 4 1.1. Création de campagne / nouvelle campagne...4 1.1.1. Nommage de la campagne...4 1.1.2. Gestion des contacts...4
Plus en détailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailOpenText StreamServe Cours 4-3710 Customer Communication Management L essentiel
OpenText StreamServe Cours 4-3710 L essentiel Durée : 4 jours Apprendre à utiliser OpenText CCM () pour contrôler vos communications d entreprises. Par une combinaison de théorie et de pratique, le formateur
Plus en détail1. Introduction...2. 2. Création d'une requête...2
1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détail1 - Connexion au service de gestion des demandes informatiques du lycée
1 - Connexion au service de gestion des demandes informatiques du lycée http://support.e-lycee-paca.fr Adresse du service en ligne à partir de tout point d accès internet, 24h/24. 1 Les identifiants sont
Plus en détail< Atelier 1 /> Démarrer une application web
MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailGestion Électronique de Documents et XML. Master 2 TSM
Gestion Électronique de Documents et XML Master 2 TSM I n t r o d u c t i o n Les formats de données F o r m a t s d e d o n n é e Format de donnée : manière de représenter des informations dans un document
Plus en détailApproche Contract First
Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation
Plus en détailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailTable des Matières. Pages 3-4. A propos d emblue. Page 5. L environnement emblue. Création d une campagne d e-mail marketing. Pages 6-15.
MODE D EMPLOI Table des Matières Pages 3-4 A propos d emblue Page 5 L environnement emblue Pages 6-15 Création d une campagne d e-mail marketing Pages 16-17 Liste de contacts Pages 18-20 Résultats des
Plus en détailFaculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML
Faculté Polytechnique de Mons Johnny TSHEKE SHELE Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML Travail de fin d études présenté en vue de l obtention du grade
Plus en détailIngénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau
labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC
Plus en détailTP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager
TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailINSTALLATION ET CONFIGURATION DE OPENLDAP
INSTALLATION ET CONFIGURATION DE OPENLDAP Ce document a pour intérêt de décrire les étapes de l installation et de la configuration de l outil OpenLDAP sous l OS FreeBSD 4.8 Installation et Configuration
Plus en détailManuel d installation de Business Objects Web Intelligence Rich Client.
Manuel d installation de Business Objects Web Intelligence Rich Client. Sommaire 1 Introduction... 3 2 Préconisation... 4 3 Lancement de l installation... 5 4 Installation du logiciel Rich Client... 6
Plus en détailSTRUCTURE DE L ORDINATEUR
Présentation : Un ordinateur est composé de différents éléments. Pour bien utiliser votre ordinateur, il est important de bien les comprendre. Pour comprendre comment fonctionne un ordinateur, il faut
Plus en détailGEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT
GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT Table des matières : Description de l application :... 2 Les raisons d une telle application
Plus en détailAccès à l'information XML par des requêtes XQuery au travers de son XSchema
Rapport projet de fin d étude ASR Accès à l'information XML par des requêtes XQuery au travers de son XSchema Réalisé par : DAB Marwa MGARRECH Oussama Encadré par : Mme LOPES GANCARSKI Alda 2011/2012 Remerciements
Plus en détailProcédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12
Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures
Plus en détailLES TOUT PREMIERS PAS
DESMODO, un logiciel de gestion d idées http://www.desmodo.net/ LES TOUT PREMIERS PAS Desmodo est un logiciel (libre) qui permet, entre autre, de visualiser et de synthétiser, de manière organisée, sous
Plus en détailXML, 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étailMise en place du Module Magento ShoppingFlux
Mise en place du Module Magento ShoppingFlux Auteur: Kassim Belghait Version: 1.3 Date de mise à jour: 24/01/2012 Date de création: 19/01/2012 Table des matières I.Installation du Module... 3 II.Mise en
Plus en détailGestion de références bibliographiques
Mars 2011 Gestion de références bibliographiques Outil pour gérer ses bibliographies personnelles sur le web. Il est intégré à Web of Science (WOS). La version web est une version allégée de EndNote (ne
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailintroduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives
introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques
Plus en détailTrier les ventes (sales order) avec Vtiger CRM
Trier les ventes (sales order) avec Vtiger CRM Dans l'activité d'une entreprise, on peut avoir besoin d'un outil pour trier les ventes, ce afin de réaliser un certain nombre de statistiques sur ces ventes,
Plus en détailReporting Services - Administration
Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons
Plus en détailExcel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr
Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments
Plus en détailPoker. A rendre pour le 25 avril
Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles
Plus en détailDébuter avec Excel. Excel 2007-2010
Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER
Plus en détail! Text Encoding Initiative
Format XML: suite! le contenu d un élément est la concaténation de! texte! et d éléments (imbrication)! => structure arborescente! pas de chevauchement de balises! => exemple : une analyse syntagmatique
Plus en détailRappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Plus en détailchapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Plus en détailRéglages du portail de P&WC
Réglages du portail de P&WC Afin de régler votre navigateur Internet Explorer et de résoudre quelques problèmes spécifiques que les utilisateurs du portail de P&WC pourraient éprouver, nous vous recommandons
Plus en détaildonnées en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Plus en détailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
Plus en détailmon site web via WordPress
mon site web via WordPress Vocabulaire CMS : Content Management System WordPress fait partie de cette famille de logiciels destinés à la conception et à la mise à jour dynamique de sites Web ou d applications
Plus en détailAnnexe C Spécification pour les fichiers importés en format XML
Annexe C Spécification pour les fichiers importés en format XML Format de fichier : Fichier texte du fichier : 1 048 576 octets/caractères (maximum) Convention de dénomination : Le nom recommandé du fichier
Plus en détailSQL Parser XML Xquery : Approche de détection des injections SQL
SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des
Plus en détailProbabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Plus en détailNoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)
1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche
Plus en détailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Plus en détailFormula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Plus en détailMesurer les performances (CPU) sous Linux
Titre : Mesurer les performances (CPU) sous Linux Date : 22/07/2015 Page : 1/7 Mesurer les performances (CPU) sous Linux Résumé : Il existe des outils permettant de tracer les temps CPU utilisés (profiling).
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailBASE DE DONNÉES XML NATIVE
BASE DE DONNÉES XML NATIVE Ivan Madjarov NXDB - exist - XQuery IvMad, 2011-2013 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles
Plus en détailBig Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1
Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués
Plus en détailFormation. Module WEB 4.1. Support de cours
Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,
Plus en détailLangage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Plus en détailCREATION D UNE EVALUATION AVEC JADE par Patrick RUER (www.mathenvideo.comuv.com)
TABLE DES MATIERES I) Le logiciel JADE 2 II) Etablissements 3 1) Configuation de l établissement 3 2) Importation des classes avec SCONET 4 3) Les groupes d élèves 6 4) Les variables supplémentaires 6
Plus en détailEXA1415 : Annotations JavaEE : @Local, @Stateful
EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération
Plus en détailUML et les Bases de Données
CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..
Plus en détail