Interface cliente g - PowerPoint PPT Presentation

1 / 62
About This Presentation
Title:

Interface cliente g

Description:

diter et modifier les outils linguistiques en local. synchroniser les donn es ... Arial' SIZE=' 2' COLOR='WHITE' B Résultat de la génération B /FONT ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 63
Provided by: CARP90
Category:

less

Transcript and Presenter's Notes

Title: Interface cliente g


1
Mémoire CNAM en vue dobtenir le diplôme
dingénieur CNAM en informatique
  • Interface cliente générique pour le pilotage
  • de serveurs linguistiques

2
Introduction
  • Laboratoire CLIPS Équipe GETA
  • Équipe pluridisciplinaire
  • Les thèmes de recherche
  • - TAO du traducteur
  • - TAO du rédacteur
  • La mise en place doutils linguistiques
  • moteurs (compilateurs, analyseurs,
    transducteurs, générateurs)
  • données (lexiques, grammaires, corpus)

3
Introduction
  • But du mémoire développer une application
  • rendre les outils disponibles via le WEB
  • éditer et modifier les outils linguistiques en
    local
  • synchroniser les données linguistiques avec le
    serveur
  • envoyer des commandes et récupérer le résultat

4
PLAN
1. Vue générale et contexte de létude 1.1
Présentation des serveurs linguistiques 1.2
Présentation dune première interface CASH 1.3
Objectifs et contraintes de la nouvelle
application 2. Analyse et conception 2.1 Analyse
conceptuelle 2.2 Conception technique 2.3 Choix
de conception 3. Réalisation de WICALE 3.1
Application finale 3.2 Linterface de
programmation (API) Conclusion
5
ARIANE-G5
  • Est un environnement de développement de systèmes
    de TA
  • 5 langages de haut niveau LSPL
  • ATEF analyse morphologique
  • ROBRA analyse syntaxique et transfert
  • TRACOMPL transformations complémentaires
  • EXPANS outils dictionnaires
  • SYGMOR génération morphologique
  • Tourne sur une machine IBM-H30 sous VM/CMS

6
Données ARIANE-G5
7
ARIANE-G5
  • Les commandes
  • Exemple
  • LISNOMTEXT Langue source Cible Nom corpus
  • LISNOMTEXT RU5 ESSAI

MOT
Param 1 Param2 Param n
8
ARIANE-G5
  • Les accès
  • Via le courrier électronique (SMTP)
  • En mode différé
  • Via TELNET implémenté par des sockets TCP/IP
  • En temps réel

9
PILAF
  • Est un logiciel de traitement de lécrit
    permettant
  • lanalyse et la génération morphologique
  • La lemmatisation
  • La construction de structures de dépendances
  • Disponible sur le Mac, Windows, UNIX et WEB

10
Données PILAF
11
PILAF
  • Les commandes
  • Analyse morphologique
  • jeu de caractères (ISO / ASCII),
  • la lemmatisation (OUI / NON),
  • le type de sortie (texte, HTML, et LISP)
  • le texte ou le fichier à analyser.  
  • Exemple  La nouvelle année scolaire 
  • Forme CAT. Variables
  • La detp sin fem tre cod
  • nouvelle subc sin fem
  • nouvelle adjq sin fem

12
PILAF communication
  • Les accès
  • Via le WEB (protocole HTTP)

13
UNL
  • Est une définition d'un format d'échange (langage
    UNL)
  • Code la sémantique d'un document
  • permet la  déconversion  dans la langue du
    lecteur

14
Données UNL
15
UNL
  • Les commandes
  • Déconversion document UNL à déconvertir.

Monkeys eat bananas.
16
UNL
  • Les accès
  • Via TELNET implémenté par des sockets TCP/IP

17
CASH pour ARIANE-G5
18
Objectifs et contraintes de WICALE
19
Les données
20
Les scénarios
21
Les contraintes
  • La portabilité
  • La généricité ou adaptabilité
  • La facilité de déploiement et dutilisation
  • La localisation

