logipro/agora-learning-php

Client PHP for Agora Learning API

Maintainers

Package info

github.com/logipro-fr/agora-learning-php

pkg:composer/logipro/agora-learning-php

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-05-28 13:51 UTC

This package is auto-updated.

Last update: 2026-06-02 08:00:18 UTC


README

PHP Licence Version

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