Céline CAPRON Laurent FALLET. Implémentation XML de la norme ISO

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

Download "Céline CAPRON Laurent FALLET. Implémentation XML de la norme ISO 11179-3"

Transcription

1 Céline CAPRON Laurent FALLET Implémentation XML de la norme ISO Janvier 2004

2 Table des matières 1 Introduction 3 2 XML Schema Introduction Différences entre DTD et XSD Syntaxe Types Dérivation par restriction Dérivation par liste Dérivation par union Exemple concret Utilisation pratique des XSD Liens entre XML et XSD Organisation physique des fichiers XSD Outils Editeur de XSD Validateur La Norme ISO Présentation ISO, AFNOR et IEC But de la norme ISO/IEC Structure du modèle conceptuel Le domaine conceptuel (Conceptual Domain)

3 ISO TABLE DES MATIÈRES Domaine de valeurs Exemples d application de la norme ISO ISO Travail réalisé Choix du XML Processus de transformation mis en place Technologies à disposition Schéma des transformations Problème(s) rencontré(s) Perspectives techniques Conclusion 33 6 Bibliographie 34 7 Annexes Répartition du travail Diagrammes Contenu du CD

4 1 Introduction Le sujet de l étude suivante peut être défini ainsi : "La norme ISO définit un cadre de développement de spécification de métadonnées (données sur des données). La troisième partie de cette norme 1 propose un modèle objet de cette spécification. L objectif de ce projet est d implémenter ce modèle en XML." Les technologies de l information sont en plein essor, avec un objectif majeur : décorréler le contenu d un document de son support. Pour connaître le support d un document, il suffit de se référencer aux métadonnées. Cependant il existe plusieurs normes sur les métadonnées de part le monde. Par exemple, dans le domaine des documents pédagogiques, il existe la MLR "Metadata for Learning Resources". Le MLR est le domaine conceptuel de la norme ISO La MLR possède plusieurs instanciations : la LOM ("Learning Object Metadata" 2 ), l IMS ("Instructional Management Systems"), le Dublin Core 3, MPE... tous ces standards se situent au niveau de la représentation. Le problème qui se pose est le suivant : comment serait-il possible de passer aisément d une représentation à une autre? Actuellement, passer de l une à l autre exige un traducteur. Or s il existe N normes différentes, il faut un traducteur pour chaque interaction, ce qui revient à N(N 1) traducteurs pour pouvoir passer d une représentation à n importe quelle autre. En effet il y a 2 transformations pour chaque couple (voir schéma). L objectif de la norme ISO est qu elle soit commune à toutes les représentations. Chaque représentation pourrait se situer par rapport à la norme, et créer un traducteur vers l ISO 11179, ainsi que son inverse. Cette dernière deviendrait l intermédiaire entre 2 représentations. Ce procédé permet de réduire le nombre de traducteurs nécessaires à 2N. La complexité est donc grandement réduite. FIG. 1 Intérêt d un traducteur commun entre diverses représentations 1 référence ISO/IEC :2003(E) 2 IEEE ISO

5 ISO Introduction Notre travail a donc consisté à réaliser une ébauche de l application en XML de la partie 3 de la norme ISO (Registry metamodel and basic attributes). Le présent rapport est organisé comme suit : dans la première partie, nous exposerons les spécifications techniques du XML Schema, ses particularités et avantages. Dans une seconde partie, nous résumerons la partie de la norme qui nous concerne, puis les 2 exemples dont nous nous sommes servis. Enfin, dans la dernière partie, nous évoquerons le travail réalisé et les perspectives. 4

6 2 XML Schema 2.1 Introduction Le W3C XML Schema est un langage de définition de données écrit en XML, pour décrire et structurer le contenu des documents XML. XML Schema, aussi connu sous le nom de XSD, est le vocabulaire permettant d exprimer les règles de validation d un document XML. XML Schema est une recommandation de la W3C. Pour être valide, un document XML doit se conformer à un ensemble de contraintes. Voici un exemple de fichier XML : <lieu> <latitude> </latitude> <longitude> </longitude> <incertitude unite="metres">2</incertitude> </lieu> Les contraintes sur ces données sont : un lieu doit contenir une latitude, une longitude, et une incertitude latitude et longitude doivent être des réels à 6 décimales latitude a un intervalle de -90 à +90, longitude de -180 à +180 l incertitude doit être un entier non négatif l attribut unite ne peut contenir que les valeurs metres ou miles Ces contraintes peuvent être exprimées en utilisant des DTD (Document Type Definition), ou des XSD (XML Schema Definition). Il est possible de spécifier la structure d un document, aussi bien que le type de données de chaque élément ou attribut. XSD est un langage récent (publié par la W3C en mai 2001, après 2 ans de développement), donc bien plus évolué que les DTD. 2.2 Différences entre DTD et XSD Une des méthodes précédant le XML Schema pour la description de la structure des documents est la DTD. Voici quelques critères de comparaison : la syntaxe des DTD est spécifique, non XML (apprentissage nécessaire) ; les DTD ont une faible capacité de définition des types de données ; par exemple on ne peut pas spécifier une contrainte du type : "cet élément sera un entier dont la valeur sera comprise entre 0 et 12" ; les DTD supportent 10 types de données contre plus de 44 pour les XSD ; possibilité avec XML Schema de créer ses propres types de données ; 5

7 ISO Syntaxe XSD est orienté objet : possibilité d étendre ou restreindre un type (en dérivant d un autre type) ; XML Schema permet de spécifier un élément dont le contenu sera unique (clé), pour une région ou la totalité du document ; XSD a la possibilité de définir plusieurs éléments au même nom mais avec un contenu différent ; XML Schema supporte un contenu vide ; les XSD permettent de définir des éléments substituables ; Pour résumer : DTD non XML peu modulaire non typé XSD langage XML extrêmement modulaire typé Pour toutes ces raisons la technologie XSD a été choisie pour structurer les documents de notre projet. 2.3 Syntaxe Prenons pour commencer un document XML relativement simple : <?xml version="1.0" encoding="utf-8"?> <book isbn=" "> <title>being a Dog Is a Full-Time Job</title> <author>charles M. Schulz</author> <character> <name>snoopy</name> <friend-of>peppermint Patty</friend-of> <since> </since> <qualification>extroverted beagle</qualification> </character> <character> <name>peppermint Patty</name> <since> </since> <qualification>bold, brash and tomboyish</qualification> </character> </book> Nous allons créer pas à pas le XSD, en suivant le document XML. Tout d abord ouvrons un élément schema, qui commence un schéma W3C XML Schema, permettant de définir l espace de nom cible : 6