22
PLAN
1. Vue générale et contexte de létude 1.1
Présentation des serveurs linguistiques 1.2
Présentation dune première interface CASH 1.3
Objectifs et contraintes de la nouvelle
application 2. Analyse et conception 2.1 Analyse
conceptuelle 2.2 Conception technique 2.3 Choix
de conception 3. Réalisation de WICALE 3.1
Application finale 3.2 Linterface de
programmation (API) Conclusion
23
Analyse conceptuelle
  • Les fonctionnalités
  • Afficher la listes des EDL
  • Synchroniser les données linguistiques
  • afficher la liste des commandes
  • Saisir des paramètres dune commande (contrôle)
  • Envoyer la commande et réceptionner du résultat
  • Travailler sur le résultat
  • Préparer un script de commande
  • Deux modes de fonctionnement
  • Résultat à lécran
  • Résultat dans un fichier (format texte)

24
Analyse conceptuelle
25
Conception technique
26
Démarche en spirale
Choix techniques
Objectifs et contraintes
Prépare phase suivante
Développe Et vérifie application
27
Les choix techniques
Piloter des EDL
BD XML
  • Stockage des données en local

ISO-8859-1 Unicode UTF-8
Fichiers XML au format UTF-8
28
Les choix techniques
Piloter des EDL
ARIANE-G5 SMTP, ou TELNET
  • Communiquer avec les EDL

PILAF HTTP
UNL Telnet
ARIANE-G5 via Telnet implémenté par des sockets
TCP/IP PILAF via le protocole HTTP UNL via
Telnet implémenté par des sockets TCP/IP
29
Les choix techniques
Portabilité
JAVA C
JAVA
30
Les choix techniques
Séparer code et texte, Multi-appli
Localisation
Séparer le code des textes affichés
31
Les choix techniques
BD XML
Généricité Adaptabilité Facilité de déploiement
et dutilisation
ISO-8859-1 Unicode UTF-8
Fichiers XML au format UTF-8 Expressions
régulières
32
Résumé des choix techniques
33
JAVA
  • Sa portabilité
  • Son kit de développement
  • Compresseur de classes (jar.exe)
  • Générateur de documentation Java (javadoc.exe)
     
  • Son API de base
  • Les aspects réseau
  • La mise en œuvre dinterfaces graphiques
  • La localisation
  • Le codage
  • La manipulation dexpressions régulières
  • La manipulation de fichiers XML
  • Ses environnements de développement

34
Les aspects réseau
  • La communication par socket Envoi dune commande

Client
Serveur
Début de session Délimiteur denreg Commande
ARIANE Délimiteur de fin Fin de session
ltltlt Mot passe gtgtgt--commentaire--ARIANET-LIDIA20. /--------------------------------------------/   MACHINE CARPENA DISQUE 191 LGS LGC TRAIT LIENLANG ( , ) /--------------------------------------------/ ltltlt Mot passe gtgtgt--commentaire--ARIANET-LIDIA20.

35
Les aspects réseau
// Initialisation du socket et des flots de
communication socket new Socket(tupai.imag.fr,
5768) isr new InputStreamReader(socket.getInp
utStream(),"iso-8859-1") in new
BufferedReader(isr) out new PrintWriter(socket.
getOutputStream(),true)  
36
Les aspects réseau
//Envoie de la commande out.print(sDEBFIN_SESSION
constante.CRLF) //DEBUT de session out.print(sC
ommande constante.CRLF) out.print(sDEBFIN_SESSI
ON constante.CRLF) //FIN de session out.flush()
avec sCommande /----------------------------
--------------------------------------------------
-----/ Operation de phaseM C ou G MACHINE
CARPENA DISQUE 191 LGS LGC
TRAIT LIENLANG ( , ) /-------------------
--------------------------------------------------
--------------/
37
Les aspects réseau
  • La communication par le protocole HTTP

Client
Serveur
Connexion Envoi POST paramètres
http //clips.imag.fr/cgi-bin/pilaf/gene.py?   POST motbouillircategorieppasvariablesfemplu

