Comment connecter un logiciel de gestion de formation pour importer automatiquement les stagiaires dans Rappel Forma, et comment ajouter un nouveau connecteur.
Un connecteur permet à un organisme de formation de relier son outil (Digiforma, Qualiobee…) à Rappel Forma, via sa propre clé API. Les stagiaires sont alors importés en profils suivis (avec leurs formations à venir), et reçoivent des rappels avant échéance — après un double opt-in.
Chaque connecteur normalise les données du fournisseur vers ces types (fichier src/lib/connectors/types.ts) :
export interface ImportedTraining {
code?: string | null; // mappe certification_types.code (ex. "SSIAP1")
name: string; // libellé de la formation
obtainedDate?: string | null; // AAAA-MM-JJ
validityMonths?: number | null; // périodicité, si connue
}
export interface ImportedTrainee {
externalId: string; // identifiant côté fournisseur (dédup)
firstName: string;
lastName: string;
email?: string | null;
phone?: string | null;
trainings: ImportedTraining[];
}Un connecteur implémente Connector : un test de validité de la clé, et la récupération des stagiaires.
export interface Connector {
provider: "digiforma" | "qualiobee";
test(token: string): Promise<boolean>;
fetchTrainees(token: string): Promise<ImportedTrainee[]>;
}1. Créer src/lib/connectors/<provider>.ts exportant un objet Connector. 2. L'enregistrer dans src/lib/connectors/index.ts. 3. L'ajouter à la liste provider (enum SQL + UI). Le moteur de synchronisation (src/lib/connectors/sync.ts) se charge ensuite, de façon idempotente, de créer/mettre à jour les profils dans un groupe « Stagiaires <provider> » et de mapper les formations vers les certifications.
// src/lib/connectors/index.ts
const REGISTRY = {
digiforma: digiformaConnector,
qualiobee: qualiobeeConnector,
// monoutil: monoutilConnector, ← ajouter ici
};Une clé API en lecture sur ses stagiaires. Elle est collée dans l'espace /connectors, testée, puis stockée côté serveur (jamais renvoyée au navigateur). La synchronisation est déclenchée manuellement ou planifiée.
L'import traite des données de tiers (les stagiaires) : base légale du responsable de traitement (l'organisme), double opt-in avant tout rappel direct au stagiaire, hébergement UE, et possibilité pour la personne de gérer/retirer ses données.