|
Piloter Joomla a distance via XML-RPC |
|
|
|
|
Écrit par Garstud
|
|
Mardi, 26 Janvier 2010 00:17 |
|
Partager
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 :
- un évènement système Joomla "onGetWebServices" - 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'
> un libellé pour expliquer cette fonction au client :
- - 'docstring' => 'Télécharge une image depuis votre mobile.'
> une signature qui permet à l'Application cliente de savoir quoi fournir lors de l'appel :
- - '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 :
|
|
Mise à jour le Mercredi, 26 Mai 2010 13:16 |
Commentaires
http://extensions.joomla.org/extensions/access-a-security/site-security/9787
S’abonner au flux RSS pour les commentaires de cet article.