8 ISO Syntaxe <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" Il existe 2 catégories d éléments : les complextype, ayant des attributs et des sous-éléments, et les simpletype, réservés aux attributs et éléments sans sous-élément ou attribut et ne contenant donc que des valeurs. La liste des sous-éléments sera décrite à l intérieur d un élément sequence, qui définit une liste ordonnée d éléments : <xsd:element name="book"> <xsd:complextype> <xsd:sequence>... </xsd:sequence> </xsd:complextype> </xsd:element> A l intérieur de cette structure nous allons décrire les éléments "title" et "author" comme des types simples, puisqu ils n ont ni attribut ni sous-élément. Le type string que nous utilisons est préfixé par l espace de noms que nous avons choisi pour le schéma (xmlns:xsd=" : <xsd:element name="title" type="xsd:string"/> <xsd:element name="author" type="xsd:string"/> A présent, nous rencontrons l élément "character" qui doit être considéré comme un type complexe. Nous allons déclarer sa cardinalité, à savoir qu il peut y en avoir autant qu on le désire : <xsd:element name="character" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> minoccurs est le nombre minimum d occurrences et maxoccurs le nombre maximum d occurrences. Ici, maxoccurs est déclaré "unbounded" c est à dire que l élément peut être répété autant de fois que l auteur du document xml le souhaite. Ces deux attributs ont une valeur égale à 1 par défaut. On déclare ensuite les éléments formant la séquence, en utilisant des types simples, dont le type date. Il faut ensuite refermer la séquence de "character" et de "book", puis déclarer l attribut "isbn" de "book" (on déclare toujours les attribut après les éléments) : 7

9 ISO Syntaxe <xsd:element name="since" type="xsd:date"/> <xsd:element name="qualification" type="xsd:string"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> <xsd:attribute name="isbn" type="xsd:string"/> </xsd:complextype> </xsd:element> </xsd:schema> La définition des éléments et attributs à l endroit où ils vont être utilisés peut devenir lourde si le document est complexe. Il existe une autre méthode, plus proche des DTD, qui consiste à définir un catalogue d éléments et d attributs, puis à utiliser des références aux éléments et attributs prédéfinis : <!-- définition des éléments simpletype --> <xsd:element name="title" type="xsd:string"/> [...] <xsd:element name="qualification" type="xsd:string"/> <!-- définition des attributs --> <xsd:attribute name="isbn" type="xsd:string"/> <!-- définition des éléments complextype --> <xsd:element name="character"> <xsd:complextype> <xsd:sequence> <!-- les éléments simpletype sont référencés en utilisant l attribut "ref" --> <xsd:element ref="name"/> <!-- la cardinalité est définie quand l élément est référencé --> <xsd:element ref="friend-of" minoccurs="0" maxoccurs="unbounded"/> <xsd:element ref="since"/> <xsd:element ref="qualification"/> </xsd:sequence> </xsd:complextype> </xsd:element> <xsd:element name="book"> <xsd:complextype> <xsd:sequence> <xsd:element ref="title"/> <xsd:element ref="author"/> <xsd:element ref="character" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> <xsd:attribute ref="isbn"/> </xsd:complextype> 8

10 ISO Types </xsd:element> </xsd:schema> Dans notre premier exemple, nous définissions localement les éléments et attributs, à l endroit où ils apparaissaient dans la structure du document. Les éléments définis localement ne peuvent pas être utilisés comme élément racine du document XML. De plus les éléments et attributs locaux ne peuvent être réutilisés ailleurs dans le schéma qu à l endroit défini. Les éléments définis globalement, comme dans l exemple ci-dessus, permettent d utiliser "character" comme élément racine, et de réutiliser les définitions dans d autres types, où à d autres feuilles de l arbre. Le choix à réaliser entre les 2 méthodes varie selon que l on favorise la souplesse ou la profondeur du XSD. 2.4 Types Nous avons vu qu il existe des types simples et des types complexes. Les types simples représentent les feuilles de l arbre, et les types complexes sa structure. Un type peut être considéré comme une classe, ses éléments et attributs étant des objets, instances de cette classe. Il existe environ 44 types prédéfinis. Il y a quelques types de départ, appelés types primitifs, qui permettent d obtenir les autres types. Ci-dessous une petite description xs :string : chaîne de caractères, similaire à xs :normalizedstring et xs :token. Les différences résident dans la gestion des séparateurs dits "blancs" (espace, tabulation, retour chariot... ) xs :language : spéficie le code de langue, par exemple en, en-us, fr ou encore fr-fr. xs :ID : valeur unique sur l ensemble du document xs :IDREF : valeur d un ID se trouvant dans le document xs :ENTITY : valeur qui correspond à celle d une entité externe déclarée dans une DTD xs :hexbinary, xs :base64binary : différents codages xs :decimal : ensemble des nombres décimaux xs :integer : entier sans limite de taille, qui a les types dérivés xs :nonpositiveinteger, xs :positiveinteger, xs :negativeinteger... xs :long, xs :int, xs :short, xs :byte : entiers sur 64, 32, 16 ou 8 bits. Il existe la même chose en xs :unsignedlong, xs :unsignedint... xs :float, xs :double, xs :boolean, xs :datetime, xs :date, xs :gyear, xs :time, xs :duration... xs :NMTOKENS, xs :IDREFS, xs :ENTITIES : listes d items délimités par des séparateurs Voici une architecture des types de base : 9

11 ISO Types FIG. 2 Graphe de hiérarchie des types de données prédéfinis Il est possible d obtenir de nouveaux types par dérivation des types simples. Il existe 3 types de dérivations : la dérivation par restriction, par liste ou par union. La dérivation par restriction est la plus communément utilisée Dérivation par restriction La dérivation par restriction est faite en appliquant des facettes sur un type de base dont le type dérivé conserve la sémantique. Les facettes sont des contraintes élémentaires dont la nature et les conséquences dépendent du type de base. Plus simplement, les types sont créés en ajoutant de nouvelles contraintes aux valeurs initialement autorisées. 10

12 ISO Types Voici un exemple de dérivation par restriction : le type de base, un string, est restreint à une chaîne de 5 caractères numériques, grâce à un pattern : <xs:simpletype name="typecodepostal"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{5}"/> </xs:restriction> </xs:simpletype> Il existe 3 types de facettes : facette xs:whitespace, qui gère le séparateur espace pour les types string et normalized- String ; facette xs:pattern, qui s applique au champ lexical (comme nous l avons vu dans l exemple précédent) ; toutes les autres facettes, qui s appliquent à l espace de valeurs ; Il est également possible de préciser les valeurs minimum ou maximum (inclue ou exclue), longueur, codage (en octets ou caractères),... Il est important de signaler que les facettes ne s appliquent pas à tous les types, mais seulement à certains. Par exemple, la facette fractiondigit le nombre de chiffres après la virgule ne s applique qu au type decimal, et non entier (bien entendu). Autre exemple de dérivation par restriction, qui n autorise que 3 valeurs possibles, grâce à une enumeration : <xs:simpletype name="typetaille"> <xs:restriction base="xs:string"> <xs:enumeration value="petite"/> <xs:enumeration value="moyenne"/> <xs:enumeration value="grande"/> </xs:restriction> </xs:simpletype> Dérivation par liste La dérivation par liste crée un type liste à partir d un type atomique, ce qui oblige tous les items de la liste à avoir le même type. Les types créés ont la sémantique d une liste, la sémantique individuelle est perdue. Le principal inconvénient de la version actuelle de XML Schema est l impossibilité de définir le caractère de séparation des items de la liste. On doit donc définir les listes séparées par un caractère espace : <courses>entrées fruits viande légumes</courses> 11

