WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Réconciliation par consensus des mises à  jour des répliques partielles d'un document structuré.

( Télécharger le fichier original )
par Milliam Maxime Zekeng Ndadji
Université de Dschang - Master 2 2016
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.2. Le matériel de construction de TinyCE v2

Comme nous l'avons déjà révélé, TinyCE v2 est construit à partir de deux langages: Java et Haskell. La version de Java qui a été utilisée pour cette construction est Java 7 (avec le JDK - Java Development Kit - 1.7); et la version de GHC est la plateforme dénommée HaskellPlatform-2014.2.0.0. Pour les communications en réseau nous avons utilisé l'API RMI.

Les sauvegardes et les analyses des fichiers XML ont été réalisées avec l'API DOM (Document Object Model) et le framework DOM4J (Document Object Model for Java). Avec DOM4J, nous avons utilisé un parseur de type SAX (Simple API for XML) et la technologie XPath (pour manipuler les données XML).

6. L'outil yacc/bison est un produit GNU (GNU's Not UNIX) qui permet la construction d'un analyseurs syntaxiques à partir des grammaires. Combiné à l'outil (f)lex (qui permet la construction d'analyseurs lexicaux), il peut permettre la construction d'un réel compilateur.

7. Xtext est un framework de développement des langages, utilisé comme plug-in pour l'IDE eclipse et permettant de créer des DSL (Domain-Specific Language).

4.3. Mise en oeuvre d'un workflow d'édition sous TinyCE v2 53

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

Les éléments des workflows (grammaires, vues, documents, acteurs...) ont été sauvegardé sous le format JSON (JavaScript Object Notation). Nous avons utilisé la bibliothèque open source Gson, développée par Google, pour sérialiser nos données dans leur représentation JSON et pour désérialiser ces données à partir de leur représentation JSON.

Les données stockées, tout comme celles échangées, ont été cryptées puis décryptées grâce à l'API JCE (Java Cryptography Extension).

L'interface graphique a été complètement développée grâce à l'API Swing. Pour la représentation graphique des documents (sous forme d'arbres) avec Swing, nous avons utilisé la version Java de la bibliothèque mxGraph. Cette version est dénommée JGraphX8. Nous avons de ce fait, réussi le pari d'utiliser de bons outils gratuits et open source pour la plupart. De bons outils qui nous ont conduit à la création d'un logiciel disponible pour Windows et pour Linux (ce sont les plateformes sur lesquelles nous avons réalisé nos tests).

4.3. Mise en oeuvre d'un workow d'édition sous TinyCE v2

Pour cette présentation, nous disposons de deux postes (un poste client-serveur (poste 1) et un poste client (poste 2)) pouvant communiquer via une connexion réseau. L'utilisa-tion de TinyCE v2 pour la mise en oeuvre d'un workflow d'édition, peut être la suivante:

Sur le poste 1 (en mode serveur)

1. Authentification et création d'un nouveau workflow d'édition : pour créer un nouveau workflow, on peut se servir du menu'Fichier/Nouveau/Workflow' ou du bouton 'Créer un nouveau workflow' (dont l'icône porte le symbole'+' sur un fond circulaire de couleur orange) de la barre d'outils.

Pour la création du workflow, on précise:

2. Le nom du workflow : il permet de générer un identifiant pour ledit workflow;

3. Le serveur de synchronisation : il s'agit de l'adresse du poste qui sera chargé des (re)distributions et des synchronisations;

4. La grammaire : on saisit les productions de la grammaire conformément au modèle9 accepté par TinyCE v2, puis on choisit l'axiome de cette grammaire;

5. Les vues : il s'agit d'entrer les noms des différentes vues et les symboles appartenant à ces vues;

6. Les différents acteurs/co-auteurs : on précise pour chaque co-auteur, ses paramètres d'authentification (login et mot de passe), son site d'édition (facultatif), la vue qui lui est associée...

7. Le document initial : un document initial est généré à partir de la grammaire; mais l'utilisateur a la possibilité de proposer un autre document initial, qui sera validé par TinyCE v2.

Pour enregistrer le workflow ainsi crée, il suffit de cliquer sur le bouton'Terminer'. Il est utile de noter qu'un workflow peut être crée à partir d'un modèle (template) existant.

8. La bibliothèque mxGraph était précédemment dénommée JGraph et ne proposait que la représentation des graphes en Java avec Swing. À partir de la version 6, les éditeurs ont proposé des versions de ladite bibliothèque pour plusieurs autres langages (JavaScript,...). Le nom mxGraph a donc été adopté pour désigner l'ensemble de ces versions et JGraphX a été adopté pour désigner JGraph 6 (la version Java de mxGraph).

9. Ce modèle est donné dans l'utilitaire d'aide de TinyCE v2.

4.4. Synthèse 54

Mémoire - ZEKENG NDADJI Milliam Maxime LIFA

Sur les postes 1 et 2 (en mode client)

1. Authentification : le co-auteur concerné, fournit ses paramètres d'authentification;

2. Recherche des workflows d'édition : pour cela, il faut se rendre dans l'onglet "workflows distants", puis entrer l'adresse du serveur de synchronisation dans la zone de texte prévue à cet effet et enfin cliquer sur le bouton"Actualiser" (dont l'icône est une loupe).

3. Connexion au workflow : le co-auteur doit se connecter au workflow, pour obtenir, par projection suivant sa vue, une copie locale de ce dernier (copie locale de la grammaire et du document). Pour se connecter à un workflow distant, il suffit de sélectionner ledit workflow, puis de cliquer sur le bouton "Se connecter au workflow";

4. Édition en local du document: les workflows locaux sont listés dans l'onglet "Workflows locaux". Pour éditer en local le document d'un tel workflow, il suffit de sélectionner ce dernier puis de cliquer sur le bouton "Éditer ce workflow". TinyCE v2 dispose d'un éditeur permettant de modifier les documents et de les sauvegarder;

5. Synchroniser: après l'édition de sa réplique partielle, le co-auteur peut déclencher un processus de synchronisation en cliquant sur le bouton "Synchroniser". Les autres participants à ce workflow seront alors notifiés et invités à envoyer leurs répliques pour compléter le processus de synchronisation. Une fois que toutes les répliques parviennent au serveur de synchronisation, TinyCE v2 réalise la fusion consensuelle et propose, en mode interactif, le choix du consensus lorsqu'il y en a plusieurs. Le document résultant est redistribué pour la suite de l'édition.

Les captures d'écran suivantes (page 55), illustrent la mise en oeuvre du workflow d'édition présenté au chapitre 3 (sect. ??), sous TinyCE v2 :

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rĂªvent de jour ont conscience de bien des choses qui échappent à ceux qui rĂªvent de nuit"   Edgar Allan Poe