2016-10-15 19:57:54 +02:00
<!DOCTYPE html>
< html lang = "fr" dir = "ltr" >
< head >
< meta http-equiv = "content-type" content = "text/html; charset=UTF-8" >
< meta charset = "utf-8" / >
2017-02-07 17:35:26 +01:00
< title > documentation:2.0:applications:limesurvey< / title > <!-- //if:usedebianlibs
< link rel = "stylesheet" type = "text/css" href = "/javascript/bootstrap/css/bootstrap.min.css" / >
//elsif:useexternallibs
< link rel = "stylesheet" type = "text/css" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" > < / script >
//elsif:cssminified
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.min.css" / >
//else --><!-- //endif -->
2016-10-15 19:57:54 +02:00
< meta name = "generator" content = "DokuWiki" / >
2017-02-22 13:41:23 +01:00
< meta name = "robots" content = "index,follow" / >
2016-10-15 19:57:54 +02:00
< meta name = "keywords" content = "documentation,2.0,applications,limesurvey" / >
< link rel = "search" type = "application/opensearchdescription+xml" href = "../lib/exe/opensearch.html" title = "LemonLDAP::NG" / >
< link rel = "start" href = "limesurvey.html" / >
< link rel = "contents" href = "limesurvey.html" title = "Sitemap" / >
< link rel = "stylesheet" type = "text/css" href = "../lib/exe/css.php.t.bootstrap3.css" / >
2017-02-07 17:35:26 +01:00
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.css" / >
2016-10-15 19:57:54 +02:00
< script type = "text/javascript" > / * < ! [ C D A T A [ * / v a r N S = ' d o c u m e n t a t i o n : 2 . 0 : a p p l i c a t i o n s ' ; v a r J S I N F O = { " i d " : " d o c u m e n t a t i o n : 2 . 0 : a p p l i c a t i o n s : l i m e s u r v e y " , " n a m e s p a c e " : " d o c u m e n t a t i o n : 2 . 0 : a p p l i c a t i o n s " } ;
/*!]]>*/< / script >
2017-02-07 17:35:26 +01:00
< script type = "text/javascript" charset = "utf-8" src = "../lib/exe/js.php.t.bootstrap3.js" > < / script > <!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery/jquery.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/jquery-2.2.0.min.js" > < / script >
//elsif:jsminified
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.min.js" > < / script >
//else -->
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.js" > < / script > <!-- //endif --> <!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery-ui/jquery-ui.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/ui/1.10.4/jquery-ui.min.js" > < / script >
//elsif:jsminified
< script type = "text/javascript" src = "/lib/scripts/jquery-ui.min.js" > < / script >
//else -->
< script type = "text/javascript" src = "/lib/scripts/jquery-ui.js" > < / script > <!-- //endif -->
2016-10-15 19:57:54 +02:00
< / head >
< body >
< div class = "dokuwiki export container" > <!-- TOC START -->
< div id = "dw__toc" >
< h3 class = "toggle" > Table of Contents< / h3 >
< div >
< ul class = "toc" >
< li class = "level1" > < div class = "li" > < a href = "#presentation" > Présentation< / a > < / div > < / li >
< li class = "level1" > < div class = "li" > < a href = "#configuration" > Configuration< / a > < / div >
< ul class = "toc" >
< li class = "level2" > < div class = "li" > < a href = "#limesurvey_configuration" > Configuration de LimeSurvey< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#limesurvey_virtual_host" > Hôte virtuel LimeSurvey< / a > < / div > < / li >
< li class = "level2" > < div class = "li" > < a href = "#limesurvey_virtual_host_in_manager" > Hôte virtuel LimeSurvey dans le manager< / a > < / div >
< ul class = "toc" >
< li class = "level3" > < div class = "li" > < a href = "#headers" > En-têtes< / a > < / div > < / li >
< li class = "level3" > < div class = "li" > < a href = "#rules" > Règles< / a > < / div > < / li >
< / ul > < / li >
< / ul > < / li >
< / ul >
< / div >
< / div > <!-- TOC END -->
< h1 class = "sectionedit1" id = "limesurvey" > LimeSurvey< / h1 >
< div class = "level1" >
< p >
< a href = "limesurvey_logo.png_documentation_2.0_applications_limesurvey.html" class = "media" title = "applications:limesurvey_logo.png" > < img src = "limesurvey_logo.png" class = "mediacenter" alt = "" / > < / a >
< / p >
< / div > <!-- EDIT1 SECTION "LimeSurvey" [1 - 70] -->
< h2 class = "sectionedit2" id = "presentation" > Présentation< / h2 >
< div class = "level2" >
< p >
2017-02-07 17:35:26 +01:00
< a href = "http://www.limesurvey.org" class = "urlextern" title = "http://www.limesurvey.org" rel = "nofollow" > LimeSurvey< / a > est un logiciel de sondage écrit en PHP. LimeSurvey has a webserver authentication mode that allows one to integrate it directly into LemonLDAP::NG.
2016-10-15 19:57:54 +02:00
< / p >
< p >
Pour une meilleure integration, LimeSurvey doit être configuré pour créer automatiquement les utilisateurs inconnus et utiliser les en-têtes HTTP pour remplir le nom, le mail et les rôles. Par exemple, en utilisant 3 rôles :
< / p >
< ul >
< li class = "level1" > < div class = "li" > User : peut répondre aux surveillances< / div >
< / li >
< li class = "level1" > < div class = "li" > Admin : peut créer des surveillances< / div >
< / li >
< li class = "level1" > < div class = "li" > Superadmin : personne ne peut l'arrêter !< / div >
< / li >
< / ul >
2017-02-07 17:35:26 +01:00
< / div > <!-- EDIT2 SECTION "Presentation" [71 - 561] -->
2016-10-15 19:57:54 +02:00
< h2 class = "sectionedit3" id = "configuration" > Configuration< / h2 >
< div class = "level2" >
< div class = "noteclassic" > On suppose que LimeSurvey est installé dans /var/www/html/limesurvey
< / div >
2017-02-07 17:35:26 +01:00
< / div > <!-- EDIT3 SECTION "Configuration" [562 - 670] -->
2016-10-15 19:57:54 +02:00
< h3 class = "sectionedit4" id = "limesurvey_configuration" > Configuration de LimeSurvey< / h3 >
< div class = "level3" >
< p >
La configuration est effectuée via config.php:
< / p >
< pre class = "code" > vi /var/www/html/limesurvey/config.php< / pre >
< pre class = "code file php" > < span class = "co1" > //==================================< / span >
< span class = "co1" > // WebSSO< / span >
< span class = "co1" > //==================================< / span >
< span class = "re0" > $useWebserverAuth< / span > < span class = "sy0" > =< / span > < span class = "kw4" > true< / span > < span class = "sy0" > ;< / span >
< span class = "re0" > $WebserverAuth_autocreateUser< / span > < span class = "sy0" > =< / span > < span class = "kw4" > true< / span > < span class = "sy0" > ;< / span >
< span class = "re0" > $WebserverAuth_autouserprofile< / span > < span class = "sy0" > =< / span > < a href = "http://www.php.net/array" > < span class = "kw3" > Array< / span > < / a > < span class = "br0" > (< / span >
< span class = "st_h" > 'full_name'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_CN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'email'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_MAIL'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'lang'< / span > < span class = "sy0" > => < / span > < span class = "st_h" > 'en'< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'htmleditormode'< / span > < span class = "sy0" > => < / span > < span class = "st_h" > 'inline'< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'templatelist'< / span > < span class = "sy0" > => < / span > < span class = "st_h" > 'default,basic,MyOrgTemplate'< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'create_survey'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_ADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ||< / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'create_user'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'delete_user'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'superadmin'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'configurator'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'manage_template'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span > < span class = "sy0" > ,< / span >
< span class = "st_h" > 'manage_label'< / span > < span class = "sy0" > => < / span > < span class = "re0" > $_SERVER< / span > < span class = "br0" > [< / span > < span class = "st_h" > 'HTTP_AUTH_SUPERADMIN'< / span > < span class = "br0" > ]< / span >
< span class = "br0" > )< / span > < span class = "sy0" > ;< / span > < / pre >
< div class = "notetip" > On utilise les en-têtes HTTP pour trouver le profil utilisateur par défaut.
< / div >
2017-02-07 17:35:26 +01:00
< / div > <!-- EDIT4 SECTION "LimeSurvey configuration" [671 - 1676] -->
2016-10-15 19:57:54 +02:00
< h3 class = "sectionedit5" id = "limesurvey_virtual_host" > Hôte virtuel LimeSurvey< / h3 >
< div class = "level3" >
< p >
Configurer l'hôte virtuel LimeSurvey comme n'importe quel autre < a href = "../configvhost.html" class = "wikilink1" title = "documentation:2.0:configvhost" > hôte virtuel protégé< / a > .
< / p >
< ul >
< li class = "level1" > < div class = "li" > Pour Apache:< / div >
< / li >
< / ul >
< pre class = "code file apache" > < < span class = "kw3" > VirtualHost< / span > *:< span class = "nu0" > 80< / span > >
< span class = "kw1" > ServerName< / span > limesurvey.example.com
PerlHeaderParserHandler Lemonldap::NG::Handler
< span class = "kw1" > SetEnvIfNoCase< / span > Auth-< span class = "kw1" > User< / span > < span class = "st0" > "(.*)"< / span > PHP_AUTH_USER=$1
< span class = "kw1" > Alias< / span > /limesurvey /var/www/html/limesurvey
< span class = "kw1" > DocumentRoot< / span > /var/www/html/limesurvey
< /< span class = "kw3" > VirtualHost< / span > > < / pre >
< div class = "noteimportant" > Il faut renseigner la variable PHP_AUTH_USER pour faire fonctionner le mode d'authentification par serveur web.
< / div > < ul >
< li class = "level1" > < div class = "li" > Pour Nginx:< / div >
< / li >
< / ul >
< pre class = "code file nginx" > server {
listen 80;
server_name limesurvey.example.com;
root /path/to/application;
# Requête interne d'authentification
location = /lmauth {
internal;
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
# Ignorer les données postées
fastcgi_pass_request_body off;
fastcgi_param CONTENT_LENGTH "";
# Conserver le nom d'hôte original
fastcgi_param HOST $http_host;
# Conserver la requête originale (le serveur LLNG va recevoir /llauth)
fastcgi_param X_ORIGINAL_URI $request_uri;
}
# Requêtes clients
location / {
auth_request /lmauth;
auth_request_set $lmremote_user $upstream_http_lm_remote_user;
auth_request_set $lmlocation $upstream_http_location;
error_page 401 $lmlocation;
try_files $uri $uri/ =404;
...
include /etc/lemonldap-ng/nginx-lua-headers.conf;
}
location / {
try_files $uri $uri/ =404;
}
}< / pre >
2017-02-07 17:35:26 +01:00
< / div > <!-- EDIT5 SECTION "LimeSurvey virtual host" [1677 - 3196] -->
2016-10-15 19:57:54 +02:00
< h3 class = "sectionedit6" id = "limesurvey_virtual_host_in_manager" > Hôte virtuel LimeSurvey dans le manager< / h3 >
< div class = "level3" >
< p >
Aller dans le manager et < a href = "../configvhost.html#lemonldapng_configuration" class = "wikilink1" title = "documentation:2.0:configvhost" > créer un nouvel hôte virtuel< / a > pour LimeSurvey.
< / p >
< / div >
< h4 id = "headers" > En-têtes< / h4 >
< div class = "level4" >
< div class = "table sectionedit7" > < table class = "inline table table-bordered table-striped" >
< thead >
< tr class = "row0 roweven" >
< th class = "col0 centeralign" > Nom d'en-tête < / th > < th class = "col1 centeralign" > Description < / th >
< / tr >
< / thead >
< tr class = "row1 rowodd" >
< td class = "col0 centeralign" > Auth-User < / td > < td class = "col1 centeralign" > nom de connexion < / td >
< / tr >
< tr class = "row2 roweven" >
< td class = "col0 centeralign" > Auth-Cn < / td > < td class = "col1 centeralign" > Nom complet de l'utilisateur < / td >
< / tr >
< tr class = "row3 rowodd" >
< td class = "col0 centeralign" > Auth-Mail < / td > < td class = "col1 centeralign" > Email de l'utilisateur < / td >
< / tr >
< tr class = "row4 roweven" >
< td class = "col0 centeralign" > Auth-Admin < / td > < td class = "col1 centeralign" > 1 si l'utilisateur est administrateur < / td >
< / tr >
< tr class = "row5 rowodd" >
< td class = "col0 centeralign" > Auth-SuperAdmin < / td > < td class = "col1 centeralign" > 1 si l'utilisateur est super-administrateur < / td >
< / tr >
2017-02-07 17:35:26 +01:00
< / table > < / div > <!-- EDIT7 TABLE [3369 - 3587] -->
2016-10-15 19:57:54 +02:00
< div class = "notetip" > On peut gérer les rôles avec le < a href = "../rbac.html" class = "wikilink1" title = "documentation:2.0:rbac" > modèle RBAC< / a > ou en utilisant les groupes.
< / div >
< / div >
< h4 id = "rules" > Règles< / h4 >
< div class = "level4" >
< div class = "table sectionedit8" > < table class = "inline table table-bordered table-striped" >
< thead >
< tr class = "row0 roweven" >
< th class = "col0 centeralign" > Nom de la règle < / th > < th class = "col1 centeralign" > Expression < / th > < th class = "col2 centeralign" > Description < / th >
< / tr >
< / thead >
< tr class = "row1 rowodd" >
< td class = "col0 centeralign" > Déconnexion < / td > < td class = "col1 centeralign" > action=logout$ < / td > < td class = "col2 centeralign" > Règle de déconnexion (par exemple logout_app_sso) < / td >
< / tr >
< tr class = "row2 roweven" >
< td class = "col0 centeralign" > Admin < / td > < td class = "col1 centeralign" > ^/limesurvey/admin/ < / td > < td class = "col2 centeralign" > Autorisé seulement pour les rôles admin et superadmin < / td >
< / tr >
< tr class = "row3 rowodd" >
< td class = "col0 centeralign" > Défaut < / td > < td class = "col1 centeralign" > default < / td > < td class = "col2 centeralign" > Autorise seulement les utilisateurs avec un rôle LimeSurvey < / td >
< / tr >
2017-02-07 17:35:26 +01:00
< / table > < / div > <!-- EDIT8 TABLE [3694 - 3979] -->
2016-10-15 19:57:54 +02:00
< div class = "notetip" > Il est possible de mettre l'accès par défaut à :< ul >
< li class = "level1" > < div class = "li" > < strong > accept< / strong > : tous les utilisateurs authentifiés peuvent accéder aux surveillances< / div >
< / li >
< li class = "level1" > < div class = "li" > < strong > unprotect< / strong > : aucune authentification n'est nécessaire pour accéder aux surveillances < / div >
< / li >
< / ul >
< / div >
2017-02-07 17:35:26 +01:00
< / div > <!-- EDIT6 SECTION "LimeSurvey virtual host in Manager" [3197 - ] -->
2016-10-15 19:57:54 +02:00
< / div >
< / body >
< / html >