13 ISO Exemple concret Déclarons le type "typelistedecourses" : <xs:simpletype name="typelistedecourses"> <xs:list itemtype="xs:string"/> </xs:simpletype> On peut mesurer la longueur d une liste par son nombre d items. Il est possible d appliquer des facettes sur les listes, cependant il faut respecter la définition de la liste en premier lieu, puis la contrainte qui lui est appliquée. Enfin, la recommandation interdit de définir des listes de listes Dérivation par union La dérivation par l union crée un type qui est l union des types membres. Par exemple, nous pouvons définir le type nombre, dont les instances pourront être à la fois un entier, un réel ou un double précision. Voici le code : <xs:simpletype name="typenombre"> <xs:union membertypes="xs:integer xs:string xs:double"/> </xs:simpletype> Il est également possible de cumuler plusieurs restrictions de différentes sortes ; on peut ainsi imaginer l union de 2 listes restreintes. Cependant les deux seules facettes supportées par le type union sont pattern et enumeration. 2.5 Exemple concret Ci-dessous 2 fichiers qui m ont permis de m exercer à la définition de XSD. Le fichier personne.xsd décrit l architecture du fichier xml, en déclarant les éléments à l endroit où ils apparaissent. Cependant cela rend la structure moins souple, et moins modulaire. personnes.xml <?xml version="1.0" encoding="iso "?> <personnes xmlns:xsi=" xsi:nonamespaceschemalocation= personne.xsd > <personne naissance="1969"> <identite> 12

14 ISO Exemple concret <prenom>linus</prenom> <nom>torvalds</nom> </identite> <liste puce="chiffre"> <profession>informaticien</profession> <loisir>construire un OS</loisir> </liste> </personne> <personne naissance="1912" mort="1954"> <identite> <prenom>alan</prenom> <nom>turing</nom> </identite> <liste puce="lettre"> <profession>informaticien</profession> <profession>mathématicien</profession> <profession>cryptographe</profession> </liste> </personne> <personne naissance="1973"> <identite> <prenom>nicolas</prenom> <nom>malandain</nom> </identite> <liste puce="chiffre"> <profession>maître de conférences</profession> <loisir>informatique</loisir> <loisir>roller</loisir> <loisir>aikido</loisir> </liste> </personne> <personne naissance="1970"> <identite> <prenom>nicolas</prenom> <nom>delestre</nom> </identite> <liste puce="chiffre"> <profession>motard</profession> <loisir>tricoter</loisir> </liste> </personne> <personne naissance="1970"> <identite> 13

15 ISO Exemple concret <prenom>alain</prenom> <nom>rakotomamonjy</nom> </identite> <liste puce="romain"> <profession>joueur de billard</profession> <loisir>se prendre des tôles à XBlast</loisir> </liste> </personne> </personnes> personne.xsd <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="personnes"> <xs:complextype> <xs:sequence> <xs:element maxoccurs="unbounded" minoccurs="0" name="personne"> <xs:complextype> <xs:sequence> <xs:element name="identite"> <xs:complextype> <xs:sequence> <xs:element name="prenom" type="xs:string"/> <xs:element name="nom" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="liste"> <xs:complextype> <xs:sequence> <xs:element name="profession" type="xs:string" minoccurs="1" maxoccurs="3"/> <xs:element name="loisir" type="xs:string" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> <xs:attribute name="puce" use="required"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:enumeration value="chiffre"/> <xs:enumeration value="lettre"/> <xs:enumeration value="romain"/> </xs:restriction> </xs:simpletype> 14

16 ISO Utilisation pratique des XSD </xs:attribute> </xs:complextype> </xs:element> </xs:sequence> <xs:attribute name="naissance" type="xs:string" use="required"/> <xs:attribute name="mort" type="xs:string" use="optional"/> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 2.6 Utilisation pratique des XSD Comme nous l avons vu, le XML Schema a des capacités de description de données importantes, mais surtout extensibles. Il est donc important de savoir mettre une XSD à profit pour la génération des instances de documents XML Liens entre XML et XSD Il est essentiel d associer les fichiers XML à leur XSD, pour pouvoir vérifier la syntaxe des instances de documents. Il y a 2 principaux cas : lorsque l on connaît le namespace et lorsque l on n en n utilise aucun. Dans le cas où l on utilise pas de namespace, on utilise l attribut xsi :nonamespaceschemalocation. Cet attribut est porté par l élément racine du document XML. Le plus souvent celà est utilisé quand la XSD est contenue dans le même répertoire que le document instancié. <ISO xmlns:xsi=" xsi:nonamespaceschemalocation="example.xsd"> Voici un exemple avec un namespace : <ISO xmlns:xsi=" xsi:schemalocation=" example.xsd"> L attribut xsi :schemalocation contient une paire de valeurs, la première étant l URI de l espace de noms recherché et la seconde l emplacement physique du schéma qui lui correspond. Cette informa- 15

17 ISO Utilisation pratique des XSD tion connue, le validateur (un éditeur, un validateur ou autre) peut lire le schéma et valider l instance du document Organisation physique des fichiers XSD Un fichier XSD, même sans être complexe, est relativement volumineux. De plus il se peut que l on désire réutiliser une partie d une XSD. Il faut alors fractionner le fichier ; une bonne répartition peut être de placer d un côté les définitions, et de l autre l architecture. Dans l architecture on n incluera que les définitions de types nécessaires. L inclusion d un schéma dans un autre se fait ainsi : <xs:schema xmlns:xs=" <xs:include schemalocation="administered_item_type.xsd"/>... </xs:schema> L effet de l inclusion d un schema est la fusion des 2 documents en un seul schéma global. Le schéma inclus n a pas besoin d être un schéma complet en lui-même. On peut ainsi déclarer les types dans un document, et l inclure dans un autre qui ne contiendra que la description de la structure. Attention, il n est pas possible d indiquer 2 définitions identiques, car il n y a pas de règle de priorité d une définition sur une autre, cela est donc considéré comme une erreur. Différences entre xs :include et xs :import Le premier permet d inclure des schéma pour le même espace de noms cible. Le second réalise l import d un schéma dans un autre espace de nom. Avec xs :include il n est pas possible de changer les définitions du schéma inclus. Pour cela, il faut utiliser xs :redefine. Ces fonctions sont la base de la création de bibliothèques de schémas. 16

