logipro / agora-learning-php
Client PHP for Agora Learning API
Requires
- php: ^7.4 || ^8.0
- symfony/http-client: ^5.4 || ^6.4 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.4 || ^7.0
- symfony/mime: ^5.4 || ^6.4 || ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- phpstan/phpstan: ^1
- phpunit/phpunit: ^9.6
- symfony/phpunit-bridge: ^5.4 || ^6.4 || ^7.0
This package is auto-updated.
Last update: 2026-06-02 08:00:18 UTC
README
Agora Learning - Client PHP
Client PHP officiel pour l'API Agora Learning. Il permet à des applications tierces de gérer des ressources de formation (personnes, apprenants, formateurs, sociétés, sessions, inscriptions) via une interface orientée objet, sans avoir à manipuler directement les requêtes HTTP ou les jetons d'authentification.
Table des matières
Installation
composer require logipro/agora-learning-php
Voir docs/installation.md pour les prérequis détaillés.
Quick Start
<?php require_once __DIR__ . '/vendor/autoload.php'; use AgoraLearningPhp\AgoraLearningClient; use AgoraLearningPhp\DTO\Input\Learner\LearnerInput; $client = new AgoraLearningClient( 'https://votre-instance.example.com', // TODO: à adapter 'votre_cle_api' // TODO: à adapter ); // Vérifier que l'API est joignable $ping = $client->ping(); if ($ping->getStatusCode() !== 200) { throw new \RuntimeException( 'Impossible de joindre l\'API Agora (HTTP ' . $ping->getStatusCode() . ')' ); } // Créer un apprenant $learner = $client->createLearner(new LearnerInput( 'Dupont', 'Marie', 'marie.dupont@example.com' )); echo $learner->uuid;
Ressources disponibles
| Ressource | Méthodes disponibles |
|---|---|
| Auth | ping() |
| Person | getPerson(), getCollectionPerson(), createPerson() |
| Trainer | getTrainer(), getCollectionTrainer(), createTrainerEmployee(), createTrainerFree() |
| Learner | getLearner(), getCollectionLearner(), createLearner() |
| Society | getSociety(), getCollectionSociety(), createSociety() |
| Session | getSession(), getCollectionSession(), createSession() |
| Enrollment | getEnrollment(), getCollectionEnrollmentFromSession(), getCollectionEnrollmentFromLearner(), getEnrollmentFromSessionAndLearner(), createEnrollment() |
Consultez docs/usage.md pour un exemple complet par méthode.
Gestion des erreurs
Voir la section dédiée dans docs/usage.md#gestion-des-erreurs.
Développement
Prérequis
PHP 7.4+ et Composer installés localement (ou via Docker).
Installer les dépendances de développement
composer install
Outils disponibles
| Commande | Outil | Rôle |
|---|---|---|
composer cs-check |
php-cs-fixer | Vérifie le style PSR-12 sans modifier les fichiers |
composer cs-fix |
php-cs-fixer | Corrige automatiquement les violations de style |
composer phpstan |
PHPStan niveau 6 | Analyse statique du répertoire src/ |
composer test |
PHPUnit 9 | Lance la suite de tests unitaires |
composer qa |
- | Enchaîne les trois commandes ci-dessus |
Lancer tous les contrôles qualité
composer qa
Style de code
La configuration est dans .php-cs-fixer.php :
- Ruleset @PSR12
declare(strict_types=1)obligatoire- Imports triés alphabétiquement, imports inutilisés supprimés
- Cache dans
.php-cs-fixer.cache(ignoré par git)
# Voir les fichiers à corriger sans les toucher composer cs-check # Appliquer les corrections composer cs-fix
Analyse statique
La configuration est dans phpstan.neon - niveau 6, cible src/.
composer phpstan
Tests
La configuration est dans phpunit.xml.dist. La suite Unit pointe sur tests/unit/.
composer test