Script pour exporter les donnees dans spectrum

Fermé
anobyv Messages postés 19 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 14 août 2014 - Modifié par zipe31 le 30/04/2014 à 11:32
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 6 mai 2014 à 14:59
Bonjour,

Je suis en stage de fin d'etudes et le travail demandé et de comprendre comment fonctionne le script "Export_Spectrum_v1.47.pl" qui est un script qui va extraire des données dans SPECTRUM et en sortie fournit un fichier csv probablement qui est prêt à être importé dans eHealth , cacti ou LMS

Sachant que je viens de débuter en scripting Perl et j'ai pas assez de documentation sur spectrum

SVP votre aide est la bienvenue (peut vous fournir le script)



A voir également:

3 réponses

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
30 avril 2014 à 19:36
Salut anobyv,

S'agissant de Perl, forme toi sur Perl :

https://formation-perl.fr/guide-perl.html (ou un autre cours)

et utilise Perldoc : https://perldoc.perl.org/

Si tu as des questions précises sur Perl, tu peux les poser ici.

S'agissant de Spectrum, que je ne connais pas, demande la documentation à la boite pour laquelle tu travailles, et étudies la.


Dal
0
anobyv Messages postés 19 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 14 août 2014
2 mai 2014 à 11:23
Merci beaucoup.

Y a t il un bon livre que tu me conseillerais egalement
0
anobyv Messages postés 19 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 14 août 2014
2 mai 2014 à 11:31
une petite question : giveSyntax() ça fait quoi exactement ?
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 2/05/2014 à 14:19
giveSyntax()
n'est pas une fonction Perl standard, une recherche sur Perldoc ne renvoie rien du tout : http://perldoc.perl.org/search.html?q=givesyntax

Pour les livres, il y en a beaucoup, mais un livre de référence est " Programming Perl" chez O'Reilly,, co-écrit par Larry Wall, inventeur du langage.

La 4ème édition est sortie en 2012, mais je crois qu'elle n'est disponible qu'en anglais à l'heure actuelle (en français, le titre est " Programmation en Perl", mais la 3ème édition date de 2001).


Dal
0
anobyv Messages postés 19 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 14 août 2014
2 mai 2014 à 15:10
Justement à propos des fonctions qui ne sont pas des fonctions Perl standard....je comprends pas comment ça se passe car j'en ai dans mon script à analyser

ex :

$loggingDir = "E:/Exploitation/";
@sentFiles=getFilesFolder($loggingDir,sent);

là aussi j'ai getFilesFolder() qui n'est pas une fonction Perl standard
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 2/05/2014 à 17:43
si la fonction n'est pas une fonction Perl standard, elle peut être définie :

1- dans le source qui l'appelle (définition
sub getFilesFolder { code }
)

2- dans un module utilisé par le source qui l'appelle (avec une directive
use
), le code du module lui-même (contenant la définition de
sub getFilesFolder { code }
) se trouve alors installé sur le système dans un emplacement standard, l'emplacement des emplacements indiqué par la variable @INC

3- dans un module non installé dans un emplacement standard, mais dont l'emplacement est ajouté dans le code lui-même à @INC, avec une directive du type
use lib '/chemin/vers/module';
, la directive lib t'indique alors où se trouve ton module

si tu es dans le cas 2, tu peux déterminer l'emplacement où se situe un module donné de la façon suivante :

par exemple, si tu as

use HTTP::Request


a la ligne de commande, tu lances :

perl -MHTTP::Request -e'print $INC{"HTTP/Request.pm"} . "\n"'


et sur mon système (Linux Debian), cela donne :

/usr/share/perl5/HTTP/Request.pm

Tu vas ensuite ouvrir le fichier /usr/share/perl5/HTTP/Request.pm pour savoir ce qu'il contient

4- Il y a éventuellement une autre façon de faire, permettant d'inclure dans un source l'exécution du source d'un autre scipt Perl, cependant son usage est découragé. Cela se fait avec une directive
do 'monfichier.pl';
. Si tu es dans ce cas, tu as directement le nom et l'emplacement du fichier ainsi "inclus".

Tu dois trouver le fichier qui contient "sub getFilesFolder" sur ton système.


Dal
0
anobyv Messages postés 19 Date d'inscription mardi 15 avril 2014 Statut Membre Dernière intervention 14 août 2014
5 mai 2014 à 14:20
Merci Dal,

Effectivement j'étais dans le cas 2 et je me suis amusé à aller voir l'emplacement de tous les modules que mon script utilise.

J'ai une autre question

$cipher->start('decrypting');
while (read(ENCRYPTED,$buffer,1852)) {
$decryptedText=$cipher->crypt($buffer);
}
$decryptedText.=$cipher->finish;

est ce que je peux remplacer ce bout de code par :

while (read(ENCRYPTED,$buffer,1852)) {
$decryptedText=$cipher->encrypt($buffer);
}

anobyv
0
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
5 mai 2014 à 18:16
Il semblerait que tu utilises un module de chiffrement (pour déchiffrer, en l'occurrence).

S'il s'agit de modules disponibles publiquement, il y a des changes qu'ils soient sur CPAN : https://www.cpan.org/

Par exemple :

- Crypt::CBC : https://metacpan.org/pod/release/LDS/Crypt-CBC-2.33/CBC.pm
- ou Crypt::ECB : https://metacpan.org/pod/release/APPEL/Crypt-ECB-1.45/ECB.pm

Tu peux accéder à leur documentation et te faire une idée.

Par exemple, si ton module est bien Crypt::CBC, la méthode "start" n'est pas optionnelle : https://metacpan.org/pod/release/LDS/Crypt-CBC-2.33/CBC.pm#start%28%29


Dal
0