M -1.0-

 

Documentation Package : emaginer.UploadSite

Auteur : Loïc Berthelot,  CryoNetworks,  sept. 2000

Ver 0.9

 

Contenu de la documentation :

·        Description du package

·        Utilisation générale du package

·        Exemple pour emaginer

·        Exemple pour SCS

·        Manuel de référence (toutes les fonctions disponibles du package)

·        Liste des codes de résultats

 

 

Description du package

            Emaginer.UploadSite.pkg permet de lancer la procédure d’upload d’un site emaginer sur un serveur d’hébergement. Il est également utilisable pour uploader un site SCS (voir suite doc.).

 

 

Utilisation du package

·        initialisation

UploadSiteInit : fun [I mode, S dms, S url, S login, S passwd, fun[SiteDef I S] stateCb] SiteDef

initialise la procedure d’upload et renvoie la structure contenant toutes les informations nécessaires, de type SiteDef.

mode permet de préciser le mode d’upload. Valeur obligatoire : SITEDEF_MODE_EMAGINER ou SITEDEF_MODE_SCS.

dms est le fichier dms à parser pour récupérer les paramètres dans le cas d’un upload emaginer

url, login et passwd constituent les informations nécessaires à la connexion sur le serveur d’hébergement

stateCb est la callback d’état. Elle est appelée régulièrement lors de l’initialisation et tout au long de la procédure d’upload. Elle permet de récupérer les codes de résultats, ainsi qu’un message associé. (voir plus loin pour les codes de résultats)

                  è à déclarer comme suit : fun myStateCb (sitedef, code_numeric_de_résultat, message_du_résultat)

 

·        lancement

UploadSiteStart : fun [SiteDef sitedef] I

déclenche la procédure d’upload (ouverture du canal http sur le serveur d’hébergement)

 

·        Parsing

Dans le cas d’Emaginer, une procédure de parsing par défaut est appelée (package emaginer.UploadSiteParser.pkg). Mais il est possible de remplacer cette procédure :

_SETsiteDefParserCb  : fun [SiteDef sitedef, fun [SiteDef] I parseCb] I

 

Dans cette procédure, on ajoute les paramètres à transmettre de la manière suivante :

_ADDsiteDefParam : fun [SiteDef sitedef, S paramName, S paramValue] I

 

par la suite, on les récupère avec  :

_GETsiteDefParam  : fun [SiteDef sitedef, S paramName] S

 

dans tous les cas, la procedure de parsing s’exécute avec :

_EXECsiteDefParser : fun [SiteDef sitedef] I

 

 

Exemple Emaginer



typeof mySiteDef = SiteDef ;;



fun _maCallbackDetat (sitedef, code, msg) =
   if (code != SITEDEF_OK)
   then print msg
   else nil;;



fun lancement () =
   set mySitedef = UploadSiteInit
     SITEDEF_MODE_EMAGINER
     “emaginer/chemin/fichier.dms” “193.254.43.2:1298” “toto”
     “password_toto”, @_maCallbackDetat);
   UploadSiteStart mySiteDef;;



fun miseajour () =
   _EXECsiteDefParser mySiteDef;
   let _GETsiteDefParam mySiteDef “premierParametre” -> premiereValeur in
   let _GETsiteDefParam mySiteDef “deuxiemeParametre” -> deuxiemeValeur
   in jenfesskejenveu premiereValeur deuxiemeValeur;;






Exemple SCS

typeof mySiteDef = SiteDef ;;



fun _monParser (sitedef) =
   _ADDsiteDefParam sitedef “PremierParamSCS” “PremiereValeur”
   _ADDsiteDefParam sitedef “DeuxiemeParamSCS” “DeuxiemeValeur”
   _ADDsiteDefParam sitedef “TroisiemeParamSCS” “TroisiemeValeur”;;



fun _maCallbackDetat (sitedef, code, msg) =
   if (code != SITEDEF_OK)
   then print msg
   else nil;;



fun lancement () =
   set mySitedef = UploadSiteInit
     SITEDEF_MODE_EMAGINER
     “emaginer/chemin/fichier.dms” “193.254.43.2:1298” “toto”
     “password_toto”, @_maCallbackDetat);
   _SETsiteDefParserCb mySiteDef @_monParser;
   UploadSiteStart mySiteDef;;



