LE CLIENT LINUX


    L'agent d'inventaire linux est écris en Perl. Dans la plate-forme originale ocs inventory, il existait bien un  script qui génèrait, en exploitant des variables d'environnement "symboliques", des fichiers .csv compatibles, mais rien ne procédait à l'inventaire proprement dit. Nous avons donc développé le client Linux intégralement.

    Tout d'abord, je vous invite à consulter et imprimer la structure des fichiers .csv, ce qui vous servira de référenciel en lisant le code.

    La préoccupation majeure de ce travail a été la Portabilité. Débuté dans un premier temps en c, les problèmes pouvant être engendrés par le non respect des normes posix ou le changement de librairies nous a encouragé à utiliser Perl. La aussi, ("There's more than one way to do it"), nous avons toujours fait le choix de l'universalité. Si une information pouvait être recueillie par une commande et des options implémentées sur tous les systèmes depuis system V, ou bien par le biais d'appels systemes à l'implémentation non-garantie, le choix était vite fait. De plus, Perl se pretant particulierement bien au traitement du texte, cela était conforme à l'esprit du langage.

    Le client est composé d'un script principal (OCSF.pl), qui fait appel à deux modules, MaintenanceOCSF.pm et Inventory.pm, qui font eux meme appel au binaire dmidecode (pour la lecture des entetes SMBIOS) et au module Net::FTP de Perl, qui est embarqué avec le client (Ceci afin de ne nécessiter aucun prerequis à l'installation). L'ensemble du code pourrait tout à fait tenir dans un seul et  même script. Juste un soucis d'organisation.

     NB : Le script a été testé entre autre sur une vieille Woody et n'a nécessité aucune installation préalable.



OCSF.pl

    C'est le "main" du programme. Il appelle les scripts après s'être assuré de la lisibilité des deux fichiers de configuration. Il redirige également les entrées et sorties standards de l'application vers des fichiers de log (OCSF.log et OCSF.log.err).
    C'est lui qui lance dmidecode (Programme open source tiers, dont vous trouverez l'adresse du site web dans la section liens) et qui met à disposition du script d'inventaire les informations receuillies. Enfin, il lit et met en mémoire l'identifiant unique de la machine contenu dans le fichier OCSF.id.

MaintenanceOCSF.pm

    C'est lui qui archive, compresse et exporte l'inventaire. Selon la valeur trouvée dans OCSF.ini, il le transfert au serveur, ou sollicite l'utilisateur pour savoir ou le copier (Support amovible).

Inventory.pm

    L'inventaire proprement dit. C'est lui qui récolte les informations et qui construit les 18 fichiers.