Accueil > Documentation > Les plugins développés pour MédiaSPIP > XMLRPC : une API xml-rpc pour SPIP > Les méthodes xmlrpc de géodiversité

Les méthodes xmlrpc de géodiversité

Géodiversité est un squelette SPIP spécifique axé gestion de médias et géolocalisation...

Il dispose de ses propres méthodes xmlrpc pour éviter des sous-requètes multiples.

geodiv.lire_media

Liste le contenu d’un media.

Sans identification (login/pass) :

  • retourne les informations du media s’il est publié ;
  • si le media n’est pas publié ou n’existe pas (l’id_article passé ne correspondant pas à un article dans la section "media" est considéré comme non existant), renvoie une erreur ;

Si on est identifié :

  • si on peut modifier le media et qu’il n’est pas publié, on retourne ses données ;
  • si on peut modifier ses données, on ajoute dans l’array de retour un élément "modifiable" à true ;

Paramètres possibles

  • login string : le login de l’utilisateur ;
  • pass string : le mot de passe de l’utilisateur ;
  • id_article int : l’identifiant numérique de l’article considéré comme "media" ;
  • champs_demandes array : champs de la base et ajoutés par le plugin xmlrpc que l’on souhaite récupérer, sinon, on retourne l’ensemble, le champ id_article sera toujours présent ;
  • document_largeur int : largeur maximale du document, si c’est une image, défaut largeur du document original ;
  • document_hauteur int : hauteur maximale du document, si c’est une image, défaut hauteur du document original ;
  • vignette_format string : "carre" ou autre, autre n’a pas de fonction ;
  • vignette_largeur int : largeur de la vignette en px, défaut 100 ;
  • vignette_hauteur int : hauteur de la vignette en px, défaut 100 ;

Retour

Un array des informations du média avec :

  • tous ses champs dans la base
  • url string : son url publique si publié
  • document string : l’url de son document
  • vignette string : l’url de sa vignette
  • gis array : l’ensemble des points géolocalisés liés
  • auteurs array : l’ensemble des auteurs liés ;
  • tags array : l’ensemble des tags liés ;
  • echelle array : le mot lié correspondant à l’échelle ;
  • forums array : les forums liés ;
  • modifiable bool : un élément "modifiable", booléen (true/false) ;
  • struct
    • int id_article : l’identifiant numérique de l’article (un média est un article dans un secteur spécifique) ;
    • ... : chaque champ de la base ;
    • string url : l’URL publique ;
    • string document : l’URL du document si disponible ;
    • string vignette : l’URL de la vignette, ou logo, si disponible ;
    • array gis : un array des points géolocalisés liés ;
      • struct Pour chaque point => un struct avec ses champs dans la base ;
        • int id_gis : l’identifiant numérique du point ;
        • string titre : le titre du point ;
        • ... : les autres champs de la base pour le point ;
    • array auteurs : un array des auteurs liés ;
      • struct : pour chaque auteur => un struct avec id_auteur et nom
        • int id_auteur : l’identifiant numérique de l’auteur ;
        • string nom : le nom de l’auteur ;
    • array tags : un array des tags liés (les tags sont des mots clés dans un groupe spécifique défini soit dans la conf du plugin soit dans le plugin spip.icio.us) ;
      • struct : pour chaque tag => un struct avec id_mot et titre ;
        • int id_mot : l’identifiant numérique du mot clé ;
        • string titre : le titre du mot clé ;
    • array echelle : un array du mot clé correspondant à l’échelle du media, on donne son id_mot et son titre, le groupe des échelles est définissable dans la configuration du squelette ;
      • int id_mot : l’identifiant numérique du mot-clé ;
      • string : titre : le titre du mot clé
    • array forums : un array des forums liés ;
      • struct : pour chaque forum => un struct avec id_forum, id_thread, titre, auteur, id_auteur ;
        • int id_forum : l’identifiant numérique du forum ;
        • int id_thread : l’identifiant numérique du thread ;
        • id_auteur id_auteir : l’identifiant numérique de l’auteur du forum ;
        • string titre : le titre du forum ;
    • bool modifiable : l’auteur identifié peut il modifier ce média (true/false) ;

geodiv.liste_medias

Liste les médias de géodiversité.

Sans identification (login/pass) :

  • retourne les medias publiés correspondant aux paramètres ;

Si on est identifié :

  • Si on a un id_auteur dans la requète on liste les articles publiés de l’id_auteur en question ;
  • Sinon on liste l’ensemble des medias de l’auteur logué qu’il soit publiés ou non ;

Paramètres

  • login string
  • pass string
  • id_rubrique int : si l’id_rubrique ne correspond pas à une rubrique de la section medias => on retourne une erreur (TO-DO) ;
  • id_auteur int
  • recherche string : une chaine de recherche qui sera appliquée aux médias ;
  • tri array : le ou les éléments de tri des résultats ;
    • Si on place dans les éléments de tri la valeur "distance", les deux champs suivants deviennent obligatoires :
      • lat float : la latitude du point de référence ;
      • lon float : la longitude du point de référence :
  • limite string : le nombre maximal de résultats qui seront retournés ;
  • champs_demandes array (champs de la base et ajoutés par le plugin xmlrpc que l’on souhaite récupérer, séparés par une virgule, sinon, on retourne l’ensemble, le champ id_article sera toujours présent)
  • document_largeur int (largeur maximale du document, si c’est une image, défaut largeur du document original)
  • document_hauteur int (hauteur maximale du document, si c’est une image, défaut hauteur du document original)
  • vignette_format string (carre ou autre, autre n’a pas de fonction)
  • vignette_largeur int (largeur de la vignette en px, défaut 100)
  • vignette_hauteur int (hauteur de la vignette en px, défaut 100)

