rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire...

71
Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entreprise Rapport de stage en entreprise Rapport de stage en entreprise Rapport de stage en entreprise Création d’un outil de Création d’un outil de Création d’un outil de Création d’un outil de Supervision du réseau Supervision du réseau Supervision du réseau Supervision du réseau Responsables de stage : Mr Romain FAIFEU, responsable informatique Mr Jean-Louis HAILLANT, administrateur réseaux Tuteur : Mme Marie-France LASSALLE Année universitaire : 2007-2008 Licence informatique Sylvain CASALE

Transcript of rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire...

Page 1: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques

Rapport de stage en entrepriseRapport de stage en entrepriseRapport de stage en entrepriseRapport de stage en entreprise Création d’un outil deCréation d’un outil deCréation d’un outil deCréation d’un outil de Supervision du réseauSupervision du réseauSupervision du réseauSupervision du réseau

Responsables de stage : Mr Romain FAIFEU, responsable informatique Mr Jean-Louis HAILLANT, administrateur réseaux Tuteur : Mme Marie-France LASSALLE

Année universitaire : 2007-2008Licence informatique

Sylvain CASALE

Page 2: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage
Page 3: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 1 -

RRRRemerciementsemerciementsemerciementsemerciements

Je tiens particulièrement à remercier :

- Mr Roland STREIT, P.D.G de la société STREIT GROUPE, pour m’avoir accueilli en tant que stagiaire au sein du site de Clerval pendant trois mois.

- Mr Romain FAIFEU, responsable informatique et responsable du stage, pour sa disponibilité, son soutien et son aide tout au long de la réalisation de mon projet, et pour m’avoir au mieux intégré dans le service informatique.

- Mr Jean-Louis HAILLANT, administrateur du réseau et développeur réseaux pour son aide, ses conseils ainsi que l’apprentissage du travail d’administrateur réseau.

- Mme Jennifer SEPPING chargée de la communication, pour m’avoir procuré les informations relatives à l’entreprise pour la rédaction de mon rapport.

Ainsi que toutes les personnes qui m’ont permis de réaliser mon stage dans d’excellentes conditions et ont facilité mon intégration au sein de l’entreprise. Je pense plus particulièrement à :

- Mme Martine DORNIER et Mr. Fabien OLERON du service informatique. - Mr Christophe DARCOT et Mr Xavier POURCELOT du service contrôle de gestion. - Mlle Carole DARCOT et Mlle Sandrine POUX des ressources humaines. - Mr Rémy BARTHELME et Mr. Thibaud DURET du service commercial. - Mr Fabrice GINDRE directeur des sites de Clerval et de Santoche

Page 4: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 2 -

SommaireSommaireSommaireSommaire

Remerciements ..................................... ......................................................... 1 Sommaire .......................................... ............................................................. 2 Table des illustrations ........................... ........................................................ 5 Introduction ...................................... .............................................................. 6 I Présentation de l’entreprise .................... ................................................... 7 I.1 Activité du groupe ……….................................................................................7

I.2 Service informatique ........................................................................................7 II Présentation du sujet .......................... ....................................................... 9 III Le cahier des charges ......................... ................................................... 10 III.1 Analyse des problèmes ..............................................................................10

III.2 Ajout d’autres fonctions ..............................................................................10 IV Documentation et autoformation ................. ........................................ 11 IV.1 Documentation ...........................................................................................11

IV.1.1 Qu’est ce que le WMI ? ...................................................................11

IV.1.2 Utilité de WMI ..................................................................................12

IV.1.3 Fonctionnement de WMI .................................................................12

IV.1.4 Utilisation en programmation .......................................................... 13

IV.2 Auto-formation ............................................................................................13

IV.2.1 Etape ......................................................................................……..14

IV.2.2 Récompense personnel ...................................…........................... 14 V Etude approfondie du sujet ...................... .............................................. 15 V.1 Etude personnelle .......................................................................................15

V.2 Réunion avec le service informatique …......................................................15

V.3 Elaboration de la démarche à suivre ….......................................................16

Page 5: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 3 -

VI Développement du projet ........................ ............................................... 17 VI.1 Etude personnelle ......................................................................................17

VI.2 Conception de la base de données ............................................................17

VI.3 Elaboration des scripts ............................................................................18

VI.3.1 Accès à une information ..................................................................19

VI.3.2 Parcourir les propriétés d'un objet WMI ..........................................20

VI.3.3 Rechercher une information ............................................................21

VI.3.4 Code inclue dans les scripts ........................................................... 22

VI.4 Conception des pages interactives ............................................................ 23

VI.4.1 Version bêta 1.1 ..............................................................................23

VI.4.2 Version bêta 1.2 ..............................................................................24

VI.4.3 Version bêta 2 .................................................................................25 VII Améliorations ................................. ........................................................ 27 VII.1 Réflexion sur les améliorations pouvant être apportées ........................... 27

VII.2 Implémentation des nouvelles fonctions ...................................................27

VII.2.1 Contrôle des processus ................................................................. 27

VII.2.1.1 Arrêt d'un processus distant .............................................27

VII.2.1.2 Création d'un nouveau processus ....................................29

VII.2.2 Recherche d’un type ou d’un nom de fichier ..................................30

VII.2.3 Création d’une surveillance ............................................................31 VIII Tests et problèmes rencontrés ................ ........................................... 33 VIV Autres activés durant le stage ................ ............................................ 34 VIV.1 Service informatique ................................................................................34

VIV.2 Formation contrôle qualité .......................................................................34

VIV.3 Banc d’essai ............................................................................................ 34

VIV.4 Aide aux utilisateurs .................................................................................35 Bilan du stage ……………………............................ ..................................... 36 Conclusion …....................................... ........................................................ 37 Bibliographie ….................................... ........................................................ 38

Page 6: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 4 -

Netographie …...................................... ........................................................ 39 Glossaire …........................................ .......................................................... 41 Annexe 1 : Présentation détaillée de la société Annexe 2 : Liste des tables créées Annexe 3 : Exemple de script Annexe 4 : Représentation graphique de l’outil Tous les mots de mon rapport qui sont en bleu sont dans le glossaire.

Page 7: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 5 -

Table des illustrationsTable des illustrationsTable des illustrationsTable des illustrations

Fig. IV.3.1: Architecture WMI ..................................................................................12 Fig. VI.2.1 : Table « infoProcesseur » .....................................................................18 Fig. VI.3.2.1 : Résultat de requête sur « Win32_LogicalDisk» ................................20 Fig. VI.4.2.1 : Page de relevé d’information sur une machine ................................ 24 Fig. VI.4.2.2 : Capacité et espace libre du disque dur d’une machine ................... 25 Fig. VI.4.3.1 : Formulaire pour rechercher un type de machine ..........................…25 Fig. VII.2.1.1.1 : Gestionnaire des tâches (processus) ...........................................28 Fig. VII.2.1.2.1 : Formulaire permettant de créer un processus ..............................29 Fig. VII.2.2.1 : Formulaire de recherche d’un type de fichier .................................. 30 Fig. VII.2.2.2 : Résultat de recherche d’un type de fichier ...................................... 30 Fig. VII.2.3.1 : Page d’accueil sans surveillance .....................................................32 Fig. VII.2.3.2 : Bas de la page d’accueil lors de surveillance ..................................32

Page 8: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 6 -

IIIIntroductionntroductionntroductionntroduction

La troisième année de licence informatique à l’université des sciences et

techniques de Franche-Comté, se termine par un stage en entreprise d’une durée minimum de 12 semaines. Je réalise cette période à la fois d’apprentissage et de fin de formation dans la société STREIT GROUPE, située à Clerval (25), entre le 12 mars et le 01 juin 2008.

Ce stage permet d’appliquer et d’approfondir les connaissances acquises au cours de la formation scolaire, et d’en découvrir d’autres. Il permet aussi de s’impliquer de manière durable dans la vie d’une société ou tout au moins dans l’un de ses services.

Pour ma part, mon travail est destiné au service informatique de l’entreprise. Le but est de lui permettre de récupérer des informations sur les ordinateurs du groupe, de faire un suivi du parc informatique, d’estimer les éventuels coûts pour les faire évoluer, ainsi que faire du préventif sur l’état des ordinateurs et éventuellement renouveler un type de machine.

Apres une présentation succincte de l’entreprise ce rapport vous indiquera les

différentes étapes qui ont permis la réalisation du projet. Il exposera notamment les moyens employés pour y parvenir, les ajouts d’autres fonctionnalités en complément du cahier des charges, les tests accomplis et la résolution des problèmes rencontrés.

Pour terminer, vous prendrez connaissance des autres activités qui ont été effectuées lors du stage et qui ont permis une plus grande participation à la vie de l’entreprise.

Page 9: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 7 -

I I I I PPPPrésentation de l’entrepriserésentation de l’entrepriserésentation de l’entrepriserésentation de l’entreprise

I.1 Activité du groupe

STREIT Groupe est un spécialiste de l’usinage et de l’assemblage de composants mécaniques en fonte, en acier et en aluminium, pour les constructeurs et les équipementiers automobiles. STREIT Groupe usine ainsi des pièces en petite, moyenne et grande série et intervient en maîtrise d’œuvre sur la quasi-totalité de son activité.

Afin d’accroître sa valeur ajoutée globale, le groupe s’est diversifié. En amont

du cycle de production, la filiale de STREIT Industries , STREIT Ingénierie (bureau de développement du groupe), participe à l’analyse des process, étudie et réalise les outillages et les équipements de production spéciaux.

Les différents savoir-faire industriels du groupe sont le tournage, le perçage,

l’équilibrage, le fraisage, l’alésage, l’assemblage, la soudure et de plus en plus souvent certains travaux de finition. Le groupe sait répondre aux exigences de ses clients en terme de délais, de qualité et de productivité, et s’est ainsi imposé comme un « fournisseur d’avenir » de l’industrie automobile.

La forte politique d’investissements menée au cours des dernières années

ainsi que l’intégration du processus d’industrialisation montrent la volonté de partenariat recherché par STREIT Groupe avec les constructeurs automobiles et les grands équipementiers.

I.2 Service Informatique Le service informatique est devenu indispensable au sein de l’entreprise, en

effet celui-ci a de nombreuses tâches à effectuer. Depuis de l’achat du matériel informatique, à sa mise en place et à la gestion des informations qui transitent.

En effet le service informatique n’a en aucun cas le droit à l’erreur, il est vital

pour l’entreprise. Cela s’explique par le fait que c’est lui qui s’occupe de gérer les mails donc la communication avec l’extérieur et l’intérieur de l’entreprise. Il doit aussi s’occuper de la réception des informations venant des partenaires et qui doivent être converties et intégrées dans leurs bases de données. En effet dans le cas où le service informatique ne serait plus opérationnel, plus aucune communication ne pourrait s’effectuer et il deviendrait tout simplement impossible de gérer la société (bon de livraison, commande, gestion des stocks, sauvegarde des données ….)