18 ISO Outils 2.7 Outils Editeur de XSD Veillez à choisir un éditeur qui prend en charge les XSD (ceci est indiqué dans les fonctionnalités du logiciel), la création et la validation de vos documents XML n en sera que plus facile. <oxygen/> Ce logiciel permet de gérer efficacement des documents XML, ainsi que les documents associés tels que XML Schéma (XSD), Schéma de RELAX NG, DTD et XSLT. Avec FOP ou XEP il sera facile de réaliser des transformation en PS ou PDF, par le biais d une XSLT-FO. Egalement disponible en plug-in pour Eclipse. http :// xmlspy Environnement de développement qui permet l édition et le débuggage des XSD, XSL... Il permet d obtenir une vue graphique du schema XML en cours de développement. http :// Eclipse Il existe des packages pour Eclipse, disponibles à cette adresse : http :// Validateur XSV - Conseillé par le W3C, ce validateur est disponible en téléchargement et en ligne : http :// La version pour Windows se trouve ici : ftp ://ftp.cogsci.ed.ac.uk/pub/xsv/xsv25.exe Pour Linux : ftp ://ftp.cogsci.ed.ac.uk/pub/xsv/xsv-2.5.tar.gz (Attention, Python 2.2 est requis). 17

19 3 La Norme ISO Présentation ISO, AFNOR et IEC l ISO (International Standard Organisation) est un organisme de standardisation présent dans de nombreux pays. Son représentant en France est l AFNOR (Association Française de NORmalisation). L IEC (International Electrotechnical Commission) s occupe de définir des normes dans les domaines liés aux technologies électriques et électroniques. L ISO et l IEC, ainsi que des organismes nationaux collaborent à la rédaction de normes sur les nouvelles technologies telles que la norme ISO But de la norme ISO/IEC Les données, notamment dans le domaine des bases de données, doivent être échangées de façon fiable et précise. Cet échange n est possible que si le propriétaire et les utilisateurs des données ont une définition commune de leur structure : les méta-données 4. La norme ISO/IEC définit un outil pour la gestion des méta-données et permet ainsi d améliorer le partage des données, leur intégration au sein de nouveau systèmes, une meilleure synchronisation des données, une meilleure intégrité, etc. La troisième partie de la norme, l ISO/IEC décrit la façon dont doivent être organisées les données de façon sémantique. Elle donne ainsi un modèle conceptuel qui décrit la façon dont l être humain réfléchit. Ce modèle ne décrit en aucune façon une méthode logique pour représenter les données dans un ordinateur. 3.2 Structure du modèle conceptuel Ce modèle est divisé en deux grandes parties : Un domaine conceptuel ; Un domaine de valeur : la représentation de ce modèle dans un domaine particulier. 4 Metadata en anglais 18

20 ISO Structure du modèle conceptuel FIG. 3 Structure générale du modèle conceptuel définit par l ISO/IEC Le domaine conceptuel (Conceptual Domain) C est dans cette première partie que sont définit les principes du modèle que l on va utiliser. Dans un premier temps, on y définit les concepts de données auxquels on va s intéresser. Ces concepts permettent de structurer les idées générales, et sont appelés "Data_Element_Concept" ou DEC (concepts de données). On y associe un domaine conceptuel qui donne pour le Data_Element_Concept auquel il est associé l ensemble des valeurs pouvant être prises par celui-ci (voir Fig :3 ). Ce domaine de valeurs peut être énuméré. C est le cas quand il est possible de dénombrer tous les éléments de ce domaine. Quand cela est impossible, le domaine est dit non énuméré Domaine de valeurs Le domaine conceptuel décrit les concepts, le domaine de valeur est la correspondance de ces concepts dans un domaine particulier. Ainsi chaque élément que l on définira dans le domaine de valeur correspond à un élément du domaine conceptuel. Ainsi à un Data_Element_Concept on peut associer un Data_Element. De la même façon, à chaque Conceptual_Domain on peut associer un Value_Domain qui décrit toutes les valeurs pouvant être prises par les Data_Element. On remarquera qu à chaque valeur du Value_Domain correspond une valeur du Conceptual_Domain. Ainsi à un domaine conceptuel énuméré il sera uniquement possible de faire correspondre un ou plusieurs domaines de valeurs énumérées. Il en va de même pour les do- 19

21 ISO Exemples d application de la norme maine conceptuels non-énumérés (voir Fig :3 ). Attention, chaque élément que l on peut trouver dans le domaine des valeurs correspond à un élément du domaine conceptuel. Par contre, pour tous les éléments du domaine conceptuel, il n y a pas forcément un élément dans le domaine de valeurs. Aussi, à un élément du domaine conceptuel peuvent correspondre plusieurs éléments dans le domaine de valeurs. 3.3 Exemples d application de la norme ISO 3166 L ISO 3166 dans sa version de 1997 définit les pays avec les différents domaines de valeurs : les noms courts en anglais, les noms longs en anglais, les codes alphabétiques en deux lettres, les codes alphabétiques en trois lettres, les codes numériques en trois caractères, les noms courts en français, les noms longs en français. Chacun de ces domaines de valeurs est une représentation du domaine conceptuel des pays. Ainsi on peut définir le Data_Element_Concept "pays" qui définit le concept de pays. Comme on peut dénombrer et lister tous les pays du monde, on associe au Data_Element_Concept "pays" un domaine conceptuel énuméré : le Enumerated_Conceptual_Domain. On va maintenant décrire plus précisément ce domaine conceptuel. Chacune des valeurs constituant ce domaine peut être exprimée en utilisant l élément Value_Meaning, "sens de valeur", définit par la norme ISO Cet élément comprend un Value_Meaning_Identifier qui permet d identifier de manière unique l élément. On utilisera ici ceux définit par la norme ISO Le Value_Meaning possède aussi une Value_Meaning_Description qui donne une brève description des valeurs. A chaque Value_Meaning on peut associer une date de début et une date de fin. Dans notre cas, la norme 3166 étant valable depuis le 10 Janvier 1997 et étant toujours actuelle, on peut donc définir une Value_Begin_Date pour chaque Value_Meaning qui aura pour valeur la date d entrée en vigueur de la norme. Chacun des domaines de valeurs définit par la norme ISO 3166 peut être une application du concept de pays. Ainsi on peut définir comme Data_Element correspondant au Data_Element_Concept "pays" les éléments suivant : les noms courts en anglais, les noms longs en anglais, les codes alphabétiques en deux lettres, etc. Dans notre exemple nous ne traiterons que les noms courts de pays en anglais. Nous avons donc 20

22 ISO Exemples d application de la norme FIG. 4 Exemple : les pays et leur représentation "Short English Name" (nom courts en anglais) 21

