Dépannage

La validation de la licence échoue

« Identifiants invalides » — la clé de licence et le secret du panneau doivent être la paire émise ensemble pour cette connexion. Si vous avez fait tourner les identifiants, le plugin a encore l'ancienne paire : collez la nouvelle. Si vous n'avez copié qu'une seule valeur avant de quitter la page, faites une rotation pour obtenir une paire fraîche. Si vous gérez plusieurs Moodle, vérifiez que vous n'avez pas collé la paire d'une autre connexion.

« URL non concordante » — le site qui appelle ne correspond pas à l'URL enregistrée pour la connexion. C'est fréquent quand Moodle est derrière un proxy et que $CFG-wwwroot diffère du nom d'hôte public, ou après un changement de domaine. Mettez l'URL à jour depuis la ligne de la connexion dans Organisation → Moodle, puis validez à nouveau.

Le plugin n'atteint pas du tout le panneau — votre Moodle a besoin d'un accès HTTPS sortant. Testez curl https://lmsmcp.slxd.app depuis le serveur et vérifiez les réglages de proxy dans Moodle.

Le site ne peut pas être connecté

« URL non autorisée » — l'URL doit être en HTTPS public avec un certificat valide. localhost, les plages privées et les hôtes accessibles seulement par VPN sont refusés par conception. Un site de préproduction convient s'il est joignable publiquement.

Erreurs de certificat — un certificat auto-signé ou expiré échoue à la validation. Corrigez le certificat ; il n'y a pas de contournement.

Plus de place pour une connexion — votre offre limite le nombre de sites Moodle qu'une organisation peut connecter ; la page des connexions indique combien il en reste. Supprimez une connexion inutilisée ou passez à une offre supérieure dans Organisation → Facturation.

L'assistant dit qu'il n'a pas d'outils

  • Le client n'a pas rechargé sa configuration MCP. Redémarrez-le.
  • L'URL est mauvaise : ce doit être l'URL de connecteur de cette connexion — le sous-domaine de votre organisation, puis /mcp/lmsmcp/ et l'identifiant de la connexion. Copiez-la depuis la page de la connexion au lieu de la saisir.
  • Avec une clé Bearer : vérifiez que l'en-tête est exactement Authorization: Bearer mcpk_… et que la clé n'est ni suspendue, ni révoquée, ni expirée.
  • Avec OAuth : supprimez le connecteur et réautorisez.

L'assistant répond à propos du mauvais Moodle, ou est refusé

Chaque clé appartient à une connexion et ne fonctionne qu'avec l'URL de connecteur de celle-ci. Utiliser la clé d'un Moodle avec l'URL d'un autre est rejeté. Vérifiez, sur la page de la connexion, que la clé que vous présentez y figure bien.

La connexion affiche « Plugin absent » ou « Injoignable »

Vérifier maintenant, sur la page de la connexion, interroge votre Moodle en direct :

  • Plugin absent — Moodle a répondu, mais le plugin connecteur n'y est pas installé. Téléchargez-le avec Télécharger le plugin (.zip) et installez-le.
  • Injoignable — Moodle n'a pas répondu : le site est hors service, l'URL a changé, ou le jeton de la clé utilisée pour la vérification n'est plus valide dans Moodle.
  • Aucune clé active — la vérification a besoin d'un jeton : créez d'abord une clé pour cette connexion.

L'assistant ne voit rien dans Moodle

La clé fonctionne, mais l'utilisateur Moodle sous-jacent n'a pas accès à ce que vous demandez. Les rôles sont la limite extérieure : la clé d'un étudiant ne peut pas lister les participants d'un cours. Vérifiez pour quel utilisateur la clé a été émise, et si elle est restreinte à la lecture seule, à certains outils ou à certains cours. Voyez clés et permissions.

« Access control exception » à la création ou à la modification

Le rôle d'une clé est vérifié une fois, au niveau du site ; Moodle vérifie les permissions cours par cours. Une clé d'enseignant éditeur a le droit d'utiliser l'outil, mais Moodle la refuse dans un cours où cet utilisateur n'est pas enseignant éditeur. Vérifiez que l'utilisateur pour lequel la clé a été émise :

  • est inscrit à ce cours avec un rôle accordant la capacité moodle/course:manageactivities (créer et modifier des activités) ;
  • peut voir le cours, s'il est masqué.

L'inscrire au cours, ou lui accorder un rôle avec cette capacité, fait disparaître l'erreur. Voyez clés et permissions.

Les appels se sont mis à échouer après avoir fonctionné

  • La clé a été suspendue ou révoquée, dans le panneau ou depuis le plugin.
  • Les identifiants de la connexion ont été renouvelés et le plugin n'a pas été mis à jour.
  • L'utilisateur Moodle a perdu le rôle dont dépend la clé, ou a été supprimé.
  • Le jeton a été supprimé dans Moodle sous Administration du site → Serveur → Services web → Gérer les jetons.

La page de la connexion montre son utilisation et ses erreurs par clé et par outil, et Organisation → Moodle → Utilisation montre l'ensemble de l'organisation ; à elles deux, elles localisent le problème en quelques secondes.

Un fichier ne se téléverse pas

L'URL doit renvoyer le fichier, pas une page qui l'entoure. Testez avec curl -IL url depuis l'extérieur de votre réseau. Google Drive, Dropbox et GitHub demandent chacun une forme d'URL particulière — voyez téléverser des fichiers. Si l'outil est carrément absent, votre plugin est trop ancien : mettez-le à jour.

Le chat est absent ou refuse de répondre

  • Aucune clé MCP n'est sélectionnée comme identité du chat IA dans Organisation → Moodle. Le chat répond à propos de la connexion de la clé choisie.
  • Le solde de crédits ne couvre pas le message — rechargez dans Organisation → Crédits.
  • Vous avez atteint la limite de 10 messages par minute. Patientez un instant.

L'organisation est bloquée

L'essai est terminé ou un paiement a échoué. Abonnez-vous ou corrigez le moyen de paiement dans Organisation → Facturation. Rien n'est supprimé pendant le blocage.

Toujours bloqué

Notez l'erreur exacte, les 4 derniers caractères de la clé (jamais la clé elle-même) et l'heure de l'incident, puis ouvrez un ticket sur github.com/studiolxd/moodle-local_mcpconnector/issues.

Dépannage