Une MAJ de sécurité est nécessaire sur notre version actuelle. Elle sera effectuée lundi 02/08 entre 12h30 et 13h. L'interruption de service devrait durer quelques minutes (probablement moins de 5 minutes).

Commit 63eeeee8 authored by Laurent Tardif's avatar Laurent Tardif
Browse files

This commit was manufactured by cvs2svn to create tag 'v1-0-5'.

parent 301a57ee
#---No Comment---
#Sun Sep 08 16:39:15 CEST 2002
directory=/local_home/gchomat/flowcomposer/test/process
accelbarOrientation=0
toolbarOrientation=1
This diff is collapsed.
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"/home/ferio/gchomat/dbkDTD/docbookx.dtd">
<article>
<title>Carnet de bords</title>
<subtitle>FlowComposer</subtitle>
<articleinfo>
<authorgroup>
<author>
<firstname>Guillaume</firstname>
<surname>Chomat</surname>
</author>
<author>
<firstname>Frédéric</firstname>
<surname>Saint-Marcel</surname>
</author>
</authorgroup>
</articleinfo>
<section><title>03-04-2002</title>
<para>Etude de faisabilité d'utilisation de JGraph : utiliser JGraph comme composant swing au sein du Flowcomposer.</para>
</section>
<section><title>05-04-2002</title>
<section>
<title>Observer/Observable</title>
<para>L'idée principale derière Observers et observables est qu'un objet observable a une méthode que un observer appelle afin d'enregistrer ses intérêts. Quand un changement se produit, l'objet observable envoie une notification en appelant une méthode dans chaque observers.</para>
</section>
<section>
<title>Etude de la connection entre JGraph et Transmorpher</title>
<para>Une première approche consiste à ce que tous les objets du transmorpher graph soit des Observables et tous les objets de JGraph soit des Observers sur ces derniers.</para>
<para>De ce fait toute modification effectué sur le transmorpher graph sera répercuté sur le JGraph servant à l'affichage.</para>
<para>L'indépendance entre Flowcomposer et Transmorpher sera de ce fait plus forte.</para>
<para>De plus, la connection entre Flowcomposer et d'autres outils se basant sur Transmorpher sera plus aisée.</para>
</section>
<section>
<title>Debut d'une première maquette basée sur JGraph</title>
<para>Afin de mieux cerner JGraph et son principe de fonctionnement, la décision d'établir une première maquette du Flowcomposer a été prise.</para>
<para>Cette première maquette en est à ce jour en un stade peu avancée. Les différents éléments propre à notre JGraph ont été implémentés(..Cell,...Renderer,..View). Enfin des problèmes de compréhension sur le principe de fonctionnements des actions en swing ont été rencontrés.</para>
</section>
</section>
<section>
<title>08-04-2002</title>
<para>Mise en place de la maquette suite. Necessité de comprendre plus en profondeur JGraph afin de l'appliquer à nos contraintes de graph</para>
</section>
<section>
<title>09-04-2002</title>
<para>Mise en place de la maquette suite. Necessité de comprendre plus en profondeur JGraph afin de l'appliquer à nos contraintes de graph</para>
<para>Dans le modèle de JGraph les ports sont définis par défaut. Pour Flowcomposer, il faudra les déterminer et les créer dynamiquement. De plus la connection entre les composants se fera de la manière suivante:
L'utilisateur selectionnera le composant dont l'output l'intéresse en maintenant la bouton appuyé il se placera sur le composant dont l'input l'intéresse il relachera alors la souris et la connection sera crée entre un output du premier et l'input du deuxième
</para>
</section>
<section>
<title>10-04-2002</title>
<para>En fin de journée, on avait une première ébauche d'application avec JGraph.</para>
</section>
<section>
<title>11-04-2002</title>
<para>Implémentation du prototype version 0.1 suite.</para>
<itemizedlist>
<listitem>
<para>UndoManager</para>
</listitem>
<listitem>
<para>Connection entre composant</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>12-04-2002</title>
<para>Implémentation du prototype version 0.1 suite.</para>
<itemizedlist>
<listitem>
<para>création du menu</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>15-04-2002</title>
<para>Implémentation du prototype version 0.1 suite.</para>
<itemizedlist>
<listitem>
<para>définition de toutes les actions du menu.</para>
</listitem>
<listitem>
<para>Recherche de solution pour générer un jar contenant les répertoires suivants :</para>
<simplelist>
<member>fr/ : Classes du projet.</member>
<member>resources/ : Toutes les resources necessaires au FlowComposer. Réfléchir à les sortir du jar.</member>
<member>META-INF/MANIFEST.MF</member>
</simplelist>
<para>jgraph.jar ne doit pas se trouver dans le jar</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>16-04-2002</title>
<para>Préparation de la soutenance mi-parcours.</para>
<para>Premier contact avec l'audit : présentation du projet</para>
<para>Solution trouvée pour la génération du jar.Mise à jour de la base CVS.</para>
</section>
<section>
<title>17-04-2002</title>
<para>Préparation de la soutenance de mi-parcours suite.</para>
</section>
<section>
<title>18-04-2002</title>
<para>Préparation de la soutenance de mi-parcours suite.</para>
<para>Mise à jour du cdc en vue du première audit</para>
</section>
<section>
<title>19-04-2002</title>
<para>Mis à jour de la documentation en vue du premier audit le 27 avril 2002.</para>
<para>Ajout de la documentation du projet dans la base CVS.</para>
<para>Ajout, dans la base CVS, des fichiers necessaires à la générations des formats HTML de la documentation</para>
<para>Possibilité de générer la documentation HTML en exécutant la commande suivante dans le répertoire lib : java -jar transmo.jar docbook.xml</para>
<para>Continuation de la préparation de la soutenance mi-parcours</para>
</section>
<section>
<title>Semaine du 22-04-2002</title>
<itemizedlist>
<listitem>
<para>Définition et rédaction des Spécifications Externes.</para>
</listitem>
<listitem>
<para>Validation de l'utilisation de JGraph</para>
<para>Implémentation des spécifications externes.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 29-04-2002</title>
<itemizedlist>
<listitem>
<para>Conception et implémentation de la construction du graph Transmorpher.</para>
</listitem>
<listitem>
<para>Tests de la construction</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 06-05-2002</title>
<itemizedlist>
<listitem>
<para>Conception et implémentation de l'ouvertue d'un document XML respectant la DTD Transmorpher.</para>
</listitem>
<listitem>
<para>Tests de l'ouvertue de documents XML.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Période du 13-05-2002 au 24-05-2002</title>
<itemizedlist>
<listitem>
<para>Conception et implémentation de la sauvegarde des compositions éditées.</para>
</listitem>
<listitem>
<para>Tests</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>semaine du 27-05-2002</title>
<itemizedlist>
<listitem>
<para>Conception et implémentation de l'exécution d'une composition.</para>
</listitem>
<listitem>
<para>Tests</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Période du 03-06-2002 au 14-06-2002</title>
<itemizedlist>
<listitem>
<para>Conception et implémentation de la compilation d'une composition.</para>
</listitem>
<listitem>
<para>Tests</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>semaine du 17-06-2002</title>
<itemizedlist>
<listitem>
<para>Mis à jour des documents.</para>
</listitem>
<listitem>
<para>Préparation du deuxième audit.</para>
</listitem>
<listitem>
<para>Etablis les jeux de test.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 24-06-2002</title>
<itemizedlist>
<listitem>
<para>Test du prototype 0.1.</para>
</listitem>
<listitem>
<para>Validation du prototype 0.1</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 01-07-2002</title>
<itemizedlist>
<listitem>
<para>Définition et impléméntation d'un plan de travail pour l'édition de process</para>
</listitem>
<listitem>
<para>Tests sur l'implémentation d'un plan de travail</para>
</listitem>
<listitem>
<para>Modifier le Panel des properties pour être conforme au spécificitées de Transmorpher</para>
</listitem>
<listitem>
<para>Etablir des jeux de test et tester le nouveau panel properties</para>
</listitem>
<listitem>
<para>Implémenter la suppression des composants suivant le model Observer/Observable</para>
</listitem>
<listitem>
<para>Etablir des jeux de test pour la suppression.</para>
</listitem>
<listitem>
<para>Appliquer les jeux de test.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 08-07-2002</title>
<itemizedlist>
<listitem>
<para>Définition et implémentation d'un algorithme de layourt basic.</para>
</listitem>
<listitem>
<para>Etablir des jeux de test et Tester l'algorithme.</para>
</listitem>
<listitem>
<para>Définition et implémentation de la fenêtre "About".</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 22-07-2002</title>
<para>Abscence de Guillaume toute la semaine: cause de son mariage</para>
<itemizedlist>
<listitem>
<para>Amélioration de l'algorithme de layout Basic.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 29-07-2002</title>
<para>Abscence de Guillaume lundi et mardi</para>
<itemizedlist>
<listitem>
<para>Plan de test</para>
</listitem>
<listitem>
<para>Tests et correction des bugs éventuels</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 05-08-2002</title>
<itemizedlist>
<listitem>
<para>Préparation du 3 éme audit</para>
<para>Rédiger Manuel Utilisateur</para>
<para>Réviser tous les autres documents</para>
</listitem>
<listitem>
<para>ApplyProcess/Process</para>
<para>Modification/ajout/suppression de ports.</para>
</listitem>
<listitem>
<para>Suppression de process</para>
</listitem>
<listitem>
<para>Suppression de ports</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 12-08-2002</title>
<itemizedlist>
<listitem>
<para>Conception et implémentation d'un algorithme de détection de cycle.</para>
</listitem>
<listitem>
<para>Conception et implémentation d'une console gérant les erreurs emise par Transmorpher.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 19-08-2002</title>
<itemizedlist>
<listitem>
<para>Test du prototype 0.2</para>
</listitem>
<listitem>
<para>Validation du prototype 0.2</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Semaine du 25-08-2002</title>
<itemizedlist>
<listitem>
<para>Préparation de la soutenance.</para>
</listitem>
<listitem>
<para>Mis en place de la démo.</para>
</listitem>
</itemizedlist>
</section>
</article>
\ No newline at end of file
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"/home/ferio/gchomat/dbkDTD/docbookx.dtd">
<article>
<title>Plan de Développement</title>
<articleinfo>
<authorgroup>
<author>
<firstname>Guillaume</firstname>
<surname>Chomat</surname>
</author>
<author>
<firstname> Frédéric</firstname>
<surname>Saint-Marcel</surname>
</author>
</authorgroup>
<date>10-02-2002</date>
<subtitle>FlowComposer 0.1</subtitle>
</articleinfo>
<section><title>But, domaine d'application et responsabilité</title>
<section><title>Introduction</title>
<para>Le Plan de Développement Logiciel (PDL) décrit l'ensemble des dispositions retenues pour contrôler le projet sur le développement de l'interface graphique de Transmorpher.</para>
<para>Le Plan de Développement Logiciel est rédigé en fonction des clauses qualité du projet en s'appuyant sur les éléments du Plan d'Assurance Qualité Logiciel (PAQL).</para>
</section>
<section><title>Place et portée du PDL</title>
<para>Le Plan de Développement Logiciel sert à exprimer clairement les tâches liées à la réalisation. En particulier, il décrit pour chacune d'elles :</para>
<itemizedlist>
<listitem><para>Sa durée;</para>
</listitem>
<listitem><para>Les éléments d'entrée;</para>
</listitem>
<listitem><para>Les fournitures;</para>
</listitem>
<listitem><para>Les contraintes;</para>
</listitem>
<listitem><para>Les moyens à mettre en oeuvre;</para>
</listitem>
</itemizedlist>
<para>Il permet la création d'un planning prévisionnel pour estimer les fins d'échéances de chaque phase du cycle de vie.</para>
</section>
<section><title>Contexte du projet</title>
<para>Le projet se déroule à l'INRIA Rhône-Alpes au sein de la société Fluxmedia et en partenariat avec le projet Exmo de l'INRIA.</para>
<para>Le but est de développer une interface graphique à l'environnement de composition de transformations de documents XML, Transmorpher.</para>
</section>
</section>
<section><title>Introduction</title>
<section><title>XML</title>
<para>XML est le language universel pour l'édition de document et de données structurés. Il est défini comme un standard par le W3C[1] pour la structuration de documents.</para>
<section><title>Documents structurés</title>
<para>Les "documents structurés" sont des éléments tels que des feuilles de calcul, des carnets d'adresses, des paramètres de configuration, des transactions financières, des dessins techniques, etc. XML est un ensemble de règles, de lignes directrices, de conventions (quel que soit le nom que vous voulez leur donner) pour la conception de formats texte permettant de structurer des données.</para>
<para>Pour structurer les données, XML utilise des balises (des mots encadrés par '&lt;' et '&gt;') et des attributs (de la forme nom="valeur"). Pour cela, le langage XML est un "frère" du langage HTML(tous deux étant issus de SGML). Mais alors que HTML définit la signification de chaque balise et de chaque attribut, XML utilise les balises seulement pour délimiter les éléments de données et laisse l'entière interprétation des données à l'application qui les lit. En d'autres termes, si vous voyez "&lt;p&gt;" dans un fichier XML, on ne peut en déduire la sémantique. Selon le contexte cette balise peut définir un prix, un paragraphe, voir même une fleur.</para>
</section>
<section><title>XML : un stanard</title>
<para>Mais contrairement à HTML, qui utilise un jeu de balises finies, XML permet de définir ses propres balises. Pour bien comprendre cela, prenons l'exemple d'un document, décrivant en XML, un annuaire au sein d'une entreprise. Un tel document pourrait ressembler à:</para>
<example><title>Exemple de document XML</title>
<programlisting>
<![CDATA[
<annuaire>
<personne id="cr214">
<nom>Chinalska</nom>
<prenom>Renata</prenom>
<fonction>agent commercial</fonction>
<tel>0123456789</tel>
<bureau>b214</bureau>
</personne>
</annuaire> ]]>
</programlisting>
</example>
<para>Les balises qui définisent notre document annuaire permmettent de donner une sémantique aux contenus de ces balises.</para>
<para>Ensuite, un des autres avantages d'XML, par rapport à d'autres formats d'éditions, est sa portabilité. Tout programme pouvant lire des documents textes peut lire des documents XML.</para>
<para>De plus, de multiples langages peuvent être dérivés d'XML. L'avantage, alors, est l'uniformisation de l'analyse syntaxique de tous ces langages.</para>
<para>Enfin, contrairement à HTML, XML sépare le contenu du document de sa présentation. Cette dernière étant rendue possible par des feuilles de styles.
XSL est un langage, dérivant de XML, qui permet d'écrire de telles feuilles de styles. XSLT quant à lui pemet d'appliquer une feuille de style XSL à un document XML.
Un des avantages est de pouvoir présenter un même document XML sur différentes plates-formes(téléphone portable, ordinateur de bureau, ordinateur de poche,...) mais aussi sous différents formats(HTML,PDF,...).
</para>
<para>En résumé, XML s'impose comme le standard de l'édition de documents structurés. De ce fait, au sein d'une entreprise, une grande partie des documents qui circuleront en son sein mais aussi vers le monde extérieur seront écrits en XML.</para>
</section>
<section><title>Transmorpher</title>
<para>Ainsi, l'échange de documents structurés entre organisations mais également entre logiciels, entraîne que la maîtrise et la composition des transformations de ces documents seront primordiales.</para>
<para>Aujourd'hui, XSLT permmet d'effectuer des transformations sur ces documents par l'intermédiaire d'une feuille de style XSL.Cependant ce procédé a des lacunes.</para>
<para>En effet, XSLT est trop complexe pour des opérations simples(renommer un attribut, cacher un élément) et limité pour des opérations complexes, comme la composition de transformations. Or, ces compositions de transformations se révellent être d'une nécessité grandissante.</para>
<para>Transmorpher est un environnement pour des transformations génériques de traitement sur des documents de XML. Il vise à compléter XSLT afin de :
<itemizedlist>
<listitem><para>Décrire des transformations simples facilement (retirer des éléments, substiter des noms d'élément et d'attribut,...)</para>
</listitem>
<listitem><para>Permettre d'appliquer des transformations à l'aide d'expressions régulières sur le contenu</para>
</listitem>
<listitem><para>Composer des transformations</para>
</listitem>
<listitem><para>Réitérer des transformations</para>
</listitem>
</itemizedlist></para>
<para>Les transformations sont décrites par l'intermédiaire d'un langage dérivé d'XML.</para>
</section>
</section>
<section>
<title>documents de référence</title>
<para>Le site du projet <ulink url="http://transmorpher.inrialpes.fr">Transmorpher</ulink></para>
</section>
</section>
<section>
<title>Les acteurs et leurs rôles</title>
<section>
<title>Maîtrise d'oeuvre</title>
<para></para>
<para>Chomat Guillaume: Stagiaire de DESS GI</para>
<para>Saint-Marcel Frédéric: Stagiaire de DESS GI</para>
<para>Rôle : Développer une interface graphique pour l'environement de compositions de transformations, Transmorpher.</para>
</section>
<section>
<title>Maîtrise d'ouvrage</title>
<para></para>
<para>Serge Leblanc: Directeur de FluxMedia</para>
<para>Jérôme Euzenat: Chercheur à l'INRIA Rhônes-Alpes, au sein du projet Exmo</para>
<para>Rôle: Donnent les objectifs du projet et valident chaque étape.</para>
<para></para>
</section>
<section>
<title>Consultant externe</title>
<para>Jean-Marc Joseph ingénieur aux Moyens Informatiques de l'INRIA</para>
<para>Rôle : Contrôler le bon déroulement du projet.</para>
</section>
</section>
<section>
<title>Détails du projet</title>
<para>Le but de ce projet est de développer une interface graphique, FlowComposer, pour l'environement de transformations de documents XML, Transmorpher.</para>
<para>Cette interface graphique est développée à l'aide de la librairie swing du langage java.</para>
<para>Tout d'abord, FlowComposer doit faciliter l'édition des documents XML, définissant une composition de transformations de documents XML, par l'utilisation de pictogrammes. Ces pictogrammes représentent l'ensemble des composants pouvant être définis au sein de l'environement Transmorpher.</para>
<para>De plus, elle doit fournir toutes les fonctionnalités offertes par Transmorpher(ex: exécution d'une composition de transformation, Compilation,...).</para>
<para>Enfin cette application doit apporter des fonctionnalités supplémentaires, comme la sauvegarde ou le chargement de composition de transformations ainsi que la possibilité de s'exécuter à distance.</para>
</section>
<section>
<title>Méthodologie mise en oeuvre</title>
<section>
<title>Cycle de vie</title>
<para> Pour mettre en oeuvre ce projet, un cycle de vie incrémental par prototypage a été choisi.</para>
<para> On estime au nombre de trois, les prototypes nécessaires avant d'arriver à  une version stable.</para>
</section>
<section>
<title>Outils Utilisés</title>
<itemizedlist id="outils">
<listitem id="langage">
<para>Langage : Java; On développera avec le jdk 1.4.</para>
</listitem>
<listitem id="IDE">
<para> Environnement de développement:Kawa 5.0.</para>
</listitem>
<listitem id="ant">
<para>Ant : Outil de production de logiciel Java/XML.</para>
</listitem>
<listitem id="cvs">
<para>CVS : Outil pour la gestion du travail collaboratif et concurrent ainsi que la gestion des versions</para>
</listitem>
<listitem id="jxunit">
<para> JUNIT : pour la génération de tests unitaires</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Organisation des réunions</title>
<para></para>
<para>Pendant la période à  mi-temps au moins une réunion toutes les deux semaines est prévue. Pendant la période à  plein temps, au moins une réunion par semaine. Un ordre du jour est fixé au préalablement. A chaque fin de réunion un compte rendu est écrit et remis aux participants de la réunion. A chaque fin de semaine, les documents et un compte rendu de la semaine devront être remis à  la maîtrise d'ouvrage.</para>
<para>De plus trois réunions avec un consultant externe sont prévues. Ces réunions ont pour but de vérifier le bon déroulement du projet et d'apporter une expertise dans le domaine de la gestion de projet.</para>
<para></para>
</section>
<section>
<title>Gestion de la documentation</title>
<para>Toute la documentation doit être conforme à la DTD de docbook. Docbook étant une norme XML pour l'édition, entre autre, d'article.</para>
<para>De plus, après chaque modification effectuée sur un document, celui-ci est mis à jour sur le serveur CVS.</para>
<para>Enfin, dans la mesure du possible, tout schéma devra être écrit en SVG(Scalable Vector Graphics).</para>
</section>
<section><title>Gestion de la qualité et des risques</title>
<para> Tous les aspects qualités et gestions des risques sont traités dans le PAQL.</para>
<para></para>
</section>
</section>
<section><title>Le planning</title>
<para></para>
<section><title>Les dates clés du projet</title>
<itemizedlist>
<listitem><para>Mercredi 24 avril 2002 : Premier audit en présence de Mr Parissis Ioannis, directeur du DESS GI à l'UFR IMA de Grenoble.</para></listitem>
<listitem><para>Mi-Avril (date à déterminer) : Soutenance de mi-parcours en anglais.</para></listitem>
<listitem><para>Fin Mai (date à déterminer) : Deuxième audit.</para></listitem>
<listitem><para>Fin Juin (date à déterminer) : Troisième audit.</para></listitem>
<listitem><para>Début Août (date à déterminer) : Audit Complémentaire.</para></listitem>
<listitem><para>Fin Août (date à déterminer) : Mise en distribution du logiciel.</para></listitem>
<listitem><para>16 septembre 2002 : Soutenance finale et démo du logiciel.</para></listitem>
</itemizedlist>
</section>
<section><title>Le diagramme de tâches detaillé</title>
<para><emphasis>cf diagram de gant ci joint.</emphasis></para>
</section>
</section>
</article>
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"/home/ferio/gchomat/dbkDTD/docbookx.dtd">
<article>
<title>Spécifications externes du FlowComposer</title>
<subtitle>Prototype 0.1</subtitle>
<articleinfo>
<authorgroup>
<author>
<firstname>Guillaume</firstname>
<surname>Chomat</surname>
</author>
<author>
<firstname> Frédéric</firstname>
<surname>Saint-Marcel</surname>
</author>
</authorgroup>
<date>20 mars 2002</date>
</articleinfo>
<section><title>Introduction</title>
<para>Flowcomposer est une interface graphique ayant pour but l'édition de compositions de transformations de documents XML.</para>
<para>Plus précisément, Flowcomposer est une interface graphique à l'environnement <ulink url="http://transmorpher.inrialpes.fr">Transmorpher.</ulink></para>
</section>
<section><title>Glossaire</title>