Transmettre et récupérer automatiquement un identifiant via l'URL dans LimeSurvey.
Objectif
- Transmettre automatiquement un identifiant de participant depuis une application externe vers LimeSurvey via l'URL.
- Configurer une question invisible dans LimeSurvey pour capturer le paramètre transmis.
- Lier les réponses d'enquête à un identifiant sans saisie manuelle du participant.
Pourquoi utiliser la transmission de paramètres par URL ?
- Pour identifier automatiquement un participant sans lui demander de saisir son identifiant.
- Pour relier les réponses d'enquête à un système externe (application, portail, base de données).
- Pour garantir la fiabilité des données en évitant les erreurs de saisie.
1. Principe de fonctionnement
Le flux repose sur trois étapes simples : votre application génère un lien personnalisé, et LimeSurvey lit l'URL pour remplir une question invisible.
- Identification : votre site ou application identifie l'utilisateur connecté.
- Génération : il crée une URL personnalisée de type
...?participantId=USER_001. - Capture : LimeSurvey lit le paramètre
participantIdet l'inscrit automatiquement dans la base de données.
2. Structure de l'URL
Le format de l'URL doit respecter une structure précise :
https://votre-instance.be/index.php/[ID_ENQUETE]?participantId=[VALEUR]Exemple :
https://limesurvey.ulb.be/index.php/123456?participantId=a1b2c3d4
Remarque : Le nom du paramètre dans l'URL (ici
participantId) doit être strictement identique au code de la question dans LimeSurvey. Attention à la casse :participantIdetparticipantidsont considérés comme différents.
3. Configuration dans LimeSurvey
Cette étape est essentielle pour que LimeSurvey capture correctement le paramètre transmis via l'URL.
Créer la question de capture
- Ouvrez votre enquête dans LimeSurvey et accédez au groupe de questions souhaité.
- Cliquez sur « Ajouter une question ».
- Sélectionnez le type « Texte court ».
- Dans le champ « Code de la question », saisissez exactement
participantId(ce code doit correspondre au paramètre de l'URL). - Dans le champ « Texte de la question », saisissez un libellé interne, par exemple
ID Participant. - Enregistrez la question.
Masquer la question
- Ouvrez les paramètres de la question que vous venez de créer.
- Accédez à l'onglet « Affichage ».
- Réglez l'option « Toujours cacher cette question » sur « Oui ».
- Enregistrez les modifications.
Astuce : La question existera dans la base de données et enregistrera la valeur transmise, mais le participant ne la verra jamais dans le formulaire.
4. Transmission de paramètres multiples
Vous pouvez transmettre plusieurs données simultanément en séparant les paramètres avec le caractère &.
https://limesurvey.ulb.be/index.php/123456?participantId=U123&group=PRO&session=04
Chaque paramètre de l'URL doit correspondre à une question dans LimeSurvey :
| Paramètre URL | Code question LimeSurvey |
|---|---|
participantId |
participantId |
group |
group |
session |
session |
Remarque : Créez une question de type « Texte court » masquée pour chaque paramètre que vous souhaitez capturer.
5. Sécurité et bonnes pratiques
- RGPD : évitez de transmettre des noms ou adresses email en clair dans l'URL. Privilégiez les UUID ou les hashs.
- Encodage : si vos identifiants contiennent des caractères spéciaux, utilisez la fonction
urlencode()de votre langage de programmation. - Test préalable : testez toujours manuellement en ajoutant
?participantId=TESTà la fin de votre URL d'enquête avant de lancer la diffusion.
6. Dépannage
L'identifiant ne s'enregistre pas dans les réponses
Solution : Vérifiez que votre enquête est bien activée. Contrôlez également que le code de la question ne contient pas d'espace caché et qu'il correspond exactement au paramètre de l'URL (respectez la casse).
La question est visible par le participant
Solution : Accédez aux paramètres avancés de la question, onglet « Affichage », et vérifiez que l'option « Toujours cacher cette question » est bien réglée sur « Oui ».
Besoin d'aide ?
Pour toute difficulté, contactez l'équipe LimeSurvey via : Cellule.Web@ulb.be