Changeset 506

Show
Ignore:
Timestamp:
12/03/06 20:03:39 (2 years ago)
Author:
sas
Message:

Relectures

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • traduc/trunk/manuel/charset.xml

    r490 r506  
    66 
    77 <para> 
    8   Ce chapitre décrit les fonctionnalités disponibles pour la localisation 
    9   du point de vue de l'administrateur
    10   <productname>PostgreSQL</productname> supporte la localisation en utilisant 
    11   deux approches&nbsp;: 
     8  Ce chapitre décrit, du point de vue de l'administrateur, les fonctionnalités 
     9  de localisation disponibles
     10  <productname>PostgreSQL</productname> fournit deux approches 
     11  différentes pour la gestion de la localisation&nbsp;: 
    1212 
    1313   <itemizedlist> 
    1414    <listitem> 
    1515     <para> 
    16       Utiliser les fonctionnalités de locale du système d'exploitation pour  
    17       donner un ordonnancement de tri, formatage de chiffre, des messages 
    18       traduits et autres aspects spécifiques à la locale. 
     16      l'utilisation des fonctionnalités de locales du système d'exploitation pour  
     17      l'ordonnancement du tri, le formatage des chiffres, les messages 
     18      traduits et autres aspects spécifiques à la locale&nbsp;; 
    1919     </para> 
    2020    </listitem> 
     
    2222    <listitem> 
    2323     <para> 
    24       Donner un certain nombre de jeu de caractères différents définis dans le 
     24      la fourniture d'un certain nombre d'encodages différents définis dans le 
    2525      serveur <productname>PostgreSQL</productname>, y compris 
    26       des jeux de caractères multi-bit pour permettre de stocker du texte dans 
    27       toutes sortes de langues et offrir la traduction de jeu de caractère  
     26      les jeux de caractères multi-octets, pour permettre le stockage de 
     27      texte dans toutes les langues et fournir la traduction de l'encodage  
    2828      entre serveur et client. 
    2929     </para> 
     
    3434 
    3535 <sect1 id="locale"> 
    36   <title>Support de locale</title> 
     36  <title>Support des locales</title> 
    3737   
    3838  <indexterm zone="locale"><primary>locale</primary></indexterm> 
    3939 
    4040  <para> 
    41    Le support de <firstterm>locale</firstterm> fait référence à une application 
    42    respectant les préférences culturelles en ce qui concerne les alphabets, 
    43    le tri, le format des nombres, etc.  <productname>PostgreSQL</productname> utilise 
    44    les possibilités du standard ISO C et de la locale <acronym>POSIX</acronym> 
    45    fourni par le système d'exploitation serveur. Pour plus d'informations, 
    46    consultez la documentation de votre serveur
     41   Le support des <firstterm>locales</firstterm> fait référence à une application 
     42   respectant les préférences culturelles au regard des alphabets, 
     43   du tri, du format des nombres, etc.  <productname>PostgreSQL</productname> utilise 
     44   les possibilités offerte par C et <acronym>POSIX</acronym> du standard 
     45   ISO fournies par le système d'exploitation du serveur. Pour plus d'informations, 
     46   consulter la documentation du système
    4747  </para> 
    4848 
     
    5151 
    5252   <para> 
    53     Le support de locale est automatiquement initialisé lorsqu'un cluster de  
     53    Le support des locales est automatiquement initialisé lorsqu'un cluster de  
    5454    base de données est créé avec <command>initdb</command>. 
    55     <command>initdb</command> va initialiser le cluster avec la valeur de 
    56     locale de son environnement d'exécution par défaut. Donc, si votre  
    57     système est déjà paramétré pour utiliser la locale que vous voulez dans 
    58     votre cluster, vous n'avez rien d'autre à faire. Si vous voulez utiliser 
    59     une locale différente (ou si vous n'êtes pas sûr de la locale qu'utilise 
    60     votre système), vous pouvez dire à <command>initdb</command> exactement 
    61     quel locale utiliser en spécifiant l'option <option>--locale</option>. 
     55    <command>initdb</command> initialise le cluster avec la valeur des 
     56    locales de son environnement d'exécution par défaut. Si le système est 
     57    déjà paramétré pour utiliser la locale souhaité pour le cluster, il n'y 
     58    a donc rien d'autre à faire. Si une locale différente est souhaitée (ou 
     59    que celle utilisée par le serveur n'est pas connue avec certitude), il 
     60    est possible d'indiquer à <command>initdb</command> la locale à 
     61    utiliser en utilisant l'option <option>--locale</option>. 
    6262    Par exemple&nbsp;: 
    6363<screen>initdb --locale=sv_SE</screen> 
     
    6565 
    6666   <para> 
    67     Cette exemple met la locale en suédois (<literal>sv</literal>) tel que parlé en 
    68     Suède (<literal>SE</literal>). D'autres possibilités pourraient être 
    69     <literal>en_US</literal> (l'anglais américain) et <literal>fr_CA</literal> (français 
    70     canadien).  Si plus d'un jeu de caractères peuvent être utiles pour une 
    71     locale, alors la spécification ressemble à ceci&nbsp;: 
    72     <literal>cs_CZ.ISO8859-2</literal>. Quels locales sont disponibles sous quel
    73     noms dépend de l'éditeur de votre système d'exploitation et de ce qui est 
    74     installé (sur la plupart des systèmes, la commande <literal>locale -a</literal> 
    75     fournira une liste de locales disponibles). 
    76    </para> 
    77  
    78    <para> 
    79     De façon occasionnelle, il est utile de mélanger les règles de plusieurs 
    80     locales, i.e. utiliser les règles de tri anglais mais des messages en 
    81     espagnol. Pour permettre ceci, des sous-catégories de locales existent 
    82     qui ne contrôlent qu'un certain aspect des règles de localisation&nbsp;: 
     67    Cette exemple positionne la locale au suédois (<literal>sv</literal>) tel que parlé en 
     68    Suède (<literal>SE</literal>). Parmi les autres possibilités, on peut 
     69    envisager <literal>en_US</literal> (l'anglais américain) ou 
     70    <literal>fr_CA</literal> (français canadien). Si plusieurs encodages 
     71    s'avèrent utiles pour une même locale, alors la spécification peut 
     72    ressembler à&nbsp;: <literal>cs_CZ.ISO8859-2</literal>. Les locale
     73    disponibles et leur nom dépendent de l'éditeur du système d'exploitation 
     74    et de ce qui est installé (sur la plupart des systèmes, la commande 
     75    <literal>locale -a</literal> fournit la liste des locales disponibles). 
     76   </para> 
     77 
     78   <para> 
     79    Il est parfois utile de mélanger les règles de plusieurs 
     80    locales, par exemple d'utiliser les règles de tri anglais avec des messages en 
     81    espagnol. Pour cela, des sous-catégories de locales existent 
     82    qui ne contrôlent qu'un aspect particulier des règles de localisation&nbsp;: 
    8383 
    8484    <informaltable> 
     
    9898       <row> 
    9999        <entry><envar>LC_MESSAGES</envar></entry> 
    100         <entry>Langage des messages</entry> 
     100        <entry>Langue des messages</entry> 
    101101       </row> 
    102102       <row> 
    103103        <entry><envar>LC_MONETARY</envar></entry> 
    104         <entry>Formatage des montants de monnaie</entry> 
     104        <entry>Formatage des valeurs monétaires</entry> 
    105105       </row> 
    106106       <row> 
     
    118118    Les noms des catégories se traduisent en noms d'options 
    119119    <command>initdb</command> pour surcharger le choix de locale 
    120     pour une catégorie donnée. Par exemple, pour mettre la locale en 
    121     français canadien tout en utilisant les règles américaines pour le 
    122     formatage de monnaie, utilisez 
     120    pour une catégorie donnée. Par exemple, pour utiliser la locale 
     121    français canadien avec des règles américaines pour le 
     122    formatage monétaire, on utilise 
    123123    <literal>initdb --locale=fr_CA --lc-monetary=en_US</literal>. 
    124124   </para> 
    125125 
    126126   <para> 
    127     Si vous voulez que le système se comporte comme s'il n'avait pas de 
    128     support de locale, utilisez les locales spéciales <literal>C</literal> ou 
     127    Pour bénéficier d'un système qui se comporte comme s'il ne disposait pas du 
     128    support des locales, on utilise les locales spéciales <literal>C</literal> ou 
    129129    <literal>POSIX</literal>. 
    130130   </para> 
    131131 
    132132   <para> 
    133     La nature de ces catégories de locales est que leur valeur doit être 
    134     fixe pour la durée de vie d'un cluster de base de données. 
    135     C'est-à-dire qu'une fois <command>initdb</command> lancée, on ne peut 
    136     plus les changer. 
    137     <literal>LC_COLLATE</literal> et <literal>LC_CTYPE</literal> sont ces 
    138     catégories. Ils affectent l'ordre de tri des index, donc ils doivent 
    139     rester fixes ou les index sur les colonnes de texte deviendront 
    140     corrompus. 
    141     <productname>PostgreSQL</productname> applique ceci en enregistrant 
    142     les valeurs de <envar>LC_COLLATE</envar> et <envar>LC_CTYPE</envar> qui sont vus 
    143     par <command>initdb</command>. Le serveur adopte automatiquement ces deux 
    144     valeurs lorsqu'il est exécuté. 
    145    </para> 
    146  
    147    <para> 
    148     Les autres catégories de locale peuvent être changées comme désiré lorsque 
    149     le serveur est lancé en fixant les variables d'environnement qui ont le 
    150     même nom que les catégories de locale (voir la <xref 
    151     linkend="runtime-config-client-format"/> pour plus de détails). Les  
    152     valeurs par défaut choisies par <command>initdb</command> sont en fait 
    153     seulement écrites dans le fichier de configuration 
    154     <filename>postgresql.conf</filename> pour servir de valeur par défaut 
    155     quand le serveur est lancé. Si vous effacez ces déclarations de 
    156     <filename>postgresql.conf</filename>, alors le serveur 
    157     héritera des paramètres de son environnement d'exécution. 
    158    </para> 
    159  
    160    <para> 
    161     Notez que le comportement de locale du serveur est déterminé par les 
    162     variables d'environnement vues par le serveur, pas l'environnement d'un 
    163     client quelconque. Alors, faites attention de configurer les bons 
    164     paramètres de locale avant de lancer le serveur. Une conséquence de ceci 
    165     est que, si le client et le serveur ont des locales différentes, les 
    166     messages apparaîtront dans des langues différentes suivant d'où ils 
    167     viennent. 
     133    La nature de certaines catégories de locales oblige à les fixer pour la 
     134    durée de vie d'un cluster. C'est-à-dire qu'une fois  
     135    qu'<command>initdb</command> à été lancé, elle ne peuvent plus être 
     136    modifiées. 
     137    <literal>LC_COLLATE</literal> et <literal>LC_CTYPE</literal> sont de 
     138    cette catégorie. Elles affectent l'ordre de tri des index et doivent donc 
     139    rester inchangées, les index sur les colonnes de texte risquant d'être 
     140    corrompus dans le cas contraire. <productname>PostgreSQL</productname> 
     141    s'en assure en enregistrant les valeurs de <envar>LC_COLLATE</envar> et 
     142    <envar>LC_CTYPE</envar> vues par <command>initdb</command>. Le serveur 
     143    adopte automatiquement ces deux valeurs au démarrage. 
     144   </para> 
     145 
     146   <para> 
     147    Les autres catégories de locale peuvent être modifiées au démarrage du 
     148    serveur en fixant les variables d'environnement de même nom (voir la 
     149    <xref linkend="runtime-config-client-format"/> pour de plus amples 
     150    détails). Les valeurs par défaut choisies par 
     151    <command>initdb</command> sont en fait écrites dans le fichier de 
     152    configuration <filename>postgresql.conf</filename> pour servir de 
     153    valeurs par défaut au démarrage du serveur. Si ces déclarations sont 
     154    supprimées du fichier <filename>postgresql.conf</filename>, le serveur 
     155    hérite des paramètres de son environnement d'exécution. 
     156   </para> 
     157 
     158   <para> 
     159    Le comportement des locales du serveur est déterminé par les 
     160    variables d'environnement vues par le serveur, pas celles de 
     161    l'environnement d'un quelconque client. Il est donc important de  
     162    configurer les bons paramètres de locales avant le démarrage du serveur. 
     163    Cela a pour conséquence que, si les locales du client et du serveur 
     164    diffèrent, les messages peuvent apparaître dans des langues différentes 
     165    en fonction de leur provenance. 
    168166   </para> 
    169167 
    170168   <note> 
    171169    <para> 
    172      Lorsqu'on parle d'hériter la locale de l'environnement d'exécution, ceci 
    173      veut dire la chose suivante sur la plupart des systèmes 
    174      d'exploitation&nbsp;: pour une catégorie de locale donnée, disons 
    175      l'ordonnancement, les variables d'environnement suivantes sont 
    176      consultées dans cet ordre jusqu'à ce qu'on en trouve une de fixée&nbsp;: 
    177      <envar>LC_ALL</envar>, <envar>LC_COLLATE</envar> (la variable 
    178      correspondante à la catégorie respective), <envar>LANG</envar>. Si aucune 
    179      de ces variables n'est fixée, alors on utilise la locale par défaut, 
    180      <literal>C</literal>. 
     170     Hériter la locale de l'environnement d'exécution signifie, sur la  
     171     plupart des systèmes d'exploitation, la chose suivante&nbsp;: 
     172     pour une catégorie de locales donnée, l'ordonnancement par exemple, 
     173     les variables d'environnement <envar>LC_ALL</envar>, 
     174     <envar>LC_COLLATE</envar> (la variable qui correspond à la catégorie) 
     175     et <envar>LANG</envar> sont consultées dans cet ordre jusqu'à en 
     176     trouver une qui est fixée. Si aucune de ces variables n'est fixée, 
     177     c'est la locale par défaut, <literal>C</literal>, qui est utilisée. 
    181178    </para> 
    182179 
     
    184181     Certaines bibliothèques de localisation regardent aussi la variable 
    185182     d'environnement <envar>LANGUAGE</envar> qui surcharge tout autre 
    186      paramètre pour le besoin de fixer la langue des messages. Si vous 
    187      doutez, lisez la documentation de votre système d'exploitation, 
    188      en particulier la documentation à propos de 
    189      <application>gettext</application>, pour plus d'information. 
     183     paramètre pour fixer la langue des messages. En cas de doute,  
     184     lire la documentation du système d'exploitation, 
     185     en particulier la partie concernant <application>gettext</application>. 
    190186    </para> 
    191187   </note> 
     
    193189   <para> 
    194190    Pour permettre la traduction des messages dans la langue préférée de 
    195     l'utilisateur, <acronym>NLS</acronym> doit être activé pendant la 
    196     compilation. Ce choix est indépendant d'autre support de locale
     191    l'utilisateur, <acronym>NLS</acronym> doit avoir été activé pendant la 
     192    compilation. Ce choix est indépendant des autres supports de locales
    197193   </para> 
    198194  </sect2> 
     
    208204     <listitem> 
    209205      <para> 
    210        Ordre de tri dans les requêtes utilisant <literal>ORDER BY</literal> sur des 
    211        données de type texte 
    212        <indexterm><primary>ORDER BY</primary><secondary>et les locales</secondary></indexterm> 
     206       l'ordre de tri dans les requêtes utilisant <literal>ORDER BY</literal> sur des 
     207       données de type texte&nbsp;; 
     208       <indexterm><primary>ORDER BY</primary><secondary>et locales</secondary></indexterm> 
    213209      </para> 
    214210     </listitem> 
     
    216212     <listitem> 
    217213      <para> 
    218        La possibilité d'utiliser des index avec les clauses <literal>LIKE</literal> 
    219        <indexterm><primary>LIKE</primary><secondary>et les locales</secondary></indexterm> 
     214       la possibilité d'utiliser des index avec les clauses 
     215       <literal>LIKE</literal>&nbsp;; 
     216       <indexterm><primary>LIKE</primary><secondary>et locales</secondary></indexterm> 
    220217      </para> 
    221218     </listitem> 
     
    223220     <listitem> 
    224221      <para> 
    225        Les fonctions <function>upper</function>, <function>lower</function> et 
    226        <function>initcap</function> 
    227        <indexterm><primary>upper</primary><secondary>et les locales</secondary></indexterm> 
    228        <indexterm><primary>lower</primary><secondary>et les locales</secondary></indexterm> 
     222       les fonctions <function>upper</function>, <function>lower</function> et 
     223       <function>initcap</function>&nbsp;; 
     224       <indexterm><primary>upper</primary><secondary>et locales</secondary></indexterm> 
     225       <indexterm><primary>lower</primary><secondary>et locales</secondary></indexterm> 
     226       <indexterm><primary>initcap</primary><secondary>et locales</secondary></indexterm> 
    229227      </para> 
    230228     </listitem> 
     
    232230     <listitem> 
    233231      <para> 
    234        La famille de fonctions <function>to_char</function> 
    235        <indexterm><primary>to_char</primary><secondary>et les locales</secondary></indexterm> 
     232       la famille de fonctions <function>to_char</function>. 
     233       <indexterm><primary>to_char</primary><secondary>et locales</secondary></indexterm> 
    236234      </para> 
    237235     </listitem> 
     
    240238 
    241239   <para> 
    242     L'inconvénient d'utiliser le support de locale autres que <literal>C</literal> ou 
    243     <literal>POSIX</literal> dans <productname>PostgreSQL</productname> est son impact sur les 
    244     performances. Il ralentit la gestion des caractères et empêche  
    245     l'utilisation des index ordinaires par <literal>LIKE</literal>. Pour cette 
    246     raison, utilisez les locales seulement si vous en avez besoin. 
    247    </para> 
    248  
    249    <para> 
    250     Comme contournement pour que <productname>PostgreSQL</productname> puisse utiliser 
    251     des index avec les clauses <literal>LIKE</literal> et une locale autre que C, 
    252     plusieurs classes d'opérateurs personnalisés existent. Elles permettent 
    253     la création d'un index qui fait une comparaison stricte, caractère par 
    254     caractère, ignorant les règles de comparaison des locales. Référez-vous à 
     240    Le support de locale autres que <literal>C</literal> ou 
     241    <literal>POSIX</literal> dans <productname>PostgreSQL</productname> a 
     242    pour inconvénient son impact sur les performances. Il ralentit la gestion 
     243    des caractères et empêche l'utilisation des index ordinaires par 
     244    <literal>LIKE</literal>. Pour cette raison, il est préférable de 
     245    n'utiliser les locales qu'en cas de réel besoin. 
     246   </para> 
     247 
     248   <para> 
     249    Toutefois, pour permettre à <productname>PostgreSQL</productname> d'utiliser 
     250    des index avec les clauses <literal>LIKE</literal> et une locale 
     251    différente de <literal>C</literal>, il existe plusieurs classes 
     252    d'opérateurs personnalisées. Elles permettent 
     253    la création d'un index qui réalise une stricte comparaison caractère par 
     254    caractère, ignorant les règles de comparaison des locales. Se référer à 
    255255    la <xref linkend="indexes-opclass"/> pour plus d'informations. 
    256256   </para> 
     
    261261 
    262262   <para> 
    263     Si le support de locale ne fonctionne pas malgré l'explication ci-dessus, 
    264     vérifiez que le support de locale de votre système d'exploitation est 
    265     correctement configuré. Pour vérifier quelles locales sont installées sur 
    266     votre système, vous pouvez utiliser la commande <literal>locale  
    267     -a</literal> si votre système d'exploitation la fournit
    268    </para> 
    269  
    270    <para> 
    271     Vérifiez que <productname>PostgreSQL</productname> utilise vraiment la  
    272     locale que vous supposez. Les paramètres <envar>LC_COLLATE</envar> et 
    273     <envar>LC_CTYPE</envar> sont déterminés lors de <command>initdb</command> 
     263    Si le support de locale ne fonctionne pas au regard des explications ci-dessus, 
     264    il faut vérifier que le support des locales du système d'exploitation est 
     265    correctement configuré. Pour vérifier les locales installées sur 
     266    le système, on peut utiliser la commande <literal>locale -a</literal>, 
     267    si elle est fournie avec le système d'exploitation
     268   </para> 
     269 
     270   <para> 
     271    Il faut vérifier que <productname>PostgreSQL</productname> utilise 
     272    effectivement la locale supposée. Les paramètres <envar>LC_COLLATE</envar> et 
     273    <envar>LC_CTYPE</envar> sont déterminés lors de l'<command>initdb</command> 
    274274    et ne peuvent pas être modifiés sans répéter <command>initdb</command>. 
    275275    D'autres paramètres de locale, y compris <envar>LC_MESSAGES</envar> et 
    276276    <envar>LC_MONETARY</envar>, sont déterminés initialement par 
    277277    l'environnement dans lequel le serveur est lancé mais peuvent être 
    278     modifiés pendant l'exécution. Vous pouvez vérifier les paramétrages 
    279     de la locale active en 
    280     utilisant la commande <command>SHOW</command>. 
    281    </para> 
    282  
    283    <para> 
    284     Le répertoire <filename>src/test/locale</filename> dans la distribution  
    285     du source contient une série de tests pour le support de locale dans 
     278    modifiés pendant l'exécution. Pour vérifier les paramétrages 
     279    de la locale active on utilise la commande <command>SHOW</command>. 
     280   </para> 
     281 
     282   <para> 
     283    Le répertoire <filename>src/test/locale</filename> de la distribution  
     284    source contient une série de tests pour le support des locales dans 
    286285    <productname>PostgreSQL</productname>. 
    287286   </para> 
    288287 
    289288   <para> 
    290     Les applications clientes qui gèrent les erreurs côté serveur en  
    291     analysant le texte 
    292     du message d'erreur auront, bien sûr, des problèmes lorsque les messages 
    293     sont dans une langue différente. Les auteurs de telles applications sont 
     289    Les applications clientes qui gèrent les erreurs en provenance du 
     290    serveur par l'analyse du texte du message d'erreur vont certainement 
     291    éprouver des difficultés lorsque les messages du serveur sont dans une langue 
     292    différente. Les auteurs de telles applications sont 
    294293    invités à utiliser le schéma de code d'erreur à la place. 
    295294   </para> 
    296295 
    297296   <para> 
    298     Maintenir des catalogues de traductions de messages requiert les 
     297    Le maintien de catalogues de traductions de messages nécessitent les 
    299298    efforts permanents de beaucoup de volontaires qui souhaitent voir 
    300     <productname>PostgreSQL</productname> bien interpréter leur langue  
    301     préférée. Si des messages dans votre langue ne sont pas disponibles ou 
    302     pas complètement 
    303     traduits, votre aide serait très appréciée. Si vous voulez aider, 
    304     consultez le <xref linkend="nls"/> ou écrivez à la liste de diffusion des 
    305     développeurs. 
     299    <productname>PostgreSQL</productname> parler correctement leur langue  
     300    préférée. Si certains messages dans une langue ne sont pas disponibles ou 
     301    pas complètement traduits, toute aide est la bienvenue. Pour apporter 
     302    son aide à ce projet, consulter le <xref linkend="nls"/> ou écrire à 
     303    la liste de diffusion des développeurs. 
    306304   </para> 
    307305  </sect2> 
     
    316314  <para> 
    317315   Le support des jeux de caractères dans <productname>PostgreSQL</productname> 
    318    vous permet de rentrer du texte dans plusieurs jeux de caractères, dont 
    319    des jeux de caractères à un octet tels que la série ISO 8859 et 
    320    des jeux de caractères multi-octets tel que <acronym>EUC</acronym>  
    321    (Extended Unix Code), UTF-8 et le code interne de Mule.  Tous les jeux de 
    322    caractères supportés peuvent être utilisés de façon transparente par les 
    323    clients mais certains ne sont pas supportés au sein du serveur (c'est-à-dire 
    324    comme jeu de caractères du serveur). 
    325    Le jeu de caractères par défaut est sélectionné pendant l'initialisation de 
    326    votre cluster de base de données <productname>PostgreSQL</productname> 
    327    avec <command>initdb</command>.  Le choix peut être outrepassé lors de la 
    328    création de la base, vous pouvez donc avoir des bases avec des jeux de 
    329    caractères différents. 
     316   permet d'insérer du texte dans différents jeux de caractères, dont 
     317   ceux mono-octet tels que la série ISO 8859 et ceux multi-octets tels que 
     318   <acronym>EUC</acronym> (Extended Unix Code), UTF-8 ou le codage interne Mule. 
     319   Tous les jeux de caractères supportés peuvent être utilisés de façon 
     320   transparente par les clients mais certains ne sont pas supportés par le 
     321   serveur (c'est-à-dire comme encodage du serveur). 
     322   Le jeu de caractères par défaut est sélectionné pendant l'initialisation 
     323   du cluster de base de données avec <command>initdb</command>. Ce choix peut 
     324   être surchargé à la création de la base. Il est donc possible de disposer 
     325   de bases utilisant chacune un jeu de caractères différent. 
    330326  </para> 
    331327 
     
    334330 
    335331    <para> 
    336      Le <xref linkend="charset-table"/> montre les jeux de caractères disponibles 
    337      à l'utilisation dans <productname>PostgreSQL</productname>. 
     332     Le <xref linkend="charset-table"/> montre les jeux de caractères 
     333     utilisables avec <productname>PostgreSQL</productname>. 
    338334    </para> 
    339335 
     
    678674 
    679675     <para> 
    680       Toutes les <acronym>API</acronym> ne supportent pas les jeux de caractères de 
    681       la liste. Par exemple, le pilote JDBC de <productname>PostgreSQL</productname> 
    682       ne supporte pas <literal>MULE_INTERNAL</literal>, <literal>LATIN6</literal>, 
    683       <literal>LATIN8</literal> et <literal>LATIN10</literal>. 
     676      Toutes les <acronym>API</acronym> ne supportent pas tous les jeux de caractères de 
     677      la liste. Le pilote JDBC de <productname>PostgreSQL</productname>, par 
     678      exemple, ne supporte pas <literal>MULE_INTERNAL</literal>, 
     679      <literal>LATIN6</literal>, <literal>LATIN8</literal> et 
     680      <literal>LATIN10</literal>. 
    684681     </para> 
    685682 
    686683     <para> 
    687       La valeur <literal>SQL_ASCII</literal> se comporte de façon considérablement 
    688       différente des autres valeurs. Quand l'ensemble de caractères du 
     684      <literal>SQL_ASCII</literal> se comporte de façon considérablement 
     685      différente des autres valeurs. Quand le jeu de caractères du 
    689686      serveur est <literal>SQL_ASCII</literal>, le serveur interprète les valeurs 
    690687      des octets 0-127 suivant le standard ASCII alors que les valeurs 
    691688      d'octets 128-255 sont considérées comme des caractères non interprétés. 
    692       Aucune conversion de codage ne sera effectuée avec 
    693       <literal>SQL_ASCII</literal>. Du coup, cette valeur n'est pas tellement 
    694       la déclaration qu'un codage spécifique est utilisé, mais plutôt de 
    695       l'ignorance du codage. Dans la plupart des cas, si vous travaillez avec 
    696       des données non ASCII, il est déconseillé d'utiliser la valeur 
    697       <literal>SQL_ASCII</literal> car <productname>PostgreSQL</productname> sera 
    698       incapable de vous aider dans la conversion ou la validation des 
    699       caractères non ASCII. 
     689      Aucune conversion de codage n'est effectuée avec 
     690      <literal>SQL_ASCII</literal>. De ce fait, cette valeur ne déclare par 
     691      tant un encodage spécifique que l'ignorance de l'encodage. Dans la 
     692      plupart des cas, si des données non ASCII doivent être traitées, il est 
     693      déconseillé d'utiliser la valeur <literal>SQL_ASCII</literal> car 
     694      <productname>PostgreSQL</productname> est alors 
     695      incapable de convertir ou de valider les caractères non ASCII. 
    700696     </para> 
    701697    </sect2> 
     
    706702    <para> 
    707703     <command>initdb</command> définit le jeu de caractères par défaut 
    708      pour un cluster <productname>PostgreSQL</productname>. Par exemple, 
     704     pour un cluster. Par exemple, 
    709705 
    710706<screen>initdb -E EUC_JP</screen> 
    711707 
    712      paramètre le jeu de caractères (codage) à 
    713      <literal>EUC_JP</literal> (Extended Unix Code for Japanese). Vous 
    714      pouvez utiliser l'option <option>--encoding</option> au lieu de 
    715      <option>-E</option> si vous préférez saisir les noms d'options longs. 
    716      Si aucune option <option>-E</option> ou <option>--encoding</option> n'est 
    717      donnée, <command>initdb</command> tente de déterminer le codage approprié à 
    718      utiliser suivant la locale spécifiée ou par défaut. 
     708     paramètre le jeu de caractères (encodage) à 
     709     <literal>EUC_JP</literal> (Extended Unix Code for Japanese).  
     710     L'option <option>--encoding</option> peut aussi être utilisée à la 
     711     place de <option>-E</option> (options longues). Si aucune option 
     712     <option>-E</option> ou <option>--encoding</option> n'est 
     713     donnée, <command>initdb</command> tente de déterminer l'encodage approprié 
     714     en fonction de la locale indiquée ou de celle par défaut. 
    719715    </para> 
    720716 
    721717    <para> 
    722      Vous pouvez créer une base de données avec un jeu de caractère 
     718     Il est possible de créer une base de données avec un jeu de caractère 
    723719     différent&nbsp;: 
    724720 
    725721<screen>createdb -E EUC_KR korean</screen> 
    726722 
    727      Ceci va créer une base de données appelée <literal>korean</literal> qui 
    728      utilisera le jeu de caractère <literal>EUC_KR</literal>. Un autre moyen de 
    729      réaliser ceci est d'utiliser cette commande SQL&nbsp;: 
     723     Ceci crée une base de données appelée <literal>korean</literal> qui 
     724     utilise le jeu de caractères <literal>EUC_KR</literal>. Un autre moyen de 
     725     réaliser cela est d'utiliser la commande SQL suivante&nbsp;: 
    730726 
    731727<programlisting>CREATE DATABASE korean WITH ENCODING 'EUC_KR';</programlisting> 
    732728 
    733      Le codage pour une base de données est conservé dans le catalogue système 
    734      <literal>pg_database</literal>.  Vous pouvez voir ceci en utilisant  
    735      l'option <option>-l</option> ou la commande <command>\l</command> de 
     729     L'encodage de la base de données est conservé dans le catalogue système 
     730     <literal>pg_database</literal>.  Cela est visible à l'aide de  
     731     l'option <option>-l</option> ou de la commande <command>\l</command> de 
    736732     <command>psql</command>. 
    737733 
     
    755751    <important> 
    756752    <para> 
    757     Bien que vous pouvez spécifier tout codage que vous souhaitez pour une base 
    758     de données, il est déconseillé de choisir un codage qui n'est pas attendu 
     753    Bien qu'il soit possible de préciser n'importe quel encodage pour une base 
     754    de données, il est déconseillé de choisir un encodage qui n'est pas attendu 
    759755    par la locale sélectionnée. Les paramètres <literal>LC_COLLATE</literal> et 
    760     <literal>LC_CTYPE</literal> impliquent un codage particulier, et les 
    761     opérations dépendantes de la locale (comme le tri) pourraient mal 
    762     interpréter les données qui sont dans un codage incompatible. 
     756    <literal>LC_CTYPE</literal> impliquent un encodage particulier, et les 
     757    opérations dépendantes de la locale (comme le tri) interprètent souvent 
     758    mal les données stockées dans un encodage incompatible. 
    763759    </para> 
    764760 
    765761    <para> 
    766     Comme ces paramètres de locale sont gelés par <command>initdb</command>, la 
    767     flexibilité apparente pour utiliser différents codages dans les 
    768     différentes bases de données d'un groupe est plus théorique que réel
    769     Il est probable que ces mécanismes soiet revus dans les prochaines 
     762    Comme ces paramètres de locales sont gelés par <command>initdb</command>, la 
     763    latitude apparente laissée dans l'utilisation des encodages des 
     764    bases de données d'un cluster est plus théorique que réelle
     765    Il est probable que ces mécanismes soient revus dans les prochaines 
    770766    versions de <productname>PostgreSQL</productname>. 
    771767    </para> 
    772768 
    773769    <para> 
    774     Une façon d'utiliser les codages multiples en toute sûreté est de  
     770    Une possibilité d'utiliser les codages multiples en toute sûreté est de  
    775771    configurer la locale à <literal>C</literal> ou <literal>POSIX</literal> lors 
    776     d'<command>initdb</command> désactivant toute connaissance réelle de la locale. 
     772    d'<command>initdb</command>, ce qui désactive toute connaissance réelle de la locale. 
    777773    </para> 
    778774    </important> 
     
    780776 
    781777   <sect2> 
    782     <title>Conversion de jeu de caractères automatique entre serveur et client</title> 
     778    <title>Conversion automatique d'encodage entre serveur et client</title> 
    783779 
    784780    <para> 
    785781     <productname>PostgreSQL</productname> supporte les conversions 
    786      automatiques de jeu de caractères entre client et serveur pour 
     782     automatiques d'encodage entre client et serveur pour 
    787783     certains jeux de caractères. Les informations de conversion sont 
    788784     conservées dans le catalogue système <literal>pg_conversion</literal>. 
    789785     <productname>PostgreSQL</productname> est livré avec certaines 
    790      conversions prédéfinies, conversions listées dans le <xref 
    791      linkend="multibyte-translation-table"/>. Vous pouvez créer une nouvelle 
    792      conversion en utilisant la commande SQL <command>CREATE CONVERSION</command>. 
     786     conversions prédéfinies, conversions listées dans le 
     787     <xref linkend="multibyte-translation-table"/>. Une nouvelle 
     788     conversion peut être créée en utilisant la commande SQL 
     789     <command>CREATE CONVERSION</command>. 
    793790    </para> 
    794791 
     
    807804        <row> 
    808805         <entry><literal>BIG5</literal></entry> 
    809          <entry><emphasis>non supporté comme codage serveur</emphasis> 
     806         <entry><emphasis>non supporté comme encodage serveur</emphasis> 
    810807         </entry> 
    811808        </row> 
     
    842839        <row> 
    843840         <entry><literal>GB18030</literal></entry> 
    844          <entry><emphasis>non supporté comme codage serveur</emphasis> 
     841         <entry><emphasis>non supporté comme encodage serveur</emphasis> 
    845842         </entry> 
    846843        </row> 
    847844        <row> 
    848845         <entry><literal>GBK</literal></entry> 
    849          <entry><emphasis>non supporté comme codage serveur</emphasis> 
     846         <entry><emphasis>non supporté comme encodage serveur</emphasis> 
    850847         </entry> 
    851848        </row> 
     
    978975        <row>  
    979976         <entry><literal>SJIS</literal></entry> 
    980          <entry><emphasis>non supporté comme codage serveur</emphasis> 
     977         <entry><emphasis>non supporté comme encodage serveur</emphasis> 
    981978         </entry> 
    982979        </row> 
    983980        <row> 
    984981         <entry><literal>SQL_ASCII</literal></entry> 
    985          <entry><emphasis>tous (aucune conversion ne sera réalisée)</emphasis> 
     982         <entry><emphasis>tous (aucune conversion n'est réalisée)</emphasis> 
    986983         </entry> 
    987984        </row> 
    988985        <row> 
    989986         <entry><literal>UHC</literal></entry> 
    990          <entry><emphasis>non supporté comme codage serveur</emphasis> 
     987         <entry><emphasis>non supporté comme encodage serveur</emphasis> 
    991988         </entry> 
    992989        </row> 
    993990        <row> 
    994991         <entry><literal>UTF8</literal></entry> 
    995          <entry><emphasis>tout codage supporté</emphasis> 
     992         <entry><emphasis>tout encodage supporté</emphasis> 
    996993         </entry> 
    997994        </row> 
     
    10771074 
    10781075    <para> 
    1079      Pour activer la conversion automatique de jeux de caractères, vous devez 
    1080      dire à <productname>PostgreSQL</productname> quel jeu de caractères  
    1081      (codage) vous voulez utiliser côté client. Il y a plusieurs façons de 
    1082      faire cela&nbsp;: 
     1076     Pour activer la conversion automatique des jeux de caractères, il 
     1077     est nécessaire d'indiquer à <productname>PostgreSQL</productname> 
     1078     le jeu de caractères (encodage) souhaité côté client. Il y a plusieurs 
     1079     façons de le faire&nbsp;: 
    10831080 
    10841081     <itemizedlist> 
    10851082      <listitem> 
    10861083       <para> 
    1087         En utilisant la commande <command>\encoding</command> dans 
     1084        en utilisant la commande <command>\encoding</command> dans 
    10881085        <application>psql</application>. 
    1089         <command>\encoding</command> vous permet de changer de jeu de caractères 
     1086        <command>\encoding</command> permet de changer l'encodage 
    10901087        client à la volée. Par exemple, pour changer le codage en 
    1091         <literal>SJIS</literal>, tapez&nbsp;: 
     1088        <literal>SJIS</literal>, taper&nbsp;: 
    10921089 
    10931090<programlisting>\encoding SJIS</programlisting> 
     
    10971094      <listitem> 
    10981095       <para> 
    1099         En utilisant les fonctions <application>libpq</application>. 
     1096        en utilisant les fonctions <application>libpq</application>. 
    11001097        <command>\encoding</command> appelle en fait 
    1101         <function>PQsetClientEncoding()</function> pour faire son travail
     1098        <function>PQsetClientEncoding()</function> pour se faire
    11021099 
    11031100<synopsis>int PQsetClientEncoding(PGconn *<replaceable>conn</replaceable>, const char *<replaceable>encoding</replaceable>);</synopsis> 
    11041101 
    1105         ou <replaceable>conn</replaceable> est une connexion au serveur, 
    1106         et <replaceable>encoding</replaceable> est le codage que vous 
    1107         voulez utiliser. Si la fonction fixe le codage, elle renvoie 0, 
    1108         sinon -1. Le codage actuel pour cette connexion peut être déterminé 
     1102        avec <replaceable>conn</replaceable> une connexion au serveur 
     1103        et <replaceable>encoding</replaceable> l'encodage souhaité. 
     1104        Si la fonction fixe l'encodage, elle renvoie 0,        sinon -1. 
     1105        L'encodage courant d'une connexion peut être déterminé 
    11091106        en utilisant&nbsp;: 
    11101107 
    11111108<synopsis>int PQclientEncoding(const PGconn *<replaceable>conn</replaceable>);</synopsis> 
    11121109 
    1113         Notez que ceci renvoie l'ID du codage, pas une chaîne symbolique telle que 
    1114         <literal>EUC_JP</literal>. Pour convertir un ID du codage en NOM, vous 
    1115         pouvez utiliser&nbsp;: 
     1110        Cela renvoie l'ID de l'encodage, pas une chaîne symbolique telle que 
     1111        <literal>EUC_JP</literal>. Pour convertir un ID d'encodage en NOM, 
     1112        on utilise&nbsp;: 
    11161113 
    11171114<synopsis>char *pg_encoding_to_char(int <replaceable>encoding_id</replaceable>);</synopsis> 
     
    11211118      <listitem> 
    11221119       <para> 
    1123         En utilisant <command>SET client_encoding TO</command>. 
    1124  
    1125         Fixer le codage client peut être fait avec cette commande SQL&nbsp;: 
     1120        en utilisant <command>SET client_encoding TO</command>. 
     1121 
     1122        Fixer l'encodage client peut se faire avec la commande SQL suivante&nbsp;: 
    11261123 
    11271124<programlisting>SET CLIENT_ENCODING TO '<replaceable>valeur</replaceable>';</programlisting> 
    11281125 
    1129         Vous pouvez aussi utiliser la syntaxe SQL plus standard <literal>SET 
    1130         NAMES</literal> pour ceci&nbsp;: 
     1126        La syntaxe SQL plus standard <literal>SET NAMES</literal> peut 
     1127        également être utilisée pour cela&nbsp;: 
    11311128 
    11321129<programlisting>SET NAMES '<replaceable>valeur</replaceable>';</programlisting> 
    11331130 
    1134         Pour demander l'actuel codage client&nbsp;: 
     1131        Pour connaître l'encodage client courant&nbsp;: 
    11351132 
    11361133<programlisting>SHOW client_encoding;</programlisting> 
    11371134 
    1138         Pour revenir au codage par défaut&nbsp;: 
     1135        Pour revenir à l'encodage par défaut&nbsp;: 
    11391136 
    11401137<programlisting>RESET client_encoding;</programlisting> 
     
    11441141      <listitem> 
    11451142       <para> 
    1146         En utilisant <envar>PGCLIENTENCODING</envar>. 
    1147  
     1143        en utilisant <envar>PGCLIENTENCODING</envar>. 
    11481144        Si la variable d'environnement <envar>PGCLIENTENCODING</envar> est définie 
    1149         dans l'environnement client, ce codage client est automatiquement  
    1150         sélectionné lorsqu'une connexion au serveur est établie (ceci peut être 
    1151         surchargé avec n'importe quelle autre des méthodes ci-dessus). 
     1145        dans l'environnement client, l'encodage client est automatiquement  
     1146        sélectionné lors de l'établissement d'une connexion au serveur (cette 
     1147        variable peut être surchargée à l'aide de toute autre méthode 
     1148        décrite ci-dessus). 
    11521149       </para> 
    11531150      </listitem> 
     
    11551152      <listitem> 
    11561153      <para> 
    1157       En utilisant la variable de configuration <xref 
    1158       linkend="guc-client-encoding"/>. 
     1154      en utilisant la variable de configuration 
     1155      <xref linkend="guc-client-encoding"/>. 
    11591156      Si la variable <varname>client_encoding</varname> est définie, 
    1160       ce codage client est automatiquement sélectionné lorsqu'une  
    1161       connexion au serveur est établie (ceci peut être surchargé avec 
    1162       n'importe quelle autre des méthodes ci-dessus). 
     1157      l'encodage client est automatiquement sélectionné lors de 
     1158      l'établissement d'une connexion au serveur (cette variable peut être 
     1159      surchargée à l'aide de toute autre méthode décrite ci-dessus). 
    11631160       </para> 
    11641161      </listitem> 
     
    11691166    <para> 
    11701167     Si la conversion d'un caractère particulier n'est pas possible &mdash; 
    1171      supposons que vous avez choisi <literal>EUC_JP</literal> pour le serveur  
    1172      et <literal>LATIN1</literal> pour le client, alors certains caractères 
     1168     dans le cas d'encodages <literal>EUC_JP</literal> pour le serveur  
     1169     et <literal>LATIN1</literal> pour le client, par exemple, certains caractères 
    11731170     japonais n'ont pas de représentation en <literal>LATIN1</literal> 
    1174      &mdash; ceci amène une erreur
     1171     &mdash; une erreur est remontée
    11751172    </para> 
    11761173 
    11771174    <para> 
    1178      Si l'ensemble de caractères du client est défini en tant que 
    1179      <literal>SQL_ASCII</literal>, la conversion du codage est désactivée quelque 
    1180      soit l'ensemble de caractères du serveur. Comme pour le serveur, utiliser 
    1181      <literal>SQL_ASCII</literal> est déconseillé sauf si vous ne travaillez qu'avec 
     1175     Si l'encodage client est défini en tant que 
     1176     <literal>SQL_ASCII</literal>, la conversion de l'encodage est désactivée quelque 
     1177     soit celui du serveur. Comme pour le serveur,  
     1178     <literal>SQL_ASCII</literal> est déconseillé sauf à ne travailler qu'avec 
    11821179     des données ASCII. 
    11831180    </para> 
     
    11851182 
    11861183   <sect2> 
    1187     <title>Plus de lecture</title> 
     1184    <title>Pour aller plus loin</title> 
    11881185 
    11891186    <para> 
    1190      Ceux-ci sont de bonnes sources pour commencer à maîtriser les différents  
     1187     Quelques sources intéressantes pour commencer à maîtriser les différents  
    11911188     jeux de caractères. 
    11921189 
    11931190     <variablelist> 
    11941191      <varlistentry> 
    1195        <term><ulink  
    1196        url="http://www.i18ngurus.com/docs/984813247.html"></ulink></term> 
     1192       <term><ulink url="http://www.i18ngurus.com/docs/984813247.html"></ulink></term> 
    11971193 
    11981194       <listitem> 
    11991195        <para> 
    1200          Une collection complète de documents sur les ensembles de caractères, 
    1201          les codages et les pages code. 
     1196         Une collection complète de documents sur les jeux de caractères, 
     1197         les encodages et les pages code. 
    12021198        </para> 
    12031199       </listitem> 
     
    12051201 
    12061202      <varlistentry> 
    1207        <term><ulink  
    1208       url="ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf"></ulink></term> 
     1203       <term><ulink url="ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf"></ulink></term> 
    12091204 
    12101205       <listitem> 
     
    12221217       <listitem> 
    12231218        <para> 
    1224          Le site web du Unicode Consortium 
     1219         Le site web du Unicode Consortium. 
    12251220        </para> 
    12261221       </listitem> 
  • traduc/trunk/manuel/client-auth.xml

    r498 r506  
    1313  Unix sous un nom d'utilisateur particulier. Au sein de l'environnement SQL, le 
    1414  nom d'utilisateur de la base de données active détermine les droits 
    15   régissant l'accès aux objets de la base de données &mdash; voir le <xref 
    16   linkend="user-manag"/> pour plus d'informations. Ainsi, il est essentiel de 
     15  régissant l'accès aux objets de la base de données &mdash; voir le 
     16  <xref linkend="user-manag"/> pour plus d'informations. Ainsi, il est essentiel de 
    1717  limiter le nombre des bases de données auxquelles les utilisateurs peuvent se 
    1818  connecter.</para> 
     
    2222   Comme expliqué dans le <xref linkend="user-manag"/>, 
    2323   <productname>PostgreSQL</productname> gère les droits par l'intermédiaire 
    24    des <quote>rôles</quote>. Dans ce chapitre, nous utilisons constamment 
    25    <firstterm>utilisateur de bases de données</firstterm> pour signifier <quote>rôle 
    26    disposant du droit <literal>LOGIN</literal></quote>. 
     24   des <quote>rôles</quote>. Dans ce chapitre, le terme  
     25   <firstterm>utilisateur de bases de données</firstterm> est utilisé pour 
     26   signifier <quote>rôle disposant du droit <literal>LOGIN</literal></quote>. 
    2727  </para> 
    2828 </note> 
     
    3030 <para>L'<firstterm>authentification</firstterm> est le processus par lequel le 
    3131  serveur de bases de données établit l'identité du client et, par extension, 
    32   par lequel il détermine si l'application client (ou l'utilisateur sous le nom 
    33   de laquelle elle fonctionne) est autorisée à se connecter sous le nom 
    34   d'utilisateur demandé de la base de données.</para> 
     32  détermine si l'application client (ou l'utilisateur qui l'utilise) est 
     33  autorisée à se connecter avec le nom d'utilisateur de la base de données 
     34  indiqué.</para> 
    3535 
    3636 <para><productname>PostgreSQL</productname> offre quantité de méthodes 
    37