RAPPORT DE PROJET Editeur XML Responsable de projet : Michel Meynard

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

Download "RAPPORT DE PROJET Editeur XML Responsable de projet : Michel Meynard"

Transcription

1 RAPPORT DE PROJET Editeur XML Responsable de projet : Michel Meynard Université Montpellier 2 - M1 Informatique S2 CHANTEMESSE Florian NOYARET Pierre REY Cyrille VINYES François 25 avril 2008

2 Table des matières 1 Introduction 2 2 Organisation et répartition du travail Analyse de l existant Moyens mis en place pour le travail en collaboration Répartition du travail Mise en œuvre Définition du XML Modélisation Le modèle Les vues Le contrôleur Le diagramme de classe Conception de l interface graphique Parsage du fichier XML L API DOM Thread Algorithme de Parsage La fermeture électrique Les options (Serialisation) Génération de la DTD Syntaxe de la DTD L API SAX Insertion dans le XML La completion si DTD Principe Resultats 23 5 Conclusion 25 1

3 Chapitre 1 Introduction Il nous a été demandé lors de ce TER de réaliser un éditeur XML qui comporte les fonctionnalités suivantes : Edition brute du source XML, édition arborescente (ou mode plan) du document XML, ouverture et fermeture de sous-arborescences en un clic, validation en continu grâce à des tâches multiples en parallèle, aide à l écriture d une DTD (inférence de DTD), visualisation dans un navigateur d un document XML associé à une feuille de style, coloration syntaxique, complétion automatique si DTD, écriture électrique. Nous avons donc dans un premier temps cherché à spécifier les demandes de notre responsable de projet, M. Meynard. Nous avons programmé cet éditeur en Java, conformément à ce que nous a indiqué M. Meynard. Ce langage en plus d être connu de tout le groupe, est facilement portable sur tous les systèmes d exploitation pourvus de la machine virtuelle Java. Nous avons nommé cet éditeur Loligo XML. Dans notre mémoire nous allons décrire comment nous avons procédé et quelles solutions nous avons proposées pour implémenter les différentes fonctionnalités à notre outil. 2

4 Chapitre 2 Organisation et répartition du travail 2.1 Analyse de l existant Nous avons choisi d analyser quatre célèbres éditeurs XML afin de repérer les fonctionnalités intéressantes propres au langage XML. Parmi ces éditeurs, seul Jedit est gratuit (et open source). Le prix des licences des trois autres varie de 80 à 400 euros. XML writer Fonctionnalités intéressantes : Vue en arbre, vérification de la validité : document bien formé, TagBar : chargement d une DTD sous forme d arbre : permet l insertion rapide d éléments ou d attributs par drag n drop. Inconvénients : Pas d interaction entre l arbre des balises et le code source, pas de vérification en temps réel. Bonus : Fermeture automatique des balises, ouverture de fichier à partir d une URL, insertion rapide de balises autour d un bloc sélectionné à la souris, assignation rapide d une feuille de style (XSLT/CSS) ou d une DTD à un document XML, transformation de un ou plusieurs documents XML en utilisant leur feuille de style, preview dans une nouvelle fenetre ou dans un navigateur, snippets : insertion rapide de balises en la choisissant dans une liste et possibilité d en rajouter. 3

5 oxygen Fonctionnalités intéressantes : Vue en arbre, vérification de la validité : document bien formé, complétion automatique si DTD, éditeur d arbre evolué, débogeur : xslt et squery, évaluation d expression XPath. Inconvénients : L éditeur d arbre est une application séparée. Bonus : Fermeture automatique des balises, erreurs de parsage soulignées, correcteur orthographique, client SVN, comparateur de fichiers, preview dans une nouvelle fenetre ou dans un navigateur. XMLSpy Fonctionnalités intéressantes : Vérification de la validité : document bien formé, générateur de DTD, complétion automatique si DTD, évaluation d expression XPath, transformation XSL, conversion XML en BD. Bonus : Fermeture automatique des balises, correcteur orthographique, générateur de fichier XML à partir d une DTD, comparateur de fichiers, preview dans une nouvelle fenetre ou dans un navigateur. JEdit et son plugin XML Fonctionnalités intéressantes : Vue en arbre, vérification de la validité : document bien formé, générateur de DTD, complétion automatique si DTD. Inconvénients : Pas d onglets pour les fichiers ouverts. Bonus : Erreurs de parsage soulignées, 4

6 éditeur de balises. Bilan Les editeurs payants sont beaucoup plus nombreux que les gratuits. La concurrence étant forte, on s aperçoit alors que ces logiciels sont très complets. Ils permettent de construire un document XML rapidement grâce à de nombreuses fonctionnalités. Parmi ces fonctionnalités, on remarque que les plus sollicitées sont : La vue en arbre, le parsage, la complétion, la fermeture automatique des balises. On remarque par ailleurs que ce sont les fonctionnalités principales qui nous ont été demandées d implémenter dans ce TER. 2.2 Moyens mis en place pour le travail en collaboration Pour mener à bien ce projet, et travailler en parallèle le plus efficacement possible, nous avons mis en place sur la plate-forme Eclipse, un plugin permettant la gestion et l interactivité avec un serveur SVN. SVN de son vrai nom Subversion, permet à tous les utilisateurs de pouvoir suivre l avancement d un projet avec une coordination optimale : chaque membre de l équipe de projet envoie ses améliorations et le projet avance car tout est ajouté en continu. En tant que serveur SVN, nous avons opté pour Assembla.com, qui grâce à son interface intuitive sur internet mais aussi sa gratuité, propose un espace de stockage gratuit de 500 Mo. Il propose également trac pour documenter et suivre les bugs, et un service d upload de fichiers afin que tous les membres puissent s échanger et partager toutes les ressources qu ils jugent nécessaires. La figure 2.1 page suivante représente un aperçu de son interface. On observe tous les onglets pouvant être utiles à une réalisation de projet (Files, Trac/SVN, Team, etc.) efficace et en collaboration avec tous les membres du projet sans provoquer de conflit et de mise à jour fastidieuse. Grâce à ce serveur, nous avons très certainement économisé une grande quantité de temps qui aurait été dédiée à diverses réunions de chacune de nos avancées. 5

