Skip to content

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.