IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Création d'un questionnaire


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Points : 16
    Points
    16
    Par défaut Création d'un questionnaire
    Bonjour à tous,

    Je me pose des questions sur comment faire ...

    Je cherche à créer une interface de questionnaire personnalisable.
    Un administrateur crée une liste de questions. Il sélectionne le type de réponse associé (texte, sélecteur, numérique, oui/non ...). Il s'agit de recueil d'infos, donc pas de gestion d'une "bonne réponse".
    Il définit ensuite des modèles de questionnaires, en sélectionnant les questions qu'il souhaite.
    Il doit ensuite pouvoir sélectionner un questionnaire et l'afficher dans une fenêtre.
    Les réponses doivent être stockées.

    Comment gérer les différents types de questions ?
    Comment gérer l'affichage du questionnaire ?

    Toute vos idées sont les bienvenues !

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Décris-nous déjà ta réflexion et où tu bloques
    Ainsi on pourra t'aider.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Points : 16
    Points
    16
    Par défaut
    Je bloque déjà sur la manière de stocker les données.
    Ce que j'imagine me semble bien compliqué (pour pouvoir paramétrer les niveaux d'une échelle, et pour stocker les réponses de type différent d'un même questionnaire) ...

    une table Question (idQuestion, texteQuestion, idTypeReponse)
    une table Questionnaire (idQuestionnaire, idQuestion)
    une table Réponse (idRéponse, idAction, idRépondant, idQuestion, idQuestionnaire, idTypeRéponse)
    une table TypeReponse (idTypeReponse, libTypeReponse)
    une table ReponsesTxt (idReponse, txtReponse)
    une table ReponseOuiNon (idReponse, valReponse)
    une table ParamEchelle (idNiveau, libNiveau)
    une table ReponseEchelle (idReponse, valReponse)

    Deuxième point : comment afficher le questionnaire ? Il va comporter des questions (libellé) et en face différents types de champs selon la question : sélecteur, zone de saisie, cases à cocher, boutons radio ...
    Je ne vois pas trop comment m'y prendre.

    Merci pour ton (et votre) aide !

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut
    est-ce qu'un questionnaire comporte plusieurs questions ?
    je pense que oui, dans ce cas je pense que tu devrais mettre le champs idQuestionnaire dans la table question et supprimer le champs idQuestion de la table Questionnaire...

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bon moi ce que j'imagine est la chose suivante :


    Une table UnQuestionnaire (IdUnQuestionnaire, Titre, Commentaire)

    Cette table contiendra les information d'entête du questionnaire

    Une Table ModeDeReponse (IdModeDeReponse, NomChamp)

    Cette table contient la liste des champs Windev pour la réponse
    En gros 3 choix possibles :
    1 - Sélecteur pour répondre une seul réponse parmi un choix
    2 - Interrupteur pour répondre plusieurs réponse parmi un choix
    3 - Saisie pour avoir un champ de saisie libre

    Une table UneQuestion (IdUneQuestion,Question,IdUnQuestionnaire,IdModeDeReponse)

    Cette table contient la question attaché à un questionnaire avec l'information du mode de réponse

    Une table ReponsePossible (IdReponsePossible,IdUneQuestion,UneReponsePossible)

    Cette table contient pour chaque question la liste des réponse possible.

    Ainsi pour uneQuestion

    IdUneQuestion = 1
    Question = "Votre nom de famille ?"
    IdModeDeReponse = 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si IdModeDeRponse = 3 alors je clone un champ de saisie
    IdUneQuestion = 1
    Question = "Tranche d'age ?"
    IdModeDeReponse = 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Si IdModeDeRponse = 1 alors je clone un champ sélecteur
    puis je liste les réponse possible pour cette question

    IdReponsePossible = 1
    IdUneQuestion = 1
    UneReponsePossible = " de 10 à 20 ans "
    IdReponsePossible = 2
    IdUneQuestion = 1
    UneReponsePossible = " de 20 à 30 ans "
    IdReponsePossible = 3
    IdUneQuestion = 1
    UneReponsePossible = " plus de 30 ans "


    Il faut avoir dans hors de ta fenêtre Windev

    - un champ Saisie que tu pourra cloner ( grâce à ChampClone ) et que tu nommera de façon à pouvoir lister afin de sauvegarder les réponses.

    - un champ sélecteur et interrupteur avec un nombre max d'option possible que tu rend invisible puis que tu affiche lors du champ clone en fonction du nombre de réponse.


    Pour les sauvegardes des réponses pour moi le mieux est de nommer les champs de réponse comme suit.

    "Réponse_" + IdQuestionnaire + "_" + IdUneQuestion
    Ainsi avec les indirections tu pourra avoir les réponses
    puis en fonction du type de champ tu liste les réponses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI {{"Réponse_" + IdQuestionnaire + "_" + IdUneQuestion,indChamp}..Type = typSélect ALORS
    	Trace("sélecteur")
    FIN
    Ce ne sont que des pistes qui peuvent t'aider à toi de mettre le puzzle en forme.
    J'espère par contre que je suis assez clair dans mes explications
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    Je m’étais un peu penché sur l’affaire hier sans pour autant donner mon point de vue.

    Dans un premier temps il faut que tu es une idée bien défini de ton questionnaire, tu émets une quantité d’hypothèse quand aux types de réponse possible, cependant cet aspect du formulaire doit être clair pour toi.

    Tu peux te limiter à de simple QCM si le besoin se limite à ça.
    Si les types diffèrent, il faut que tu établisses clairement toutes les possibilités que tu devras intégrer à ton analyse.

    Pour ce qui est des tables, d’un point de vue rapide, tu en as besoin que de 3, Questionnaires, Questions et Réponses. (Peut être une 4ème Utilisateur si tu souhaites conserver l’identité des personnes qui répondent)

    Table Questionnaires (IDQuestionnaires, TitreQuestionnaire, ...)
    Table Questions (IDQuestions, IDQuestionnaires, TexteQuestion, Type, ...)
    Table Reponses (IDReponses, IDQuestions, LaReponse, ...)

    Liaison Questionnaires 1,n – 1,1 Questions
    Liaison Questions 0,n – 1,1 Reponses

    (Dans le cas d’une table Utilisateur, rajouter IDUtilisateur dans la table Reponses avec une cardinalité Utilisateur 0,n – 1,1 Reponses)

    Les autres tables que tu évoques ne me semblent pas pertinentes…
    Les tables ReponseTexte et ReponseOuiNon partent du principe qu’en fonction du type de la réponse (table TypeReponse) tu enregistreras les données séparément, ce qui n’est pas nécessaire.

    Quelque soit ton type de réponse, tu peux enregistrer toutes tes réponses dans une seule et même table, la rubrique Type de la Table Question permet uniquement de définir le Type du champ qui sera généré dans la fenêtre WinDev.

    Dans la table Réponse, LaReponse est de type Chaîne quelque soit le genre de question.
    Ainsi, si la question est du texte, il sera enregistré comme tel dans la rubrique LaReponse.
    S’il s’agit d’interrupteur ou de casé à cocher, LaReponse sera soit 0 soit 1. (Qui pourra être formaté en Vrai ou Faux dans le code si nécessaire)
    Une Question pouvant avoir plusieurs Réponses, dans le cas d’interrupteur ou de case à cocher, chaque choix sera enregistré dans la table Reponses avec la mention 1 si c’est coché et 0 si ça ne l’est pas.

    Voilà pour la base de données.

    En ce qui concerne le codage de la fenêtre, il va falloir trouver un moyen de la remplir de façon dynamique… Mes connaissances en WinDev étant légère je ne m’avancerai donc pas sur ce point ^^
    Mais d’avis que cela ne va pas être évident s’il n’est possible de créer des champs que via la fonction ChampClone().

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Points : 16
    Points
    16
    Par défaut
    Un questionnaire comportera plusieurs questions et une question pourra apparaître dans plusieurs questionnaires. Je ne peux donc pas ramener l'idQuestionnaire dans la question.

    Les types de réponses possibles seront : zone texte, numérique, sélecteur, interrupteur. Pour ces 2 derniers type, les options doivent pouvoir être paramétrées par l'administrateur.

    Pour certaines questions, on aura une liste de cases, plusieurs pouvant être cochées :
    "Ce qui vous a plu :
    ... l'accueil
    ... la qualité
    ... la présentation
    ... etc
    (là, je me rends compte qu'il me faut une table pour sqtocker les collections de réponses ...)

    Dans d'autres cas, on aura besoin de réutiliser un sélecteur :
    pas du tout / un peu / plutôt / tout à fait
    1x par semaine / 2 x ... / 3x .... etc
    (et là, je me rends compte qu'il faudrait une table en plus de ParamEchelle pour stocker les modèles d'échelle ...)

    mail.spam : j'ai du mal avec la table ReponsePossible, je comprends l'idée, je dois voir comment remplir cette table sans avoir à tout ressaisir

    il va falloir trouver un moyen de la remplir de façon dynamique…
    effectivement ... j'ai déjà travaillé avec ChampClone() pour la construction d'un état ... va falloir explorer ...

    Merci pour votre aide, en tout cas la conversation m'oblige à expliquer (et donc réfléchir pour comprendre) !

  8. #8
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    La table Réponse possible contient la liste des réponse possible à une question.

    Il va bien falloir ressaisir les réponse pour chaque question.
    Ca n'empêche en rein de réutiliser cette question et donc ses réponse pour plusieurs questionnaires.

    Tu devra à un moment créer les questions et les réponses possibles.

    Question : Une question ne peut avoir qu'un type de réponse à la fois?
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 8
    Points : 16
    Points
    16
    Par défaut
    Pour les réponses texte, il n'y a pas de "réponse possible" (saisie libre)
    Pour les réponses sélecteur, on va avoir 2 ou 3 modèles réutilisables de réponses possibles
    Pour les réponses avec liste, oui, je suppose que chaque question de ce type aura sa série de réponses possibles

    Question : Une question ne peut avoir qu'un type de réponse à la fois?
    Aie .... je n'y avais pas pensé ! Effectivement, pour les sélecteurs ou listes d'interrupteurs, il est possible que l'admin veuille rajouter une zone de texte ...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    C'est bien l'idée que je me faisais de ton Questionnaire.

    Pour les cardinalités Questionnaires / Questions,
    Tu ne peux avoir Questionnaires 1,n - 0,n Questions.

    Un Questionnaire est composé de plusieurs questions, une question (même si elle peut être dans plusieurs Questionnaire) appartient à un seul Questionnaire.
    Pour la bonne raison, qu'une réponse est donnée pour une question d'un questionnaire et non pour une question de plusieurs questionnaires.

  11. #11
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Pour les modèles réutilisables une solution serai d'avoir une table modèlederéponse

    Ainsi tu enregistre des modèles prédéfini que tu enregistre dans RéponsePossible lors de la création du questionnaire, tu peux en faire de même pour les questions avoir des modèles de questions type Ainsi unequestion appartient tjs à un questionnaire mais tu peux définir plusieurs modèle réutilisable.
    Ainsi si tu change un modèle tu ne change pas les questionnaires déjà créer, et donc les réponses

    Ensuite Tu peux avoir une table qui définit de quoi se compose UneQuestion

    UneQuestionnaireAttend(IdUneQuestion,IdModedeRéponse,OrdreAffichage)

    Ainsi tu défini plusieurs type de réponse pour une même question
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

Discussions similaires

  1. création shema analyse questionnaire
    Par progluti dans le forum Merise
    Réponses: 0
    Dernier message: 23/03/2014, 10h00
  2. [HTML 4.0] Création de Questionnaire sur Forum
    Par Jordann23 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 02/07/2012, 15h58
  3. Réponses: 2
    Dernier message: 29/02/2012, 17h26
  4. [Conception] Création questionnaire en ligne
    Par p_mehdi dans le forum Développement Web avec .NET
    Réponses: 1
    Dernier message: 11/07/2011, 15h47
  5. Création d'un questionnaire
    Par figatelliSTI dans le forum MVC
    Réponses: 4
    Dernier message: 25/06/2009, 19h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo