# Language fr-FR translations for PACKAGE package.
# Automatically generated, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2008-12-04 00:58+0000\n"
"PO-Revision-Date: 2009-10-18 11:23+0100\n"
"Last-Translator: P.J <essaidetest@yahoo.fr>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Tag: title
#: Gwt.xml:5
#, no-c-format
msgid "Seam and the Google Web Toolkit"
msgstr "Seam et le Google Web Toolkit"

#. Tag: para
#: Gwt.xml:7
#, no-c-format
msgid "For those that prefer to use the Google Web Toolkit (GWT) to develop dynamic AJAX applications, Seam provides an integration layer that allows GWT widgets to interact directly with Seam components."
msgstr "Pour ceux qui p^réfère utiliser le Google Web Toolkit (GWT) pour développer des applications AJAX dynamique, Seam fourni une couche d'intégration qui permet aux widgets GWT d'interagir directement avecc les composants de Seam."

#. Tag: para
#: Gwt.xml:12
#, no-c-format
msgid "To use GWT, we assume that you are already familiar with the GWT tools - more information can be found at <ulink url=\"http://code.google.com/webtoolkit/\">http://code.google.com/webtoolkit/</ulink>. This chapter does not attempt to explain how GWT works or how to use it."
msgstr "Pour utiliser GWT, nous allons postuler que vous êtes déjà familier avec les outils GWT - plus d'informations peut ête trouvée sur <ulink url=\"http://code.google.com/webtoolkit/\">http://code.google.com/webtoolkit/</ulink>. Ce chapitre n'essaye pas d'expliquer comment GWT fonctionne et comment l'utiliser."

#. Tag: title
#: Gwt.xml:19
#, no-c-format
msgid "Configuration"
msgstr "La configuration"

#. Tag: para
#: Gwt.xml:21
#, no-c-format
msgid "There is no special configuration required to use GWT in a Seam application, however the Seam resource servlet must be installed. See <xref linkend=\"configuration\"/> for details."
msgstr "Il n'y a pas de configuration spécialé nécéssaire pour utiliser GWT dans une application Seam, cependant le servlet de ressource de Seam doit être installé. Voir  <xref linkend=\"configuration\"/> pour les détails."

#. Tag: title
#: Gwt.xml:29
#, no-c-format
msgid "Preparing your component"
msgstr "La préparation de votre composant"

#. Tag: para
#: Gwt.xml:31
#, no-c-format
msgid "The first step in preparing a Seam component to be called via GWT, is to create both synchronous and asynchronous service interfaces for the methods you wish to call. Both of these interfaces should extend the GWT interface <literal>com.google.gwt.user.client.rpc.RemoteService</literal>:"
msgstr "La première étape dans la préparation du composant dfe Seam est d'être appelé via GWT, cela créer deux interfaces de service synchrone et assynchrone pour les méthode que vous souhaitez appeler. Ces deux interfaces devraient étendre l'interface GWT <literal>com.google.gwt.user.client.rpc.RemoteService</literal>:"

#. Tag: programlisting
#: Gwt.xml:37
#, no-c-format
msgid ""
"<![CDATA[public interface MyService extends RemoteService {\n"
"    public String askIt(String question);      \n"
" }]]>"
msgstr ""
"<![CDATA[public interface MyService extends RemoteService {\n"
"    public String askIt(String question);      \n"
" }]]>"

#. Tag: para
#: Gwt.xml:39
#, no-c-format
msgid "The asynchronous interface should be identical, except that it also contains an additional <literal>AsyncCallback</literal> parameter for each of the methods it declares:"
msgstr "L'interface asynchrone devrait être identique, à la différence qu'il doit contenir un paramètre additionnel <literal>AsyncCallback</literal> pour chaque méthode qu'il déclare:"

#. Tag: programlisting
#: Gwt.xml:44
#, no-c-format
msgid ""
"<![CDATA[public interface MyServiceAsync extends RemoteService {\n"
"   public void askIt(String question, AsyncCallback callback);\n"
"}]]>"
msgstr ""
"<![CDATA[public interface MyServiceAsync extends RemoteService {\n"
"   public void askIt(String question, AsyncCallback callback);\n"
"}]]>"

#. Tag: para
#: Gwt.xml:46
#, no-c-format
msgid "The asynchronous interface, in this example <literal>MyServiceAsync</literal>, will be implemented by GWT and should never be implemented directly."
msgstr "L'interface assynchrone, dans cet exemple <literal>MyServiceAsync</literal>, sera implémenté par GWT et ne devrait pas être implémenté directement."

#. Tag: para
#: Gwt.xml:51
#, no-c-format
msgid "The next step, is to create a Seam component that implements the synchronous interface:"
msgstr "L'étape suivante, est de créer un composant de Seam qui implémente l'interface synchrone:"

#. Tag: programlisting
#: Gwt.xml:55
#, no-c-format
msgid ""
"<![CDATA[@Name(\"org.jboss.seam.example.remoting.gwt.client.MyService\")\n"
"public class ServiceImpl implements MyService {\n"
"\n"
"   @WebRemote\n"
"   public String askIt(String question) {\n"
"   \n"
"      if (!validate(question)) {\n"
"         throw new IllegalStateException(\"Hey, this shouldn't happen, I checked on the client, \" +\n"
"         \"but its always good to double check.\");\n"
"      }\n"
"      return \"42. Its the real question that you seek now.\";\n"
"   }\n"
"   \n"
"   public boolean validate(String q) {\n"
"      ValidationUtility util = new ValidationUtility();\n"
"      return util.isValid(q);\n"
"   }\n"
"}]]>"
msgstr ""
"<![CDATA[@Name(\"org.jboss.seam.example.remoting.gwt.client.MyService\")\n"
"public class ServiceImpl implements MyService {\n"
"\n"
"   @WebRemote\n"
"   public String askIt(String question) {\n"
"   \n"
"      if (!validate(question)) {\n"
"         throw new IllegalStateException(\"Hey, this shouldn't happen, I checked on the client, \" +\n"
"         \"but its always good to double check.\");\n"
"      }\n"
"      return \"42. Its the real question that you seek now.\";\n"
"   }\n"
"   \n"
"   public boolean validate(String q) {\n"
"      ValidationUtility util = new ValidationUtility();\n"
"      return util.isValid(q);\n"
"   }\n"
"}]]>"

#. Tag: para
#: Gwt.xml:57
#, no-c-format
msgid "The name of the seam component <emphasis>must</emphasis> match the fully qualified name of the GWT client interface (as shown), or the seam resource servlet will not be able to find it when a client makes a GWT call. The methods that are to be made accessible via GWT also need to be annotated with the <literal>@WebRemote</literal> annotation."
msgstr "Le nom du composant seam <emphasis>doit</emphasis> correspondre au nom pleinement qualifié de l'interface client GWT (comme montré), ou ne servlet de ressource de seam ne sera pas capable de le trouver quand un client fait un appel GWT. Les méthodes qui sont accéssible via GWT doivent aussi être annotées avec l'annotation <literal>@WebRemote</literal>."

#. Tag: title
#: Gwt.xml:67
#, no-c-format
msgid "Hooking up a GWT widget to the Seam component"
msgstr "Interception deu widget GWT vers un composant de Seam"

#. Tag: para
#: Gwt.xml:69
#, no-c-format
msgid "The next step, is to write a method that returns the asynchronous interface to the component. This method can be located inside the widget class, and will be used by the widget to obtain a reference to the asynchronous client stub:"
msgstr "La prochaine étape est d'écrire une méthode qui retourne un itnerface assynchrone vers le composant. Cette méthode est localisée dans la classe widget, et sera utilisé avec le widget pour obtenir une référence vers un squelette de client assynchrone:"

#. Tag: programlisting
#: Gwt.xml:75
#, no-c-format
msgid ""
"<![CDATA[private MyServiceAsync getService() {       \n"
"   String endpointURL = GWT.getModuleBaseURL() + \"seam/resource/gwt\";      \n"
"      \n"
"   MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);\n"
"   ((ServiceDefTarget) svc).setServiceEntryPoint(endpointURL);\n"
"   return svc;     \n"
"}]]>"
msgstr ""
"<![CDATA[private MyServiceAsync getService() {       \n"
"   String endpointURL = GWT.getModuleBaseURL() + \"seam/resource/gwt\";      \n"
"      \n"
"   MyServiceAsync svc = (MyServiceAsync) GWT.create(MyService.class);\n"
"   ((ServiceDefTarget) svc).setServiceEntryPoint(endpointURL);\n"
"   return svc;     \n"
"}]]>"

#. Tag: para
#: Gwt.xml:77
#, no-c-format
msgid "The final step is to write the widget code that invokes the method on the client stub. The following example creates a simple user interface with a label, text input and a button:"
msgstr "La dernière étape est d'écrire le code du widget qui invoque la méthode sur le squelette du client. L'exemple suivant créer un interface utilisateur simple avec un label, une zone de saisie et un bouton:"

#. Tag: programlisting
#: Gwt.xml:82
#, no-c-format
msgid ""
"<![CDATA[\n"
"public class AskQuestionWidget extends Composite {\n"
"   private AbsolutePanel panel = new AbsolutePanel();\n"
"   \n"
"   public AskQuestionWidget() {      \n"
"      Label lbl = new Label(\"OK, what do you want to know?\");\n"
"      panel.add(lbl);\n"
"      final TextBox box = new TextBox();\n"
"      box.setText(\"What is the meaning of life?\");\n"
"      panel.add(box);\n"
"      Button ok = new Button(\"Ask\");\n"
"      ok.addClickListener(new ClickListener() {\n"
"         public void onClick(Widget w) {\n"
"            ValidationUtility valid = new ValidationUtility();\n"
"            if (!valid.isValid(box.getText())) {\n"
"               Window.alert(\"A question has to end with a '?'\");\n"
"            } else {\n"
"               askServer(box.getText());\n"
"            } \n"
"         }\n"
"      });\n"
"      panel.add(ok);\n"
"      \n"
"      initWidget(panel);\n"
"   }\n"
"\n"
"   private void askServer(String text) {\n"
"      getService().askIt(text, new AsyncCallback() {\n"
"         public void onFailure(Throwable t) {\n"
"            Window.alert(t.getMessage());\n"
"         }\n"
"\n"
"         public void onSuccess(Object data) {\n"
"            Window.alert((String) data);\n"
"         }         \n"
"      });      \n"
"   }\n"
"   \n"
"   ...]]>"
msgstr ""
"<![CDATA[\n"
"public class AskQuestionWidget extends Composite {\n"
"   private AbsolutePanel panel = new AbsolutePanel();\n"
"   \n"
"   public AskQuestionWidget() {      \n"
"      Label lbl = new Label(\"OK, what do you want to know?\");\n"
"      panel.add(lbl);\n"
"      final TextBox box = new TextBox();\n"
"      box.setText(\"What is the meaning of life?\");\n"
"      panel.add(box);\n"
"      Button ok = new Button(\"Ask\");\n"
"      ok.addClickListener(new ClickListener() {\n"
"         public void onClick(Widget w) {\n"
"            ValidationUtility valid = new ValidationUtility();\n"
"            if (!valid.isValid(box.getText())) {\n"
"               Window.alert(\"A question has to end with a '?'\");\n"
"            } else {\n"
"               askServer(box.getText());\n"
"            } \n"
"         }\n"
"      });\n"
"      panel.add(ok);\n"
"      \n"
"      initWidget(panel);\n"
"   }\n"
"\n"
"   private void askServer(String text) {\n"
"      getService().askIt(text, new AsyncCallback() {\n"
"         public void onFailure(Throwable t) {\n"
"            Window.alert(t.getMessage());\n"
"         }\n"
"\n"
"         public void onSuccess(Object data) {\n"
"            Window.alert((String) data);\n"
"         }         \n"
"      });      \n"
"   }\n"
"   \n"
"   ...]]>"

#. Tag: para
#: Gwt.xml:85
#, no-c-format
msgid "When clicked, the button invokes the <literal>askServer()</literal> method passing the contents of the input text (in this example, validation is also performed to ensure that the input is a valid question). The <literal>askServer()</literal> method acquires a reference to the asynchronous client stub (returned by the <literal>getService()</literal> method) and invokes the <literal>askIt()</literal> method. The result (or error message if the call fails) is shown in an alert window."
msgstr " Quand on clique, le bouton appelle la méthode <literal>askServer()</literal> en passant le contenu de la zone de saisie (dans cet exemple, la validation est aussi réalisé pour s'assurer que la zone de saiie contient une question valide). La méthode <literal>askServer()</literal> obtient une référencer vers un squelette de client assynchrone (retournée par la méthode <literal>getService()</literal>) et invoque la méthode <literal>askIt()</literal>. Le résultat (ou le message d'erreursi l'appel échoue) est affiché dans une fenètre d'alerte."

#. Tag: para
#: Gwt.xml:102
#, no-c-format
msgid "The complete code for this example can be found in the Seam distribution in the <literal>examples/remoting/gwt</literal> directory."
msgstr "Le code complet pour cet exemple peut être trouvé dans la distribution de Seam dans le dossier  <literal>examples/remoting/gwt</literal>."

#. Tag: title
#: Gwt.xml:109
#, no-c-format
msgid "GWT Ant Targets"
msgstr "Les cibles Ant GWT"

#. Tag: para
#: Gwt.xml:111
#, no-c-format
msgid "For deployment of GWT apps, there is a compile-to-Javascript step (which compacts and obfuscates the code). There is an ant utility which can be used instead of the command line or GUI utility that GWT provides. To use this, you will need to have the ant task jar in your ant classpath, as well as GWT downloaded (which you will need for hosted mode anyway)."
msgstr "Pour le déploiement des applications GWT, il ya une étape de compilation vers Javascript (avec compactage et cryptage du code). Il y a un utilitaire de ant qui peut être utilisé au lieu de la ligne de commande ou de l'utilitaire GUI que GWT fourni. Pour l'utiliser, vous allez avoir besoin d'avoit le jar de tâche ant dans votre classpath, tout comme le GWT téléchargé (avec ce que vous avez besoin pour votre mode hébergement)."

#. Tag: para
#: Gwt.xml:117
#, no-c-format
msgid "Then, in your ant file, place (near the top of your ant file):"
msgstr "Ensuite, dans votre fichier ant, mettez (presque en haut de votre fichier ant):"

#. Tag: programlisting
#: Gwt.xml:121
#, no-c-format
msgid ""
"<![CDATA[<taskdef uri=\"antlib:de.samaflost.gwttasks\"\n"
"   resource=\"de/samaflost/gwttasks/antlib.xml\"\n"
"   classpath=\"./lib/gwttasks.jar\"/>\n"
"   \n"
"   <property file=\"build.properties\"/>]]>"
msgstr ""
"<![CDATA[<taskdef uri=\"antlib:de.samaflost.gwttasks\"\n"
"   resource=\"de/samaflost/gwttasks/antlib.xml\"\n"
"   classpath=\"./lib/gwttasks.jar\"/>\n"
"   \n"
"   <property file=\"build.properties\"/>]]>"

#. Tag: para
#: Gwt.xml:123
#, no-c-format
msgid "Create a <literal>build.properties</literal> file, which has the contents:"
msgstr "Créez un fichier <literal>build.properties</literal>, qui va avoir ce contenu:"