fun miseajour () =
   _EXECsiteDefParser mySiteDef;
   let _GETsiteDefParam mySiteDef “premierParametre” -> premiereValeur in
   let _GETsiteDefParam mySiteDef “deuxiemeParametre” -> deuxiemeValeur
   in jenfesskejenveu premiereValeur deuxiemeValeur;;






 

 

 

Manuel de Référence

 

_GETsiteDefMode

fun [SiteDef] I

 

retourne le mode d’upload

_GETsiteDefDms

fun [SiteDef] S

 

retourne le nom du fichier dms

_GETsiteDefUrl

fun [SiteDef] S

 

retourne l’url

_GETsiteDefLogin

fun [SiteDef] S

 

retourne le login

_GETsiteDefPasswd

fun [SiteDef] S

 

retourne le password

_GETsiteDefErrCode

fun [SiteDef] I

 

retourne le dernier code de résultat

_GETsiteDefErrMsg

fun [SiteDef] S

 

retourne le dernier message de résultat

_GETsiteDefLog

fun [SiteDef] [S r1]

 

retourne toute la pile de messages de résultat

_GETsiteDefParam

fun [SiteDef S] S

 

retourne la valeur du paramètre dont le nom est passé en appel

_GETsiteDefChannel

fun [SiteDef] Http_Chn

 

retourne le canal http ouvert à l’appel de UploadSiteStart

 

 

_SETsiteDefDms

fun [SiteDef S] I

 

assigne le nom du fichier dms

_SETsiteDefUrl

fun [SiteDef S] I

 

assigne l’url du serveur d’hébergement

_SETsiteDefLogin

fun [SiteDef S] I

 

assigne le login du compte sur le serveur

_SETsiteDefPass

fun [SiteDef S] I

 

assigne le password du compte

_SETsiteDefParamsList

fun [SiteDef [[S S] r1]] I

 

assigne en une passe la liste des paramètres parsés (liste de couplet (nom_paramètre, valeur_paramètre))

_ADDsiteDefParam

fun [SiteDef S S] I

 

ajoute un couple (nom_parameter, valeur_parameter) à la liste des paramètres parsés.

_ADDsiteDefLog

fun [SiteDef S] I

 

ajoute un message manuellement dans la pile des messages de résultat

_SETsiteDefParserCb

fun [SiteDef fun [SiteDef] I] I

 

change la callback du parser

 

_EXECsiteDefParser

fun [SiteDef] I

 

exécute la fonction de parsing (celle d’Emaginer par défaut ou celle précisée par _SETsiteDefParserCb)

UploadSiteInit

fun [I S S S S fun [SiteDef I S]] SiteDef

 

initialise la procedure d’upload

UploadSiteStart

fun [SiteDef] I

 

démarre la procedure d’upload

 

 

 

Code de résultats

Tous les codes de résultats sont des nombres entiers :

SITEDEF_OK

L’opération ne présente pas d’erreur. Le message precise l’opération réussie

SITEDEF_ERR_DMS_NOT_FOUND

Fichier .dms introuvable

SITEDEF_ERR_MISSING_PARAM

Le parser Emaginer ne trouve pas le paramètre dans le fichier .dms (nom du paramètre dans le message associé)

SITEDEF_ERR_PARAM_NOT_FOUND

Erreur déclenchée lors de l’appel _GETsiteDefParam, si le paramètre demandé est introuvable.

SITEDEF_ERR_BAD_MODE

Le mode d’upload passé en paramètre de UploadSiteInit n’est pas correct. Il doit être égal à SITEDEF_MODE_EMAGINER, ou SITEDEF_MODE_SCS.

SITEDEF_ERR_SERVER_NOT_FOUND

La connexion http au serveur d’hébergement n’a pu s’établir.

SITEDEF_ERR_NO_LOGIN

Le login est nul ou vide

SITEDEF_ERR_NO_PASSWD

Le password est nul ou vide

SITEDEF_ERR_NO_URL

L’url est nulle ou vide.