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