23 ISO Exemples d application de la norme comme Data_Element "Short English Name" 5. Comme au Data_Element_Concept il est associé un Enumerated_Conceptual_Domain, nous associons au Data_Element un Enumerated_Value_Domain. De même, chaque Value_Meaning peut avoir un équivalent dans le domaine de valeur, une Permissible_Value. Ainsi le domaine de valeurs est composé de plusieurs Permissible_Value correspondant à une Value_Meaning (voir Fig : 4, page précédente) ISO 6709 La norme ISO 6709 fournit une représentation standard de la latitude, longitude, et de l altitude pour la localisation des points géographiques. Nous allons, dans le cadre de notre exemple nous intéresser à la latitude. Nous prenons donc comme Data_Element_Concept la latitude. Nous aurions également pu choisir la longitude ou l altitude comme Data_Element. La latitude est la mesure de la distance angulaire entre un méridien nord ou sud et l équateur. La latitude peut donc prendre une infinité de valeurs. On associera alors au Data_Element_Concept un domaine de valeurs non énuméré. Pour exprimer la nature de ce domaine, on utilise simplement une description des valeurs possibles. FIG. 5 Exemple : la latitude et leur représentation sexagésimale 5 Noms courts en Anglais 22

24 ISO Exemples d application de la norme Nous allons appliquer ces concepts à la représentation sexagésimale de la latitude. Ainsi le Data_Element que nous allons choisir est la représentation sexagésimale de la latitude. Comme le domaine conceptuel auquel est associé le Data_Element_Concept est non-énuméré, le domaine de valeur correspondant l est aussi. De même, pour expliciter ce domaine de valeur, seule une description est nécessaire (voir Fig :5). Il est aussi possible de préciser, d une part les propriétés du Value_Domain duquel hérite le Non_Enumerated, d autre part de préciser l unité de mesure, le type, le nombre maximum de caractères. Pour plus de précision, voir le diagramme de classes en annexe (voir Fig :14). 23

25 4 Travail réalisé Avant de présenter en détail le travail effectué, nous allons expliciter certains de nos choix techniques. 4.1 Choix du XML Décrire des métadonnées nécessite l usage d un langage polyvalent, modifiable, possédant une puissance d expression suffisante. Le XML fait partie des langages qui savent s autodécrire (grâce aux DTD et XSD), et qui peuvent être complétés en créant une syntaxe propre. Le langage XML peut également subir des transformations (au moyen de feuilles XSLT), les-dites transformations provenant de XML également. Cela permet de modifier le langage tout en restant dans celui-ci. Le XML n est pas le seul 6 langage à posséder ces propriétés, mais il est grandement répandu et diffusé. Ce large emploi l amène à être compatible avec bon nombre de standard d autres domaines. Par exemple, il est possibilité de l interfacer avec de l UML. La majorité des schémas de normes étant décrits en UML, la conversion devient réalisable. Le fait que ce format soit portable est également un avantage. Le choix de XML Schema s inscrit dans la continuité du choix du XML. Plus les langages employés sont proches, meilleure est la solidité et la compréhension du système créé. De plus les XSD sont sur le point de remplacer les DTD. Il est donc important de ne pas créer un outil utilisant une technologie bientôt dépassée. L un des problèmes auquel nous nous sommes heurtés est la représentation des données en XML. En effet, celui-ci est un langage à balises, il est donc possible de placer les informations soit dans le nom de l élément, soit dans un attribut, soit en tant que contenu. Généralement, la création d élément permet l utilisation d un type qui n existe pas encore. Les contenus d éléments sont utilisés lorsqu il peut y avoir plusieurs mots, et leur ordre dépend de l architecture du document. Les attributs sont quand à eux utilisés pour l identification, le contrôle de valeurs ou en vue d un traitement ultérieur. Notre point de départ est un diagramme UML représentant les différents niveaux de la norme (conceptuel, puis représentation). Nous avons donc utilisé un élément propre à chaque classe du diagramme UML. Les attributs de la classe ont été placés dans les attributs des éléments, et le contenu est soit vide, soit la valeur de la notion de la classe. Concernant les noms d éléments ou attributs adoptés par la suite dans les documents, nous nous sommes conformés à la norme. Il est ainsi plus facile de passer de l un à l autre sans être perdu. Les types sont nommés du nom de l élément suivi d un underscore puis du mot Type, de cette manière : ElementNameAsNormISO_Type. 6 le SGML également 24

26 ISO Processus de transformation mis en place Un autre point concerne le nommage des éléments du domaine représentation. Comme indiqué dans la norme (voir Fig : 14), plusieurs Data_Element peuvent être associés à un même Data_Element_Concept. Pour faire une différence entre ces Data_Element, il ne faut pas utiliser le même élément. Nous avons donc accolé le data_identifier du Data_Element_Concept au nom du Data_Element, comme par exemple Data_Element_Country. 4.2 Processus de transformation mis en place L objectif est de fournir à l ISO un outil permettant de créer facilement des référentiels de norme. Lorsqu une entité déclarera posséder une représentation des metadonnées compatibles avec la norme, l ISO pourra vérifier la compatibilité grâce à cet outil Technologies à disposition L utilisation des XSD permet de définir des types et de les dériver. C est ainsi que l on a pu reproduire le diagramme de classes que contient la norme de cette manière : FIG. 6 Héritage des classes depuis la classe Administered_Item Cet héritage est incomplet, en ce sens qu il ne contient pas la totalité des classes de la norme. En effet il n y a (pour la partie haute) que la classe abstraite Administered_Item qui contient un 25

27 ISO Processus de transformation mis en place Administration_Record, et pas les Context, Classification_Scheme, Object_Class et Property. Ces éléments pourront être rajoutés plus tard, grâce à ce système de classes. Les classes (que nous appelons également types dérivés) codées sont les objets majeurs. Le reste des informations ne constitue pas le squelette de la norme, et nous aurait submergé par des détails. Nous avons également utilisé la technologie XSLT pour réaliser la transformation de la représentation conceptuelle en XML en un schéma XML pour la partie représentation. Ce fichier XSD structure le document des Value_Domain en fonction du domain conceptuel, il varie donc selon chaque fichier. La solution est de le générer en fonction du document décrivant les Data_Element_Concept. Une feuille XSL-FO permet de transformer la description du modèle conceptuel en tableau plus lisible que le XML. Le monde du XML contient suffisamment de formes de langages pour définir sa propre syntaxe, la rendre interactive et diffusable. Comme nous le verrons dans les Perspectives (section 4.3), le XML nous apportera encore des solutions pour la suite du projet Schéma des transformations Comme disait Napoléon Bonaparte, "un bon croquis vaut mieux qu un long discours". Le voici : FIG. 7 Processus de transformation Le processus que nous avons mis en place permet, à partir de la définition des Data_Element_Concept et des Conceptual_Domain, de définir les Data_Element et les Value_Domain. Pour se faire, on utilise une feuille XSD qui définit les types (ex. : Data_Element_Concept, Conceptual_Domain... ) selon la norme ISO Cette feuille XSD donne la structure globale d un fichier XML qui décrit un domaine conceptuel souhaité. La feuille XML est écrite en utilisant éventuellement un logiciel 26