Retour

Un array des medias avec tous leur champs dans la base, plus leur url publique si publié, plus leur document et leur vignette.

Le retour dépend des champs demandés dans les arguments si présent.

  • array
    • struct
      • int id_article
      • string champ_base
      • ... (autres champs de la base)
      • float distance si il y a tri par distance ;
      • string url (l’URL publique)
      • string logo (le logo si disponible)
    • ...

geodiv.creer_media

Crée un nouveau média.

Sans identification (login/pass) :

  • retourne une erreur car il est nécessaire de s’identifier pour publier ;

Si on est identifié :

  • Il faut obligatoirement passer l’array document, les autres champs sont facultatifs ;

Paramètres

  • login string : le login de l’utilisateur (Obligatoire) ;
  • pass string : le mot de passe de l’utilisateur (Obligatoire) ;
  • document array : un array des informations du documents comportant les informations suivantes :
    • name string : le nom du fichier du document (ex : mondoc.jpg) ;
    • type string : le mime-type du document (ex : audio/mpeg, image/jpeg, video/quicktime) ;
    • bits string : binaire (fichier) encodé en base64 ;
  • titre string : le titre du média (par défaut, si non présent, le nom du fichier sera utilisé) ;
  • texte string : le texte du média ;
  • id_rubrique int : identifiant numérique de la rubrique dans laquelle le média sera créé (si l’id_rubrique ne correspond pas à une rubrique de la section medias => on retourne une erreur) ;
  • id_licence int : identifiant numérique de la licence ;
  • statut string : le statut du média (doit être compris dans les valeurs : "publie", "prop" ou "prepa") ;
  • gis array : les informations de géolocalisation du média comportant :
    • lat float : sa latitude (Obligatoire pour que le point soit pris en compte) ;
    • lon float : sa longitude (Obligatoire pour que le point soit pris en compte) ;
    • zoom int : son niveau de zoom ;
    • titre string : son titre ;
    • descriptif string : son descriptif ;
    • code_postal string : son code postal ;
    • ville string : sa ville ;
    • pays string : son pays ;
  • tags string : les mots clés associés, séparés par des points virgules " ;" ;

Retour

Un array des informations du media avec tous ses champs dans la base, plus son url publique si publié, plus son document et sa vignette.

  • struct
    • int id_article
    • string champ_base
    • ... (autres champs de la base)
    • string url (l’URL publique)
    • string logo (le logo si disponible)
    • array gis (les informations géographiques)
    • array tags (les mots clés associés)

geodiv.update_media

Met à jour un média média.

Sans identification (login/pass) :

  • retourne une erreur car il est nécessaire de s’identifier pour publier ;

Si on est identifié :

  • Il faut obligatoirement passer l’argument id_article et ne pas passer de document, sinon les autres arguments sont les mêmes que pour geodiv.creer_media ;

Paramètres

  • login string : le login de l’utilisateur (Obligatoire) ;
  • pass string : le mot de passe de l’utilisateur (Obligatoire) ;
  • document array : un array des informations du documents comportant les informations suivantes :
    • name string : le nom du fichier du document (ex : mondoc.jpg) ;
    • type string : le mime-type du document (ex : audio/mpeg, image/jpeg, video/quicktime) ;
    • bits string : binaire (fichier) encodé en base64 ;
  • titre string : le titre du média (par défaut, si non présent, le nom du fichier sera utilisé) ;
  • texte string : le texte du média ;
  • id_rubrique int : identifiant numérique de la rubrique dans laquelle le média sera créé (si l’id_rubrique ne correspond pas à une rubrique de la section medias => on retourne une erreur) ;
  • id_licence int : identifiant numérique de la licence ;
  • statut string : le statut du média (doit être compris dans les valeurs : "publie", "prop" ou "prepa") ;
  • gis array : les informations de géolocalisation du média comportant :
    • lat float : sa latitude (Obligatoire pour que le point soit pris en compte) ;
    • lon float : sa longitude (Obligatoire pour que le point soit pris en compte) ;
    • zoom int : son niveau de zoom ;
    • titre string : son titre ;
    • descriptif string : son descriptif ;
    • code_postal string : son code postal ;
    • ville string : sa ville ;
    • pays string : son pays ;
  • tags string : les mots clés associés, séparés par des points virgules " ;" ;

Retour

Un array des informations du media avec tous ses champs dans la base, plus son url publique si publié, plus son document et sa vignette.

  • struct
    • int id_article
    • string champ_base
    • ... (autres champs de la base)
    • string url (l’URL publique)
    • string logo (le logo si disponible)
    • array gis (les informations géographiques)
    • array tags (les mots clés associés)
  • Auteur :
  • Publié le :
  • Mis à jour : 27/06/13
  • Révisé par : 1 anonyme

Aucun commentaire


Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document