Documentation pour la mise à jour des listes sympa via l'API de MyGDR
Objectifs :
Cette documentation décrit comment utiliser l'API REST de l'application MyGDR pour alimenter dynamiquement des listes de diffusion Sympa via son interface web. L'objectif est de simplifier et d'automatiser la mise à jour des listes sympas à partir des GTs et GDRs.
Pré-requis
Avant de configurer Sympa pour interroger l'API, assurez-vous d'avoir :
- Etre proprietaire de sa liste sympa et avoir la permission "statut équipe" sur son profil MyGDR (admin users).
- L'URL de l'API.
- Les identifiants d'accès API (username / mot de passe) sont les même que pour le compte administrateur de mygdr.
Fonctionnement de l'API
L'API expose un endpoint dédié permettant de récupérer la liste des utilisateurs sous la forme d'une liste d'adresses e-mail, une par ligne.
Endpoint pour Générer la liste complète de tous les utilisateurs
https://mygdr.hosted.lip6.fr/api/emails/
Filtres disponibles
-
Filtrer par GDR :
GET /api/users/emails/?gdr_acro=Acronyme_du_GDR
-
Filtrer par GT :
GET /api/users/emails/?gt_acro=Acronyme_du_GT
Formats de réponse disponibles
Format | Usage | Paramètre ou Header |
---|---|---|
TXT (plain text) | Format par défaut compatible Sympa | ?format=txt ou Accept: text/plain |
JSON | Format pour tests/debug | Accept: application/json |
CSV | Export CSV des utilisateurs | ?format=csv |
Attention : Sympa nécessite le format txt
(plain text), une adresse e-mail par ligne.
Exemple de requête pour Sympa
curl -u api_user:mon_mot_de_passe "https://mygdr.hosted.lip6.fr/api/emails/?format=txt"
Réponse attendue :
alice@example.com
bob@example.com
charlie@example.org
...
Authentification
L'API est sécurisée par authentification HTTP Basic.
- L'identifiant (
username
) et le mot de passe (password
) doivent être fournis dans les paramètres d'URL de Sympa.
Configuration dans l'interface web de Sympa
1. Se connecter à l’interface d’administration de la liste
Accédez à votre site Sympa via l’interface web avec les droits de gestion sur la liste cible.
2. Aller dans "Configurer la liste" > "Définition des sources de données"
- Catégorie : Inclusion d'un fichier distant
- Voici les champs à remplir pour une source distante :
Champ | Description |
---|---|
Nom court pour cette source | Identifiant sympa de cette source d’abonnement. |
URL des données | ex: /api/users/emails/?gt_acro=Acronyme_du_GT . |
Utilisateur | Identifiant d'accès, nom utilisateur mygdr. |
Mot de passe de la source | Mot de passe associé. |
Délai d'inactivité | Durée maximale de réutilisation du cache avant de recharger les données à partir de l'API. Permet de limiter la charge sur l'API. Exemple : 1d pour 1 jour. |
3. Valider
- Sauvegardez la configuration.
- Allez dans la gestion des abonnés pour vérifier que la liste est automatiquement alimentée.
Debug et tests
Vous pouvez tester l’API sur l'interface dédiée si vous avez acces à la page d'administration de mygdr:
https://mygdr.hosted.lip6.fr/swagger
En cas de problème :
- Vérifiez les droits de l’utilisateur API.
- Vérifiez la réponse.
- Vérifiez que le format
txt
est bien utilisé par défaut.