Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modélisation d'un QCM multilingue

Sujet résolu
    5 décembre 2011 à 21:08:58

    Bonsoir à tous,

    Je me tourne vers vous, car je me pose des questions sur la meilleure solution afin de modéliser un QCM multilingue.

    Ce que je cherche à faire c'est donc un QCM multilingue. Au cours de ce QCM, chaque mauvaise réponse sera enregistré.

    Dans un QCM dans une seule langue, voici comment j'aurais procédé (la table niveau correspond ici à un thème) :


    Image utilisateur


    Le problème survient quand je tente d'intégrer l'internationalisation de mon QCM. Idéalement, il ne faudrait pas dupliquer la table "log". Que faire ? Créer une seconde base de données ? Dupliquer toutes les tables sauf "log" en ajoutant un préfixe "fr", "en", etc... sur les noms de tables et ajouter un champs "réponse_id_fr", etc... qui peut être NULL dans la table "log" ?

    Pour moi la meilleure solution serait juste d'ajouter un champs "langue" dans les tables "niveau", "question" et "réponse", mais je ne suis pas certain de la logique de modélisation. En effet, je ne sais pas si c'est très propre d'avoir plusieurs langues différentes pour finalement faire la même chose dans les tables de ma base de données.

    Bref, si quelqu'un peut me conseiller, je suis preneur !

    Merci d'avance pour vos conseils !
    • Partager sur Facebook
    • Partager sur Twitter
      5 décembre 2011 à 21:28:37

      Si tes questions sont toutes les mêmes dans toutes les langues, sont toutes traduites (et que la bonne réponse est la même dans chaque langue) : pour chaque table qui a besoin d'une traduction, ajoute une table de traduction.

      Sinon, fais un QCM différent par langue.
      • Partager sur Facebook
      • Partager sur Twitter
        5 décembre 2011 à 21:45:31

        Le but est vraiment de faire une simple traduction des questions et des réponses.

        Donc en suivant ton indication, voici ce que j'obtiens. Est-ce bien ce qui tu voulais dire ?

        Image utilisateur
        • Partager sur Facebook
        • Partager sur Twitter
          6 décembre 2011 à 15:38:56

          Tu devrais appeler clés primaires de tes tables "table_id" au lieu de juste "id", c'est plus clair et pratique.

          Sinon, c'est l'idée, mais les colonnes "nom" et "texte" doivent gicler des tables non traduites, puisqu'elles sont déplacées dans les tables de traduction.

          Quand à la table log, il faudrait enregistrer l'id du mec qui répond aux questions et un id de session (une session étant un remplissage de qcm par un type)
          • Partager sur Facebook
          • Partager sur Twitter
            6 décembre 2011 à 21:12:11

            Merci beaucoup, effectivement, j'avais mal interprété ton premier message concernant les tables pour la traduction.

            En ce qui concerne la table log, pas besoin d'identifiant pour le mec ou la session. Cette base de données n'est pas pour un site internet, mais pour un application locale. Par conséquente, la base de données est locale.

            Merci beaucoup pour ton aide en tout cas !
            • Partager sur Facebook
            • Partager sur Twitter

            Modélisation d'un QCM multilingue

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown