From: Lucien Gentis Date: Sat, 17 Sep 2016 13:12:28 +0000 (+0000) Subject: XML updates. X-Git-Tag: 2.5.0-alpha~1150 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6fb3399f679de0013c91f2d8b248f31d41c95a4;p=thirdparty%2Fapache%2Fhttpd.git XML updates. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1761218 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/install.xml.fr b/docs/manual/install.xml.fr index 8a7aa243f11..2d3a80bde4a 100644 --- a/docs/manual/install.xml.fr +++ b/docs/manual/install.xml.fr @@ -1,9 +1,9 @@ - + - + + @@ -25,23 +25,23 @@ mod_dbd -Gestion des connexions à une base de données SQL +Gestion des connexions à une base de données SQL Extension mod_dbd.c dbd_module -

Le module mod_dbd gère les connexions - à une base de données SQL via APR. Il permet - aux modules qui requièrent des fonctions liées aux bases de données - SQL de se connecter à une base de données à la demande, et s'efforce - de conférer aux bases de données une efficacité et une - évolutivité optimales pour les MPMs threadés ou non threadés. Pour - plus de détails, voir le site web Le module mod_dbd gère les connexions + à une base de données SQL via APR. Il permet + aux modules qui requièrent des fonctions liées aux bases de données + SQL de se connecter à une base de données à la demande, et s'efforce + de conférer aux bases de données une efficacité et une + évolutivité optimales pour les MPMs threadés ou non threadés. Pour + plus de détails, voir le site web APR, ainsi que cette vue d'ensemble de l'environnement de - développement d'Apache DBD par son développeur initial. + développement d'Apache DBD par son développeur initial.

@@ -49,20 +49,43 @@ passe
Regroupement des connexions -

Ce module gère de manière optimisée en fonction de la plate-forme - les connexions aux bases de données. Sur les plates-formes non - threadées, il maintient une connexion persistente à la manière d'un +

Ce module gère de manière optimisée en fonction de la plate-forme + les connexions aux bases de données. Sur les plates-formes non + threadées, il maintient une connexion persistente à la manière d'un LAMP classique (Linux, Apache, Mysql, Perl/PHP/Python). Sur les - plates-formes threadées, il maintient un groupe de - connexions à la fois plus évolutif et plus efficace, comme - décrit dans cet + plates-formes threadées, il maintient un groupe de + connexions à la fois plus évolutif et plus efficace, comme + décrit dans cet article d'ApacheTutor. Notez que mod_dbd - remplace les modules présentés dans cet article.

+ remplace les modules présentés dans cet article.

+
+ +
Connexion + +

Pour vous connecter à votre base de données, vous devez spécifier un + pilote et des paramètres de connexion qui diffèrent selon le moteur de base + de données. Par exemple, pour vous connecter à mysql, spécifiez ce qui suit + :

+ + +DBDriver mysql +DBDParams host=localhost,dbname=pony,user=shetland,pass=appaloosa + + +

Vous pourrez alors utiliser cette connexion dans de nombreux autres + modules comme mod_rewrite, mod_authn_dbd + et mod_lua. Vous trouverez des exemples d'utilisation dans + la documentation de ces modules.

+ +

Voir la syntaxe de la directive DBDParams pour les + informations à fournir dans la chaîne de connexion en fonction des + différents pilotes de base de données supportés.

+
API DBD d'Apache

mod_dbd exporte cinq fonctions que d'autres - modules pourront utiliser. L'API se présente comme suit :

+ modules pourront utiliser. L'API se présente comme suit :

