스킬 moodle-external-api-development
📦

moodle-external-api-development

낮은 위험 ⚡ 스크립트 포함⚙️ 외부 명령어🌐 네트워크 접근

Créer des services web externes Moodle

Créer des API de services web personnalisés sécurisés pour Moodle LMS avec une validation des paramètres appropriée, des vérifications de capacités et des modèles d'enregistrement de services.

지원: Claude Codex Code(CC)
⚠️ 68 나쁨
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"moodle-external-api-development" 사용 중입니다. Créer une API externe pour obtenir la progression du cours de l'utilisateur

예상 결과:

  • Classe PHP étendant external_api avec les méthodes execute_parameters(), execute() et execute_returns()
  • Définitions de paramètres utilisant external_value(PARAM_INT) et external_single_structure
  • Validation de contexte utilisant validate_context() et vérifications de capacités
  • Requête de base de données utilisant des requêtes paramétrées pour la prévention des injections SQL

"moodle-external-api-development" 사용 중입니다. Enregistrer le service web pour l'accès mobile

예상 결과:

  • Fichier services.php avec définition de fonction incluant classname, methodname et capabilities
  • Définition de service avec les drapeaux restrictedusers et enabled
  • Utiliser MOODLE_OFFICIAL_MOBILE_SERVICE pour l'intégration d'application mobile

보안 감사

낮은 위험
v1 • 2/25/2026

This is a documentation/educational skill for Moodle external API development. Static analyzer flagged 127 potential issues, but evaluation confirms all are false positives. The detected patterns are: (1) Markdown backticks for code formatting flagged as shell commands, (2) Documentation URLs to moodledev.io, (3) Benign keywords in YAML frontmatter triggering false positives. No actual security risks present.

1
스캔된 파일
600
분석된 줄 수
5
발견 사항
1
총 감사 수
낮은 위험 문제 (2)
Markdown Backticks Flagged as Shell Commands
Static analyzer detected backticks as 'Ruby/shell backtick execution'. These are markdown code formatting (e.g., `execute_parameters()`), not actual shell commands. No command execution risk.
Documentation URLs Detected
Hardcoded URLs found are legitimate links to Moodle developer documentation (moodledev.io) and example API endpoint placeholders. No data exfiltration risk.
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
85
콘텐츠
22
커뮤니티
86
보안
96
사양 준수

만들 수 있는 것

Développeur de plugins Moodle

Créer des API externes personnalisées pour votre plugin Moodle afin d'exposer des fonctionnalités aux applications mobiles ou aux systèmes externes

Spécialiste d'intégration LMS

Créer des points de terminaison de services web pour intégrer Moodle avec les systèmes d'information des étudiants ou les plateformes CRM

Développeur backend d'applications mobiles

Développer des API REST basées sur Moodle pour des applications mobiles personnalisées accédant aux données de cours

이 프롬프트를 사용해 보세요

Structure d'API de base
Montrez-moi comment créer une classe d'API externe de base dans Moodle avec le modèle à trois méthodes
Définition des paramètres
Comment définir des paramètres d'entrée avec validation pour une API externe Moodle ? Incluez des exemples pour les paramètres entier, texte et booléen
Implémentation de la logique métier
Écrivez un exemple de logique métier pour une API externe Moodle qui récupère la progression du cours, incluant la validation de contexte et les vérifications de capacités
Enregistrement du service
Comment enregistrer un service web externe Moodle ? Montrez la structure du fichier services.php avec les capacités et l'accès AJAX

모범 사례

  • Validez toujours les paramètres avec validate_parameters() avant le traitement
  • Utilisez la validation de contexte et les vérifications de capacités pour appliquer les permissions
  • Utilisez des requêtes paramétrées ($DB->get_records_sql) pour prévenir les injections SQL
  • Documentez clairement tous les types de paramètres et les structures de retour

피하기

  • Ignorer la validation des paramètres - utilisez toujours validate_parameters()
  • Utiliser du SQL brut sans requêtes paramétrées - utilisez les méthodes $DB avec des paramètres liés
  • Omettre les vérifications de capacités - vérifiez toujours les permissions utilisateur
  • Retourner des structures de données incohérentes - correspondez exactement à la définition de execute_returns()

자주 묻는 질문

Quel est le modèle à trois méthodes pour les API externes Moodle ?
Les API externes Moodle nécessitent trois méthodes : execute_parameters() définit la structure d'entrée, execute() contient la logique métier, et execute_returns() définit la structure de sortie.
Comment sécuriser mon API externe Moodle ?
Utilisez la validation de contexte (validate_context), les vérifications de capacités (require_capability) et la validation appropriée des paramètres (validate_parameters) pour sécuriser votre API.
Puis-je utiliser mon API externe avec l'application mobile Moodle ?
Oui, incluez MOODLE_OFFICIAL_MOBILE_SERVICE dans votre enregistrement de service pour activer l'accès mobile.
Quels types de paramètres Moodle prend-il en charge ?
Moodle prend en charge PARAM_INT, PARAM_TEXT, PARAM_RAW, PARAM_BOOL, PARAM_FLOAT, PARAM_ALPHANUMEXT et plus encore pour les paramètres d'API externes.
Comment prévenir les injections SQL dans les API externes ?
Utilisez l'API de base de données de Moodle ($DB) avec des requêtes paramétrées utilisant des placeholders nommés comme :userid au lieu de la concaténation de chaînes.
Quelle est la différence entre les types de service lecture et écriture ?
Le type lecture est pour les opérations SELECT qui ne font que récupérer des données. Le type écriture est pour les opérations INSERT, UPDATE ou DELETE qui modifient les données.

개발자 세부 정보

파일 구조

📄 SKILL.md