- Posts: 5
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Affichage lisible des résultats
- Bernard
- Topic Author
- Offline
- New Member
À mon travail je souhaite proposer le remplacement de formulaires MS Word par des questionnaires web. Limesurvey me paraît parfait pour le côté remplissage du questionnaire. Par contre, pour l'exploitation des résultats je n'ai pas encore réussi à avoir de solution idéale. Le tout doit être utilisable par des gens pas spécialement à l'aise avec l'informatique.
Pour des questionnaires avec beaucoup de questions, dont des questions à choix multiples etc., la vue « détail » est très rébarbative. La vue « édition de réponse » est un peu mieux, mais loin d'être parfaite. J'aimerais avoir une page où les résultats d'un questionnaire sont présentés de façon claire et naturelle, avec une mise en page agréable. Idéalement je voudrais obtenir le même genre de chose que dans l'exemple Create a summary page using placeholders de la doc du gestionnaire d'expressions.
Est-il possible d'avoir une belle page de résultats comme je le souhaite, sans avoir à exporter les résultats puis les retraiter dans un autre logiciel ? Le développement d'une extension semble-t-il une option raisonnable, sachant que je connais PHP mais pas le code de Limesurvey, et que je n'ai pas envie d'y passer des journées entières ?
Je suis preneur de toute technique raisonnablement simple permettant d'avoir des résultats lisibles. Merci pour vos suggestions.
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13597
- Thank you received: 2487
As tu essayé l'export au format word ou PDF ?Bernard wrote: ...
Est-il possible d'avoir une belle page de résultats comme je le souhaite, sans avoir à exporter les résultats puis les retraiter dans un autre logiciel ? Le développement d'une extension semble-t-il une option raisonnable, sachant que je connais PHP mais pas le code de Limesurvey, et que je n'ai pas envie d'y passer des journées entières ?....
Si oui :ce sont déjà presque des plugins donc plus facilement adaptable.
Si la base te convient, refaire un format d'export basé dessus semble jouable, mais tout de même : plusieurs jours de développements selon les modifs à faire. Cela peut peut être se faire en moins d'une journée mais il faut travailler vite ....
Inspiration : www.limesurvey.org/en/community-services...xportcompleteanswers
Peut être créer un export HTML ? Je sais pas trop ...
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
- Bernard
- Topic Author
- Offline
- New Member
- Posts: 5
- Thank you received: 0
Pour le créateur d'un questionnaire (moi) l'idéal serait de pouvoir générer un rendu lisible de réponses en utilisant le gestionnaire d'expressions. Pour les « exploitants » d'un questionnaire (ceux qui consultent les réponses), l'idéal serait d'avoir un bouton dans le tableau des réponses (à côté de ceux de détail, d'édition, de téléchargement et de suppression) qui conduise directement à une version la plus lisible possible des réponses.
Peut-être puis-je écrire une extension qui ajoute un bouton qui soit un lien vers un nouveau format d'export ? Cet export serait une variante de l'export HTML livré de base, mais qui utiliserait le gestionnaire d'expressions. Pour pouvoir créer un lien depuis le tableau des réponses, il faudrait qu'on puisse passer le type d'export en GET à la page d'export, non ? C'est possible ça ?
Mais comment avoir une expression différente pour chaque questionnaire ?
À mon goût, le problème du système d'extentions de Limesurvey est qu'il est très mal documenté. La page Plugin system architecture commence par « Some random stuff on plugin architecture. », ce qui augure malheureusement bien de la qualité de ce qui suit. Le seul exemple donné utilise l'évenement afterAdminMenuLoad, qui n'est pas listé parmi les événements documentés ! Comment puis-je avoir la vraie liste des événements disponibles ?
Heureusement je vais peut-être pouvoir m'inspirer de l'extension exportCompleteAnswers.
Concrètement, comment faites-vous quand des béotiens en informatique doivent consulter les réponses de questionnaires complexes ?
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13597
- Thank you received: 2487
1 : oui tu a tout à fait raison sur la doc ...
2 : ce que tu soiuhaite faire me semble tout à fait différent ... et je comprend tout à fait l'idée, c'est un genre de système comme cela que j'utilise pour d'autres plugins : utilisation du texte d'une question pour produire une "impression" des réponses
3 : mes autres plugins ne sont pas public, puisque trop spécifique actuellement, mais utilisent une base commune .... je dois sortir cette base (et en fair e un pligin utilisable)
4 : on a aucun événement nous permettanr d'ajouter facielement des fonctions dans le parcours des répoinses. EN dehors de solution à la masse en js pur : git.framasoft.org/SondagePro-LimeSurvey-...teExpression.php#L62
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
- Bernard
- Topic Author
- Offline
- New Member
- Posts: 5
- Thank you received: 0
Pour les personnes se posant les mêmes questions que moi et tombant sur ce sujet, voici une première réponse que je viens de trouver par moi-même :
Il faut lancer la commande suivante sur le serveur web :Bernard wrote: La page Plugin system architecture commence par « Some random stuff on plugin architecture. », ce qui augure malheureusement bien de la qualité de ce qui suit. Le seul exemple donné utilise l'évenement afterAdminMenuLoad, qui n'est pas listé parmi les événements documentés ! Comment puis-je avoir la vraie liste des événements disponibles ?
php /chemin/vers/LimeSurvey/application/libraries/PluginManager/EventDocumentor.php
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13597
- Thank you received: 2487
C'est vrai que tes paroles me me pousse à contribuer encore plus ... C'est parceque la doc n'est pas accessible à tous les utilisateurs qui veulent se prendre la peine de faire la mise à jour de celle-ci ....Bernard wrote: ....
J'ai commencé, mais c'est laborieux. La médiocrité générale de la documentation de LimeSurey est un véritable frein. C'est un peu décourageant pour les utilisateurs avancés et les contributeurs potentiels.
....
Dailleurs le code de LimeSUrvey est tellement mal foutu que je vais plus m'emmerder à le metre à jour et à le corriger ....
Denis
RAPPEL : LimeSurvey est un logiciel libre distribué gracieusement sous licence GPL.
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
- Bernard
- Topic Author
- Offline
- New Member
- Posts: 5
- Thank you received: 0
Je précise que je consacre déjà du temps à d'autres projets libres. Je ne me contente pas de critiquer sans rien donner.
Je sais ce que commentaire est sarcastique, mais j'en profite tout de même pour dire que le code est de bien meilleure qualité que celui d'autre projets libres. C'est ce qui m'a permis d'avancer sur mon plugin (puisque j'ai dû lire le code PHP pour comprendre comment faire un plugin et ajouter un export).DenisChenu wrote: Dailleurs le code de LimeSUrvey est tellement mal foutu que je vais plus m'emmerder à le metre à jour et à le corriger ....
Là j'ai réussi à faire un plugin qui ajoute un format d'export qui affiche une page HTML. J'ai sous la main un numéro de sondage, un jeu de réponses (sous la forme d'une instance d'un objet SurveyObj) et une expression. Mais je coince pour arriver à faire passer mes réponses à la moulinette de cette expression. Les classes ExpressionManager et LimeExpressionManager sont trop complexes pour moi pour arriver à comprendre comment les utiliser juste en lisant le code PHP. À première vue, la classe LimeExpressionManager a plus l'air faite pour traiter un questionnaire en train d'être rempli que pour un traitement a posteriori, mais je ne suis pas sûr. Par quel bout prendre le problème ?
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13597
- Thank you received: 2487
En fait : si le questionnaire vient d'être remplit, que la session n'est pas supprimée : templatereplace ou LimeExpressionManager::ProcessString font le boulot ...
Il faut donc commencer le questionnaire : actuellement, j'utilise une méthode de bourrin ... git.framasoft.org/SondagePro-LimeSurvey-...eExpression.php#L201
Sinon,
1: non le code de LimeSurvey est bourré de bug, de trucs mal foutu, de rafistolage etc ... C'est particulièrement le cas du gestionnaire d'expression qui est TRES TRES difficile d'améliorer en l'état actuel.
2: comme tu peux le voir, même les dev de LimeSurvey sont confronté aux mêmes problèmes que toi .
3: je pense que c'est particulièrement la page manual.limesurvey.org/Plugin_system_architecture et manual.limesurvey.org/Plugins qui est à revoir ... on devrait ajouter des liens vers api.limesurvey.org/
Denis
PS: api.limesurvey.org/namespaces/ls.pluginmanager.html
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
- Bernard
- Topic Author
- Offline
- New Member
- Posts: 5
- Thank you received: 0
Ton plugin simule un remplissage en direct de questionnaire en créant de toutes pièces une vraie fausse session PHP, c'est ça ? Il faut bien connaître les arcanes de Lime Survey pour arriver à faire ça.DenisChenu wrote: En fait : si le questionnaire vient d'être remplit, que la session n'est pas supprimée : templatereplace ou LimeExpressionManager::ProcessString font le boulot ...
Il faut donc commencer le questionnaire : actuellement, j'utilise une méthode de bourrin ... git.framasoft.org/SondagePro-LimeSurvey-...eExpression.php#L201
En fait je viens d'explorer une nouvelle piste, qui m'a l'air très prometteuse : stocker mon expression non plus dans la « question » d'une question, mais dans la réponse par défaut d'une question de type « Zone de texte long » toujours cachée. De la sorte, l'interprétation de l'expression se fait au moment du remplissage, et le résultat est stocké directement dans le jeu de réponses au formulaire. Ensuite la réponse est affichée au sein d'une page HTML par mon plugin d'export. En bidouillant, j'ai même réussi à rendre ça compatible avec le script d'affichage d'image . J'ai testé tout ça avec succès.
Je vois cependant au moins deux problèmes avec mon système. Si l'administrateur du questionnaire édite une réponse a posteriori, la réponse de la question contenant l'expression n'est pas mise à jour. Il me semble que pour corriger ça, il faudrait un plugin proche de ton plugin recomputeExpression.
Encore plus embêtant, si la personne qui remplit le formulaire commence à le remplir, va jusqu'à la page contenant ma question spéciale, retourne sur une question et modifie sa réponse, puis retourne à la fin pour soumettre le questionnaire, la réponse à ma question n'est pas mise à jour. Le gestionnaire d'expressions fait du cache. Je ne sais pas comment empêcher ça. Faudrait-il créer un nouveau type de question, qui serait semblable à la « Zone de texte long » mais faisant un appel à LimeExpressionManager::SetDirtyFlag() ?
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13597
- Thank you received: 2487
Mais j'ai besoin de redémarrer la session ....
ce qui est dommage c'est qu'une question equation n'accepet pas les tag ....
Sinon, pour ton soucis : n'utilise pas JS , mais directement le gestionnaire d'expression, si tu utilise une question equation, et que tu fait un truc du genre:
{PRINTQUESTION="<strong>"+EM_SQ1+"</strong>"}
Dans une question équation en fin de questionnaire, cela doit fonctionner (ou pas).
Denis
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.