Development

Documentation/fr_FR/book/1.0/trunk/11-Ajax-Integration (diff)

You must first sign up to be able to contribute.

Changes between Version 18 and Version 19 of Documentation/fr_FR/book/1.0/trunk/11-Ajax-Integration

Show
Ignore:
Author:
forresst (IP: 82.64.7.14)
Timestamp:
04/27/08 17:43:50 (9 years ago)
Comment:

Suite de la traduction (et bientot la fin, une relecture s'impose)

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/fr_FR/book/1.0/trunk/11-Ajax-Integration

    v18 v19  
    569569---- 
    570570 
    571 JavaScript Object Notation (JSON) est un format d'échane de données de faible poids. En principe, ce n'est rien de plus du hachage en JavaScript (voir un exemple dans le listing 11-26) utilisé pour le transport d'information d'objet. Mais JSON a deux grands avantages pour les interactions Ajax: il est facile à lire en JavaScript, et il peut réduire la taille d'une réponse Web. 
     571JavaScript Object Notation (JSON) est un format d'échange de données de faible poids. En principe, ce n'est rien de plus que du hachage en JavaScript (voir un exemple dans le listing 11-26) utilisé pour le transport d'information d'objet. Mais JSON a deux grands avantages pour les interactions Ajax: il est facile à lire en JavaScript, et il peut réduire la taille d'une réponse Web. 
    572572 
    573573Listing 11-26 - Exemple d'objet JSON en JavaScript 
    765765    )) ?> 
    766766 
    767 Par la magie de l'aide `sortable_element()`, l'élément `<ul>` est maintenant triable, ce qui signifie que ses enfants peuvent être réorganisés par glisser-déposer. Chaque fois que l'utilisateur traîne un élément et le libère pour replacer dans la liste, une demande d'Ajax est faite avec les paramètres suivants: 
     767Par la magie de l'aide `sortable_element()`, l'élément `<ul>` est maintenant triable, ce qui signifie que ses enfants peuvent être réorganisés par glisser-déposer. Chaque fois que l'utilisateur traîne un élément et le libère pour le replacer dans la liste, une demande d'Ajax est faite avec les paramètres suivants: 
    768768 
    769769    POST /sf_sandbox/web/frontend_dev.php/item/sort HTTP/1.1 
    770770      order[]=1&order[]=3&order[]=2&_= 
    771771 
    772 La liste triée complète est passée comme un tableau (avec le format `order[$rank]=$id`, le `$rank` démarre à 0, et le `$id` est basée sur ce qui vient après le caractère de soulignement (`_`) dans la liste de l'élément de propriété `id`). La propriété `id` de l'élément triable (`order` dans l'expemle) est utilisé pour le tableau de paramètre. 
     772La liste triée complète est passée comme un tableau (avec le format `order[$rank]=$id`, le `$rank` démarre à 0, et le `$id` est basée sur ce qui vient après le caractère de soulignement (`_`) dans la liste de l'élément de propriété `id`. La propriété `id` de l'élément triable (`order` dans l'expemle) est utilisé pour le tableau de paramètre. 
    773773L'aide `sortable_element()` accepte les paramètres suivants: 
    774774 
    780780### Edit in Place 
    781781 
    782 More and more web applications allow users to edit the contents of pages directly on the page, without the need to redisplay the content in a form. The principle of the interaction is simple. A block of text is highlighted when the user hovers the mouse over it. If the user clicks inside the block, the plain text is converted into a text area filled with the text of the block, and a save button appears. The user can edit the text inside the text area, and once he saves it, the text area disappears and the text is displayed in plain form. With symfony, you can add this editable behavior to an element with the `input_in_place_editor_tag()` helper. Listing 11-34 demonstrates using this helper
    783  
    784 Listing 11-34 - Editable Text Example 
     782De plus en plus d'applications Web permettent aux utilisateurs de modifier le contenu de la page directement sur la page, sans qu'il soit nécessaire de réintroduire le contenu dans un formulaire. Le principe de l'interaction est simple. Un bloc de texte est en surbrillance lorsque l'utilisateur survole avec la souris sur celui-ci. Si l'utilisateur clique dans le bloc, le texte est converti en une zone de texte rempli avec le texte du bloc, et un bouton de sauvegarde apparaît. L'utilisateur peut modifier le texte dans la zone de texte, et une fois qu'il l'enregistre, la zone de texte disparaît et le texte est affiché en clair. Avec symfony, vous pouvez ajouter ce comportement d'édition à un élément avec l'aide `input_in_place_editor_tag()`. Le listing 11-34 démontre l'utilisation de cette aide
     783 
     784Listing 11-34 - Exemple de texte éditable 
    785785 
    786786    [php] 
    791791    )) ?> 
    792792 
    793 When the user clicks the editable text, it is replaced by a text input area filled with the text, which can be edited. When the form is submitted, the `mymodule/myaction` action is called in Ajax with the edited value set as the `value` parameter. The result of the action updates the editable element. It is very fast to write and very powerful
    794  
    795 The `input_in_place_editor_tag()` helper accepts the following parameters: 
    796  
    797   * cols and rows: The size of the text input area that appears for editing (it becomes a `<textarea>` if `rows` is more than 1). 
    798   * `loadTextURL`: The URI of an action that is called to display the text to edit. This is useful if the content of the editable element uses special formatting and if you want the user to edit the text without formatting
    799   * `save_text` and `cancel_text`: The text on the save link (defaults to "ok") and on the cancel link (defaults to "cancel"). 
    800  
    801 Summary 
    802 ------- 
    803  
    804 If you are tired of writing JavaScript in your templates to get client-side behaviors, the JavaScript helpers offer a simple alternative. Not only do they automate the basic link behavior and element update, but they also provide a way to develop Ajax interactions in a snap. With the help of the powerful syntax enhancements provided by Prototype and the great visual effects provided by script.aculo.us, even complex interactions take no more than a few lines to write
    805  
    806 And since making a highly interactive application is as easy as making static pages with symfony, you can consider that almost all desktop applications interactions are now available in web applications
     793Quand l'utilisateur clique surle texte éditable, il est remplacé par une zone de texte saisissable remplie avec le texte, qui peut être édité. Quand le formulaire est soumis, l'action `mymodule/myaction` est appelée en Ajax en passant dans le paramètre `value`, la valeur saisie. Le résultat de l'action met à jour les éléments modifiables. Il est très rapide à écrire et très puissant
     794 
     795L'aide `input_in_place_editor_tag()` accepte les paramètres suivants: 
     796 
     797  * cols et rows: La taille de la zone de saisie du texte qui apparaît pour l'édition (il devient un `<textarea>` si `rows` est supérieur à 1). 
     798  * `loadTextURL`: L'URI d'une action qui est appelé pour afficher le texte à modifier. Ceci est utile si le contenu de l'élément modifiable utilise une mise en forme spéciale et si vous voulez que l'utilisateur modifie le texte sans mise en forme
     799  * `save_text` et `cancel_text`: Le texte du lien pour sauver (par défaut "ok") et celui du lien pour annuler (Par défaut "cancel"). 
     800 
     801Résumé 
     802------ 
     803 
     804Si vous êtes fatigué d'écrire du JavaScript dans vos templates pour obtenir des comportements côté client, les aides JavaScript offrent une alternative simple. Non seulement ils automatisent le lien fondamental du comportement et de l'élément à mettre à jour, mais ils fournissent aussi un moyen de développer les interactions Ajax en un clin d'oeil. Avec l'aide d'une puissante syntaxe fournie par Prototype et les grands effets visuels fournis par script.aculo.us, même des interactions complexes s'écrivent en quelques lignes
     805 
     806Et grâce à cela, une application très interactive est aussi facile à faire que des pages statiques avec symfony, vous pouvez considérer que la quasi-totalité des interactions des applications de bureau sont maintenant disponibles dans les applications Web
    807807 
    808808}}}