7 Fig. 2.1 Interface d Assembla. 2.3 Répartition du travail En ce qui concerne la répartition du travail, nous avons à peu de choses près respecté le planning que nous avions prévu lors de l élaboration du cahier des charges. Ce qui peut justifier les divergences par rapport au cahier des charges est la réunion de 2 tâches en une, par exemple, la validation du source XML a été réalisée communément avec la validation par la DTD. De plus certaines fonctionnalités nous ont demandé plus de temps que prévu, mais nous avons pu compenser avec d autres tâches qui se sont avérées plus rapides à développer. A part ces quelques divergences nous avons respecté la planning, ce qui nous a permis lors de certaines semaines, d être en avance et donc de pouvoir continuer sans problème les tâches suivantes. La figure 2.2 page suivante rappelle l emploi du temps que nous avions élaboré au début du projet. 6

8 Fig. 2.2 Diagramme de Gantt de notre projet 7

9 Chapitre 3 Mise en œuvre 3.1 Définition du XML XML (extensible Markup Language) est un langage informatique à balises. Le World Wide Web Consortium (W3C), promoteur de standards favorisant l échange d informations sur Internet, recommande la syntaxe XML pour exprimer des langages de balisages spécifiques. De nombreux langages respectent la syntaxe XML : XHTML, SVG, XSLT... Son objectif initial est de faciliter l échange automatisé de contenus entre systèmes d informations hétérogènes. Voici un exemple d une structure XML : <annuaire> <ville nom="montpellier"> <personne> </personne> <personne> </personne> </ville> </annuaire> 3.2 Modélisation Pour la phase d analyse de notre éditeur, nous nous somme basés sur l architecture MVC (Modèle-Vue-Contrôleur) pour organiser l interface graphique Le modèle En tant qu éditeur gérant l ouverture de plusieurs fichiers dans une même fenêtre (système d onglets), la base du modèle est d abord constituée d une liste de fichiers ouverts. En tant qu éditeur XML, la représentation des fichiers dans l application nécessite l utilisation de la classe DefaultStyledDocument disponible 8

10 dans l API Java. En effet, cette classe permet la manipulation de caractères (le code source du fichier XML) grâce à son implémentation de l interface Document. Mais elle a surtout l avantage de permettre la décoration du texte contenu dans le Document par l application de style. Ainsi, le texte du Document peut être décoré sans qu aucune autre donnée concernant cette décoration ne soit rajoutée dans le code source. Outre cette instance de la classe DefaultStyledDocument, la classe FichierXML contient un booleen indiquant l état de sauvegarde du fichier et une String pour le chemin du fichier sur le disque. Le deuxième élément important du modèle est une référence vers un fichierxml particulier : le fichier en cours d édition (ou le fichier pour lequel l onglet associé a le focus ). Logiquement, ce fichier doit figurer dans la liste des fichiers ouverts citée précedemment. Fig. 3.1 Schéma des modèles dans l éditeur XML. Afin de synchroniser les vues avec le modèle, la classe FichiersOuverts possède également une liste d écouteurs. Ainsi, chaque fois qu une requête de changement de ficher en cours est demandée, la référence fichierencours est mise à jour puis l ensemble des écouteurs intéressés par le fichier en cours sont avertis de la nouvelle valeur Les vues La JFrame principale de l application contient de nombreux composants graphiques permettant l interaction avec l utilisateur. Parmi ces composants, trois sont considérés comme des vues du design pattern MVC car ils ont besoin d être tenus au courant de chaque modification du modèle. Ces trois vues correspondent aux trois fonctionnalités : VueArbre : affichage du document XML sous forme d un arbre (un JTree) 9

11 VueCompil : indication des erreurs de parsage VueOnglets : gestion des fichiers ouverts dans un tableau à onglets Cependant, ces trois vues ne s intéressent pas toutes aux mêmes éléments du modèle. Ainsi, VueArbre et VueCompil ne répondent que lors d un changement du fichier en cours, tandis que VueOnglets s attache principalement aux modifications de la liste des fichiers ouverts. Par convention, toutes les vues qui désirent écouter le modèle doivent hériter de la classe Vue. Cette classe abstraite sert d interface avec le contrôleur. Fig. 3.2 Schéma des vues dans l éditeur XML Le contrôleur Il est le chef d orchestre de l application. Son instance est unique. Son premier rôle est de mettre en relation les vues avec le modèle. Pour cela, il ajoute chaque vue dans la liste des écouteurs du modèle. Il sert ensuite d intermédiaire entre les vues et le modèle lors de l exécution de l application et des actions de l utilisateur. Il prend en charge la gestion des évènements de synchronisation pour mettre à jour les vues ou le modèle et les synchroniser. Il reçoit tous les évènements de l utilisateur et enclenche les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle qui va ensuite avertir les vues concernées que les données ont changé pour qu elles se mettent à jour. Le contrôleur n effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d appeler le modèle. 10