28 ISO Processus de transformation mis en place comprenant les XML Schema et comportant la fonction validation. Cette feuille XML peut être alors utilisée pour générer un document PDF. Cela peut être réalisé grâce à une transformation XSL-FO. Ce document PDF comprend un résumé sous forme de tableau des éléments définis dans la feuille XML. Ce document PDF peut être alors utilisé par les organismes de normalisation. On peut ensuite obtenir la définition des Data_Element et Value_Domain pouvant être utilisés pour le domaine d application. En effet, ceux-ci sont directement liées aux Data_Element_Concept et aux Conceptual_Domain décrits dans la feuille XML obtenue précédemment. Cette définition est faite dans une feuille XSD générée grâce à une feuille de transformation XSLT. Le code XSD ainsi obtenu impose une forte relation entre les deux niveaux. Ainsi les noms des tags pouvant être utilisés dans la feuille XML décrivant le niveau des Data_Element et des Value_Domain découlent directement du contenu du niveau des Data_Element_Concept et des Conceptual_Domain. Chaque tag comporte une partie fixe rappelant à quel élément de la norme il se rapporte et une partie variable venant du niveau supérieur apportant la relation entre les deux niveaux. En reprenant l exemple sur la norme ISO 3166, on considère le Data_Element_Country. On peut le définir de la façon suivante : <Data_Element_Concept> <administered_item_administration_record registration_status="standard"...> <administered_item_identifier data_identifier="country" version=""> On obtiendra dans la XSD résultant de la transformation XSLT le code suivant : <xs:element name="data_element_country"> Finalement, on pourra écrire dans le XML suivant la feuille XSD obtenue : <Data_Element_Country data_element_identifier="englishshortname"> Vous pouvez trouver l ensemble du code généré pour cet exemple ainsi que pour l exemple sur la norme ISO 6709 dans le CDRom associé à ce rapport. 27

29 ISO Processus de transformation mis en place Un autre exemple a été réalisé, celui de la LOM. Il a été entièrement réalisé à partir du processus établi en annexe, qui permet de créer un domaine conceptuel puis représentation. Cet exemple nous a permis de valider notre modèle (en supplément de la norme, qui contient tous les cas possibles). Parmi les fichiers du CDRom se trouvent les 2 fichiers XML de la LOM ainsi que le PDF. Nous possédions le modèle suivant : FIG. 8 Learning Object Metamodel Problème(s) rencontré(s) Comme nous l avons vu précédemment, la génération du PDF sur le domaine conceptuel se fait directement à partir du fichier XML grâce à une feuille XSL-FO. Il ne peut en être de même pour générer le document PDF décrivant le domaine de valeur. En effet, les noms des tags présents dans le fichier XML décrivant ce niveau sont des noms variables. On ne peut utiliser une feuille de transformation XSL-FO identique à celle utilisée précédemment. Une solution vient du fait que le langage de transformation utilisé (XSL-FO) est lui même du XML et donc peut être généré à partir d un autre fichier XML grâce à une feuille de transformation XSLT. On peut donc envisager le processus suivant : 28

30 ISO Processus de transformation mis en place FIG. 9 Processus de transformation XSL-FO amélioré Ainsi nous générons la feuille de transformation XSL-FO qui permet, à partir du fichier XML décrivant le domaine de valeurs, d obtenir un fichier PDF faisant un résumé de ce niveau. Tous les éléments nécessaires pourront être pris en compte dans cette transformation : les noms des tags sont obtenus à partir du XML du niveau précédent grâce à la transformation XSLT ; les valeurs entrées par l utilisateur dans le domaine d application sont pris en compte grâce au processus traditionnel de transformation XSL-FO. Double héritage et aggrégation Un problème s est posé à cause de l héritage. Ce problème ne remet pas du tout en cause l utilisation de la dérivation de types, qui est à la fois la manière la plus correcte de procéder (comparée aux diagrammes de la norme) mais aussi la plus propre pour la compréhension et l évolution des types. C est juste une des difficultés à implémenter ce modèle de bout en bout. Voici le problème, exposé de manière symbolique puis dans le contexte. Alpha et Beta sont des classes abstraites. Alpha est composé de Beta. A est une instance de Alpha, et contient donc B, instance de Beta. 29

31 ISO Processus de transformation mis en place FIG. 10 Héritage et aggrégation Le problème est le suivant : A dérivant de Alpha, il connait l élément Beta. Comment lui fixer le nom de l élément par B et non par Alpha? La figure suivant illustre le problème dans notre contexte : FIG. 11 Arborescence du type Data_Element Voici le code associé à ce problème, c est à dire la XSD générée automatiquement : <xs:element name="enumerated_value_domain_country"> <xs:complextype> <xs:complexcontent> <xs:extension base="enumerated_value_domain_type"> <xs:sequence> <xs:element minoccurs="0" maxoccurs="1" name="permissible_value_1001" type="permissible_value"/> 30

32 ISO Perspectives techniques Cependant si on laisse l héritage au niveau des types, il n est pas possible d utiliser l élément "Permissible_Value_1001" mais seulement l élément "Permissible_Value". Pour le moment nous n avons pas trouvé de solution viable. Celle qui a été adoptée est la suivante : FIG. 12 Arborescence modifiée du type Data_Element Merci de m indiquer la solution si vous l avez. Je n ai pu trouver d aide sur la liste xml-tech, et je me demande si ce problème n approche pas une des limites des XSD. 4.3 Perspectives techniques Nous nous sommes intéressés dans ce projet à une partie seulement de la norme ISO, la partie Nous en avons implémenté la majeure partie, même s il reste à définir les Object_Class et Property. Les Object_Class représentent un ensemble d idées et de concepts. Les Property représentent une caractéristique commune à tous les membres d un Object_Class. Cette manière de penser (à base de concepts, idées, comportements et attributs) est très proche des diagrammes de classes. Il est donc raisonnable de penser qu un diagramme de classes UML peut exprimer ces concepts, leurs relations, à la manière des Object_Class. Il faudrait pouvoir mettre cette relation à profit. La plupart des logiciels actuels qui permettent de réaliser des diagrammes de classe UML permettent d enregistrer ceux-ci sous forme de fichier XML. On peut envisager une transformation automatique qui permettrait de passer d un fichier UML généré par un de ces logiciels grâce au langage UXF 7 en un fichier XML utilisant les Object_Class et les Property. 7 UML exchange Format, voir http :// suzuki/project/uxf/ 31

33 ISO Perspectives techniques On peut ensuite générer à partir de ce fichier XML, le fichier XML décrivant les Data_Element_Concept. On obtient donc, en associant les processus précédemment définis, le processus général de transformation suivant : FIG. 13 Processus de transformation possible On a alors un processus complètement automatisé qui permet, à partir d un diagramme de classes UML d obtenir une définition de méta-données conforme à la norme ISO Un document à étudier pour la suite du projet pourrait être celui-ci : http ://pueblo.lbl.gov/ olken/mendel/x3l8/xmlannex/annex.htm. C est une proposition d annexe pour la partie 3 de la norme ISO 11179, son titre est "Annex E : XML Encoding for Metadata Registry Contents". 32