Page 10: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 8 -

Le service informatique dépend de STREIT GROUPE car il agit sur toutes les

sociétés du groupe telles que STREIT Mécanique (Clerval 25), STREIT Pontarlier (Pontalier 25), STREIT Ingénierie (Pompierre 25), STREIT Thaon (Thaon 25), STREIT Nova Pazova (Serbie) et STREIT Trnava (Slovaquie). Il est situé sur le site de Clerval, au sein de la holding, avec les services : comptabilité, ressources humaines, commerciaux, achats, études ainsi que la direction, qui sont les services qui demandent le plus de ressources informatiques et de maintenances.

Le service est composé de 4 personnes :

Mr FAIFEU Romain responsable informatique dont les missions sont d’optimiser les traitements et les systèmes informatiques en apportant une assistance technique aux utilisateurs. Il a pour tâche de :

- prendre en charge l’ensemble des projets informatiques de la société et de garantir la fiabilité, la cohérence et de l’évolution du système d’information sur le plan technique et fonctionnel. - Conseiller la direction lors de l’étude de solutions nouvelles (choix de logiciels, matériel, architecture réseau …). - Concevoir des solutions pertinentes aptes à répondre aux exigences de l’entreprise. - Définir les besoins pour l’entreprise et d’assurer une veille technologique. - Assurée la confidentialité des informations de la société qui sont stockées ou transmises sur le réseau.

Mr HAILLANT Jean-Louis développeur réseau qui a pour mission d’optimiser

la circulation de l’information en définissant les besoins et l’architecture à mettre en place et gérer les interconnexions entre les systèmes réseaux. Mme DORNIER Martine analyste programmeur qui a pour mission de développer et effectuer la maintenance des applications informatiques, rédiger des notices techniques et des guides pour les utilisateurs. Mr OLERON Fabien qui a pour mission l’assistance et la formation des utilisateurs ainsi que la réparation des postes.

Vous retrouvez une description plus précise de l’entreprise en annexe 1.

Page 11: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 9 -

II II II II PrésentPrésentPrésentPrésentatatatation du sujetion du sujetion du sujetion du sujet

Le but du stage est, après une familiarisation avec les nouveaux outils, de

livrer un outil logiciel permettant de superviser l’ensemble des ordinateurs du groupe. Les données devront être récupérées et stockées dans une base de données. Une interface permettra de consulter l’état du parc, d’alerter en cas de problème (dépassement de certains seuils) et d’effectuer des requêtes. Cette interface devra être cependant assez rapide.

L’objectif était de développer un outil opérationnel, en prenant des initiatives et en choisissant le langage de programmation.

Cette application a pour but de faire en local et temps réel de la prévoyance sur les ordinateurs du groupe et permettre de simplifier le travail du service informatique pour connaître les ressources de chaque machine. Par exemple elle permettra de connaître les logiciels installés sur un poste, l’espace libre sur le disque et ainsi prévoir des défaillances. Elle permettra aussi de lister chaque type de machine sur le réseau et ainsi estimer leur coût éventuel de renouvellement.

Exemple de problématique : quelles sont les machines qui ont moins de 512 mégaoctets de mémoire ?

Page 12: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 10 -

III LIII LIII LIII Le cahier des chargese cahier des chargese cahier des chargese cahier des charges

III.1 Analyse des problèmes

Il faut tout d’abord avoir à l’esprit l’architecture du groupe STREIT, en effet

celui-ci dispose d’un grand nombre de sites dispersés dans le monde. Il existe cinq sites en France, un en Slovaquie, et deux en Serbie (le deuxième étant en construction). Le service informatique doit gérer toutes ces sociétés, ce qui engendre un nombre d’ordinateurs conséquents auquel se rajoute la difficulté du travail à distance. Il devient donc très utile de pouvoir estimer l’état du parc informatique en temps réel, organiser le préventif et estimer les coûts du renouvellement.

Cet outil aura deux missions : - Il devra permettre l’alerte du service informatique en cas de problème sur

poste tel que l’espace disque insuffisant, ainsi que la consultation des informations matérielles de tous les ordinateurs du groupe.

- Le fichier informatisé du parc, permettra sa gestion de manière optimum et plus rapide.

De plus le bénéfice des actions préventives effectuées suite à ces alertes

permettra un gain de productivité, le risque de défaillance des ordinateurs étant réduit.

III.2 Ajout d’autres fonctions Au cours de l’avancement du projet, et de la familiarisation avec le mode de

travail du service informatique, j’ai pensé ajouter quelques modules à l’application tels que :

- le lancement d’une application à distance. - la fermeture d’une application à distance. - la recherche d’un fichier sur un poste. - la recherche d’un type de fichier sur un poste. - la surveillance de connexion d’une machine. - la surveillance de l’utilisation du processeur d’une machine

De cette façon l’outil devient interactif et permet une réelle supervision du réseau.

Page 13: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 11 -

IV DocumentIV DocumentIV DocumentIV Documentationationationation et auto et auto et auto et auto----formationformationformationformation

La réalisation du projet a nécessité la recherche d’une documentation

importante, plus particulièrement en ce qui concerne «Windows management instrumentation », auquel de nombreuses heures ont été consacrées.

Ce chapitre vous en résume ses fonctionnalités afin que la lecture de ce rapport vous soit plus aisée.

L'administration des machines fonctionnant sous Microsoft Windows relève

souvent du casse-tête. Certes des outils puissants sont prévus pour faciliter au mieux la tâche de l'administrateur (Active Directory, Microsoft Operation Manager...) mais ceux-ci sont souvent trop lourds pour répondre à des besoins simples.

Mise à part la facilité, il y a aussi un problème de possibilité. Il sera en effet difficile de lancer ou tuer un processus, d'installer ou désinstaller un logiciel sur une machine distante.

Windows Management Instrumentation, plus connu sous l'acronyme WMI répond en partie à cette problématique

IV.1 Documentation

IV.1.1 Qu’est ce que le WMI ? Windows Management Instrumentation (WMI) est un composant du système

d'exploitation Microsoft Windows qui permet la gestion d'informations et de contrôles dans un environnement d'entreprise.

En effet, grâce à WMI, en utilisant des composants standard, les administrateurs peuvent dorénavant récupérer et configurer des informations sur des machines, des applications, des réseaux et autres composants à distance. Les développeurs peuvent utiliser WMI pour créer leurs propres applications afin de gérer rapidement les informations, de modifier des paramètres à distance (configuration IP par exemple), redémarrer une machine.

WMI offre une grande variété de fonctions utilisables par de nombreux langages de programmation comme le HTML, le C++, le Visual Basic Script (VBS) et permet donc de finaliser les applications de monitoring avec des modules adaptés et performants.

WMI apparaît ainsi comme une «boîte à outils » permettant l’administration de réseaux dont la taille est en principe sans importance. Mais il s’agit en fait d’une boite à outils très rudimentaire car elle ne propose pas d’outils prêts à l’emploi. Elle se présente plutôt sous forme d’une « machine outils » dont les utilisateurs avertis peuvent se servir pour fabriquer leurs propres outils d’administration.

Page 14: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 12 -

IV.1.2 Utilité de WMI Comme son nom l'indique, WMI est un instrument de gestion de Windows. Il

permet non seulement de consulter les paramètres de configuration de n’importe quel ordinateur d’un réseau mais encore de les modifier, si besoin est. Peu importe alors ce que l’on souhaite : que ce soit connaitre le nombre d’imprimantes couleurs à court de papier dans un domaine donné ou établir la liste des châssis de tous les ordinateurs d’un bâtiment de l’entreprise ou encore simplement arrêter l’exécution d’un programme donné sur ordinateur distant du réseau, le champ d’application de WMI est quasiment universel à tout point de vue.

En plus de pouvoir gérer un très grand nombre de ressources locales ou

distantes, WMI a l'avantage de ne pas utiliser directement les API (Application and Programming Interface), ce qui permet au programmeur de n'avoir pas à connaître par cœur toutes les API du système d'exploitation pour réaliser sa requête. Ainsi le programmeur pourra par exemple accéder et récupérer le nom et la vitesse du processeur très simplement.

Le deuxième gros avantage de WMI, est qu'il ne se limite pas aux ressources locales, mais également aux ressources distantes. On peut interroger, gérer un ordinateur du réseau local ou tous les ordinateurs d'un même groupe de travail. Ceci permettant à un administrateur réseau de gérer son parc informatique très facilement et à distante pour par exemple, changer l'IP d'une machine des machines, en surveiller d'autres ou encore récupérer des informations sur leur configuration matérielle et logicielle.

IV.1.3 Fonctionnement de WMI

Dans l'architecture WMI, tout repose autour du CIMOM (Common Information

Model Object Manager). Ce n'est pas simplement un noyau central, c'est un moteur. En effet, c'est par lui que transitent les demandes faites par les applications accédant à WMI et également les informations obtenues. Il s'occupe de la gestion : il stocke les fournisseurs WMI, les dispose dans le CIM (Common Information Model) et s'occupe également de la sécurité, en validant ou non, les demandes de l'utilisateur, des applications, avant la connexion à WMI etc.

Fig. IV.3.1 : architecture WMI

Page 15: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 13 -

Le CIMOM communique donc avec les fournisseurs des ressources. Chaque

fournisseur correspond à un objet géré (disque dur, processeur, heure du système, etc…) et communique avec l'objet via son API et expose un modèle d'accès normalisé. C'est le procédé qui permet donc à WMI de communiquer avec toutes les ressources d'un ordinateur.

Mais ceci nécessite encore un élément important : le CIM. Celui-ci nommé

parfois " référentiel WMI ", représente de manière uniforme les informations de configuration et les représentations des ressources. Il contient aussi le plan général des ressources ainsi que quelques données statiques.

Ainsi, lorsque l’on veut accéder à un périphérique, il se connecte au service WMI qui lui, va se charger de trouver l'API correspondante. Puis il transmet les requêtes de l'utilisateur aux bons fournisseurs (providers), qui lui retournent les informations demandées.

IV.1.4 Utilisation en programmation Aujourd'hui, de nombreuses applications utilisent WMI pour récupérer et gérer

des informations distantes. En effet, contrairement à certaines applications utilisant le contrôle distant, WMI ne nécessite pas l'installation d'un client spécifique sur l'ordinateur à interroger. Tous les PC comprenant un système d'exploitation Microsoft Windows 2000 ou plus récent possèdent obligatoirement la dernière version de la couche WMI.

WMI est utilisable depuis un grand nombre de langages de programmation (VBS, C++ et plus généralement les langages pouvant appeler des fonctions API). Dans un programme utilisant WMI, la première chose à faire consiste à préciser la librairie de classes nécessaire : System.Management.dll. C'est en utilisant cette librairie que nous pourrons utiliser librement les classes WMI. IV.2 Autoformation