12 Fig. 3.3 Schéma du contrôleur dans l éditeur XML Le diagramme de classe Nous avons établi le diagramme de classe 3.4 page suivante. 11

13 Fig. 3.4 Diagramme de classe de l éditeur XML. 3.3 Conception de l interface graphique M. Meynard nous ayant demandé une interface intuitive, nous nous sommes mis à la recherche d exemples d interfaces les plus communes et 12

14 conviviales possibles. Pour arriver à un résultat final, nous nous sommes basés sur des applications existantes telles qu Eclipse (Environnement de Développement Java), NotePad++ (multi-langage) et celles citées dans l analyse de l existant, qui nous ont paru les plus intéressantes en termes d intuitivité et d interactivité. Finalement nous avons donc réalisé l interface de notre éditeur XML grâce aux composants Swing de la librairie Java. En effet, celle-ci étant très complète et fonctionnelle, nous avons pu intégralement concevoir l interface grâce aux composants déjà existants, qui sont semblables aussi bien au niveau du fonctionnement que de l apparence, aux applications que nous avions auparavant sélectionnées. La figure 3.5 représente la hiérarchie de confinement de l interface. Fig. 3.5 Hiérarchie de confinement de l interface graphique. Comme nous pouvons le constater sur cette figure, nous avons intégré à la Frame principale, une JMenuBar qui compose notre barre des menus 13

15 (Fichier, Edition...), ainsi qu un JSplitPane, qui permet de modifier manuellement et assez facilement la taille des composants graphiques. La figure 3.6 montre un aperçu de l interface conçue à partir du schéma 3.5 page précédente. Fig. 3.6 Interface Graphique de l éditeur XML. On arrive bien à distinguer les différents éléments qui composent la fenêtre principale, et de ce fait elle se révèle assez conviviale et intuitive, car elle reprend les grandes lignes des applications actuelles. 3.4 Parsage du fichier XML L une des principales fonctionnalités que devait remplir notre éditeur XML, était de parser le code de manière threadée. Pour faire ce parsage nous avons utilisé une API (Application Programming Interface) déjà éxistante dans Java : l API DOM. Le parseur (ou analyseur syntaxique) est un outil qui récupère les données encapsulées dans le document XML en le parcourant et en extrait les informations qu il contient. 14

16 3.4.1 L API DOM DOM (Document Object Model) est donc un analyseur utilisant une approche hiérarchique du document (d autres API, telles que SAX etc., que nous avons utilisée pour générer la DTD à partir du XML, utilisent une approche évènementielle). Cela signifie que si le parsage réussit, DOM construit une structure de données contenant des objets représentants les éléments du document, et dont les méthodes permettent d accèder aux propriétés. On transmet ensuite cette structure à d autres classes qui pourront l utiliser (notamment pour la création de l arbre représentant le fichier XML), java implémentant par défaut une interface DOM (org.w3c.dom), et une interface Document qui contiennent les méthodes pour accéder aux attributs, aux éléments... Si le parsage ne réussit pas, DOM génère des Exceptions de type SAXException que nous récupérons et traitons de manière à les afficher dans la fenêtre de compilation, au bas de notre interface. Dans ce cas le DOM construit aura une valeur null. Il existe 2 types de parseur : Les parseurs validants permettant de vérifier qu un document XML est conforme à sa DTD, Les parseurs non validants se contentant de vérifier que le document XML est bien formé, c est-à-dire qu il respecte la syntaxe XML de base. Il est possible de spécifier à notre parseur DOM quel type de parsage il doit effectuer. Pour créer notre document DOM et le parser on doit d abord récupérer le constructeur de documents (javax.xml.parsers.documentbuilder) à partir d une fabrique de constructeur (javax.xml.parsers.documentbuilderfactory). C est ce constructeur de document qui va construire le DOM ou Document (org.w3c.document) à partir de la source XML Thread Un thread (ou Processus léger) est un processus qui du point de vue de l utilisateur, semble se dérouler en parallèle du programme. Notre application utilise un thread pour parser le document. C est à dire qu une fois les constructeurs de document créés, la tâche parallèle les utilise pour analyser le document en boucle, indéfiniment avec un temps de pause entre chaque analyse pour éviter de saturer la machine. Le fait de faire cela dans une tâche parallèle, permet de valider le source xml tout en continuant son édition. Java dispode d une classe Thread (java.lang.thread) déjà implémentée. Il suffit de faire hériter notre classe EditeurThread (la classe qui est destinée à parser le document) de cette dernière et de surcharger la méthode run() 15

17 qui sera appelée par la méthode start() sur l instance d EditeurThread Algorithme de Parsage Le principe du parseur threadé est donc d instancier 2 constructeurs de document (un qui parsera de manière validante et l autre de manière non validante) et d appeler en boucle la methode parse() du constructeur adéquat. On a besoin de 2 parsers, car si on déclare le parser validant, et que l utilisateur n a pas spécifié de DTD, le parser va générer une exception, même si le document est bien formé. Si le document contient la chaîne de caractères <!DOCTYPE (on vérifie cela à l aide d une expression régulière) on parsera de manière validante, sinon on parsera de manière non validante. Cependant si on parse de manière non validante, et que l on rencontre une exception liée à la DTD, on devra reparser le document de manière non validante afin de pouvoir créer le Document si le XML est bien formé. Nous avons également créé la classe GestionnaireErreur, afin de traiter les erreurs de parsage. L algorithme 1 page suivante définit ce que fait la méthode run() de EditeurThread, pour parser le XML. 16