38
Les aspects réseau
Connexion au serveur   url new URL("http
//clips.imag.fr/cgi-bin/pilaf/gene.py?") server
(HttpURLConnection)url.openConnection()   serve
r.setRequestMethod( POST ) server.setRequestPr
operty("Content-type", "application/x-www-form-url
encoded") server.connect() BufferedWriter bw
new BufferedWriter(new OutputStreamWriter
(server.getOutputStream()))   String s
motbouillircategorieppasvariablesfemplu  bw
.write(s, 0, s.length()) bw.flush() bw.close()

39
Expressions régulières
  • Système puissant permettant de retrouver un mot
    ou une phrase
  • Expressions mathématiques opérateurs, valeurs,
    variables
  • Utilisé par les linguistes

40
Expressions régulières
  • Exemple recherche de la réponse renvoyé par le
    serveur
  • ltHTMLgtltHEADgtltTITLEgtReacutesultat
    geacuteneacuterationlt/TITLEgtlt/HEADgtltBODY
    BGCOLOR"FFFFFF"gt
  • ltTABLE WIDTH"100"gtltTRgtltTD BGCOLOR"666699"
    HEIGHT30VALIGNCENTERgtltFONT FACE"Verdana,
    Arial" SIZE"2" COLOR"WHITE"gtltBgtReacutesultat
    de la geacuteneacuterationltBgtlt/FONTgt
  • lt/TDgtlt/TRgtlt/TABLEgtltVARgtVous avez choisi le jeu de
    caractegraveres lt/VARgt
  • ISOltHRgtltBRgtltVARgtVoici la geacuteneacuteration
    demandeacutee
  • lt/VARgtbouillirnbspnbspltBgtppasnbspnbsplt/Bgtlt
    Igtplu femlt/IgtltHRgt
  • ltPREgtForme Lemme
    ltBgtCAT.lt/Bgt VariablesltHRgtbouillies
    bouillir ltBgtppas lt/Bgt plu fem
  • lt/PREgtltTABLE WIDTH"100"gtltTRgtltTD
    BGCOLOR"666699"gtnbsplt/TDgtlt/TRgtlt/TABLEgt
  • lt/BODYgtlt/HTMLgt

41
XML
  • Langage extensible de balises
  • Structuré en 3 parties
  • Prologue
  • lt?xml version"1.0" encoding"UTF-8"?gt
  • Informations facultatives
  • lt!DOCTYPE caract_utf-8
  • lt!ENTITY a_grave "224"gt
  • La syntaxe
  • ltLST_COMMANDEgt
  • ltCDEgtltnum_cdegt1lt/num_cdegtlt/CDEgt
  • lt/LST_COMMANDEgt

42
XML
  • Force de XML
  • Lisibilité
  • Structure arborescente
  • Universalité et portabilité
  • Déploiement
  • Intégrabilité
  • Extensibilité

43
XML Les API Sax et DOM
SAX mode évènementiel DOM mode hiérarchique
Instructions complexes Stocker les informations Passe en revue plusieurs fois larborescence Temps de réponse
Rapide Charge en mémoire le doc simple
44
Choix de conception
45
Choix de conception les paquetages
46
Choix de conception la charte
  • Les conventions décriture inspirées des règles
    java
  • Règles de nommage
  • Règles générales commentaires de fonctions,
  • _at_see
  • _at_param tous les paramètres dentrée
  • _at_return tous les paramètres de sortie
  • _at_author
  • _at_version
  • _at_since Modifié le JJ/MM/YYYY Par AUTHOR

47
Choix de conception linterface graphique
48
Choix de conception le paramétrage
49
Choix de conception le paramétrage
  • Le fichier commande.xml
  • liste des commandes
  • ltLST_COMMANDEgt
  • ltGPE_COMMANDE nom_groupe"Les actions et
    interrogations globales"gt
  • ltnom_groupegtLes actions et interrogations
    globaleslt/nom_groupegt
  • lttype_groupegtGENERALlt/type_groupegt
  • ltCOMMANDE num_cde"0"gt
  • ltnum_cdegt0lt/num_cdegt
  • ltnom_cdegtGENERALlt/nom_cdegt
  • ltintitule_cdegtlt/intitule_cdegt

50
Choix de conception le paramétrage
  • Le fichier commande.xml
  • liste des paramètres de commande
  • ltPARAMETRE_SAISIEgt
  • ltPARAMETREgt
  • ltnom_paramgtMachinelt/nom_paramgt
  • ltlibelle_paramgtLBL_MACHINElt/libelle_paramgt
  • ltpos_lib_Xgt10lt/pos_lib_Xgtltpos_lib_Ygt40lt/pos_li
    b_Ygt
  • lttype_paramgtComboBoxlt/type_paramgt
  • ltvaleur_def_paramgtCARPENAlt/valeur_def_paramgt
  • ltpos_Xgt20lt/pos_Xgtltpos_Ygt60lt/pos_Ygt
  • ltdim_Xgt160lt/dim_Xgtltdim_Ygt20lt/dim_Ygt
  • ltVALEUR_LISTEgt
  • lt/VALEUR_LISTEgt
  • lt/PARAMETREgt

51
Choix de conception le paramétrage
  • Le fichier commande.xml
  • liste des paramètres de commande
  • ltPARAMETRE_SAISIEgt
  • ltPARAMETREgt
  • ltnom_paramgtMachinelt/nom_paramgt
  • lt/PARAMETREgt
  • ltPARAMETREgt
  • ltnom_paramgtDisquelt/nom_paramgt
  • lt/PARAMETREgt

52
Choix de conception le paramétrage
  • Le fichier commande.xml
  • La syntaxe des commandes
  • ltSYNTAXEgt
  • ltETAPEgt
  • ltmot_clegtMACHINE lt/mot_clegt
  • ltnum_paramgt0lt/num_paramgt
  • ltexpressiongt.lt/expressiongt
  • ltseparateurgtretour_chariotlt/separateurgt
  • ltsaisie_obligatoiregttruelt/saisie_obligatoiregt
  • lt/ETAPEgt

MACHINE CARPENA DISQUE 191
53
Choix de conception le paramétrage
  • Le fichier commande.xml
  • Le traitement du résultat
  • ltRESULTATgt
  • ltresultat_OKgt-gt Tout est O.K.lt/resultat_OKgt
  • ltresultat_typegt-gt Tout est O.K.lt/resultat_typegt
  • ltETAPEgt
  • ltnom_methodegtfindlt/nom_methodegt
  • ltexpr_debgtListe des noms de corpuslt/expr_debgt
  • ltexpr_corpsgtA-Za-z0-9.,?!\-()\\/\s\r\ncaract_s
    ubcaract_accent _ lt/expr_corpsgtltexpr_fin
    gt-LISTE TERMINEE-lt/expr_fingt
  • ltexpr_concatgtretour_chariotlt/expr_concatgt
  • ltexpr_remplacementgtlt/expr_remplacementgt
  • lt/ETAPEgt

54
PLAN
1. Vue générale et contexte de létude 1.1
Présentation des serveurs linguistiques 1.2
Présentation dune première interface CASH 1.3
Objectifs et contraintes de la nouvelle
application 2. Analyse et conception 2.1 Analyse
conceptuelle 2.2 Conception technique 2.3 Choix
de conception 3. Réalisation de WICALE 3.1
Application finale 3.2 Linterface de
programmation (API) Conclusion
55
WICALE
56
WICALE
57
WICALE
58
WICALE
59
Réalisation de WICALE
Linterface de programmation
fr.imag.clips.wicale.ihm FrmAPropos, FrmResultat, FrmSaisieParam
fr.imag.clips.wicale.objet Commande, paramètre, paramètreCommande, serveur, syntaxe, valeurliste
fr.imag.clips.wicale.serveur Interface Serveur Linguistique Serverhttp ServerSocket
fr.imag.clips.wicale.util Constante, Erreur, ExprReg,Fichier, Impression, Xml
60
PLAN
1. Vue générale et contexte de létude 1.1
Présentation des serveurs linguistiques 1.2
Présentation dune première interface CASH 1.3
Objectifs et contraintes de la nouvelle
application 2. Analyse et conception 2.1 Analyse
conceptuelle 2.2 Conception technique 2.3 Choix
de conception 3. Réalisation de WICALE 3.1
Application finale 3.2 Linterface de
programmation (API) Conclusion
61
Conclusion
Application réalisée gère sur le client une
image des linguiciels synchronise les
données communique avec le serveur Évaluation P
ortable générique et adaptabilité Déploiement
et facile dutilisation
62
Conclusion
Évolution et perspectives ouvrir un fichier à
partir dun autre composant ouvrir un éditeur de
texte de leur choix enchaîner des commandes de
plusieurs EDL
Write a Comment
User Comments (0)
About PowerShow.com