Piloter Joomla a distance via XML-RPC
-
Document typeTutoriel PHP
-
NiveauIntermédiaire
-
Version Joomla1.5.x
-
Dernière modification11.05.12
-
Version PHP4.x, 5.x, 5.3.x
-
Créé parGarstud
-
Version MySQL4.x, 5.x
-
Ce n'est pas tous les jours qu'une nouvelle appli d'administration à distance sort, donc c'est l'occasion de faire un zoom sur l'API du framework Joomla associée. Cet article est rédigé conjointement à la sortie de celui sur l'extension Joooid.
Le point intéressant est que ce plugin Joooid utilise une implémentation peu utilisée par les développeurs et donc ça nous donne une excuse pour vulgariser ce point !
Le framework Joomla 1.5 inclut des API pour échanger en XML-RPC (comme pour les Webservices). Ces API permettent notamment d'échanger à distance avec le moteur Joomla et cela avec une application qui peut tourner sur un autre système, dans un autre langage !
L'intérêt de cette nouvelle extension "Joooid" est que la partie cliente tourne ... en langage Java, sur un téléphone mobile Google Android.
L'API utilisée, est basée sur le protocole XML-RPC qui permet d'authentifier de facon sécurisée des demandes de tâches administratives sur le moteur de Joomla...

La cinématique d'appel fonctionne comme suit :
- 1- votre plugin s'inscrit auprès du Plugin Dispatcher pour l'évènement "onGetWebServices"
- 2- un appel est reçu par Joomla pour appeler une méthode disponible via votre plugin en WebServices
- 3- le code de votre plugin est alors chargé pour exécuter la méthode appelée
- 4- le résultat de cet appel est renvoyé au client
Pour cela plusieurs events, méthodes et objet sont disponibles :
- une fonction associée onGetWebServices() qui permet de fournir au client appelant la liste des fonctions disponibles avec pour chaque fonction :
> un nom de fonction :
- - 'function' => 'plgXMLRPCJoooidServices::uploadImage'
- - 'docstring' => 'Télécharge une image depuis votre mobile.'
- - 'signature' => array(array($xmlrpcString,$xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcStruct))
Une fois vos fonctions créées dans le plugin Joomla, il vous reste à choisir dans quel langage créer vos appels clients (Java, PHP, dotNet ...)
Plus d'info :
-
-
Catégories





Ajouter un Commentaire