18 Algorithme 1 Algorithme de parsage XML constructeurv alidant f abriquev alidante.nouveauconstructeur() constructeurn onv alidant f abriquen onv alidante.nouveauconstructeur() constructeurv alidant.affectegestionnaireerreur(gestionnaireerreur) constructeurn onv alidant.affectegestionnaireerreur(gestionnaireerreur) boucler messageerreur si on a un fichier qui a le focus dans l interface alors contenu codesourcef ichier si contenu.contient( <!DOCTYPE ) alors document constructeurv alidant.parser(contenu) sinon document constructeurn onv alidant.parser(contenu) finsi si on a une erreur de syntaxe alors messageerreur Erreur fatale sinon si on a une erreur de DTD alors messageerreur Erreur DTD document constructeurn onv alidant.parser(contenu) si on a une erreur de syntaxe alors messageerreur Erreur fatale finsi sinon messageerreur OK finsi sinon document nil messageerreur Fenetre de compilation finsi fin boucle 17

19 3.5 La fermeture électrique Cette fonctionnalité est utile dans l édition et la création de fichier XML. En effet, elle permet à l utilisateur de gagner du temps au niveau de la fermeture de balise. Ceci permet aux balises ouvrantes (par exemple <test>) de se fermer automatiquement et ainsi, à la suite de la balise ouvrante se rajoute la balise fermante (dans l exemple </test>). Le problème de cette fonctionnalité est que cela doit permettre à l utilisateur d obtenir le plus souvent ce qu il veut, et que des fermetures de balises automatiques inutiles ne doivent pas avoir lieu. Pour réaliser cette fonctionnalité, plusieurs possibilités ont été envisagées : Dans un premier temps, on aurait pu réaliser cette fermeture à l aide d un thread, celui-ci parcourant le texte, et en fonction des balises ouvrantes présentes (sans leur homologue fermant), celles-ci seraient automatiquement fermées. Cette méthode n a pas été retenue pour plusieurs raisons : Elle est plutôt lourde au niveau de l utilisation de ressources, elle n est pas assez intéractive, instantanée avec l utilisateur, et donc elle peut ralentir l utilisateur plutôt que de lui faire gagner du temps. Une autre solution, celle qui a été retenue, consiste à mettre en place un KeyListener sur le textpane (à savoir le contenu du fichier XML) avec la touche >. Plus précisément, à chaque pression de la touche > par l utilisateur, une action va se réaliser. Plusieurs tests vont donc avoir lieu pour savoir si la balise doit être fermée automatiquement ou non. Les tests effectués vérifient l état de la balise qui va être fermée. Voici un exemple des tests effectués lors de la pression de la touche > : Si la balise balise ouvrante est de type <test /> elle ne doit pas être fermée, Si on a <test</test>, l ajout du caractères > après le début de balise <test ne doit pas engendrer une fermeture de balise... Pour gagner du temps, ainsi qu une meilleure validation, quelques rajouts de fonctionnalités ont été effectués. Dans une balise ouvrante, il ne doit pas y avoir d espace à la suite du caractère < pour que le fichier XML soit validé ; si l utilisateur en met, ils sont automatiquement supprimés. Une balise vide ne sera également pas fermée automatiquement, cela aurait peu d intérêt, et peut éviter des erreurs. L écriture électrique peut être désactivée dans les options (voir paragraphe suivant), pour permettre à l utilisateur de créer un fichier comme il le souhaite, sans l assistance de fermeture automatique. 3.6 Les options (Serialisation) Les options permettent à l utilisateur d avoir une application la plus proche de ce qu il souhaite. Dans notre cas, nous avons préféré mettre des 18

20 options relatives au fonctionnement de l application, et non des options superflues comme un thème ou couleur de l application (par manque de temps). Celles que nous avons retenues sont la redéfinition de la valeur d une tabulation, l affichage du numéro de ligne, la désactivation de la fermeture automatique de balise, ou encore la sauvegarde de fichiers ouverts lors de la fermeture de l application. Un des avantages non négligeable dans les options d une application est de faire en sorte que celles-ci soient mémorisées entre chaque session de travail (persistence des données). Pour mettre en place cette fonctionnalité, deux possibilités s offrent à nous. La sérialisation binaire, ou la sérialisation XML. La sérialisation binaire est assez contraignante à mettre en place. En effet, elle doit implémenter l interface Serializable ou hériter d une classe elle-même sérialisable, tous les attributs de la classe devant être mémorisés doivent être sérialisables également. Pour ce qui est de la sérialisation XML, la sauvegarde est faite dans un document XML, le résultat est donc lisible par l utilisateur et exploitable par d autres programmes. En revanche, cette sérialisation impose quelques contraintes, la classe à sérialiser doit avoir un constructeur par défaut (sans paramètre), les attributs à sérialiser doivent posséder des accesseurs / modifieurs de la forme JavaBean. Le résultat de la sérialisation XML est plus important que celui de la sérialisation binaire. Nous avons donc choisi la sérialisation XML pour sa réutilisation plus polyvalente, sa lisibilité, mais aussi car nous faisons un éditeur XML, et qu il parait donc plus logique de mémoriser nos options dans un fichier XML. 3.7 Génération de la DTD Notre logiciel offre la possibilité de créer une DTD (Document Type Definition) à partir du XML. Une DTD est une grammaire permettant de vérifier la conformité du document XML, elle n est pas obligatoire. Elle peut être déclarée de façon interne ou de façon externe. Par exemple le fichier XML suivant : <annuaire> <personne type="étudiant"> <nom>vinyes</nom> <prenom>francois</prenom> < >francois@gmail.com</ > </personne> <personne type="chanteur"> <nom>brandt</nom> <prenom>mike</prenom> < >laisse.moi-taimer@wanadoo.fr</ > 19