34 5 Conclusion Cette étude n est pas complète, mais elle n en avait pas l intention. Un prélude est toujours nécessaire à ce type de projet, pour déterminer les meilleures solutions à adopter. Nous avons donc recherché les outils et technologies nécessaires pour mettre en place ce système XML. Ce n est pas encore une application du fait qu elle nécessite des transformations manuelles, contrairement à si nous avions utilisé Cocoon. Nous avons donc déterminé les points clés avec l aide très appréciée de M. Delestre, sans qui nous n aurions pu comprendre les subtilités de cette norme et l interprétation à en tirer. La définition de l architecture a permis de savoir quels étaient les fichiers nécessaires et le mode opératoire associé. Du point de vue des connaissances acquises, les XSD sont un point majeur, suffisamment souligné dans la partie de ce rapport qui lui est consacrée. L appréhension de la norme est également un point intéressant ; ce type de document est organisé de manière redondante, c est à dire qu il est possible de lire les descriptions textuelles, les schémas, pour comprendre le sujet traité, mais également de consulter les précisions propres à un point du sujet. Il faut apprendre à jongler entre les différentes sections pour trouver tous les éléments nécessaires. J espère que les perspectives de la suite du projet tenteront des personnes pour continuer le travail commencé. Peut être serait-il judicieux, après avoir pensé la norme de la manière citée, de confronté notre travail aux recherches lancées sur le sujet par d autres personnes. 33

35 6 Bibliographie Documentation W3C XML Schema Part 0 : Primer (http :// XML Schema Part 1 : Structures (http :// XML Schema Part 2 : Datatypes (http :// Le document XML Schema permettant de valider d autres documents XML Schema : http :// Tutoriels XSD Liste XML Tech pour parler XML, XSL, XSD : http ://xmlfr.org/listes/xml-tech/ Une multitude de langages expliqués : http :// http :// http :// Tutoriels FO http :// FO : http :// Outils Liste complète d outils : http :// <oxygen/> : http :// XSV 2.5-2, validateur pour XSD : http :// FOP, transformateur FO PDF : http ://xml.apache.org/fop/ Ouvrages XML Schéma, d Eric van der Vlist Collection O Reilly Disponible à la bibliothèque de l INSA de Rouen Anecdote : Eric van der Vlist répond souvent en personne aux messages envoyés sur la liste XML- Tech. Il écrit en ce moment un livre sur Relax NG, une nouvelle technologie de schéma XML. 34

36 Table des figures 1 Intérêt d un traducteur commun entre diverses représentations Graphe de hiérarchie des types de données prédéfinis Structure générale du modèle conceptuel définit par l ISO/IEC Exemple : les pays et leur représentation "Short English Name" (nom courts en anglais) 21 5 Exemple : la latitude et leur représentation sexagésimale Héritage des classes depuis la classe Administered_Item Processus de transformation Learning Object Metamodel Processus de transformation XSL-FO amélioré Héritage et aggrégation Arborescence du type Data_Element Arborescence modifiée du type Data_Element Processus de transformation possible Consolidated metamodel (extracted from ISO ) Fichiers du projet

37 7 Annexes Avertissement : l ISO n approuve pas ni ne sponsorise notre rapport. Toutes les références qui y sont faites ne sont pas contrôlées par l ISO. Nous n avons pas non plus eu le droit d utiliser le logo 8, qui est une marque déposée. 7.1 Répartition du travail Travail effectué par Céline CAPRON : étude de la norme ; création de diagrammes UML exemples traitant des normes ISO 3166 et 6709 ; création des fichiers XML correspondant aux diagrammes ; transformation XSL-FO ; rédaction du rapport (parties norme et travail réalisé) ; Travail effectué par Laurent FALLET : étude de la technologie XML Schema ; création des feuilles XSD puis de l héritage ; création de la feuille XSLT ; rédaction du rapport (logo, parties XML Schema et travail réalisé) ; Les fichiers du projet (XSD, XSLT, XSLFO et autres fichiers exemples) n ont pas été inclus en annexe. En effet nous ne pensons pas que le code soit intéressant sans le voir fonctionner, en l utilisant réellement. Un CDRom contenant les fichiers est inclus dans le rapport en version papier, nous le demander si jamais il a été égaré. Si vous avez obtenu ce rapport au format électronique, les sources doivent être incluses. 8 suite à une demande à logo@iso.org 36

38 ISO Diagrammes 7.2 Diagrammes FIG. 14 Consolidated metamodel (extracted from ISO ) 37

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc. Page 1 sur 16 PROCESSUS 2D-DOC...1 1. ARCHITECTURE GLOBALE...4 1.1. 1.2. Les rôles... 4 Les étapes fonctionnelles... 5 1.2.1. Etape 1 : la création du code à barres... 5 1.2.2. Etape 2 : l envoi du document...

Plus en détail

BD et XML : Exercices

BD 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étail

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Accè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étail

Learning Object Metadata

Learning Object Metadata Page 1 of 7 Learning Object Metadata Le LOM (Learning Object Metadata), est un schéma de description de ressources d enseignement et d apprentissage. Le LOM peut être utilisé pour décrire des ressources

Plus en détail

Master d Informatique Corrigé du partiel novembre 2010

Master d Informatique Corrigé du partiel novembre 2010 Universités d Aix-Marseille I & II Technologies XML Master d Informatique Corrigé du partiel novembre 2010 Année 2010-11 Documents autorisés Exercice 1 : Documents XML et Applications XML (4 points) Georges,

Plus en détail

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

Design et implémentation d un logiciel de validation et de génération de configurations réseaux Département d Ingénierie Informatique Design et implémentation d un logiciel de validation et de génération de configurations réseaux Laurent Vanbever Grégory Pardoen Mémoire présenté sous la direction

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

ech-0148 Motifs d annonce Entreprises - taxes de domaine

ech-0148 Motifs d annonce Entreprises - taxes de domaine Normes en cyberadministration Page 1 de 36 ech-0148 Motifs d annonce Entreprises - taxes de domaine Titre Code Type Stade Motifs d annonce Entreprises - taxes de domaine ech-0148 norme de procédure Définie

Plus en détail

AdressePostale 1.2 Description d une adresse postale 16/01/2004

AdressePostale 1.2 Description d une adresse postale 16/01/2004 AdressePostale 1.2 Description d une adresse postale 16/01/2004 Cette version : AdressePostale 1.2 Version précédente : AdressePostale 1.1 du 20/05/2003 Auteur : Isabelle Fournier, IRISA Déclaration de

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre 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étail

TP1 : Initiation à Java et Eclipse

TP1 : 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étail

Générer du code à partir d une description de haut niveau

Gé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étail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth

Plus en détail

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 L. POINSOT Contact client : Laurent Poinsot (laurent.poinsot@lipn.univ-paris13.fr) Résumé : Ce document est le cahier des charges du projet INFO 1.

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Web Application Models

Web Application Models Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec

Plus en détail

Intégration de l interface graphique de Ptidej dans Eclipse

Intégration de l interface graphique de Ptidej dans Eclipse Intégration de l interface graphique de Ptidej dans Eclipse Driton Salihu (salihudr@iro.umontreal.ca) Lulzim Laloshi (laloshil@iro.umontreal.ca) Département d informatique et de recherche opérationnelle

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

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

Faculté 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étail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

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

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

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

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

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT Réf. : Pivot/Querier Auteur : JM. DERUYTER Rév. : 1.3 Rév. Date : 05/05/15 Distribution : Normale * Restreinte 1. Confidentielle PIVOT Pivot/Querier Documentation technique XML/XSD/XSLT Table des matières

Plus en détail

Université de Bangui. Modélisons en UML

Université 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étail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre VIII. Les bases de données. Orientées Objet. Motivation Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU TRAVAIL, DE l EMPLOI ET DE LA SANTÉ MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU BUDGET, DES COMPTES PUBLICS ET DE LA RÉFORME DE L ÉTAT Standard d'interopérabilité entre

Plus en détail

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus.

L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus. Import Massif Nouvelles fonctionnalités L import massif introduit plusieurs nouvelles fonctionnalités, selon que l on importe un thésaurus, un ensemble de valeurs contrôlées ou un corpus. Le fonctionnement

Plus en détail

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Présentation générale du projet data.bnf.fr

Présentation générale du projet data.bnf.fr Présentation générale du projet data.bnf.fr La Bibliothèque nationale a mis en œuvre un nouveau projet, qui a pour but de rendre ses données plus utiles sur le web. Ceci nécessite de transformer données

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Journée organisée par le CRFCB Midi-Pyrénées / Languedoc-Roussillon

Plus en détail

UEO11 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. 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étail

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

Le standard d'échange de données pour l'archivage (SEDA)

Le standard d'échange de données pour l'archivage (SEDA) Le standard d'échange de données pour l'archivage (SEDA) Version 0.2 Michel Jacobson SIAF Plan Le SEDA c'est quoi? De quoi est-il composé? Les changements apportés par la nouvelle version Les travaux en

Plus en détail

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème Chapitre IX L intégration de données Le problème De façon très générale, le problème de l intégration de données (data integration) est de permettre un accès cohérent à des données d origine, de structuration

Plus en détail

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015) Chaîne opératoire de réalisation d une base de données ANF «Comment concevoir une base de données» (29-30/01/2015) En introduction 1- Phase d analyse ou d audit 2- Modélisation & développement de la base

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Bibliothèque numérique de l enssib