typedef struct { @@ -71,9 +94,9 @@ typedef struct { apr_hash_t *prepared; } ap_dbd_t; -/* Fonctions exportées pour accéder à la base de données */ +/* Fonctions exportées pour accéder à la base de données */ -/* ouvre une connexion qui DEVRA être explicitement fermée. +/* ouvre une connexion qui DEVRA être explicitement fermée. * Renvoie NULL en cas d'erreur */ AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*); @@ -81,24 +104,24 @@ AP_DECLARE(ap_dbd_t*) ap_dbd_open(apr_pool_t*, server_rec*); /* ferme une connexion ouverte avec ap_dbd_open */ AP_DECLARE(void) ap_dbd_close(server_rec*, ap_dbd_t*); -/* acquiert une connexion qui aura la durée de vie de la requête et qui - * NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas - * d'erreur. C'est la fonction recommandée pour la plupart des +/* acquiert une connexion qui aura la durée de vie de la requête et qui + * NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas + * d'erreur. C'est la fonction recommandée pour la plupart des * applications. */ AP_DECLARE(ap_dbd_t*) ap_dbd_acquire(request_rec*); -/* acquiert une connexion qui aura la durée de vie d'une connexion et - * qui NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas +/* acquiert une connexion qui aura la durée de vie d'une connexion et + * qui NE DEVRA PAS être explicitement fermée. Renvoie NULL en cas * d'erreur. */ AP_DECLARE(ap_dbd_t*) ap_dbd_cacquire(conn_rec*); -/* Prépare une requête qu'un module client pourra utiliser */ +/* Prépare une requête qu'un module client pourra utiliser */ AP_DECLARE(void) ap_dbd_prepare(server_rec*, const char*, const char*); -/* Exporte aussi ces fonctions à titre optionnel mour les modules qui - * péfèreraient les utiliser */ +/* Exporte aussi ces fonctions à titre optionnel mour les modules qui + * péfèreraient les utiliser */ APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_open, (apr_pool_t*, server_rec*)); APR_DECLARE_OPTIONAL_FN(void, ap_dbd_close, (server_rec*, ap_dbd_t*)); APR_DECLARE_OPTIONAL_FN(ap_dbd_t*, ap_dbd_acquire, (request_rec*)); @@ -107,108 +130,108 @@ APR_DECLARE_OPTIONAL_FN(void, ap_dbd_prepare, (server_rec*, const char*, const c
-
Requêtes SQL préparées -

mod_dbd supporte les requêtes SQL préparées pour - le compte des modules qui pourraient les utiliser. Chaque requête - préparée doit posséder un nom (étiquette), et est stockée dans un - condensé (hash) : les condensés sont du type - apr_dbd_prepared_t et s'utilisent dans toute requête - SQL ou commande select préparée par apr_dbd.

+
Requêtes SQL préparées +

mod_dbd supporte les requêtes SQL préparées pour + le compte des modules qui pourraient les utiliser. Chaque requête + préparée doit posséder un nom (étiquette), et est stockée dans un + condensé (hash) : les condensés sont du type + apr_dbd_prepared_t et s'utilisent dans toute requête + SQL ou commande select préparée par apr_dbd.

Il est du ressort des modules utilisateurs de dbd d'utiliser les - requêtes préparées et de préciser quelles requêtes doivent être - spécifiées dans httpd.conf, ou de fournir leurs propres directives + requêtes préparées et de préciser quelles requêtes doivent être + spécifiées dans httpd.conf, ou de fournir leurs propres directives et d'utiliser ap_dbd_prepare.

Avertissement - Lorsqu'on utilise des requêtes préparées avec des bases de - données MySQL, il est préférable de définir - reconnect à 0 dans la chaîne de connexion, afin - d'éviter des erreurs provoquées par un client MySQL qui se - reconnecterait sans réinitialiser correctement les requêtes - préparées. Si reconnect est défini à 1, toute - connexion défectueuse sera sensée être réparée, mais comme - mod_dbd n'en est pas informé, les requêtes préparées seront - invalidées. + Lorsqu'on utilise des requêtes préparées avec des bases de + données MySQL, il est préférable de définir + reconnect à 0 dans la chaîne de connexion, afin + d'éviter des erreurs provoquées par un client MySQL qui se + reconnecterait sans réinitialiser correctement les requêtes + préparées. Si reconnect est défini à 1, toute + connexion défectueuse sera sensée être réparée, mais comme + mod_dbd n'en est pas informé, les requêtes préparées seront + invalidées.
AVERTISSEMENT DE SECURITE -

Toute application web impliquant une base de données doit se - protéger elle-même contre les attaques de type injection SQL. Dans - la plupart des cas Apache DBD est sûr, car les applications - utilisent des requêtes préparées, et les entrées non sûres ne seront - utilisées qu'à titre de données. Bien entendu, si vous l'utilisez - via un module tiers, vous devez être au fait des précautions à +

Toute application web impliquant une base de données doit se + protéger elle-même contre les attaques de type injection SQL. Dans + la plupart des cas Apache DBD est sûr, car les applications + utilisent des requêtes préparées, et les entrées non sûres ne seront + utilisées qu'à titre de données. Bien entendu, si vous l'utilisez + via un module tiers, vous devez être au fait des précautions à prendre.

Cependant, le pilote FreeTDS est non - sûr de par sa nature même. Comme la bibliothèque - sous-jacente ne supporte pas les requêtes préparées, le pilote en - effectue une émulation, et les entrées non sûres sont fusionnées - avec la requête SQL.

-

Il peut être sécurisé en décontaminant toutes les - entrées : un processus inspiré de la recherche de contaminations de - Perl (NdT : taint checking). Chaque entrée est comparée - à une expression rationnelle, et - seules les entrées qui correspondent sont utilisées, en accord avec + sûr de par sa nature même. Comme la bibliothèque + sous-jacente ne supporte pas les requêtes préparées, le pilote en + effectue une émulation, et les entrées non sûres sont fusionnées + avec la requête SQL.

+

Il peut être sécurisé en décontaminant toutes les + entrées : un processus inspiré de la recherche de contaminations de + Perl (NdT : taint checking). Chaque entrée est comparée + à une expression rationnelle, et + seules les entrées qui correspondent sont utilisées, en accord avec le raccourci Perl :

  $untrusted =~ /([a-z]+)/;
   $trusted = $1;

Pour utiliser ceci, les expressions rationnelles de - décontamination doivent être incluses dans les requêtes préparées. - L'expression rationnelle doit se situer immédiatement après le - caractère % dans la requête préparée, et doit être entourée - d'accolades {}. Par exemple, si votre application attend une entrée - alphanumérique, vous pouvez utiliser :

+ décontamination doivent être incluses dans les requêtes préparées. + L'expression rationnelle doit se situer immédiatement après le + caractère % dans la requête préparée, et doit être entourée + d'accolades {}. Par exemple, si votre application attend une entrée + alphanumérique, vous pouvez utiliser :

"SELECT foo FROM bar WHERE input = %s" -

avec d'autres pilotes, et ne risquer au pire qu'une requête - en échec. Mais avec FreeTDS, vous devez utiliser :

+

avec d'autres pilotes, et ne risquer au pire qu'une requête + en échec. Mais avec FreeTDS, vous devez utiliser :

"SELECT foo FROM bar WHERE input = %{([A-Za-z0-9]+)}s" -

tout ce qui ne correspond pas à l'expression rationnelle est - alors rejeté, et la requête est ainsi désormais sûre.

+

tout ce qui ne correspond pas à l'expression rationnelle est + alors rejeté, et la requête est ainsi désormais sûre.

Alternativement, vous pouvez utiliser le pilote ODBC tiers, qui - offre la sécurité des requêtes préparées authentiques.

+ offre la sécurité des requêtes préparées authentiques.

DBDriver -Spécifie un pilote SQL +Spécifie un pilote SQL DBDriver nom server configvirtual host -

Cette directive spécifie un pilote apr_dbd par son - nom. Le pilote doit être installé sur votre système (sur la plupart - des systèmes, il s'agit d'un objet partagé ou d'une dll). Par - exemple, DBDriver mysql va sélectionner le pilote MySQL - dans la bibliothèque apr_dbd_mysql.so.

+

Cette directive spécifie un pilote apr_dbd par son + nom. Le pilote doit être installé sur votre système (sur la plupart + des systèmes, il s'agit d'un objet partagé ou d'une dll). Par + exemple, DBDriver mysql va sélectionner le pilote MySQL + dans la bibliothèque apr_dbd_mysql.so.

DBDParams -Paramètres de la connexion à la base de -données +Paramètres de la connexion à la base de +données DBDParams param1=valeur1[,param2=valeur2] server configvirtual host -

Cette directive spécifie des paramètres selon les - besoins du pilote concerné. En général, les paramètres à passer - concernent tout ce qui n'a pas de valeur par défaut comme le nom - d'utilisateur, le mot de passe, le nom de la base de données, le nom - d'hôte et le numéro de port de la connexion.

-

Les paramètres de la chaîne de connexion en fonction des - différents pilotes comprennent :

+

Cette directive spécifie des paramètres selon les + besoins du pilote concerné. En général, les paramètres à passer + concernent tout ce qui n'a pas de valeur par défaut comme le nom + d'utilisateur, le mot de passe, le nom de la base de données, le nom + d'hôte et le numéro de port de la connexion.

+

Les paramètres de la chaîne de connexion en fonction des + différents pilotes comprennent :

FreeTDS (pour MSSQL et SyBase)
username, password, appname, dbname, host, charset, lang, server
@@ -217,13 +240,13 @@ données
Oracle
user, pass, dbname, server
PostgreSQL
-
La chaîne de connexion est passée directement à PQconnectdb
+
La chaîne de connexion est passée directement à PQconnectdb
SQLite2
-
La chaîne de connexion est scindée avec comme séparateur le - caractère ':', et partie1:partie2 est utilisé dans +
La chaîne de connexion est scindée avec comme séparateur le + caractère ':', et partie1:partie2 est utilisé dans sqlite_open(partie1, atoi(partie2), NULL)
SQLite3
-
La chaîne de connexion est passée directement à sqlite3_open
+
La chaîne de connexion est passée directement à sqlite3_open
ODBC
datasource, user, password, connect, ctimeout, stimeout, access, txmode, bufsize
@@ -238,16 +261,16 @@ données -

Si cette directive est définie à Off, les connexions persistentes - et les connexions groupées sont désactivées. À la demande d'un - client, une nouvelle connexion à la base de données est ouverte, et - fermée immédiatement à l'issue du traitement. Cette configuration ne - doit être utilisée qu'à des fins de débogage, ou sur des serveurs à +

Si cette directive est définie à Off, les connexions persistentes + et les connexions groupées sont désactivées. À la demande d'un + client, une nouvelle connexion à la base de données est ouverte, et + fermée immédiatement à l'issue du traitement. Cette configuration ne + doit être utilisée qu'à des fins de débogage, ou sur des serveurs à charge faible.

-

Par défaut, les groupes de connexions persistentes sont activés +

Par défaut, les groupes de connexions persistentes sont activés (ou une seule connexion persistente du style LAMP pour les serveurs - non threadés), et c'est la configuration qui devrait être utilisée + non threadés), et c'est la configuration qui devrait être utilisée dans la plupart des cas sur un serveur en production.

Avant la version 2.2.2, cette directive n'acceptait que les @@ -258,17 +281,17 @@ données DBDPrepareSQL -Définit une requête SQL préparée -DBDPrepareSQL "requête SQL" étiquette +Définit une requête SQL préparée +DBDPrepareSQL "requête SQL" étiquette server configvirtual host

Pour les modules tels que les modules d'authentification, qui - utilisent de manière répétée la même requête SQL, on peut optimiser - les performances en préparant la requête une fois pour toutes au - démarrage, plutôt qu'à chaque utilisation. Cette directive permet de - préparer une requête SQL et de lui assigner une étiquette.

+ utilisent de manière répétée la même requête SQL, on peut optimiser + les performances en préparant la requête une fois pour toutes au + démarrage, plutôt qu'à chaque utilisation. Cette directive permet de + préparer une requête SQL et de lui assigner une étiquette.

@@ -281,8 +304,8 @@ données -

Cette directive définit le nombre minimum de connexions - par processus (plates-formes threadées seulement).

+

Cette directive définit le nombre minimum de connexions + par processus (plates-formes threadées seulement).

@@ -295,9 +318,9 @@ données -

Cette directive définit le nombre maximum de connexions - à maintenir par processus, en dehors de celles servant à gérer les - pics de demandes (plates-formes threadées seulement).

+

Cette directive définit le nombre maximum de connexions + à maintenir par processus, en dehors de celles servant à gérer les + pics de demandes (plates-formes threadées seulement).

@@ -310,39 +333,39 @@ données -

Cette directive définit le nombre maximum effectif de - connexions par processus (plates-formes threadées seulement).

+

Cette directive définit le nombre maximum effectif de + connexions par processus (plates-formes threadées seulement).

DBDExptime -Durée de vie des connexions inactives -DBDExptime durée en secondes +Durée de vie des connexions inactives +DBDExptime durée en secondes DBDExptime 300 server configvirtual host -

Cette directive définit la durée de vie des connexions - inactives lorsque le nombre de connexions spécifié par la directive - DBDKeep a été dépassé (plates-formes threadées seulement).

+

Cette directive définit la durée de vie des connexions + inactives lorsque le nombre de connexions spécifié par la directive + DBDKeep a été dépassé (plates-formes threadées seulement).

DBDInitSQL -Exécute une instruction SQL après connexion à une base de -données +Exécute une instruction SQL après connexion à une base de +données DBDInitSQL "instruction SQL" server configvirtual host -

Les modules qui le souhaitent peuvent exécuter une ou plusieurs - instructions SQL après connexion à une base de données. Par exemple - initialiser certaines valeurs, ou ajouter une entrée dans le journal - lors d'une nouvelle connexion à la base de données.

+

Les modules qui le souhaitent peuvent exécuter une ou plusieurs + instructions SQL après connexion à une base de données. Par exemple + initialiser certaines valeurs, ou ajouter une entrée dans le journal + lors d'une nouvelle connexion à la base de données.