21 </personne> </annuaire> Pourra être validé par la DTD suivante : <!ELEMENT annuaire (personne*)> <!ELEMENT personne (nom,prenom, +)> <!ATTLIST personne type (étudiant professeur chanteur)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT (#PCDATA)> Cette fonctionnalité se révèle utile, car la création manuelle de DTD par l utilisateur est un processus souvent fastidieux. Pour pouvoir générer la DTD nous allons utiliser l API SAX Syntaxe de la DTD Elements Dans une DTD les éléments sont référencés de la manière suivante : <!ELEMENT nomelement ListeElementsImbriqués > La liste d éléments imbriqués peut se présenter sous 2 formes différentes. C est cela qui a posé le plus de problèmes lors de la réalisation de la fonctionalité. Tout d abord cette liste peut avoir la forme (elementfils1, element- Fils2?, elementfils3+, elementfils4*...). Les symbole?, + et * définissent le nombre d occurences de chaque élément fils dans chaque élément de nom nomelement. Dans notre exemple, elementfils1 est présent une fois dans chaque élément nomelement, elementfils2 est présent 0 ou 1 fois, elementfils3 est présent au moins 1 fois et elementfils4 peut être présent une ou plusieurs fois. Cette méthode est la plus restrictive, et donc la plus efficace pour la création de DTD, mais elle implique que l ordre des éléments soit séquentiel dans chaque élément parent (Dans notre exemple, la balise elementfils1 doit obligatoirement se trouver avant elementfils2 qui doit se trouver avant elementfils3...). Cette liste peut également prendre la forme (elementfils1 element- Fils2 elementfils3...)*. Cette forme permet d avoir n importe quelle occurence de chaque élément de la liste dans n importe quel ordre, ce qui simplifie. Cependant on perd toute indication sur les occurences des éléments. C est pour cela que nous allons devoir vérifier la séquentialité de chaque élément dans ses éléments parents. Attributs Dans la DTD, on gère les attributs de la manière suivante <!ATTLIST 20

22 Element Attribut Type occurence. Dans notre cas le type sera toujours CDATA (type litteral) et l occurence sera soit #IMPLIED (si l attribut n est pas obligatoire) ou #REQUIRED (si l attribut est obligatoire) L API SAX Pour créer la DTD on utilise l API SAX (Simple API for XML) qui comme l API DOM parse le code XML, mais à la différence de ce dernier il utilise une approche évènementielle. C est-à-dire qu elle permet de réagir à des événements (comme le début d un élément, la fin d un élément) et de renvoyer le résultat à l application utilisant cette API. Notre classe CreationDTD (qui génère le code de la DTD) hérite donc de la classe DefaultHandler (pour pouvoir gérer les évènements de SAX). On surchargera 3 méthodes de cette classe : startelement() : Cette méthode se lance lorsque l on rentre dans un element (une balise). On se sert de cette méthode pour gérer les attributs et les éléments fils. endelement() : Cette méthode se lance lorsque l on sort d un élément. Elle sert à vérifier après coup si un élément est optionnel ou non dans son élément père. characters() : Cette méthode se lance lorsque l on rencontre un CDATA dans l élément. On s en servira donc pour notifier l élément qu il contient un CDATA Insertion dans le XML A la création de la DTD, on propose à l utilisateur de l associer au fichier XML. Si tel est son souhait, on l intègrera en tant que DTD externe (en forçant sa sauvegarde). On ajoutera la ligne (ou remplacera si elle est déjà existante) <!DOCTYPE elementracine SYSTEM cheminabsoludtd >. 3.8 La completion si DTD Cette fonctionnalité permet d accélérer l écriture d un document XML tout en respectant les règles d une DTD. Elle consiste à proposer une liste de balises autorisées à l utilisateur lorsque celui-ci en effectue la demande (par les touches CTRL+espace). Une simple sélection (à la souris ou au clavier) dans cette liste suffit ensuite pour compléter la balise en cours d écriture. Une balise est dite autorisée si elle figure dans la liste des balises autorisées de la balise parente. La figure 3.7 page suivante représente un aperçu de la complétion dans l éditeur XML. 21

23 Fig. 3.7 Aperçu de la completion Principe Voici les objets utilisées pour implémenter cette fonctionnalité : Un Set contenant les éléments possibles, une JList pour afficher le Set, une JWindow pour afficher la JList à la position du curseur dans le TextPane Les différentes étapes du processus appelé à la pression des touches CTR+espace : On remarque d abord que cette fonctionnalité est justifiée uniquement si une DTD a été préalablement déclarée au début du document. Telle est donc la première vérification qui stoppe le reste du processus si aucune DTD n est présente. La deuxième étape consiste à construire le Set. Pour cela, il faut d abord retrouver l uri de la DTD puis d en lire le contenu. Or, afin de filtrer les balises qui ne doivent pas être proposées, il est nécessaire de déterminer la balise parente, c est à dire la balise ouverte et non-fermée la plus proche quand on remonte en arrière à partir de la position du curseur. Cette recherche est réalisée par une fonction récurrente. Une fois la DTD et la balise parente récupérées, il suffit d extraire la liste correspondante à la balise parente dans le contenu de la DTD. Au fur et à mesure que l utilisateur écrit le nom de la balise, la JList doit pouvoir se mettre à jour pour n afficher que les balises autorisées qui ont la même homographie que le mot en cours d écriture. Un dernier filtrage est donc effectué en récupérant le début du mot et ceci, à chaque fois qu un caractère est entré ou supprimé par l utilisateur alors que la JList est visible (grâce à un DocumentListener sur le TextPane). Enfin, il ne reste plus qu à afficher la JList. Celle-ci est intégrée dans une JWindow qui a l avantage d être positionnée n importe où dans l écran et en particulier sous le curseur pour une facilité d utilisation. Toutes les recherches effectuées pour cette fonctionnalité sont faites à l aide des expressions régulières. 22

24 Chapitre 4 Resultats La figure 4.1 représente un aperçu de notre logiciel terminé. Fig. 4.1 Editeur XML. On se rend compte des principales fonctionnalités proposées : Une navigation dans la fenêtre principale du source XML, avec possibilité d ouvrir plusieurs fichiers en même temps sous forme d onglets, 23

25 une fenêtre de navigation simplifiée sous forme d arbre à droite, une fenêtre de compilation explicitant les erreurs de syntaxe ou de DTD en bas. On peut redimensionner les éléments manuellement grâce à la souris. Des interactions sont possibles entre ces différents éléments : La fenêtre de compilation indique les erreurs du source XML de l onglet courant, s il y en a. L arbre se met à jour à partir de l onglet qui possède le focus, si celui-ci ne présente pas d erreur de syntaxe (XML mal formé). Si on sélectionne un item dans l arbre (élément, attribut ou texte), alors l item correspondant dans le source est mis en surbrillance dans la fenêtre principale (comme sur l image 4.1 page précédente). Des fonctionnalités supplémentaires sont disponibles quand on édite manuellement le code source : Coloration syntaxique du XML (multithread), indentation automatique, écriture électrique (ajout automatique de balise fermante si nécessaire), complétion automatique en fonction de la DTD (raccourci ctrl + esp). De plus nous avons créé une barre d outils qui reprend certaines fonctionnalités des menus fichier et édition de la barre de menus : Créer un nouveau fichier, ouvrir un fichier existant, enregistrer/enregistrer sous, couper/copier/coller, annuler/répéter. De plus la barre d outils comporte la fonction Rechercher. Pour finir la barre de menus possède, en supplément de la barre d outils, les fonctionnalités suivantes : Imprimer/Quitter dans fichier, création DTD/Aperçu dans le navigateur/options dans outils, A propos dans Aide. Toutes les fonctionnalités de la barre de menus sont accessibles via des raccourcis clavier. 24

26 Chapitre 5 Conclusion Pour conclure nous avons répondu en partie à toutes les exigences définies dans le cahier des charges en nous assurant de bien respecter les normes logicielles actuelles, qui impliquent une bonne intuitivité et une efficacité à toute épreuve. Nous avons fourni un programme proche, aussi bien au niveau de l interface que des fonctionnalités existantes, des logiciels sur lesquels nous nous sommes basés au début du projet, lors de la phase d analyse. Ce projet nous a permis d aborder, avec d avantage de consistance, les nouvelles technologies que sont le XML et les API associées (DOM et SAX) qui sont en pleine expansion dans le domaine du web. Nous avons également profité de ce projet pour acquérir une nouvelle expérience dans le travail en équipe et en collaboration. Nous avons du faire preuve d organisation et mettre en place les dispositifs de travail collaboratif tel que subversion. Ce travail en collaboration nous a également fais prendre conscience de l importance de programmer lisiblement, en commentant rigoureusement et en respectant des normes prédéfinies, afin que chacun puisse réutiliser sans difficulté le code d un autre. Nous remercions notre maitre de projet, M. Meynard, pour ses explications claires, qui nous ont permis d avancer efficacement. En annexe se trouve la documentation complète (Javadoc) du logiciel que nous avons implémenté. 25

27 Table des figures 2.1 Interface d Assembla Diagramme de Gantt de notre projet Schéma des modèles dans l éditeur XML Schéma des vues dans l éditeur XML Schéma du contrôleur dans l éditeur XML Diagramme de classe de l éditeur XML Hiérarchie de confinement de l interface graphique Interface Graphique de l éditeur XML Aperçu de la completion Editeur XML

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

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

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

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

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

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

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

Plus en détail

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

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

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

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 EP60.92 Projet d application pluridisciplinaire La chasse aux trésors 2011-2012 I. Objectifs Mettre en œuvre les compétences acquises ou en cours d acquisition en: o Modélisation UML, Réseau, Base de données,

Plus en détail

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

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

Plus en détail

Une ergonomie intuitive

Une ergonomie intuitive Une ergonomie intuitive Les solutions de la ligne PME offrent une interface de travail proche des usages quotidiens en informatique. Leur ergonomie intuitive facilite la prise en main du logiciel. Une

Plus en détail

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...

Plus en détail

< Atelier 1 /> Démarrer une application web

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

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

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

Plus en détail

Guide d usage pour Word 2007

Guide d usage pour Word 2007 Formation TIC Septembre 2012 florian.jacques@etsup.com Guide d usage pour Word 2007 ETSUP 8 villa du Parc Montsouris 75014 PARIS SOMMAIRE Interface... 2 Organiser son espace de travail... 3 La barre d

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

Tutoriel. Votre site web en 30 minutes

Tutoriel. Votre site web en 30 minutes Tutoriel Votre site web en 30 minutes But du tutoriel Nous allons vous présenter comment réaliser rapidement votre site avec Web Creator Pro 6 en vous basant sur l utilisation des modèles fournis avec

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

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

Plus en détail

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

Logiciel de gestion de caisse et d ardoises

Logiciel de gestion de caisse et d ardoises 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

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

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

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

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels. Aide Webmail 1. Découverte de l environnement : L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels. 1. La barre d application (1) Les

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

CREG : http://www.creg.ac- versailles.fr/spip.php?article803

CREG : http://www.creg.ac- versailles.fr/spip.php?article803 OUTILS NUMERIQUES Édu-Sondage : concevoir une enquête en ligne Rédacteur : Olivier Mondet Bla. 1 Présentation Parmi les pépites que contient l Édu-Portail, l application Édu-Sondage est l une des plus

Plus en détail

Atelier Le gestionnaire de fichier

Atelier Le gestionnaire de fichier Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local

Plus en détail

Documentation Liste des changements apportés

Documentation Liste des changements apportés Version 4.1.000 Documentation Liste des changements apportés C2 Innovations 2010 Table des matières À LA VERSION 4.1... 4 NOUVEAU PRE REQUIS POUR L INSTALLATION DE C2... 4 FERMER LA SESSION D UN UTILISATEUR

Plus en détail

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec

FAA : Fonctions Automatiques de l Application. Les fonctions automatiques incluses dans vos applications développées avec FAA : Fonctions Automatiques de l Application Les fonctions automatiques incluses dans vos applications développées avec Fonctionnalités automatiques WinDev 12 - Version 2-03-08 Fonctionnalités automatiques

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

Manuel d utilisation du site web de l ONRN

Manuel d utilisation du site web de l ONRN Manuel d utilisation du site web de l ONRN Introduction Le but premier de ce document est d expliquer comment contribuer sur le site ONRN. Le site ONRN est un site dont le contenu est géré par un outil

Plus en détail

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Formation. Module WEB 4.1. Support de cours

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

Comment utiliser RoundCube?

Comment utiliser RoundCube? Comment utiliser RoundCube? La messagerie RoundCube est très intuitive et fonctionne comme la plupart des logiciels de messagerie traditionnels. A. Découverte de l'environnement 1/ La barre d application

Plus en détail

Sous réserve de modifications techniques et des disponibilités, fabrication française.

Sous réserve de modifications techniques et des disponibilités, fabrication française. Sous réserve de modifications techniques et des disponibilités, fabrication française. Table des matières PARTIE 1 : GÉNÉRALITÉS CHAPITRE 1 : FONCTIONNEMENT GÉNÉRAL Fonctionnement général... 5 CHAPITRE

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (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étail

26 Centre de Sécurité et de

26 Centre de Sécurité et de 26 Centre de Sécurité et de Maintenance La fenêtre du Centre de sécurité et de maintenance (CSM) rassemble tous les outils nécessaires au contrôle, à l analyse, à la maintenance, à la sauvegarde et au

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

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

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine Solution logicielle pour votre architecture Machine Atelier de découverte SoMachine Objectif de la manipulation Le programme à réaliser va permettre de gérer le remplissage et la vidange d une cuve en

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

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

Programmation Web. Madalina Croitoru IUT Montpellier

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

Plus en détail

Utilisation du client de messagerie Thunderbird

Utilisation du client de messagerie Thunderbird Outlook express n existant plus sur les systèmes d exploitation sortis après Windows XP, nous préconisons désormais l utilisation du client de messagerie libre distribué gratuitement par la Fondation Mozilla.

Plus en détail

PRESENTATION DE LA SOLUTION. CybEx E_Trade

PRESENTATION DE LA SOLUTION. CybEx E_Trade PRESENTATION DE LA SOLUTION CybEx E_Trade Janvier 2013 CybEx E_Trade... 3 1- Présentation Générale... 3 2- Présentation Des Fonctions Principales... 3 1- Authentification Du Client... 3 2- Interface Graphique

Plus en détail

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

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

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Introduction à Expression Web 2

Introduction à Expression Web 2 Introduction à Expression Web 2 Définitions Expression Web 2 est l éditeur HTML de Microsoft qui répond aux standard dew3c. Lorsque vous démarrez le logiciel Expression Web 2, vous avez le choix de créer

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

Table des matières ENVIRONNEMENT

Table des matières ENVIRONNEMENT ENVIRONNEMENT Présentation de Windows 7.................13 Démarrer Windows 7......................15 Quitter.................................15 Les fenêtres..............................16 Généralités............................17

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

«Centreon Status Map» Conception et développement d une application j2se

«Centreon Status Map» Conception et développement d une application j2se RAPPORT DE STAGE : Conception et développement d une application j2se Du Mardi 1 mai au Mercredi 31 octobre 2007. Jean- Lamotte lamott_j Effectué à : 12 avenue Raspail 94270 Gentilly France Remerciements

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

iil est désormais courant de trouver sur Internet un document

iil est désormais courant de trouver sur Internet un document Matériels et systèmes L Acrobat qui cherche dans les PDF Michel NARCY - Formateur TICE et Médialog Bulletin officiel, programmes d enseignement, articles de quotidiens ou de revues scientifiques... De

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

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

Service On Line : Gestion des Incidents

Service On Line : Gestion des Incidents Service On Line : Gestion des Incidents Guide de l utilisateur VCSTIMELESS Support Client Octobre 07 Préface Le document SoL Guide de l utilisateur explique comment utiliser l application SoL implémentée

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

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES Avant-propos Conçu par des pédagogues expérimentés, son originalité est d être à la fois un manuel de formation et un manuel de référence complet présentant les bonnes pratiques d utilisation. FICHES PRATIQUES

Plus en détail

Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Bien programmer. en Java 7. 10 000 ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret. Bien programmer en Java 7 Avec plus de 50 études de cas et des comparaisons avec C++ et C# Plus de 10 000 ex. vendus! Édition en couleur Emmanuel Puybaret, ISBN : 978-2-212-12974-8 chapitre1 Présentation

Plus en détail

FEN FICHE EMPLOIS NUISANCES

FEN FICHE EMPLOIS NUISANCES Version 4.8.2 Date mise à jour : 19 Février 2013 Auteur : LAFUMA Gilles Email : glfm02@orange.fr Web : www.procarla.fr/soft Présentation : FEN FICHE EMPLOIS NUISANCES Le Logiciel FEN Fiche emploi nuisance

Plus en détail

Tutorial Terminal Server sous

Tutorial Terminal Server sous Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : xenon33@free.fr Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal

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

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de Guide de l utilisateur Faites connaissance avec la nouvelle plateforme interactive de Chenelière Éducation est fière de vous présenter sa nouvelle plateforme i+ Interactif. Conçue selon vos besoins, notre

Plus en détail

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA OBJECTIFS : manipuler les fenêtres et l environnement Windows, gérer ses fichiers et dossiers, lancer les applications bureautiques présentes sur son poste. PUBLIC

Plus en détail

EXCEL TUTORIEL 2012/2013

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

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05 EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA

Plus en détail

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale.

HighPush. document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale. Version du Date document 3.0 18/06/2009 Révision pour version 3.0 2.0 20/11/2008 Revision pour la 2.0 1.0 01/10/2008 Documentation initiale Commentaires 1 Table des matières 1 Introduction / Identification...

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

INFORM@TIQUE PROGRAMME PROVISOIRE. Degré 9 (1CO)

INFORM@TIQUE PROGRAMME PROVISOIRE. Degré 9 (1CO) INFORM@TIQUE PROGRAMME PROVISOIRE Degré 9 (1CO) DECS SE, mai 2011 PREAMBULE L ordinateur et les moyens multimédias en général font partie du quotidien des élèves. Ils sont utilisés comme instruments de

Plus en détail

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

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

Plus en détail

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel Excel est un des meilleurs outils de manipulation de données et parfois il est nécessaire d exploiter des données

Plus en détail

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR HISTORIQUE DES VERSIONS Vers. Date Rédacteur Objet de la modification 1.00 Juillet 2007 GTBO_AGRI Création du document 1.01 Février 2009 SAMOA

Plus en détail

Access 2007 FF Access FR FR Base

Access 2007 FF Access FR FR Base ACCESS Basic Albertlaan 88 Avenue Albert Brussel B-1190 Bruxelles T +32 2 340 05 70 F +32 2 340 05 75 E-mail info@keyjob-training.com Website www.keyjob-training.com BTW TVA BE 0425 439 228 Access 2007

Plus en détail

Démarrer et quitter... 13

Démarrer et quitter... 13 Démarrer et quitter... 13 Astuce 1 - Ouvrir, modifier, ajouter un élément dans le Registre... 14 Astuce 2 - Créer un point de restauration... 18 Astuce 3 - Rétablir un point de restauration... 21 Astuce

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

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

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

Plus en détail

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières

Plus en détail

SII Stage d informatique pour l ingénieur

SII Stage d informatique pour l ingénieur SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...

Plus en détail

Manuel de System Monitor

Manuel de System Monitor Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation

Plus en détail

Création d un site web avec Nvu

Création d un site web avec Nvu Création d un site web avec Nvu sources principales d'informations: http://www.framasoft.net/article2656.html http://info.sio2.be/nvu/index.php http://www.anseladams.com Pensez à sauvegarder fréquemment

Plus en détail

Utiliser un tableau de données

Utiliser un tableau de données Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Premiers Pas avec OneNote 2013

Premiers Pas avec OneNote 2013 Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Présentation de Firefox

Présentation de Firefox Présentation de Firefox A l ouverture la fenêtre ressemble a ceci. (A noter qu ici j ai ouvert la page d accueil GOOGLE) Firefox présente toutes les fonctionnalités de base d un navigateur comme Internet

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

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

Pourquoi un GMAO? Pourquoi GMAO-Machine Bateau? Démarrage Dossier Menu Principal Structure, classification des équipements Fiche d intervention

Pourquoi un GMAO? Pourquoi GMAO-Machine Bateau? Démarrage Dossier Menu Principal Structure, classification des équipements Fiche d intervention Pourquoi un GMAO? Pourquoi GMAO-Machine Bateau? Démarrage Dossier Menu Principal Structure, classification des équipements Fiche d intervention Journal des interventions Planning Gestion des tâches planifiées

Plus en détail

CAPTURE DES PROFESSIONNELS

CAPTURE DES PROFESSIONNELS CAPTURE DES PROFESSIONNELS 2 Téléchargement 3 Installation 8 Prise en main rapide 10 Lancement Recherche 14 Gestion des fichiers 23 Compare et Sépare 24 Fichiers annexes 2/ Le menu Utilitaires 32 Internet

Plus en détail