Bibliothèque numérique de l enssib Bibliothèque numérique de l enssib Il y a une vie après MARC, 19 novembre 2007 : journée d étude en hommage à Pierre-Yves Duchemin De MARC à XML : Les nouveaux formats bibliographiques CLAVEL, Thierry

Plus en détail

Programmation de services sensibles au contexte en téléphonie sur IP

Programmation de services sensibles au contexte en téléphonie sur IP Programmation de services sensibles au contexte en téléphonie sur IP Présentation de mémoire Grégory Estienne Sous la supervision du Dr. Luigi Logrippo Introduction La téléphonie sur IP comme support à

Plus en détail

Approche Contract First

Approche 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étail

Notes pour l utilisation d Expression Web

Notes pour l utilisation d Expression Web EICW Formation Webmaster Notes pour l utilisation d Expression Web G. Barmarin 2008-2009 1 /21 Table des matières 1 Introduction... 3 2 Installer Expression Web... 4 3 Explorer et personnaliser l interface

Plus en détail

Introduction à Microsoft InfoPath 2010

Introduction à Microsoft InfoPath 2010 Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Installation de DocBook sur un système Linux

Installation de DocBook sur un système Linux Installation de DocBook sur un système Linux Emmanuel Fleury fleury@cs.auc.dk Le but de ce document est d expliquer comment installer aussi simplement que possible DocBook sur votre système (Mandrake,

Plus en détail

ISO/CEI 19770-1. Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

ISO/CEI 19770-1. Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité NORME INTERNATIONALE ISO/CEI 19770-1 Deuxième édition 2012-06-15 Technologies de l information Gestion des actifs logiciels Partie 1: Procédés et évaluation progressive de la conformité Information technology

Plus en détail

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Copyright Acronis, Inc. 2000 2009 Table des matières Résumé... 3 Qu est-ce que la déduplication?... 4 Déduplication au

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Base de données relationnelle et requêtes SQL

Base de données relationnelle et requêtes SQL Base de données relationnelle et requêtes SQL 1e partie Anne-Marie Cubat Une question pour commencer : que voyez-vous? Cela reste flou Les plans de «Prison Break»? Non, cherchons ailleurs! Et de plus près,

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2 Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................

Plus en détail

Lancement de la simulation SIMBA

Lancement de la simulation SIMBA Lancement de la simulation SIMBA Sommaire Nature du document... 1 Présentation de l architecture réseau... 1 Configuration poste élève... 3 Configuration confxml... 3 Installation du service SimulationSIMBA...

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Thierry 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étail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Créer une base de données vidéo sans programmation (avec Drupal)

Créer une base de données vidéo sans programmation (avec Drupal) Créer une base de données vidéo sans programmation (avec Drupal) 10.10.2013 Nicolas Bugnon (nicolas.bugnon@alliancesud.ch) Centre de documentation Alliance Sud www.alliancesud.ch Résultat de l atelier

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

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

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

Outils logiciels pour l'ingénierie documentaire

Outils logiciels pour l'ingénierie documentaire Ingénierie Documentaire Outils logiciels pour l'ingénierie documentaire http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - L'IDE XML Oxygen 5 A. Fichiers XML...5 B. Schémas XML...6

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML

Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML Guide Utilisateur ACQUIT : Anomalies issues du Guichet XML Rappel du processus : Lorsque l ordonnateur adresse à la DGFiP un flux PES V2 pour intégration dans l application Hélios, le point d accès à Hélios

Plus en détail

LECTURE CRITIQUE. Accompagner les enseignants et formateurs dans la conception d une formation en ligne

LECTURE CRITIQUE. Accompagner les enseignants et formateurs dans la conception d une formation en ligne LECTURE CRITIQUE Accompagner les enseignants et formateurs dans la conception d une formation en ligne Christian Ernst E-learning. Conception et mise en œuvre d un enseignement en ligne Guide pratique

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

UML et les Bases de Données

UML 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

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

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

INSTALLATION ET CONFIGURATION DE OPENLDAP

INSTALLATION 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étail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel 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étail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail