1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| #! /usr/bin/perl
package SubnetFileBuilder ;
# La classe SubnetFileBuilder contient une opération de reconstruction du fichier
# des sous-réseaux (organismes).
use strict ;
use POSIX ;
use Configuration ;
use DBI;
#use File::Path; # pour utiliser mkpath( "$ROOTbase/$DIR" , 0 , $perm ); et rmtree()
use File::Compare;
use File::Copy ;
# use English ;
# use File::Temp qw/ tempdir /;
use Carp qw(cluck confess);
#-------------------------------------------------------------------------------------------
# Génération du(es) fichier(s) des organismes à partir de la base de données des numéros IPs
# Les noms sont de la forme :
# organismes_nom.entites_nom.sites_nom
#
# Le nom du fichier généré est recherché dans le fichier de configuration passé en paramètre
# (rubrique NETMAT-ORGA-FILE).
# Si un fichier de même nom existe déjà il est sauvegardé dès lors que la nouvelle version
# est différente de l'ancienne.
#
# Si le fichier de configuration contient un paramètre NETMAT-MERGING-FILE-NAME et qu'il est
# différent de NETMAT-ORGA-FILE un fichier à ce nom est obtenu par copie de NETMAT-ORGA-FILE
# et concaténation de la ligne
# 0.0.0.0/0 "BLACK_HOLE"
#
# Les appels sont de la forme :
# SubnetFileBuilder::buildSubnetFile($DBIdriver,$SQLhost,$SQLdb,$SQLuser,$SQLpasswd)
# ou
# SubnetFileBuilder::buildSubnetFile()
#
# Les paramètres sont
# $DBIdriver : le type de base de données utilisée
# $SQLhost : la machine hôte de la base
# $SQLdb : le nom de la base
# $SQLuser : le nom de l'utilisateur de la base
# $SQLpasswd : le mot de passe de l'utilisateur
# Si la fonction est utilisée sans paramètre un dialogue permet leur saisie
# sur l'entrée standard
#
# Retourne un libellé d'erreur en cas de problème, la chaîne vide sinon.
#
#
sub buildSubnetFile {
DBIdriver : "DBD::mysql";
SQLhost : "localhost";
SQLdb : "netmatdb";
SQLuser : "netMAT";
SQLpasswd : "F1zKbtCd91";
} # buildSubnetFile()
#-------------------------------------------------------------------------------------------
# Liste des organismes de la base de données des numéros IPs.
#
# Les appels sont de la forme :
# SubnetFileBuilder::listSubnets($DBIdriver,$SQLhost,$SQLdb,$SQLuser,$SQLpasswd)
# ou
# SubnetFileBuilder::listSubnets()
#
# Les paramètres sont
# $DBIdriver : le type de base de données utilisée
# $SQLhost : la machine hôte de la base
# $SQLdb : le nom de la base
# $SQLuser : le nom de l'utilisateur de la base
# $SQLpasswd : le mot de passe de l'utilisateur
# Si la fonction est utilisée sans paramètre un dialogue permet leur saisie
# sur l'entrée standard
#
# Retourne un libellé d'erreur en cas de problème, la chaîne vide sinon.
#
#
sub listSubnets {
## A COMPLETER
## Le code de la fonction doit être placé avant le return ci-dessous qui
## dès lors peut être supprimé.
return "SubnetFileBuilder::listSubnets() n'est pas opérationnelle !"
} # listSubnets()
#-------------------------------------------------------------------------------------------
# Génération du fichier des sous-réseaux à partir de la base de données des numéros IPs.
# Le nom du fichier généré est le premier paramètre.
# Si un fichier de même nom existe déjà il est sauvegardé dès lors que la nouvelle version
# est différente de l'ancienne.
#
# Les appels sont de la forme :
# SubnetFileBuilder::buildAlternativeSubnetFile($fileName,$DBIdriver,$SQLhost,$SQLdb,$SQLuser,$SQLpasswd)
# ou
# SubnetFileBuilder::buildAlternativeSubnetFile($fileName)
#
# Les paramètres sont
# $fileName : le nom du fichier généré
# $DBIdriver : le type de base de données utilisée
# $SQLhost : la machine hôte de la base
# $SQLdb : le nom de la base
# $SQLuser : le nom de l'utilisateur de la base
# $SQLpasswd : le mot de passe de l'utilisateur
# Si la fonction est utilisée sans paramètre un dialogue permet leur saisie
# sur l'entrée standard
#
# Retourne un libellé d'erreur en cas de problème, la chaîne vide sinon.
#
#
sub buildAlternativeSubnetFile {
## A COMPLETER
## Le code de la fonction doit être placé avant le return ci-dessous qui
## dès lors peut être supprimé.
return "SubnetFileBuilder::buildAlternativeSubnetFile() n'est pas opérationnelle !"
} # buildAlternativeSubnetFile()
1 ; |
Partager