Le corps du sujet était d’utiliser WMI. Il m’a fallu faire un travail de recherche et de documentation sur le sujet, ce qui a été effectué avant mon arrivée dans l’entreprise. Au cours de l’avancement de mon projet et suite au choix de la base de données SQL serveur, une autre documentation a du être accomplie sur celle-ci.

Il ne faut pas oublier que l’investissement nécessaire à l’initiation est

relativement important lorsqu’il s’agit de WMI. Mais cet investissement est toujours payant, car WMI permet de venir à bout de presque toutes les tâches d’administration sur le réseau. WMI n’est pas une technologie éphémère. Elle occupera, dans les années à venir, une place centrale dans l’administration automatisée

Page 16: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 14 -

IV.2.1 Etape

Il existe plusieurs méthodes pour affronter le challenge que constitue WMI. La

première serait de suivre une formation Microsoft officielle). On peut aussi se plonger dans quelques « pavés » (par exemple Scripting pout administrateurs de Tobias Weltner, paru chez Microsoft Press) ou bien tenter de se frayer un chemin dans la documentation officielle.

Mais il existe encore une autre méthode qui consiste à se former à partir de courts exemples et qui permet non seulement de réussir dès les premiers essais mais encore d’éprouver le sentiment gratifiant d’avoir pu prendre pied sur un nouveau territoire. J’ai donc entrepris celui-ci, et on se rend compte alors que, dans ce domaine, ce n’est pas plus difficile qu’ailleurs.

Après familiarisation avec les requêtes WMI et l’écriture de petits scripts VBS, j’ai pu tester les différentes classes WMI. Après un temps d’adaptation pour bien comprendre le fonctionnement de ces class disponibles sur Internet, il m’était possible de récupérer de nombreuses informations de ma machine locale.

Ensuite j’ai étudié le fait de pouvoir créer des fichiers sur le disque dur qui permettent de faire des sauvegardes des données récupérées. Et ainsi pouvoir faire des statistiques et voir l’évolution de la machine.

Puis mes scripts m’ont permis de modifier des informations sur la machine, comme par exemple la redéfinition de l’heure grâce à un petit script VBS faisant appel à WMI.

Quelques jours plus tard l’acquisition des droits administrateur sur le domaine

du groupe STREIT Clerval, a permis l’amélioration des scripts et leurs tests sur des machines distantes.

IV.2.2 Récompense personnelle

Cette auto formation m’a permis de pouvoir élaborer plusieurs types de

solutions et à facilité mes choix dans l’avancement de mon projet. En effet j’ai découvert de nouveaux types de langages, tel que le HTA qui est une application HTML. Je me suis ainsi familiarisé avec une nouvelle façon de travailler, en prenant des initiatives.

L’utilisation des classes WMI étant bien comprise je me suis donc penché pleinement sur le projet.

Page 17: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 15 -

V V V V EEEEtude approfondie du sujettude approfondie du sujettude approfondie du sujettude approfondie du sujet

L’étude du sujet se déroule en trois étapes :

- Etude personnelle - Présentation de mes choix à messieurs FAIFEU et HAILLANT - Elaboration de la démarche à suivre

V.1 Etude personnelle

Le langage de programmation n’étant pas imposé, je pouvais le choisir. En étudiant plus précisément le sujet, il m’a paru judicieux de trouver une solution pour que l’outil soit très facilement accessible depuis n’importe quel poste du réseau. De cette façon le personnel du service informatique, même en déplacement, pourra être en mesure de consulter les informations. Ces critères étant définis, le choix fut de créer une application web en HTML.

La deuxième problématique était qu’il fallait créer des scripts pour récupérer les informations des machines. Ceux-ci portant sur WMI, au moins trois langages de programmation étaient possibles. Je me suis donc penché sur deux langages : java script et Visual basic script (VBS). Les deux étant équivalents, et ayant eu un module portant sur java script cette année, le choix fut de prendre le langage VBS afin de progresser dans celui-ci.

La dernière problématique concerne le stockage des informations recueillies pour pouvoir les consulter lorsque les postes ne sont plus connectés sur le réseau, et pour créer des historiques.

Utilisant PHP mon premier choix fut d’utiliser une base de données MySQL.

Une question se pose, comment identifier les machines sachant que les adresses IP ne sont pas fixes mais délivrées par un DHCP ? On ne peut donc pas les utiliser, car elles sont susceptibles de changer à tout moment.

De ce fait il me faudra utiliser le DNS pour connaître le nom des machines associées à une adresse IP à un moment donné. V.2 Réunion avec le service informatique

Celle-ci avait pour but de valider la compréhension du sujet de stage et de proposer mes choix de programmation pour traiter celui-ci.

Toutes mes options furent validées hormis la base de données. En effet il s’est avéré qu’une base de donnée « SQL serveur » était déjà en place sur l’ordinateur sur lequel le soft sera hébergé. Il était donc plus judicieux d’utiliser la même base de données.

Page 18: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 16 -

L’entretien a permis aussi de cibler les informations capitales qui devaient être

récupérées grâce à WMI, telles que l’espace libre d’un disque dur d’une machine avec un historique pour permettre de connaître l’évolution, les mises à jours installées etc. V.3 Elaboration de la démarche à suivre

La première démarche fut d’énumérer toutes les informations que l’outil devait pouvoir fournir. La liste étant importante en voici quelques exemples : Espace libre du disque dur, modèle du processeur, capacité mémoire, modèle de la carte mère, logiciels installés …

Ensuite il faut pouvoir associer chaque adresse IP à un nom de machine, cela se fera grâce au DNS et un petit script en Batch.

Puis elle consiste à créer une multitude de scripts en langage VBS, spécialisés par type d’information à rechercher plutôt qu’un unique script pour une recherche globale. Ce choix sera expliqué un peu plus tard. Chaque script enregistrera ses données dans la base SQL Serveur dans laquelle les tables seront préalablement créées.

Une fois tous les scripts écrits, nous nous intéresserons à la partie HTML et PHP pour récupérer les informations dans la base de données et les afficher.

Page 19: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 17 -

VI VI VI VI Développement du projetDéveloppement du projetDéveloppement du projetDéveloppement du projet

Pour créer cet outil de supervision du réseau STREIT, il me faut utiliser des

scripts en VBS, et développer une interface en PHP associée à une base de données SQL Serveur.

PHP est un langage qui vient s’intégrer dans le code HTML et qui, une fois traité par le serveur, va générer une page web. De part sa syntaxe très proche du C, il est très facile d’accès, et sa connectivité aux bases de données permet de créer rapidement et simplement des sites Internet dynamiques.

SQL Serveur est un système de gestion de bases de données. VI.1 Principe de fonctionnement

Le principe de fonctionnement consiste tout d’abord à implanter sur un serveur une base de données et un serveur web, sur lequel on intègre des scripts écrits en VBS. Lorsqu’on se connecte sur le site intranet et que l’on désire obtenir un type d’information, le code PHP défini quel script il faut exécuter sur le serveur. Ce script teste alors si la machine est accessible et si c’est le cas le script est alors exécuté. C'est-à-dire qu’il relevé les informations voulues puis les enregistre dans la base de données. Une fois ces opérations effectuées, la page affiche les informations qui ont été écrites dans la base de données. Dans le cas où la machine ne serait pas accessible, le script est stoppé et la page affiche les informations contenues dans la base de données si celles-ci existent. Sinon elle affiche « la machine distante n’a pas répondu »

La page web affiche la date de la dernière mise à jour, de cette façon on peut savoir si la machine a répondu à notre requête. Si cela est le cas la date de mise à jour doit être égale à la date courante. VI.2 Conception de la base de données

Après l’analyse des différentes informations qu’il fallait récupérer, et surtout dans un souci de rapidité, le choix fut de créer une table pour chaque classe d’information à récupérer. Diviser pour mieux régner !

Dans un premier temps la première table créée, est nommée NSLOOKUP, elle contient trois champs : nom machine, adresse IP et la date de mise à jour de l’information. Cette table permet de connaître la liste des machines et leur IP qui sont sur le réseau. Celle-ci est nommée NSLOOKUP car c’est grâce à cette commande que l’on peut retrouver le nom de la machine associée à une IP. Puis pour les raisons évoquées précédemment un certain nombre de tables furent créées, le principe étant de créer une table pour chaque type d’information à récupérer. Voici un extrait des tables créées : memoireSystem, InfoProcesseur, infoCarteMere, espaceLibreDD, logicielInstallé …. Toutes ces tables possèdent au minimum 2 clefs, le nom de la machine et la date de mise à jour de l’information.

Page 20: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 18 -

Les noms des tables ont été choisis pour décrire au plus proche la réalité des

informations qu’elles contiennent pour pouvoir les retrouver rapidement en raison du nombre important de tables. Voici un exemple d’une table remplie :

Fig. VI.2.1 : Table « infoProcesseur »

Cette table contient les informations du processeur de chaque machine, comme vous pouvez le constater elles sont nombreuses et précises. Dans l’avancement du projet d’autres tables sont créées. Vous pouvez retrouver la liste des tables en annexe VI.3 Elaboration des scripts .

La première problématique était de pouvoir implémenter la table NSLOOKUP décrite précédemment. Pour cela il faut comprendre l’architecture du réseau. Celui-ci se décompose en huit sous-réseaux. Un script batch fut créé, il parcoure toutes les IP de tous les sous réseaux et les insère dans un fichier texte. Le lancement de ce script se fait par un script VBS. Celui-ci lance le script batch et attend la fin de son exécution. Ensuite il lit le fichier qui a été créé puis insère les informations dans la base de données, et termine en supprimant le fichier créé par le script batch.

Le critère principal était de créer un outil efficace en rapidité de réponse et qui utilise le moins de ressource possible, étant donné que le serveur n’est pas utilisé uniquement pour cette application, et surtout de ne pas perturber le réseau. Pour ces raisons, on applique deux principes :

- Faire le plus simple possible car quelque chose de simple est d’autant plus efficace. - Diviser pour mieux régner.

Page 21: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 19 -

L’administrateur du système n’a pas toujours besoin de voir l’ensemble des

paramètres mais seulement ceux dont il a besoin. En effet, si l’on désir récupérer uniquement les informations du processeur il est inutile de recherche toute autre information.

En appliquant ces deux principes, on crée un script pour chaque classe d’information à récupérer. Ces scripts ont pratiquement tous la même structure.

VI.3.1 Accès à une information

La première étape consiste donc à se connecter à WMI. C'est le CIMOM qui

autorise ou non la connexion en fonction des paramètres fournis, qui correspondent aux informations de ‘logon’ de Windows (nom d'utilisateur et mot de passe). Nous créons d'abord les différentes variables dont nous aurons besoin par la suite

Pour obtenir une information via WMI, il faut connaitre le "chemin" de cette information. Sous Windows, ces chemins commencent généralement par "Win32_". Prenons l'exemple : recherche la taille libre en octet de notre disque dur. Cette information est aussi accessible via WMI (bien qu'on utilise un 15 tonnes pour liver une carte postale) grâce à son nom : Win32_LogicalDisk

Avec ce nom, on obtient un objet de type Win32_LogicalDisk qui possède la propriété DeviceID (ainsi que FreeSpace et Size). Si vous voulez obtenir le disque C, c'est donc "Win32_LogicalDisk.DeviceID=""c:""".

Pour obtenir cet objet, System.Management nous propose la classe ManagementObject qui possède un constructeur attendant le nom du chemin de l'information recherchée : Dim oDisk As New ManagementObject("Win32_LogicalDisk.DeviceID=""c:""")

Pour l'instant, l'objet oDisk n'a effectué aucune recherche d'informations, c'est une coquille vide. Pour qu'il travaille un peu, il faut lui « secouer le cocotier » grâce à la méthode Get : oDisk.Get()

Maintenant pour obtenir les propriétés de notre disque, il suffit de savoir que ManagementObject possède un indexeur dont la clé est le nom de la propriété. Ainsi, pour connaitre l'espace disque disponible, c'est oDisk("FreeSpace").

Page 22: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 20 -

Moralité, on obtient le taux d'occupation de notre disque C ainsi : Debug.WriteLine(100 * Decimal.Parse(oDisk("FreeSpace").ToString()) / Decimal.Parse(oDisk("Size").ToString()) & "%")

VI.3.2 Parcourir les propriétés d'un objet WMI Maintenant que l'on sait obtenir une valeur d'une propriété, il serait peut être

intéressant d'en parcourir l'ensemble pour découvrir l'objet. Une simple itération sur Properties nous suffira :

Dim oDisk As New ManagementObject("Win32_LogicalDisk.DeviceID=""c:""") oDisk.Get() For Each oP As PropertyData In oDisk.Properties If Not oDisk(oP.Name) Is Nothing Then Debug.WriteLine(oP.Name & "(" & oDisk(oP.Name).GetType.Name & ") : " & oDisk(oP.Name).ToString) End If Next

Ce qui donne sur une machine :

Fig. VI.3.2.1 : Résultat de requête sur « Win32_LogicalDisk»

Page 23: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 21 -

VI.3.3 Rechercher une information

Le WMI utilise des requêtes très semblables au SQL, d'où le nom de WQL.

Comme si l'ordinateur était une base de données, le WMI exécute une requête afin d'en ressortir seulement les informations choisies. Par exemple : Select * From Win32_LogicalDisk

Pour effectuer cette requête, System.Management met à notre disposition l'objet ManagementObjectSearcher. Pour connaitre l'espace disque libre de ma machine :

Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk") For Each oD As ManagementObject In searcher.Get If Not oD("FreeSpace") Is Nothing Then Debug.WriteLine(oD("DeviceID").ToString & " " & (Decimal.Parse(oD("FreeSpace").ToString) / 1024 ^ 3).ToString & " Go") End If Next

Moralité, notre code du début devient encore plus simple :

Dim oDisk As New R

