Gestion Parc Informatique Client UNIX Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
2 Sommaire: Analyse: Scénario Diagramme de cas d'utilisations général Diagramme de cas d'utilisations Diagramme de séquence acteur / système Diagramme de séquence poste client / serveur Diagramme d'activité Diagramme de classe Programmation: Tests et prototypes Résultat Conclusion Présentation du projet: Présentation générale Présentation de la partie client Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
3 Présentation générale Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Description: Il s'agit de développer un système d'inventaire automatise en temps réel A la mise en service d'un poste sur le réseau pédagogique de l'établissement, celui ci devra être reconnu par le système suivant le paramétrage et récupérera dans une base de données les informations matérielles et logicielles du matériel connecte. Ce projet se divise en 3 parties: - Serveur: Détecter la connexion d'un poste Recevoir le relevé d'informations du poste Mettre a jour la base de données ( un utilisateur autorisé pourra configurer le service) - Base de donnes: Récupérer la BdD Extraire des informations de la BdD Exécuter des requêtes pré-programmées sur la base de données -Client: Récupérer les informations du poste Traiter les données mises a jour Envoyer les informations au serveur d'inventaire
4 Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Présentation générale
5 Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Présentation de la partie client Utilisateur lambdaPoste clientPoste serveur Envoie la base de données automatiquement Démarrage du poste Un utilisateur lambda démarre son poste. Au lancement de Xwindow, le poste client exécute un script pour effectuer un inventaire matériel et logiciel. Il appelle ensuite un programme qui effectue une comparaison entre les fichiers d'inventaires, et envoie le fichier au serveur s'ils sont différents. L'ensemble des opérations est compris dans le chargement de Xwindow et est complètement transparent pour l'utilisateur.
6 Scénario L'utilisateur allume son poste ( système d'exploitation UNIX ). Il s'identifie, puis lance une session Xwindow. A la fin du démarrage de la session, le système d'exploitation lance automatiquement le script (shell). Le script effectue dans un premier temps la rotation des fichiers log.txt en log.txt.old (s'ils existent déjà, sinon il les crée). Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
7 Scénario Le script effectue ensuite un inventaire ordonné des informations a récupérer et les stocke dans log.txt dans l'ordre suivant: #Date #Système d'exploitation #Adresse MAC #Processeur #Disques durs #Mémoire vive #Carte son #Carte graphique #Cartes réseau #Configuration réseau #Logiciels Le script appelle ensuite le programme main.exe (C++). Le programme compare les deux fichiers d'inventaire, s'ils sont différents, il établie une connexion avec le serveur et envoie le fichier d'inventaire le plus récent L'intégralité du processus est complètement transparente pour l'utilisateur. Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
8 Diagramme de cas d'utilisations générale Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
9 Diagramme de cas d'utilisations Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
10 Diagramme de séquence acteur / système Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
11 Diagramme de séquence client / serveur Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
12 Diagramme d'activité Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 [BDD non a jour]
13 Diagramme de classes Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1
14 Tests et prototypes Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Algorithme de comparaison des fichiers // Traitement Fichiers for ( unsigned i = 0; !OldFile.eof() && Id; ++i ) { File >> Word; OldFile >> OldWord; //Comparaison if ( Word != OldWord ) { Id = false; File.close(); c_NetworkCommunication Envoi; Envoi.SendToServer( Path_File, IP_SERVER ); }
15 Tests et prototypes Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Algorithme de vérification d'accès ifstream File( Path_File ); //Verification de l'ouverture des fichier if ( File.bad() ) { cerr << "Ouverture de \"log.txt\" echouee" << endl; return -1; }
16 Résultats Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Extrait du fichier log.txt lun fév 12 14:41:58 EET 2007 Linux eth0 Lien encap:Ethernet HWaddr 00:0E:35:16:F7:14 eth1 Lien encap:Ethernet HWaddr 08:00:46:DA:9C:03 vendor_id: GenuineIntel model name: Intel(R) Pentium(R) M processor 1500MHz cpu MHz: cache size: 1024 KB Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/hda9 4,6G 4,2G 321M 94% / udev 252M 164K 252M 1% /dev /dev/hda7 2,1G 127M 1,9G 7% /home total used free shared buffers cached Mem: /+ buffers/cache: Swap: :1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03) 3ddiag resolution a2ps aaa_base aalib
17 Conclusion Rémy Chaumard – BTSIRIS2 – projet GPI client UNIX – revue n1 Une grosse partie du travail a été effectuée: Les normes de communications ont été établies avec l'équipe Serveur. On utilisera le protocole TCP/IP via une communication Socket. L'algorithme de comparaison fonctionne. Le relevé d'informations ordonné fonctionne. Le transfert du relevé fonctionne. L'exécution automatique du script au démarrage fonctionne.