Bonjour à tous,

Tout d'abord, désolé si je ne suis pas dans le bon forum. J'ai cherché un forum conception mais je ne l'ai pas trouvé.

J'aurai souhaité avoir quelques conseils quant à la conception d'une DB devant gérer des infos en plusieurs langue (2 dans mon cas).

Je me rends bien compte que le système que j'ai mis en place actuellement n'est franchement pas top et qu'il faut que je décompose en plusieurs requête ce qui, je pense, aurait pu être fait en une seule si la DB avait été bien conceptualisée.

Pour le moment, j'ai quelque chose du genre (les clés primaires sont en gras souligné) :

tb_client :
- id : int
- nom : varchar(100)
- langage : smallint
- param1 : int
- param2 : int
...
- paramn : int


tb_langage :
- id : int
- description_fr : varchar(20)
- description_nl : varchar(20)

tb_param1 :
- id : int
- description_fr : varchar(100)
- description_nl : varchar(100)

Je ne vais pas plus loin, je pense que vous avez compris l'idée.

Du coup, si je veux imprimer un quelconque rapport (genre une commande par exemple) dans la langue du client, je dois d'abord faire une requête afin d'obtenir la langue du client pour que dans l'application je puisse "créer" la requête en prenant le champ de description correspondant à la langue.

En tant que programmeur, je me rend bien compte qu'il y a un problème car si un jour une 3e langue vient s'ajouter, mon application ne sera pas du tout fonctionnelle pour cette dernière. Je cherche donc à modifier la DB (tant pis si ça me prend pas mal de temps à tout refaire) de façon à ce que l'application n'ait pas besoin de traiter la langue.

J'ai songé à faire qqch du genre :

tb_paramx :
- id : int
- id_langue : int
- description : varchar(100)

Mais cela multiplierait le nombre de record de chaque table de paramètre par le nombre de langue utilisée. Et n'ayant aucune "vraie" formation en DB (j'ai lu des trucs par-ci par-là), je m'interroge sur les bienfaits de ce genre de pratique.

Je suis donc à la recherche d'avis de gens compétents en la matière pour me conseiller sur l'approche à adopter pour traiter ce genre de cas.

Merci d'avance.

Griftou.