Dim oDisk As New ROOT.CIMV2.Win32.LogicalDisk("c:") Debug.WriteLine(100 * Decimal.Divide(New Decimal(oDisk.FreeSpace), New Decimal(oDisk.Size))

Et pour l'itération sur l'ensemble des disques logiques de notre machine, on utilise la méthode partagée du type ROOT.CIMV2.Win32.LogicalDisk GetInstances :

For Each oD As ROOT.CIMV2.Win32.LogicalDisk In ROOT.CIMV2.Win32.LogicalDisk.GetInstances If oD.Size.GetHashCode > 0 Then Debug.WriteLine(100 * Decimal.Divide(New Decimal(oD.FreeSpace), New Decimal(oD.Size))) End If Next

Il est clair que nous aurions pu récupérer un bien plus grand nombre d'informations. En effet, rien que pour le système d'exploitation il en existe une quarantaine (comme la date d'installation, le service pack, la langue par défaut …). Néanmoins il est logique que plus le nombre d'informations est important ou moins la requête est précise, plus le temps de récupération est long

Page 24: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 22 -

VI.3.4 Code inclus dans les scripts Un exemple de script est présent dans l’annexe 3. Les scripts commencent par l’ajout d’une fonction « include » élaborée pour

permettre de faire appel à un autre script, le script qui est appelé étant est un script de connexion. De cette façon, si l’on change les mots de passe de la base de données, on devra uniquement les changer dans le script de connexion, cela est d’autant plus important vu le nombre de scripts.

Suivi de la commande la plus importante du script, « set WmiService=

GetObjet (« winmgmts//nomMachine/root/cimv2 ») ». La fonction getObjet, qui est très peu utilisée en dehors de la programmation WMI, récupère une « référence » pointant sur le ServiceManager omniprésent de WMI. Ceclui-ci établit la liaison avec WMI.

On utilise ensuite la classe « Win32_PingStatus » pour vérifier si la machine répond.

Dans le cas où la machine est accessible, on crée une instance sur la classe désirée, il en existe des centaines. Etant donné qu’une seule et même requête peut parfaitement concerner plusieurs ordinateurs, il peut ainsi avoir plusieurs instances, mais au moins une par « objet » concerné. C’est la raison pour laquelle la variable ‘Instances’ peut contenir plusieurs séries de paramètres de configuration de l’ordinateur.

On contrôle ensuite si l’objet a bien été créé, de cette façon on élimine les machines qui seraient sous un autre système d’exploitation.

Si test sont concluants on récupère les informations et on les enregistre dans la base de données.

Suivant les scripts, plusieurs solutions de mise à jour de la base de données sont développées.

Certaines écraseront les anciens enregistrements, pour les remplacer par les nouvelles informations obtenues, d’autres insèreront de nouvelles informations, et enfin certains mettront à jour des champs dans les tables.

Pour permettre une gestion d’historique sur certaines classes telles que la gestion de l’espace disque d’une machine, il m’a fallut créer un script qui puisse s’exécuter automatiquement et périodiquement grâce au gestionnaire des tâches planifiées.

Ce script se connecte tout d’abord à la base de données pour récupérer les noms des machines à tester contenus dans la table NSLOOKUP. Ces informations sont enregistrées dans un tableau. On parcoure celui-ci, et pour chaque IP une exécution d’un certain nombre de sous scripts est activée, ce qui permet le maintien à jour des informations qui ont besoin d’un historique.

Page 25: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 23 -

VI.4 Conception des pages interactives Nous nous intéressons à présent au développement de l’interface graphique.

La première chose fut de créer une page d’identification pour contrôler l’accès. En effet l’outil est réservé au service informatique, et de nombreuses options qui ont été ajoutées pourraient nuire à l’entreprise si elles étaient entre des mains mal intentionnées comme par exemple le fait de pouvoir créer des processus à distance ou en fermer.

Le principe étant de s’identifier sur une page d’accueil et que ces identifiants et mot de passe soient stockés dans des cookies jusqu'à ce que le site soit fermé.

Pour permettre une meilleure sécurisation, l’identifiant et le mot de passe associés sont l’identifiant de connexion à la base de données, et non une table utilisateur comme habituellement ; de cette façon, aucun identifiant de connexion n’est écrit en clair dans le code.

VI.4.1 Version bêta 1.1 Une fois identifiée la première version bêta 1.1, nous dirigeait directement sur

un autre formulaire, sur lequel il fallait indiquer la machine sur laquelle nous voulions avoir des informations soit en tapant son nom ou son adresse IP, soit en sélectionnant dans une liste créée grâce à la table NSLOOKUP et l’information désirée. Que se passe-t-il lors de l’envoi du formulaire ?

Les paramètres envoyés permettent de définir quel script le serveur doit exécuter. Pour cela une commande PHP nommée ‘exec()’ lance le script .

Cette commande traite ses arguments comme la spécification d'exécution d'un

ou plusieurs sous-processus. Les arguments prennent la forme d'un pipeline shell standard où chaque arg devient un mot d'une commande, et chaque commande distincte devient un sous-processus.

Exemple : exec("wscript.exe \"sous_script\MemoireSysteme.vbs\" \"$nomMachine ");

Comme vous pouvez le constater les scripts étant écrit en VBS on utilise wscript.exe pour les exécuter, on passe alors le chemin du script, puis les paramètres nécessaires à son exécution.

Le code PHP attend la fin de l’exécution des scripts pour continuer, il relève alors les informations contenues dans la table correspondant dans la base de données identifiées par le nom de la machine.

Page 26: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 24 -

Dans le cas où ces informations ne seraient pas présentes, la page affiche,

que la machine distante n’a pas répondu. Ces informations sont souvent affichées dans des tableaux, pour permettre

d’avoir un affichage clair.

VI.4.2 Version béta 1.2 La version bêta 1.2 intègre le formulaire dans la même page, et ajoute quelques images pour plus de convivialité, voici le rendu :

Fig. VI.4.2.1 : Page de relevé d’informations sur une machine

Une amélioration a été aussi apportée sur la rubrique détail de stockage, en effet cette partie génère un historique d’espace libre du disque dur de la machine. Il fut donc intéressant d’exploiter ces données de façon graphique. Pour ces raisons trois graphiques ont été mis en place, un correspond aux dernières vingt-quartes heures, un autre aux trente-et-un derniers jours et un sur les douze derniers mois. Il s’agit donc de trois graphiques glissants, un traitement se fait à partir d’une date au format « datetime » extrait dans la table « espacelibre ». Ensuite les données sont ajoutées à des listes qui permettent de générer les trois graphiques grâce à la bibliothèque graphique.

Page 27: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 25 -

Voici un exemple de graphique

Fig. VI.4.2.2 : Capacité et espace libre du disque dur d’une machine

Ces graphiques ont deux courbes, la première étant l’espace libre du disque dur, mais pour avoir une vraie idée d’utilisation de la capacité utilisée du disque, la courbe de la capacité totale fut ajoutée. On peut donc d’un simple coup d’œil voir l’évolution du disque. Imaginons maintenant que la courbe de l’espace libre chute brutalement, on pourrait alors déceler un problème, tel qu’une mauvaise utilisation, ou un programme mal veillant qui affecterait le disque, et cela permettrait de résoudre le problème avant d’atteindre des espaces libres critiques pour une bonne utilisation de la machine.

Vous pouvez retrouver le type des informations relevées et leur rendu dans les annexes.

VI.4.3 Version béta 2

La version bêta 2 implémente un autre type de recherche d’information, en effet l’outil devait pouvoir permettre de faire une recherche sur un type de machine. Une seconde page fut créée avec un autre formulaire que voici :

Fig. VI.4.3.1 : Formulaire pour rechercher un type de machine

Page 28: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 26 -

Ce formulaire demande de renseigner le type de requête : Capacité du disque

dur en giga octet, l’espace libre du disque dur en giga octet, l’espace libre du disque dur en pourcentage la capacité mémoire en méga octet et la fréquence du processeur en méga hertz. Il faut ensuite choisir son critère (supérieur, inférieur, égal) et la valeur. Pour un souci de rapidité de réponse l’envoi du formulaire n’exécute aucun script, la page résultat se contente de faire des requêtes précises sur la base de données.

Bien entendu les tables sont fréquemment mises à jour, comme cela vous a été expliqué précédemment. Il existe un script d’auto exécution pour mettre à jour les tables importantes.

Il faut à présent faire le lien entre les deux types de recherche, celui d’information d’une machine et celui de recherche d’un type de machine.

Une page d’accueil est donc créée. Celle-ci est placée directement après l’identification, dans un premier temps cette page contient simplement les liens des deux pages.

A cette étape le cahier des charges fut rempli, nous pouvions consulter un grand nombre d’informations d’une machine et rechercher un type de machine pour permettre d’avoir des statistiques plus précises sur le parc informatique.

Mais durant mon séjour dans le service informatique, un certain nombre d’idées d’ajout de fonctions m’a paru utile c’est pourquoi j’en ai fait part à mon maître de stage et élaboré un second cahier des charges qui vous est décrit dans le chapitre suivant intitulé : améliorations.

Page 29: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 27 -

VII VII VII VII AAAAméliorationméliorationméliorationméliorationssss

VII.1 Réflexion sur les améliorations pouvant être apportées

Etant donné qu’un script récupère les informations, tel que le gestionnaire des

tâches, avec tous les processus lancés sur la machine, leur utilisation CPU et mémoire. Il m’a paru fort intéressant de trouver une solution pour fermer un processus à distance.

Le second point découle du premier fermer un processus est fort intéressant mais en créer un le serait aussi.

De plus lors de mon passage dans le service informatique, un certain nombre d’interventions à distance ont été réalisées, en utilisant ultra VNC mais pour un souci de sécurisation le logiciel n’est pas lancé automatiquement sur les postes il faut donc contacter l’utilisateur pour qu’il lance manuellement le logiciel. Pour ces raisons cette option peut apporter une aide pour le service informatique.

Deux autres fonctions on été ajoutées, la première permet de rechercher un type de fichier, il suffit de renseigner l’extension du type de fichier et il scanne alors la machine. La seconde permet de rechercher un fichier sur une machine, très pratique de faire des recherches sur un poste même si le disque n’est pas partagé.

Le dernier point est de créer des surveillances d’état sur certaines machines. Ces surveillances portent sur l’état de connexion de la machine plus précisément sur une réponse de Ping, le pourcentage d’utilisation du CPU, la capacité d’espace disque libre.

L’idéal serait bien entendu de pouvoir surveiller constamment toutes les machines du groupe, mais cette option utiliserait trop de ressources sur le serveur et pourrait entrainer des ralentissements sur le réseau. VII.2 Implémentation des nouvelles fonctions

VII.2.1 Contrôle des processus

VII.2.1.1. Arrêt d'un processus distant

Dans notre listing précédent nous avons récupéré la liste des processus ainsi que l'ID spécifique à chaque processus. Maintenant, pour arrêter un processus, il nous faut travailler sur un objet identifié et unique, d'où la nécessité de connaitre l'ID du processus, seul élément unique. Une fois cette information récupérée, nous pouvons demander à la requête de trouver l'objet (le processus) désiré.

Contrairement à la lecture d'informations sur un objet WMI distant, nous sollicitons des méthodes sur cet objet. Dans notre cas, nous invoquons la méthode "Terminate ". Cette méthode peut être utilisée pour terminer le processus. Précédemment nous avons créé une liste d’informations nommées « liste des processus » qui, comme son nom l’indique, peut être assimilée au gestionnaire de tâches. Il ma paru judicieux d’ajouter cette option dans celui-ci, ce qui permet d’une

Page 30: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 28 -

simple sélection et d’une confirmation de fermer un processus, sur le même affichage nous pouvons analyser l’utilisation du processeur et de la mémoire de la machine. Ceci qui peut être à présent vraiment comparé au gestionnaire de tâches. Voici l’exemple :

Fig. VII.2.1.1.1 : Gestionnaire des tâches (processus) Le tableau n’est pas complet pour réduire l’affichage dans le rapport

Page 31: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 29 -

VII.2.1.2 Création d'un nouveau processus

WMI ne permet pas simplement de travailler sur des objets existants, il permet

également d'en créer de nouveaux chez l'hôte distant. Cette fois-ci, nous créons un nouvel objet s'exécutant depuis la classe

W32_Process. Il est alors reconnu comme un "objet processus". A ce moment, c'est un objet vide sur lequel il est nécessaire de remplir certaines informations comme : l'exécutable et les paramètres. Une fois ces paramètres remplis, il ne reste plus qu'à invoquer la méthode "Create " qui se charge de créer un "vrai" processus. A ce stade, quelques soucis me sont apparus ; les mises à jour Microsoft bloquant partiellement ce service, les processus sont bien créés sur la machine distante mais ne sont pas accessibles par l’utilisateur. Il ma donc fallut trouver une autre solution, celle-ci utilise un petit utilitaire nommé « psexec »

L'intérêt de cet outil est de pouvoir exécuter n'importe quelle commande sans qu'il soit besoin d'installer quoique ce soit sur l'ordinateur client.

Le principe est d’envoyer les informations à l’utilitaire qui ont été précédemment remplies dans un formulaire. De plus on peut créer un processus et lui passer un paramètre comme par exemple : « ouvrir internet exploreur » et le rediriger sur un site désiré, ou bien encore lancer wscript.exe et lui passer un paramètre (un script VBS qui est sur le disque dur du serveur qui afficherait une information sur le poste distant). Voici le formulaire :

Fig. VII.2.1.2.1 : Formulaire permettant de créer un processus

Page 32: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 30 -

VII.2.2 Recherche d’un type ou d’un nom de fichier

Ces deux recherches utilisent le même principe de fonctionnement en

remplissant un formulaire, et on exécute un script qui scanne tout le disque dur de la machine distante. Une fois les fichiers trouvés, le script enregistre leur nom et leur emplacement dans la base de données et le site PHP les affiche. Voici l exemple :

Fig. VII.2.2.1 : Formulaire de recherche d’un type de fichier

Fig. VII.2.2.2 : Résultat de recherche d’un type de fichier

Page 33: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 31 -

VII 2.3 Création d’une surveillance

Cette partie est l’une des plus complexe à développer, aussi bien pour les scripts que pour le code PHP.

Apres avoir renseigné un formulaire approprié il faut exécuter un script, mais

contrairement au précédent il faut que le code PHP continue à s’exécuter sans attendre la fin de celui-ci, en effet le script ne se termine pas de lui même. Pour cela on utilise la ligne de commande : pclose(popen("start /b wscript.exe \"SurveillancePing.vbs\" \"$ip\" \"$priorite",'r'));

Le script fait un certain nombre de traitements en boucle avec des

temporisations entre chaque, en cas de réponse de la machine distante les informations sont enregistrées, dans les différentes tables de la base de données.

La surveillance des postes est automatiquement ajoutée sur la page d’accueil pour être accessible très rapidement, ce travail a demandé de nombreux traitements, en effet si aucune surveillance n’est active, rien ne sera visible sur la page d’accueil.

Pour ce qui concerne l’utilisation du CPU, un graphique est automatiquement créé permettant de voir son utilisation sur la machine distante, actualisé toutes les minutes.

Le plus gros souci fut de pouvoir supprimer une surveillance, en effet nous avons réussi à lancer le script et à continuer l’exécution du code PHP, mais nous avons perdu la trace du processus. On utilise la fonction créée précédemment pour fermer un processus, le seul problème est de connaitre quel processus est associé à quelle surveillance. Or à chaque fois qu’on crée une surveillance, nous transmettons des paramètres et il s’avére ensuite que le nom du processus est modifié et contient, en plus, le nom de ces paramètres. Etant donné qu’un paramètre correspond au nom de la machine il suffit de fermer le processus qui est associé au nom de la machine désirée. Exemple : voici le nom d’un processus « wscript.exe "SurveillanceProcesseur.vbs" "st241" »

Si l’on désire supprimer la surveillance du processeur de la machine st241 il nous suffit de terminer le processus portant ce nom.

De plus la page d’accueil est automatiquement réactualisée toutes les 30 secondes pour permettre le maintien à jour visuel des surveillances.

Page 34: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 32 -

Voici quelques exemples :

Fig. VII.2.3.1 : Page d’accueil sans surveillance

Voici un exemple de surveillance créée, celui-ci s’ajoute donc a la page d’accueil

Fig. VII.2.3.2 : Bas de la page d’accueil lors de surveillance

Page 35: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 33 -

VIII TVIII TVIII TVIII Testestestestssss et problème et problème et problème et problèmessss rencontrés. rencontrés. rencontrés. rencontrés.

De nombreux tests sont élaborés, ceux-ci sont réalisés tout au long de

l’avancement du projet. Ils m’ont permis de résoudre rapidement les erreurs de syntaxe.

Mais ils étaient principalement élaborés localement et sur les ordinateurs du service informatique. Or lorsque tout fut fini, il restait un problème sur une ou deux machines du réseau, une solution fut apportée en modifiant les scripts. On teste en plus de la réponse de « Ping » si la création de l’objet WMI est éffectuée. Si cela n’est pas le cas on stoppe les scripts.

Mais pour quelle raison les scripts n’ont ils pas pu créer l’objet ? Le principe est simple, en effet la machine distante répondait à la requête de Ping, mais il ne faut pas oublier que WMI n’est utilisable que sur Windows. Voila pourquoi il faut tester si la machine distante possède bien un système windows. Bien que le parc informatique soit constitué majoritairement de systèmes Windows il se trouve que quelques machines sont utilisées sous l’environnement linux.

Un autre problème rencontré fut de pouvoir créer un processus, en effet il s’est avéré pour des raisons de sécurité que Microsoft bloquait le lancement d’application à distance avec WMI. Ce souci fut contourné en utilisant un petit utilitaire « psexec ».

De nombreux tests ont été élaborés sur la surveillance des postes comme par exemple comment le script réagit si le pc perd la connexion, ou bien lorsque celui se reconnecte. Après quelques modifications, comme l’ajout d’un test de Ping à chaque boucle, les tests furent concluants.

Page 36: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 34 -

VIV VIV VIV VIV AutreAutreAutreAutressss activ activ activ activititititéééés durant ces durant ces durant ces durant ce stage stage stage stage

Durant ce stage je me suis investi dans plusieurs activités, j’ai eu la chance de

pouvoir visiter deux autres sites, ceux de Santoche et de Pompierre. J’ai assisté à une formation contrôle qualité, ainsi que participé à un test de

fiabilité des pièces au banc d’essai. Bien entendu j’ai également aidé autant que possible les utilisateurs en leur apportant une aide sur des petits problèmes techniques informatiques. VIV.1 Service informatique

Lors de mon stage, je me suis parfois retrouvé seul dans le bureau durant quelques minutes, sachant que l’équipe pouvait être amenée à se déplacer sur les autres sites. J’ai donc répondu au téléphone, appels internes et externes, ce qui m’a permis de communiquer avec des commerciaux informatiques et de pouvoir prendre un certain nombre de responsabilités. J’ai par ailleurs eu la chance de pouvoir démonter un ordinateur portable pour le réparer, et je l’ai remonté par la suite, la petite anecdote, il me restait une micro vis dans les mains à la fin : « il parait que c’est le métier qui rentre ».

Mon investissement personnel au sein de ce service a été largement récompensé, par mon responsable qui m’a laissé de plus en plus de responsabilités et de droits. VIV.2 Formation contrôle qualité

Cette formation m’a éclairé sur le fait que chaque personne de l’entreprise a un impact sur le produit final. La qualité de nos jours est omniprésente, STREIT GROUPE attache une grande importance aux contrôles qualité. Ils sont très nombreux et effectués sur toutes les chaînes de production, de plus les pièces sont marquées pour la traçabilité. VIV.3 Banc d’essai

J’ai eu la chance de pouvoir participer à un essai de destruction de pièces. Celui ci s’est déroulé en plusieurs étapes.

Tout d’abord, une explication sur le but de ces essais m’a été faite. En effet, l’élaboration des pièces n’est pas uniquement un produit qui doit répondre à des plans, mais dans de nombreux cahiers des charges il y a des conditions de résistance à appliquer. Celles-ci ne peuvent être réellement mesurées qu’avec un test réel.

Pour ces raisons de nombreux prototypes doivent être élaborés avant de lancer la production en grande série. Après ces explications, nous avons installé une pièce sur le banc d’essai, et avons lancé le test. La force de la machine est impressionnante, le morceau de métal

Page 37: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 35 -

se brise comme du verre. Nous avons donc relevé les courbes de forces et analysé le point de rupture de la pièce. Celui-ci correspondait bien au cahier des charges. Nous avons ensuite répété l’opération trois fois, avec en ce qui concerne les deux derniers essais, la mise en place d’un système de caméra vidéo qui enregistre les images à grande vitesse. Nous avons terminé par visionner les vidéos, de cette façon nous pouvons voir exactement le point précis de début de rupture et ainsi étudier comment rigidifier la pièce. VIV.4 Aide aux utilisateurs

Durant mon stage j’ai essayé d’aider les utilisateurs, le plus souvent possible. Ce travail était varié, il allait de l’utilisation de logiciels tels qu’Excel, à la recherche de solutions pour l’utilisateur. De cette façon j’ai pu élaborer un petit script, pour permettre à un utilisateur de faire une sauvegarde périodiquement d’un certain nombre de fichiers sur sa clé USB. Cela lui a facilité son travail, surtout que tous les fichiers n’étaient pas placés au même endroit.

Page 38: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 36 -

Bilan du stageBilan du stageBilan du stageBilan du stage

L’application apportera sans aucun doute une aide pour le service

informatique, d’ailleurs elle a même été utilisée alors qu’elle était encore en cours de création. J’espère sincèrement que j’ai apporté un plus à l’entreprise tant avec l’application qu’avec l’aide que j’ai pu apporter au personnel. Le sujet de stage à été élaboré par l’entreprise pour répondre à des besoins, en plus d’avoir rempli le cahier des charges j’ai apporté d’autres fonctions qui faciliteront d’autant plus le travail du service informatique.

Mon stage m’a permis de mieux connaître le métier d’informaticien du point de vue humain. En effet il m’est arrivé fréquemment de devoir aider les utilisateurs pour des configurations, ou résoudre quelques soucis techniques. Je me suis familiarisé avec le monde du travail dans une importante société avec hiérarchie et groupes de travail, ce qui m’a totalement conquis. L’ambiance de travail était plus que satisfaisante, le contact avec le personnel fut très rapide et convivial, cela est peut être dû à l’ambiance familiale qui règne au sein de l’entreprise. Certains jours, principalement au mois de mai avec les ponts je me suis retrouvé avec plus de responsabilités ce qui m’a permis de me sentir vraiment bien intégré.

J’ai aussi ressenti une grande confiance lorsque mon compte utilisateur a été promu « administrateur du réseau » pour me permettre d’effectuer mes tâches. Il fallait donc éviter toute fausse manipulation qui aurait pu entraîner une dégradation du réseau.

Du point de vue pédagogique, ce stage m’a apporté beaucoup. En effet, j’ai dû faire des choix personnels et prendre des initiatives, me documenter sur le sujet. Le fait de mener un projet seul du début à la fin en me laissant une grande liberté d’expression, m’a permis de progresser et de comprendre l’importance de bien étudier en amont les choix, pour simplifier le travail. J’ai également pu me familiariser avec le VBS, connaître les bases de données SQL serveur, et surtout j’ai beaucoup appris sur le métier d’informaticien grâce aux collègues de travail.

Le service informatique gère par ailleurs les différents problèmes quotidiens rencontrés par l’entreprise : ainsi j’ai aussi aidé certaines personnes sur des points précis, (Excel, connexion réseau …) ou encore démonté et réparé des ordinateurs portables ou de bureau.

Pour résumer, ce stage m’a permis de m’affirmer dans un autre milieu que la vie scolaire et de me conforter dans le choix que j’ai fait en m’orientant vers une filière informatique.

Page 39: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 37 -

CCCConclusiononclusiononclusiononclusion

Le travail réalisé lors de mon stage dans l’entreprise STREIT GROUPE

permet de relever via l’intranet les informations des machines du groupe et de créer des surveillances sur des postes. Le service informatique peut maintenant consulter à distance des informations sur des machines, créer des surveillances et lister le nombre de machines, en fonction de certains critères.

Cet outil, peut être encore amélioré, principalement sur l’ajout de surveillances.

De plus il apporte une aide précieuse au service informatique et pourrait très certainement être utilisé pour d’autres sociétés.

Plus personnellement, je retiens surtout de ce stage l’utilité de ma tâche : réaliser un projet dont le service informatique avait grand besoin et pour lequel il n’arrivait pas à dégager le temps nécessaire à son élaboration.

J’ai par ailleurs pu juger de l’importance du relationnel entre les différents services, mais aussi entre les personnes internes à un service.

Page 40: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 38 -

BibliographieBibliographieBibliographieBibliographie

Les livres consultés pour se documenter sur les scripts :

- Automatisation des Tâches d’administration avec les langages de script, tome 1, Edition WEKA

- Automatisation des Tâches d’administration avec les langages de script,

tome 2, Editions WEKA

- Automatisation des Tâches d’administration avec les langages de script, tome 3, Edition WEKA

- Perl en action, Christiansen et Torkington, Edition O’REILLY

Page 41: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 39 -

NNNNetographieetographieetographieetographie

Les sites visités pour se documenter sur WMI :

- http://cqgclub.dyndns.org/index.php?id=BDC/ToolsCommandLine/WMIC/SYNTHESE_WMI.php

- http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/sommaire.htm

- http://www-igm.univ-mlv.fr/~dr/XPOSE2006/duarte/architecture.html#securite

- http://www.supinfo-projects.com/fr/2004/wmi__fr/introduction/

- http://www.active-desktop.net/french/tutorials/wmi01.htm

- http://www.dotnet-news.com/lien.aspx?ID=1865

- http://www.microsoft.com/france/technet/produits/win2000s/mngwmi.mspx

Les sites visités pour l’auto-formation :

- http://www.siteduzero.com/tuto-3-560-1-html-application.html

- http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/

- http://www.techjp.net/node/16 Les sites visités pour des problèmes de connaissances en HTML, PHP, SQL serveur :

- http://www.asp-php.net/tutorial/sql-server/sqlexpressmanager.php?page=3

- http://pagesperso-orange.fr/bernard.quevillier/touthtm.htm

- http://sql.1keydata.com/fr/

- http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/sommaire.htm

- http://www.phpcs.com/

- http://www.supinfo-projects.com/fr/2005/jpgraph%5Ffr/1/

- http://www.asp-php.net/

- http://www.supinfo-projects.com/en/2005/jpgraph/introduction/

- http://www.aditus.nu/jpgraph/

Page 42: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 40 -

Les sites visités pour des problèmes de connaissances en Visual basic script :

- http://www.commentcamarche.net/vbscript/vbsintro.php3

- http://www.vbfrance.com/

- http://gilmir.developpez.com/tutoriels-vb6/

- http://www.supinfo-projects.com/fr/2006/connexion%5Fvisual%5Fbasic%5F6%5Foracle/introduction/

- http://plasserre.developpez.com/vsommair.htm

- http://vbnet.mvps.org/index.html?code/wmi/win32_systemslot.htm Les forums utilisés :

- http://www.commentcamarche.net/forum/

- http://www.vbfrance.com/

Page 43: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 41 -

GlossaireGlossaireGlossaireGlossaire

Active Directory :

Service d'annuaire de Windows 2000, Active Directory permet de gérer les ressources du réseau : données utilisateur, imprimantes, serveurs, bases de données, groupe, ordinateurs et stratégies de sécurité. Les utilisateurs n'ont pas à se préoccuper de la structure physique du réseau pour accéder à ces ressources. Active Directory simplifie l'administration du réseau en permettant l'accès à toutes ces ressources à partir d'un seul et unique point d'administration. Les autres bénéfices sont une structure hiérarchique flexible et la capacité de monter en charge qui autorise le stockage de plusieurs millions de ressources. API :

(Application and Programming Interface) (En français : Interface pour la programmation d’applications) Ensemble de bibliothèques permettant une programmation plus aisée car les fonctions deviennent indépendantes du matériel. Application :

Les applications sont les outils qui nous permettent de tout faire sur un ordinateur. Les traitements de texte, les tableurs, les navigateurs Web sont des applications (synonymes : Logiciel et Programme). Batch : En informatique, un traitement batch est un traitement à déclenchement automatisé. Par extension, un fichier batch est, sous le système d'exploitation Windows, un fichier contenant une série d'instructions DOS. Ces fichiers, lorsqu'ils sont lancés, exécutent les commandes contenues dans le fichier. Les fichiers batch sont surtout utilisés pour des tâches automatisées, notamment pour la gestion des comptes sur le parc informatique d'une entreprise, d’une université. Bêta :

La version bêta d'un logiciel est une pré-version. Elle n'est pas commercialisée car elle n'est pas encore stable et peut comporter quelques bogues que des "bêta testeurs" sont chargés de détecter. Il est parfois déconseillé d'installer une telle version pour éviter des problèmes sur son ordinateur.

CIM / CIMOM : Le CIM est un modèle de données orienté objets pour la gestion des systèmes, des réseaux, des applications, des bases de données et des périphériques. C++ :

Langage de programmation crée par Bjarne Stroustrup en 1983.Le C++ est un langage de programmation dit "haut-niveau" des laboratoires Bell. Il se distingue de son prédécesseur (le langage C) en proposant une programmation orientée objets. Ce langage est particulièrement utilisé dans les applications demandant de hautes performances.

Page 44: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 42 -

DHCP : "Dynamic Host Configuration Protocol", protocole d'attibution dynamique des adresses IP sur un réseau, de manière à obtenir un nombre plus important de terminaux que d'adresses, basé sur bootP. DNS : Domain Name System. Serveur spécial qui permet de faire correspondre une adresse Web avec une adresse physique comme une adresse IP IP :

C'est un nom ou adresse unique attribué à chaque ordinateur sur un réseau qui permet de l’identifier. Cette adresse est composée de 4 nombres allant de 0 à 255 (32 bits), délimités par des points entre eux. Cette norme est appelée IPv4 et permet de gérer 4 milliards d'adresses IP. La norme IPv6 est en cours de développement et génère les adresses IP sur 128 bits utilisant un système de chiffrage spécial. Cette norme devrait être opérationnelle sur le réseau d'ici 2010. Java script : Langage de Script dont le code s'exécute côté client et qui s'intègre parfaitement aux pages HTML pour créer de petites animations ou interagir avec l'utilisateur. Ne pas confondre avec le Java, langage de programmation sans aucun rapport. HTML :

(Hypertexte Markup Language) Toutes les pages web sont en fait des fichiers texte (extensions .htm ou .html) comprenant des balises HTML. Le langage qui le compose (langage HTML) est basé sur l’existence de balises HTML. Ces balises sont « interprétées » par les logiciels de navigation pour assurer une visualisation « compréhensible » et structurée de chaque page Web Microsoft Operation Manager :

Outil édité par Microsoft permettant d'être informé en permanence de l'état de son environnement informatique. Il permet de détecter des anomalies et de pouvoir les corriger. Il est possible de connaître en temps réel l'état des serveurs et des systèmes qui composent son architecture informatique. Il permet par exemple à un administrateur système de surveiller tous les serveurs et les applications depuis un seul emplacement géographique. Monitoring : Le monitoring permet aussi de contrôler et/ou surveiller un processus en temps réel. MySql :

MySQL est un système de gestion de base de données. Il est très souvent utilisé avec PHP afin de créer un site entièrement dynamique et une mise à jour simplifiée.

Page 45: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

- 43 -

NSLOOKUP : Commande qui permet d'interroger un serveur de noms. PHP :

En français c'est Hypertext Preprocesseur mais, à l'origine "PHP" c'est Pre-HyperTexte-Processor... PHP est un langage utilisé dans des applications web pour écrire des scripts HTML. L'essentiel de sa syntaxe est emprunté aux langages C, Java et Perl, mais y est ajouté plusieurs fonctionnalités uniques. Le but premier de ce langage est de permettre aux développeurs web de concevoir rapidement des sites aux pages dynamiques. Processus :

Le processus est une instance d'un programme en cours d'exécution. Il contient les instructions du programme chargées en mémoire. Il possède un ou plusieurs threads exécutant des tâches spécifiques. Il peut être actif ou passif, en attente d'un événement extérieur. Requête SQL :

Une requête est une opération qui consiste à extraire d’une table (d’une base de données) tout ou partie des éléments qui s’y trouvent. Visual basic script (VBS) :

Langage de script proposé par Microsoft à partir de Visual Basic. Concurrent de JavaScript. WMI :

WMI est l’implémentation de Microsoft du standard WBEM Web Bases Enterprise Management.Infrastructure de gestion de Windows qui prend en charge la surveillance et le contrôles de ressources système via un ensemble commun d’interfaces et qui fournit un modèle organisé logiquement et cohérent des opérations, des configurations, des états de Windows. WQL : WMI Query Language.

Langage de programmation de script WMI semblable au SQL.

Page 46: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

ANNEXE

Page 47: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Présentation dPrésentation dPrésentation dPrésentation détailléeétailléeétailléeétaillée la société la société la société la société

Page 48: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Historique 1968 Création de la société STREIT par Otto STREIT, père du PDG actuel. L’activité de sous-

traitance a débuté dans le sous-sol de la maison familiale avec seulement 2 machines-outils et un seul client : Peugeot.

1970 Roland STREIT rejoint l’entreprise, après des études d’ingénieur à l’École Polytechnique de

Zürich au départ par devoir envers son père. Finalement Roland STREIT, passionné de sport mécanique, n’a finalement jamais quitté l’entreprise familiale qu’il dirige depuis une quinzaine d’années.

1974 L’entreprise réalise alors un chiffre d’affaires de 1.4 MF avec un effectif de 20 personnes pour

atteindre en 1997/98, exclusivement par croissance interne, 90 MF de chiffre d’affaires avec 216 personnes.

1978 Entrée de la SDR Centrest dans le capital. L’entreprise s’installe dans une usine neuve de 1

200m² sur le site de Santoche et passe ainsi d’une activité artisanale à un stade industriel. 1986 Transformation de la société en SA et diversification dans le secteur de la mécanique de loisirs.

Le choix se porte sur la moto de trial, jugeant qu’il y a un marché en devenir en Europe. De plus, l’absence de sociétés japonaises sur ce créneau réduit la concurrence à quelques modèles développés par des PME européennes.

1988 Implantation de cette activité de diversification sur le site de Autechaux. Mise au point d’un

prototype et démarrage de la production. 1989 Production de 600 motos. Le succès commercial constaté, pouvoir atteindre et dépasser

rapidement le point mort de 1 000 motos par an semble réaliste. 1990 Les exigences croissantes des fournisseurs (italiens et espagnols) ont pour conséquence un

dérapage du point mort. De 1 000 engins par an au début du projet, les volumes nécessaires pour atteindre le seuil de rentabilité ont rapidement dépassé les 2 000 machines. Ce constat a poussé Roland STREIT à stopper l’aventure, qui s’est soldée par des pertes substantielles d’environ 10 MF. Au total 1 500 motos auront été construites et vendues. La stratégie est revue : elle consiste en un recentrage sur le métier de base et l’installation d’une activité d’Ingénierie sur le site de Pompierre pour étudier et réaliser les outillages et les moyens spécifiques nécessaires à la production.

1992 Le site de Autechaux est utilisé comme plate-forme logistique 1994 Filiation de STREIT Ingénierie avec un apport partiel d’actif. 1996 Installation d’une activité de production sur le site de Autechaux, qui se spécialise sur les

productions de grandes séries. Création de STREIT Finances, qui rachète la participation de la

Page 49: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

SDR Centrest (34%) ainsi que celle de quelques personnes physiques. Ainsi, à partir de cette date, la totalité du capital est détenue par cette holding familiale contrôlée par Roland STREIT.

1998 Pour accélérer et sécuriser son développement, STREIT Industries décide d’ouvrir son capital au public en inscrivant 25% de son capital au Marché Libre de la Bourse de Paris. 2000 Installation sur le site de Clerval des unités de Baume-Les-Dames et d’Autechaux. Renouvellement de notre triple certification ISO 9002 version 1994, EAQF 94 et QS 9000. 2002 Lancement d’une unité de fabrication de petites séries diversifiées sur le site d’Autechaux. 2003 Reprise du site Valfond APM de Thaon-Les-Vosges avec 100 collaborateurs supplémentaires. 2004 Création d’une filiale en Serbie 2005 Création d’une filiale en Slovaquie 2008 Création d’un deuxième site en Serbie

Page 50: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Métiers Streit Groupe est un spécialiste de l’usinage et de l’assemblage de composants mécaniques en fonte , en acier et en aluminium, pour les constructeurs et les équipementiers automobiles. Streit Groupe usine ainsi des pièces en petite, moyenne et grande série et intervient en maîtrise d’œuvre pour 94 % de son activité. Afin d’accroître sa valeur ajoutée globale, le groupe s’est diversifié. En amont du cycle de production, la filiale de Streit Industries, Streit Ingénierie (bureau de développement du groupe), participe à l’analyse des process, étudie et réalise les outillages et les équipements de production spéciaux.

Les différents savoir-faire industriels du groupe sont le tournage, le perçage, l’équilibrage, le fraisage, l’alésage, l’assemblage, la soudure et de plus en plus souvent certains travaux de finition. Le groupe sait répondre aux exigences de ses clients en terme de délais, de qualité et de productivité, et s’est ainsi imposé comme un « fournisseur d’avenir » de l’industrie automobile. La forte politique d’investissements menée au cours des dernières années ainsi que l’intégration du processus d’industrialisation montre la volonté de partenariat recherché par Streit Groupe avec les constructeurs automobiles et les grands équipementiers.

Organigramme

100% 90%

10% publi

c

100% 100%

Page 51: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Sites de production

STREIT MÉCANIQUE - Santoche Superficie : 8 583 m 2

STREIT MÉCANIQUE - Autechaux Superficie : 2 030 m 2

STREIT INGÉNIERIE - Pompierre / DoubsSuperficie : 1 200 m 2

STREIT MÉCANIQUE - ClervalSuperficie : 10 000 m 2

STREIT THAON-LES-VOSGES Superficie : 10 000 m 2

Page 52: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Produits Streit Groupe est présent sur 4 familles de produits, tous intégrés dans les moteurs de véhicules.

Supports Les supports sont des pièces en métal (fonte, acier ou aluminium), usinées en petite, moyenne et grande série, utilisées pour fixer différents accessoires au moteur (alternateur, climatiseur, pompe ...). Soumis à de fortes contraintes mécaniques et de température, ils ne peuvent être remplacés par des supports en plastique. Ces pièces évoluent rapidement et la réactivité de Streit Groupe est un atout primordial.

Conduits

Les conduits en aluminium servent à transporter les fluides (eau, air, huile, carburant) nécessaires au fonctionnement du moteur, avec une excellente réponse aux contraintes mécaniques et thermiques. La valeur ajoutée de Streit Groupe réside notamment dans sa capacité, après usinage, à assurer les opérations d’assemblage et à nettoyer l’intérieur des conduits grâce à sa machine à ultrasons.

Pièces de turbos Les pièces constitutives des turbocompresseurs usinées par Streit Groupe sont les coudes de captage des gaz d’échappement, le carter de turbine et le carter central. Les turbocompresseurs, qui permettent d’améliorer les performances et surtout de dépolluer les moteurs diesel, connaissent un développement significatif.

Volants moteur

Les volants moteur permettent le démarrage, assurent l’embrayage, donnent l’inertie nécessaire au moteur 4 temps et servent de « métronome » pour les systèmes d’injection. Les nouvelles normes européennes antipollution (qui obligent à produire des moteurs parfaitement réglés à très bas régime) et l’évolution de nouvelles boîtes automatiques, sont autant d’éléments qui assureront une très forte croissance de la

technicité des volants moteurs. Le groupe est également impliqué dans des programmes de développement de volants bi-masse (ajout d’une masse de métal supplémentaire sur la périphérie du volant, qui permet de mieux absorber les vibrations et d’obtenir des moteurs parfaitement réglés à très bas régime), ainsi que dans la mise au point des volants moteur destinés aux boîtes automatiques de demain (meilleure disponibilité de la puissance, confort de conduite, consommation réduite).

Page 53: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Répartition du CA par client direct au 31 mars 2004

Honeywell62,6%

PSA19,3%

GF Mössner 3,6%

Valéo 3,8%

Divers4,2%

Rietschle1%

Koyo Steering 1,7%

CF Gomma 2%PCM 1,8%

Marchés Streit Groupe a concentré son développement sur 4 familles de produits, pour se positionner comme un spécialiste de l’usinage de composants pour l’automobile. Ce positionnement lui permet en effet de mieux cibler les investissements et les efforts de R & D sur des process déterminés. L’objectif est d’être un fournisseur de référence sur ces familles de produits à forte valeur ajoutée. Qualité, productivité et réactivité permettent à Streit Groupe de se positionner en intervenant-clé sur ces marchés. Les clients de Streit Groupe sont les constructeurs et équipementiers français et européens. Pour mieux faire face à la concurrence, ces derniers se sont recentrés sur leur activité principale (R & D, assemblage, marketing, commercialisation) et externalisent de plus en plus certains métiers de la mécanique nécessitant de lourds investissements, difficiles à rentabiliser en interne. Dans ce contexte, Streit Groupe a su s’imposer comme un intervenant reconnu dans l’usinage des composants mécaniques, grâce à ses savoir-faire, à la qualité de son outil industriel, à sa capacité à améliorer sa productivité. Ainsi, le groupe intervient en fournisseur exclusif (single sourcing) pour 94% de ses produits, grâce à un véritable partenariat mis en place avec les clients dès la phase de développement du produit.

Répartition du CA par client final au 31 mars 2004

PSA31,0%

Daimler Chrysler22,0%

VW 2,3%

Ford 2,2%Fiat 1,5%Saab 1,5%

Rover 1,1%Santana 1,3%

Suzuki 1,1%

Divers (Caterpillar, Maruti, TDA …)

20,2%

Renault 2,8%

Volvo 5,0% BMW 8,0%

Page 54: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Principaux équipements 138 Machines Contrôle Numérique :

- Tours - Centres de perçage - Centres horizontaux - Centres verticaux

74 Machines spéciales 7 Métrologies avec 3D 3 Équipements de CAO Catia

Page 55: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 1

Chiffres-clés

Evolution du chiffre d'affaires en Millions

d'euros

13,1

23,4

44 46,6

55,9

6757,7

0

10

20

30

40

50

60

70

1997/98 1998/99 1999/00 2000/01 2001/02 2002/03 2003/04

Investissements en Millions d'euros par an

1,7

6,6

8,27,6

3,5

1,7 1,2

0123456789

1997

/98

1998

/99

1999

/00

2000

/01

2001

/02

2002

/03

2003

/04

Evolution de l'effectif moyen

203

275

338364 360

386

454

0

50

100

150

200

250

300

350

400

450

500

1997/98 1998/99 1999/00 2000/01 2001/02 2002/03 2003/04

Page 56: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 2

Base de données SQL Serveur

Liste des tables créées

Page 57: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 2

Voici la liste des tables créées dans la base de données, ainsi que leurs champs :

Fig. 1 : Liste des tables créées ainsi que leurs champs

Page 58: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 3

Exemple de script

En Visual Basic

Sur les informations du processeur

Page 59: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 3

Cette annexe vous présente un script commenté. '---------------Fonction permettant d'inclure un fichier *.vbs Sub Include(sInstFile) On Error Resume Next Dim oFSO, f, s Set oFSO = CreateObject("Scripting.FileSystemObject") If oFSO.FileExists(sInstFile) Then Set f = oFSO.OpenTextFile(sInstFile) s = f.ReadAll f.Close ExecuteGlobal s End If Set oFSO = Nothing Set f = Nothing End Sub '----------------Inclusion include("Connexion.vbs") On Error Resume Next Set objArgs = WScript.Arguments ‘Récupération des arguments ip=objArgs(0) nomMachine=objArgs(1) ‘Test si les arguments ont bien été récupérés if not ip="" then strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '"&ip&"'")

Page 60: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 3

'Test de ping For Each objStatus in colPings If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then

‘Si on entre dans ces conditions c’est que la machine distante ne répond pas

Else Set objWMIService = GetObject("winmgmts:\\" & ip & "\root\cimv2") ‘On défini alors des tableaux et des variables qu’on initialise.

Dim TabVitesseCouranteHorloge() Dim TabVitesseMaxiHorloge() Dim TabHorlogeExterne() DeviceID="" PoucentageDeChargeTotal=0 IDProcesseur="" i=0

‘ On créé alors un objet en faisant une requête, dans cet exemple elle porte sur les informations du processeur

Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")

‘On parcourt ensuite celui-ci

For Each objItem in colItems

‘On relève un certain nombre d’informations que l’on stocke dans des variables ou des tableaux

Nom=objItem.Name ReDim Preserve TabVitesseCouranteHorloge(i) TabVitesseCouranteHorloge(i)=objItem.CurrentClockSpeed ReDim Preserve TabVitesseMaxiHorloge(i) TabVitesseMaxiHorloge(i)=objItem.MaxClockSpeed ReDim Preserve TabHorlogeExterne(i) TabHorlogeExterne(i)=objItem.ExtClock Description=objItem.Description Fabricant=objItem.Manufacturer if objItem.CpuStatus=1 then Etat="Active" else

Page 61: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 3

Etat="Desactive" end if socket=objItem.SocketDesignation TailleCacheL2=objItem.L2CacheSize NBBit=objItem.AddressWidth DeviceID=DeviceID& objItem.DeviceID &" " PoucentageDeChargeTotal=PoucentageDeChargeTotal+objItem.LoadPercentage IDProcesseur=IDProcesseur& objItem.ProcessorId &" " Version =objItem.Version i=i+1 Next VitesseCouranteHorloge=TabVitesseCouranteHorloge(0) VitesseMaxiHorloge=TabVitesseMaxiHorloge(0) HorlogeExterne=TabHorlogeExterne(0) ‘ On efface les derniers enregistrements dans la base de données strSQLDel = "DELETE FROM [Supervison].[dbo].[InfoProcesseur] WHERE [nomMachine]='"&nomMachine&"'" DBase.Execute(strSQLDel) ‘Puis on insert la nouvelle valeur dans la base de données strSQL = "INSERT INTO [dbo].[InfoProcesseur]([nomMachine],[NBProcesseur],[Nom],[VitesseCouranteHorloge],[VitesseMaxiHorloge],[HorlogeExterne],[Description],[Fabricant],[Socket],[TailleCacheL2],[NBBit],[DeviceID],[PoucentageDeChargeTotal],[IDProcesseur],[Version],[DateMAJ]) VALUES ('"_&nomMachine&"',"&NBProcesseur&",'"&Nom&"',"&VitesseCouranteHorloge&","&VitesseMaxiHorloge&","& HorlogeExterne&",'"&Description&"','"&Fabricant&"','"&Socket&"',"&TailleCacheL2&","&NBBit&",'"&DeviceID&"',"&PoucentageDeChargeTotal&",'"&IDProcesseur&"','"&Version&"','"&now&"')" DBase.Execute(strSQL) ‘On ferme la base de données DBase.Close end if next end if

Page 62: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Représentation graphique de l’outil

Page 63: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

La première étape pour permettre d’accéder à l’outil est l’identification, elle se présenté comme ceci :

Fig. Authentification Après celle-ci, nous arrivons sur la page d’accueil :

Fig. Page d’accueil lorsqu’il n’y a pas de surveillance

Page 64: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Page d’accueil lorsqu’il y a des surveillances

A ce niveau plusieurs choix sont proposés. Par exemple connaître les informations sur un poste précis

Fig. Accueil : information sur une machine

Il faudra ensuite choisir une machine dans la liste de gauche, ou indiquer son nom en haut à gauche. Vous pourrez ensuite sélectionner les informations désirées.

Page 65: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Le processeur Fig. Le système vidéo

Fig. Ordinateur et carte mère Fig. La mémoire

Page 66: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Information sur le détail de stockage

Page 67: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Détails du multimédia Fig. Adaptateur réseau

Fig. Lecteur Réseau Fig. Logiciel installé

Page 68: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Imprimante Fig. Application auto exécution

Fig. Mises à jours installées Fig. Antivirus

Page 69: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Gestionnaire des tâches Fig. Evénement

Fig. Service Fig. Compte utilisateur

Page 70: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

Annexe 4

Fig. Information sur le système

Page 71: rapport stage streit - dept-info.univ-fcomte.fr · Université de Franche-Comté Laboratoire d’informatique UFR Sciences et techniques Rapport de stage en entrepriseRapport de stage

RésuméRésuméRésuméRésumé Le travail de mon stage dans la société STREIT GROUPE a consisté à

élaborer un outil de supervision du réseau, destiné au service informatique afin de lui simplifier quelques tâches.

Cet outil est développé avec le langage php associé à une base de données SQL serveur, ainsi qu’avec des scripts en VB script utilisant des requêtes WMI.

Grâce à cet outil il est possible à la fois de relever un certain nombre d’informations et d’avoir une interactivité sur les ordinateurs de l’entreprise.

J’ai participé au fonctionnement du service informatique en aidant à la

maintenance et en participant à différents projets. Ce stage m’a permis de connaître un peu mieux le monde informatique dans

un milieu industriel.

SummarySummarySummarySummary

My training period’s task in STREIT GROUPE Company was to create a tool for the network’s supervision, this one is going to be used by the IT department in order to simplify their task. This tool was developped under php langage, and with a SQL server’s database. I wrote the script in VB script with the use of WMI’s query. This tool allows the recovery of computer’s informations and an interactivity on the company’s computers for the IT team. I helped the members of IT departement in their Computer’s care task and in different project. This training period allowed me to increase my knowledge about the industrial computer’s world.

Mots clés : Keywords : WMI Réseaux WMI Networks PHP SQL serveur PHP SQL Server VBscript Industrie Automobile VBscript Automotive Industry