Créer un PDF Recommander Imprimer

Piloter Joomla a distance via XML-RPC

(0 votes)
  • Document type
    Tutoriel PHP
  • Niveau
    Intermédiaire
  • Version Joomla
    1.5.x
  • Dernière modification
    11.05.12
  • Version PHP
    4.x, 5.x, 5.3.x
  • Créé par
    Garstud
  • Version MySQL
    4.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...

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 :

      Ajouter un Commentaire


      Code de sécurité
      Rafraîchir

      Recherche

      Télécharger Joomla

      telecharger joomla télécharger Joomla 1.5.26 télécharger Joomla 2.5.4 télécharger Joomla Platform 12.1

      Connexion

      Espace contributeurs