refmodule

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
refmodule [2026/04/17 18:58] – [sock] rootrefmodule [2026/06/20 16:33] (Version actuelle) root
Ligne 117: Ligne 117:
   * ''get(socket, data, timeout)'' : lit les données venant de l'autre côté de la connexion identifiée par l'id <socket>. Les données lues sont renvoyées dans la chaîne <data>. Si aucune donnée d'est disponible au bout du délai <timeout> donné, (en secondes), la chaîne <data> est renvoyée //vide//.   * ''get(socket, data, timeout)'' : lit les données venant de l'autre côté de la connexion identifiée par l'id <socket>. Les données lues sont renvoyées dans la chaîne <data>. Si aucune donnée d'est disponible au bout du délai <timeout> donné, (en secondes), la chaîne <data> est renvoyée //vide//.
   * ''set(socket, data)'' : écrit les données de <data> sur la connexion identifiée par l'id <socket>.   * ''set(socket, data)'' : écrit les données de <data> sur la connexion identifiée par l'id <socket>.
 +
 +==== ssh ====
 +Module basé sur ''lib_ssh'' permettant l'accès sécurisé à un serveur.
 +  * ''openSession(host, user, mdp)'' : ouvre une connexion sécurisée vers le host (nom ou adresse IP), en utilisant l'authentification //login/mot de passe//.
 +  * ''endSession'' : ferme la connexion courante
 +  * ''execChannel(commande, resultat, timeout)'' : exécute la ''commande'' sur le serveur distant, et lit la réponse dans ''resultat'', en utilisant ''timeout'' comme délai de lecture (en seconde).
 +  * ''openChannel'' : ouvre un //pseudo terminal// sur le serveur distant.
 +  * ''closeChannel'' : termine le //pseudo terminal// distant.
 +  * ''readChannel(resultat, timeout)'' : lit la réponse du serveur distant dans ''resultat'', en utilisant ''timeout'' comme délai de lecture (en seconde).
 +  * ''writeChannel(commande)'' : exécute la ''commande'' sur le serveur distant
 +
 +Pour l'exécution de commandes ponctuelles, le worflow typique d'exécution est le suivant :
 +<code wlang>
 +;
 +invoke ssh&openSession(host, user, mdp)
 +;
 +; do something
 +
 +invoke ssh&execChannel(cmd, res, timeout)
 +;
 +; do another thing
 +;
 +invoke ssh&execChannel(cmd, res, timeout)
 +;
 +; terminate
 +invoke ssh&endSession
 +;
 +</code>
 +
 +Pour l'exécution de plusieurs commandes à la suite les unes des autres, tel une émulation de terminal distant, voici le workflow à utiliser :
 +<code wlang>
 +;
 +invoke ssh&openSession(host, user, mdp)
 +invoke ssh&openChannel
 +;
 +; read login information
 +invoke ssh&readChannel(res, timeout)
 +;
 +loop
 +   ; 
 +   invoke ssh&writeChannel(cmd)
 +   ;
 +   invoke ssh&readChannel(res, timeout)
 +   ;
 +endloop
 +;
 +; terminate
 +invoke ssh&endSession
 +;
 +</code>
 +
 ==== system ==== ==== system ====
 Module gérant les liens avec le shell et l'OS hôte. Module gérant les liens avec le shell et l'OS hôte.
  • refmodule.1776452311.txt.gz
  • Dernière modification : 2026/04/17 18:58
  • de root