===== Modules standards W =====
==== Fonctions communes ====
Tous les modules possèdent obligatoirement 4 fonctions :
- ''init'' => pour initialiser l'état interne du module (allocation mémoire si besoin, etc.). Appelé automatiquement au premier appel de fonction du module
- ''end'' => pour libérer les ressources allouées dans ''init''. Appelé automatiquement à la terminaison du programme
- ''vers(n)'' => renvoi la version en cours du module (variable Number ou Dynamic)
- ''error(n)'' => renvoi la dernière erreur spécifique au module (variable Number)
Le pseudo module //template// permet de tester ces 4 fonctions.
==== conv ====
Module permettant de faire des conversions de texte en hexadécimal et Base64.\\
* ''toHexa'' : convertit le texte en clair (1er paramètre) en une chaine hexadécimale (2ème paramètre)
* ''fromHexa'' : convertit la chaine en hexadécimal (1er paramètre) en son équivalent en texte clair (2ème paramètre)
* ''toBase64'' : convertit le texte en clair (1er paramètre) en une chaine codée en Base64 (2ème paramètre)
* ''fromBase64'' : convertit la chaine en Base64 (1er paramètre) en son équivalent en texte clair (2ème paramètre)
==== file ====
Module permettant de gérer les fichiers de l'OS de l'hôte exécutant le programme en cours.
* ''get(path, contenu)'' : lit le fichier, dont le chemin complet est donné dans ''path'', et renvoi son contenu dans ''contenu''. Renvoi //vide// si le fichier est inconnu.
* ''set(path, contenu)'' : écrit la variable Dynamic ''contenu'' dans le fichier dont le chemin complet est donné dans ''path''. Génère une exception si le chemin est inconnu, inaccessible, ou si les données ne peuvent pas être écrites (droits,...)
* ''size(path, lg)'' : renvoi la taille, dans la variable Number ''lg'' du fichier dont le chemin complet est donné par ''path''
* ''delete(path)'' : supprimer le fichier dont le chemin complet est donné dans ''path''. Génère une exception si le fichier ne peut pas être supprimé.
* ''rename(old_path, new_path)'' : renomme/déplace le fichier ''old_path'' en ''new_path''. Génère une exception en cas d'erreur (droits, FS différents, chemin cible inexistant).
* ''append(path, contenu)'' : écrit la variable Dynamic ''contenu'' à la fin du fichier dont le chemin complet est donné dans ''path''. S'il n'existait pas, le fichier est créé. Génère une exception en cas d'erreur.
* ''dir(data)'' : prend en compte le chemin donné par ''data'' et renvoi, dans la même variable, la liste des fichiers et répertoires trouvés dans le répertoire indiqué, en multi-champs. Les fichiers //spéciaux// ne sont pas retournés (Unix seulement), ni les pseudo fichiers ''.'' et ''..''
==== hash ====
Module permettant de calculer différents //hash// de données, selon divers algorithmes.
* ''MD2(data, hash)'' : calcul le hash selon l'algorithme MD2 des données fournies dans ''data'' et renvoi le résultat dans la variable ''hash''
* ''MD4(data, hash)'' : calcul le hash selon l'algorithme MD4 des données fournies dans ''data'' et renvoi le résultat dans la variable ''hash''
* ''MD5(data, hash)'' : calcul le hash selon l'algorithme MD5 des données fournies dans ''data'' et renvoi le résultat dans la variable ''hash''
==== json ====
NOTA : module/doc à revoir (treefetch et print)
* ''decode(input, output)'' : réalise le décodage du contenu json présent dans la variable chaîne , et renvoie l'ensemble des clés/valeurs décodées dans la chaîne