#. Tag: programlisting
#: Gwt.xml:127
#, no-c-format
msgid "<![CDATA[gwt.home=/gwt_home_dir]]>"
msgstr "<![CDATA[gwt.home=/gwt_home_dir]]>"

#. Tag: para
#: Gwt.xml:129
#, no-c-format
msgid "This of course should point to the directory where GWT is installed. Then to use it, create a target:"
msgstr "Ceci devrait bien sûr pointer vers le dossier où GWT doit être installé. Ensuite, utilisez le pour créer une cible:"

#. Tag: programlisting
#: Gwt.xml:133
#, no-c-format
msgid ""
"<![CDATA[<!-- the following are are handy utilities for doing GWT development.\n"
"   To use GWT, you will of course need to download GWT seperately -->\n"
"   <target name=\"gwt-compile\">\n"
"      <!-- in this case, we are \"re homing\" the gwt generated stuff, so in this case\n"
"      we can only have one GWT module - we are doing this deliberately to keep the URL short -->\n"
"      <delete>\n"
"         <fileset dir=\"view\"/>\n"
"      </delete>\n"
"      <gwt:compile outDir=\"build/gwt\"\n"
"         gwtHome=\"${gwt.home}\"\n"
"         classBase=\"${gwt.module.name}\"\n"
"         sourceclasspath=\"src\"/>\n"
"      <copy todir=\"view\">\n"
"         <fileset dir=\"build/gwt/${gwt.module.name}\"/>\n"
"      </copy>\n"
"   </target>]]>"
msgstr ""
"<![CDATA[<!-- the following are are handy utilities for doing GWT development.\n"
"   To use GWT, you will of course need to download GWT seperately -->\n"
"   <target name=\"gwt-compile\">\n"
"      <!-- in this case, we are \"re homing\" the gwt generated stuff, so in this case\n"
"      we can only have one GWT module - we are doing this deliberately to keep the URL short -->\n"
"      <delete>\n"
"         <fileset dir=\"view\"/>\n"
"      </delete>\n"
"      <gwt:compile outDir=\"build/gwt\"\n"
"         gwtHome=\"${gwt.home}\"\n"
"         classBase=\"${gwt.module.name}\"\n"
"         sourceclasspath=\"src\"/>\n"
"      <copy todir=\"view\">\n"
"         <fileset dir=\"build/gwt/${gwt.module.name}\"/>\n"
"      </copy>\n"
"   </target>]]>"

#. Tag: para
#: Gwt.xml:135
#, no-c-format
msgid "This target when called will compile the GWT application, and copy it to the specified directory (which would be in the <literal>webapp</literal> part of your war - remember GWT generates HTML and Javascript artifacts). You never edit the resulting code that <literal>gwt-compile</literal> generates - you always edit in the GWT source directory."
msgstr "La cible quand appelée va compiler l'application GWT et la copier dans le dossier spécifiée (ce qui devrait être dans le coin <literal>webapp</literal> de votre war - n'oubliez pas GWT génère des artefactes HTML et javascript). Vous n'éditez jamais le code résultant que <literal>gwt-compile</literal> génère - vous devez toujours éditer le source dans le dossier GWT."

#. Tag: para
#: Gwt.xml:142
#, no-c-format
msgid "Remember that GWT comes with a hosted mode browser - you should be using that if you are developing with GWT. If you aren't using that, and are just compiling it each time, you aren't getting the most out of the toolkit (in fact, if you can't or won't use the hosted mode browser, I would go far as to say you should NOT be using GWT at all - it's that valuable!)."
msgstr "N'oubliez pas que GWT vient avec un mode navigable hébergé - vous devriez l'utiliser pendant que vous développez avec GWT. Si vous ne le faite pas, et compilez à chaque fois, vous n'allez pas avoir le meilleurs de ce kit de développement (dans les fait, si vous ne voulez ou ne pouvez utiliser le mode navigable hébergé, je vous déconseille FORTEMENT d'utiliser GWT - est ce bien clair!)."

