Dernière version stable
joomla_1_5_18

Piloter Joomla a distance via XML-RPC PDF Imprimer Envoyer
Écrit par Garstud   
Mardi, 26 Janvier 2010 00:17

Share

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...

Cinématique XML-RPC Webservices entre Android et 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  

 
#4 EH-INFORMATIQUE 27-07-2010 16:14
Excellent : Joomla est vraiment un outil fantastique, évolutif et efficace !
Citer
 
 
#3 Template prestashop 06-07-2010 10:52
Très bon article
Citer
 
 
#2 agence web 23-02-2010 19:09
Merci pour l'info. En supplément je dirais que Joomla Admin Mobile (7,99 euros), ou Joomla Admin Mobile Lite (gratuit) font le même travail sur Iphone
Citer
 
 
#1 inetis 12-02-2010 19:41
JMonitoring est une autre extension basée sur XML-RPC pour ceux que ça intéresse de décortiquer le codes.
http://extensions.joomla.org/extensions/access-a-security/site-security/9787
Citer
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir