Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
SYNTHESE DE STAGE
Première année BTS SIO
ARKADIN |Etage 3, 474 Allée Henri II de Montmorency, 34000 Montpellier
2018
LUCAS GOUDARD AU SEIN DE LA SOCIETE ARKADIN
Synthèse de stage première année
Lucas Goudard 1
1. Remerciements .......................................................................................................... 2
2. Introduction ............................................................................................................... 2
3. Présentation de la société Arkadin ............................................................................. 2
3.1 L’entreprise Arkadin ............................................................................................................ 2
3.2 Le rachat d’Arkadin par NTT Communications ...................................................................... 3
3.3 Présentation service d’accueil du stage : VISION Opération .................................................. 3
4. Objectifs du stage ...................................................................................................... 4
5. Déroulement du stage ................................................................................................ 5
5.1. Accueil dans l’entreprise .................................................................................................... 5
5.2 Vision Network Assessment Tool ................................................................................... 5 5.2.1 Présentation et explication de l’application Vision Network Assessment Tool ................................ 5 5.2.2 Evolution de l’application Vision Network Assessment Tool (beta) .................................................. 9 5.2.3 Evolution de l’application Vision Network Assessment Tool (finalisation) ..................................... 11
5.3 Centreon / Nagvis ........................................................................................................ 21 5.3.1 Présentation des applications Centreon et Nagvis ......................................................................... 21 5.3.2 Prise en main et utilisation de Centreon et Nagvis ......................................................................... 23 5.3.3 Scripting Shell et Powershell ........................................................................................................... 26
6. Conclusion ............................................................................................................... 35
Synthèse de stage première année
Lucas Goudard 2
1. Remerciements
Avant de commencer la synthèse, je tenais à remercier mon tuteur de stage Cédric Bécam ainsi que tous
les membres de l’équipe VISION Opération qui m’ont accompagné durant ce stage, Yannick Heride, Damien
Duransseau, et Yannis Stefas. Sans eux, je n’aurai pas pu acquérir les éléments essentiels me permettant de
réussir ce stage.
Je tenais à remercier aussi Cécile Fons et Guillaume Terol, qui m’ont permis d’intégrer la société Arkadin
dans les meilleures conditions possibles.
Et enfin, je tenais à remercier toutes les professeures et tous les professeurs du BTS SIO qui m’ont
accompagné pendant cette année scolaire
2. Introduction
À la suite de ma première année du BTS SIO au sein de l’établissement Jean Mermoz à Montpellier, un
stage d’une durée de quatre semaines nous ai demandé. Je me suis alors tourné vers la société Arkadin situé au
474 Allée Henri II de Montmorency, 34000 Montpellier.
3. Présentation de la société Arkadin
3.1 L’entreprise Arkadin
Arkadin est l’un des fournisseurs de solutions de collaboration à plus forte croissance dans le
monde. Ils proposent une gamme complète de solutions de Communications Unifiées, de conférences
audios, web et vidéo, et d’événements virtuels. Tous ces services sont proposés dans le cloud pour un
déploiement rapide et évolutif.
L’entreprise compte 42 000 clients dans 32 pays, dont la France, l’Allemagne, le Royaume-Uni,
les États-Unis, l’Australie, la Chine, Singapour et le Japon. Elle a été fondée en 2001 à Paris par son
CEO, Olivier de Puymorin.
La société Arkadin regroupe notamment plusieurs partenaires majeurs comme IBM, Adobe ou
encore le géant Microsoft.
Synthèse de stage première année
Lucas Goudard 3
3.2 Le rachat d’Arkadin par NTT Communications
Grâce à cette acquisition en 2014, NTT Com élargit son offre globale d’outils de collaboration, son alliance avec Arkadin lui permettant de proposer une gamme complète de solutions d’audio, web et vidéo conférence et de communications unifiées dans le Cloud, s’appuyant sur les services d’infrastructure et de support client d’Arkadin. Par ailleurs, NTT Com renforce son offre en se concentrant sur les services de communications unifiées et de collaboration à distance basés dans le Cloud, en s’appuyant sur l’expertise d’Arkadin et sur sa clientèle mondiale.
Quant à Arkadin, les compétences technologiques et financières de NTT Com lui permettent de continuer à se développer à l’échelle mondiale et d’asseoir sa position de leader sur le marché.
3.3 Présentation service d’accueil du stage : VISION Opération
J’ai intégré le service de Vision Opération. L'équipe de Vision Opération est responsable de la mise en œuvre,
de la gestion et du support des services de collaboration Arkadin, avec une portée mondiale et un niveau
d'expertise élevé. L'accent est mis sur Vision, l'équipe est également responsable d'autres services Web et vidéo
(Anywhere, Vidyo et Video Managed Services).
- Vision : Hébergée dans le cloud, ArkadinVision est une solution de conférence simple pour des réunions
plus fluides et plus productives. C’est un outil de conférence unique et flexible.
- Anywhere : ArkadinAnywhere est une application collaborative efficace qui permet d’accéder aux outils
de conférences audio, web et vidéo en un seul clic.
- Vidyo : ArkadinVideo Vidyo est une solution de vidéo conférence de haute qualité à un niveau
professionnel ou/et personnel.
- Video Managed : Video Managed Services est un service d’expertise d’opérateurs certifiés Arkadin. Ils
assurent la gestion et le suivi de bout en bout de la plupart des technologies et terminaux vidéo.
Il est important de signaler que l’équipe VISION Opération travaille selon la
méthodologie DevOPS. Le DevOps est un mouvement en ingénierie informatique et une
pratique technique visant à l’unification du développement logiciel (dev) et de l’administration
des infrastructures informatique (ops).
Par conséquent, l’équipe Opération VISION travaille en étroite collaboration avec les
équipes de conception et de développement dans un environnement DevOps pour assurer le
déploiement rapide et fiable de nouveaux services et fonctionnalités.
Synthèse de stage première année
Lucas Goudard 4
4. Objectifs du stage
Mon stage dans l’entreprise Arkadin se compose en plusieurs parties :
- La première partie consistait à reprendre l’application ‘Vision Network Assessment Tool’ pour y
améliorer l’apparence et l’esthétique, en reprenant le CSS et le HTML du produit.
- La deuxième partie consistait à prendre en main l’application Centreon et l’application Nagvis. En
combinant les deux, j’ai pu créer des ‘maps’ (cartes) sur l’infrastructure Européenne, Américaine et
Asie, et regarder par la suite si les différents services proposés par les serveurs fonctionnent
parfaitement ou non. J’ai ensuite (toujours sur Centreon) récupérer un plugin sur internet et je l’ai
envoyé sur différents serveurs, choisi au préalable, grâce à un script Shell créé par mes soins.
L’application Centreon est un logiciel de supervision (monitoring) informatique. Dans notre cas, on
monitore les serveurs.
Nagvis est un outil de visualisation qui permet de générer des vues métier de la supervision.
- La troisième et dernière partie consiste à découvrir et monter en compétence sur le langage de
scripting PowerShell. PowerShell est une interface en ligne de commande développé par Microsoft
permettant d’administrer les serveurs Windows Server et les postes de travail (Windows 7,
Windows 8/8.1, Windows 10).
Synthèse de stage première année
Lucas Goudard 5
5. Déroulement du stage
5.1. Accueil dans l’entreprise
Le premier jour, j’ai rencontré les membres de l’équipe Vision Opération. Nous avons ensuite
commencé la journée par la réunion hebdomadaire de l’équipe lors de laquelle on échange sur le
travail réalisé par chacun des membres la semaine précédente. Puis est venue une mise au point de
mes compétences acquises lors de ma première année du BTS SIO. On m’a alors détaillé les tâches qui
me seront tout au long de mon stage. Mon travail se compose de trois parties principales.
5.2 Vision Network Assessment Tool
5.2.1 Présentation et explication de l’application Vision Network Assessment Tool
L’application ‘Vision Network Assessment Tool’ consiste à tester les prérequis réseau (les ports et
la bande passante) pour un bon fonctionnement de l’application ‘Vision’. Il se compose de deux étapes
(une page HTML/CSS pour la première étape et de deux pages HTML/CSS pour la deuxième étape selon
le résultat), je m’explique :
o La première étape consiste à tester si tous les ports utilisés par l’application ne sont pas bloqués
un firewall. Cette étape est cruciale au bon fonctionnement des visioconférences. En effet, il
permet de déterminer si la suite du test se fera en UDP ou en TCP. (Si le port 443(https) est
bloqué par le firewall alors la visioconférence ne pourra pas se faire. Si un ou plusieurs ports
sont bloqués alors le test se fera en TCP. Dans le cas contraire, le test se fera en UDP.)
▪ Les ports testés sont :
• Le port 443 pour l’HTTPS.
• Le port 1720 pour la signalisation d’appel.
• Le port 5060 pour le SIP. Le Session Initiation Protocol (SIP) est un
protocole standard ouvert de gestion de sessions souvent utilisé dans les
télécommunications multimédia Il est depuis 2007 le plus courant pour la
téléphonie par internet.
• Le port 5061 pour le SIP à travers le TLS (sécurité de la couche de transport.)
• La plage de ports de 33 000 à 50 000 sert au médio audio, vidéo et
présentation.
o La deuxième étape dépend du résultat de la première étape. En effet, si le résultat est UDP,
alors la page HTML avec le test UDP se lancera, sinon ce sera le test TCP qui se lancera avec sa
page HTML. Finalement, il y a deux possibilités pour cette étape, même si qu’une seule page
va s’afficher. On comptabilise donc 3 pages CSS/HTML au total.
Mais il est préférable pour l’audioconférence de n’avoir aucun port bloqué pour une utilisation en UDP.
En effet, TCP fonctionne uniquement en point à point, c’est pourquoi UDP est utilisé dans le cas de
communications multicast. Le multicast permet l’envoie de paquet d’une source vers plusieurs
destinataires. UDP n’utilise pas d’accusé de réception, donc le transfert de données est rapide. C’est
pourquoi UDP est préférable quand on a des flux (streaming) audio ou vidéo à transporter.
Synthèse de stage première année
Lucas Goudard 6
5.2.2.1 Première étape
Ici tous les ports ne sont pas bloqués par un firewall, un lien nous dirige donc vers la deuxième
étape en mode UDP.
5.2.2.2 Deuxième étape en mode UDP
Le test nous renseigne la capacité de download, la capacité d’upload, et la qualité de service.
Résultat du test UDP
Résultat du test Firewall
Synthèse de stage première année
Lucas Goudard 7
5.2.2.3 Deuxième étape en mode TCP
Le test nous renseigne sur la vitesse de download et la consistance du service.
Nous pouvons constater la nécessité du produit, mais nous pouvons aussi remarquer l’esthétique
basique et simple. C’est ici que je rentre en jeu afin de modifier le visuel du site web pour correspondre
à la charte graphique d’Arkadin. Je n’avais pas, au départ, de grosses contraintes spécifiques d’où la
partie beta qui j’ai mise en place.
Pour réaliser ce travail, j’ai utilisé le langage HTML version 5 ainsi que du CSS pour le style graphique
des pages WEB. Les pages WEB sont hébergés sur un serveur Windows Server 2012 R2 en DMZ.
Résultat du test TCP
Synthèse de stage première année
Lucas Goudard 8
5.2.2.4 Programme initial de la page WEB « test firewall »
Afin de ne pas surcharger ma synthèse, j’ai décidé de présenter seulement le programme de la page
TestFirewall, les autres pages ayant le même quasiment le même programme.
Programme initial - Style CSS
Programme initial - HTML
Synthèse de stage première année
Lucas Goudard 9
5.2.2 Evolution de l’application Vision Network Assessment Tool (beta)
5.2.2.1 Programme ‘beta’
La balise ‘a’ permet de modifier la couleur du texte en bas.
Le ‘. image2’ permet de modifier la taille du logo `cloud’ en
nombre de pixel.
Le ‘div’ m’a permis de styliser le background comme ci-dessous.
Les 2 ‘img’ sont tout simplement les deux logos.
Programme beta - Style CSS
Programme beta - HTML
Synthèse de stage première année
Lucas Goudard 10
5.2.2.2 Premier rendu ‘beta’ des sites
Sur cette beta, on a pu voir les différents défauts et les changer. (Les autres pages HTML ont le même rendu.)
Les défauts sont :
▪ Logo trop grand
▪ Background pas assez foncé
Les nouvelles exigences sont :
▪ Nouvelles dispositions des logos
▪ Mise en place d’encadrements des titres
Synthèse de stage première année
Lucas Goudard 11
5.2.3 Evolution de l’application Vision Network Assessment Tool (finalisation)
5.2.3.1 Programme HTML et CSS du site final
Dans cette page web, seul et affiché le rendu final. J’ai fait beaucoup de test pour avoir une page web
optimisée (comme de nouvelles polices (@font-face), ou encore des images, etc.). Mais les contraintes
de mon tuteur ne m’ont pas permis de les intégrer, tel qu’un changement de police d’écriture. Il fallait
quelque chose de simple.
Le ‘BODY’ permet de styliser le corps du site.
Le ‘P’ permet
de styliser les
paragraphes.
Programme Final - CSS Style
Programme Final - CSS Style (suite) Programme Final - CSS Style - Rendu graphique
Synthèse de stage première année
Lucas Goudard 12
Le ‘. haut’ représente la cellule rouge en haut de page.
Le ‘. middle’ représente la cellule grise en milieu de page qui permet d’encadrer les plugins
Le ‘.bas’ représente la cellule noire en bas de la page
Programme Final - CSS Style
Programme Final - CSS Style - Rendu graphique
Synthèse de stage première année
Lucas Goudard 13
Le ‘@font-face’ avait pour but d’intégrer une nouvelle police non connue par le logiciel afin de styliser la page. Il n’a malheureusement pas été retenue.
Le ‘. bordure1’ m’a permis de créer une bordure à gauche dans la cellule du haut . Grâce à cela, j’ai pu
à ma guise positionner le logo ‘Arkadin’ en haut à gauche.
l
Le ‘. bordure11’ m’a permis de créer une bordure au milieu dans la cellule du haut . Grâce à cela, j’ai pu à ma guise positionner, souligner, choisir la couleur du titre ‘Vision Network Assessment Tool’ en haut au milieu.
Le ‘. bordure111’ m’a permis de créer une bordure à droite dans la cellule du haut . Grâce à cela, j’aurai pu écrire un texte par exemple en haut à gauche. (C’est d’ailleurs ici que j’avais prévu d’utiliser la nouvelle police.)
Le ‘. Bordure2’ m’a permis de créer une bordure au milieu dans la cellule du milieu. Grâce à cela, j’ai pu styliser le texte à ma guise.
Le ‘. Bordure3’ m’a permis de créer une bordure dans la cellule du bas. Grâce à cela, j’ai pu positionner le logo ‘Arkadin-vision’.
Programme Final - CSS Style (suite)
Programme Final - CSS Style (suite et fin)
Synthèse de stage première année
Lucas Goudard 14
Programme Final - CSS Style - Rendu graphique
Synthèse de stage première année
Lucas Goudard 15
Le ‘div’ représente la stylisation du background.
Le ‘table’ définit la création de la cellule.
Toutes les classes qui sont présentes dans ce code représentent où le CSS va s’appliquer.
<img> va donc subir le CSS « bordure1 » et va être donc placé à gauche, comme souhaité dans le CSS.
Programme Final - HTML
Programme Final - HTML - Rendu graphique
Synthèse de stage première année
Lucas Goudard 16
Le ‘table’ définit la création de la cellule du milieu.
Toutes les classes qui sont présentes dans ce code représentent où le CSS va s’appliquer.
<a> va donc subir le CSS « bordure2 » et va être donc placé au centre, comme souhaité dans le CSS.
Programme Final - HTML (suite)
Programme Final - HTML - Rendu graphique
Synthèse de stage première année
Lucas Goudard 17
Le ‘table’ définit la création de la cellule du bas.
Toutes les classes qui sont présentes dans ce code représentent où le CSS va s’appliquer.
<td> va donc subir le CSS « bordure3 ».
<img> va donc subir le CSS « centre » et va donc être placé au milieu de la cellule du bas.
Programme Final - HTML (suite et fin)
Programme Final - HTML - Rendu graphique
Synthèse de stage première année
Lucas Goudard 18
5.2.3.2 Test quand tous les ports passent le firewall.
Page WEB - Test Firewall
Synthèse de stage première année
Lucas Goudard 19
5.2.3.2.1 Test UDP
PAGE WEB- Test band width UDP
Synthèse de stage première année
Lucas Goudard 20
5.2.3.3 Test quand tous les ports ne passent pas le firewall
5.2.3.3.1 Test TCP
Page WEB- Test band width TCP
PAGE WEB- Test Firewall
Synthèse de stage première année
Lucas Goudard 21
5.3 Centreon / Nagvis
5.3.1 Présentation des applications Centreon et Nagvis
Centreon est un logiciel de supervision informatique édité par la
société du même nom. Centreon est un fork de NAGIOS, tous deux
étant des applications de supervision. Un fork est une duplication de
processus, ici NAGIOS joue le rôle de processus père et Centreon le fils. Ce fork améliore notamment
des gestions de modules ou encore des suppressions d’outils dépassés.
Centreon - Exemple de supervision de serveurs et leurs services (nom des serveurs floutés)
Logo Centreon
Synthèse de stage première année
Lucas Goudard 22
Nagvis est un outil de visualisation qui permet de générer des vues métier de
la supervision. Nagvis est un composant qui s’intègre à l’interface de Centreon
afin de visualiser sous formes de cartes les systèmes d’informations.
Nagvis intégré à l'interface Centreon
Nagvis - Exemple de visualisation de carte Nagvis directement sur l'interface Centreon
Synthèse de stage première année
Lucas Goudard 23
5.3.2 Prise en main et utilisation de Centreon et Nagvis
La société Arkadin utilise ces outils afin d’avoir une vue en temps réelle sur la l’état de
santé des serveurs et applications sous leurs responsabilités à travers le monde.
J’ai donc commencé à me documenter sur Centreon pour pouvoir par la suite prendre en
main l’outil de supervision.
Sur cette application, nous pouvons y retrouver l’outil de supervision sur les serveurs mais
aussi sur les services proposés par les serveurs. En effet, chacun des serveurs disposent de
plusieurs services (par exemple le serveur de base de données à un service qui surveille l’usage
du CPU). Si l’un d’eux devient critique ou présente un dysfonctionnement, alors Centreon
s’occupe d’envoyer un e-mail à l’équipe concernée.
Voici la liste des cartes de supervision des différents groupes
composés de serveurs. Dans cette liste, j’ai créé toutes celles
encadrés. J’ai donc pu aider les différentes équipes d’Arkadin en
leur proposant ces cartes de supervision de leurs groupes de
serveurs.
l
Cartes des serveurs des différentes applications selon les régions
Synthèse de stage première année
Lucas Goudard 24
Cette carte représente les serveurs de production dit « High Level Design ». La conception de haut niveau (HLD) explique l'architecture qui serait utilisée pour développer un produit logiciel, identifiant les composants principaux qui serait développés pour le produit et leurs interfaces.
Pour des plateformes Vision en Amérique. J’ai positionné les différents compteurs dessus afin de voir si les serveurs n’ont aucun problème. Nous pouvons constater que tous les serveurs ainsi que leurs services ne présentent aucun problème.
Carte - Vision_Prod_US
Synthèse de stage première année
Lucas Goudard 25
Cette carte représente les serveurs de production pour l’application Vision ‘POOL’ (beta). Nous
pouvons constater que le serveur `Recorder Agent’ est en état critique. Il ne fonctionne donc
pas. Son icône est alors devenue rouge.
Carte - Vision_Prod_POOL
Synthèse de stage première année
Lucas Goudard 26
5.3.3 Scripting Shell et Powershell
Afin d’approfondir le domaine du DevOps, j’ai appris le `scripting’ Shell et PowerShell.
5.3.2.1 Scripting Shell - Déploiement d’un plugin sur des machines distantes
Mon travail était de récupérer un plugin pour pouvoir le copier sur différents serveurs distants.
Ce plugin permet à travers des commandes d’interroger des serveurs de bases de données
afin de récupérer les données qui nous intéresse (ex : la mémoire utilisée par le serveur).
Pour cela, je me suis connecté à partir d’une machine locale sur une machine distante via
l’outil Putty, avec une session ayant les droits suffisant pour exécuter le script.
Je crée dans un premier temps une boucle `for’ afin de parcourir une liste d’adresses
ip des serveurs sur lesquels je veux agir avec mon script.
Puis je lui demande de télécharger le plugin `scp_check_version_mwp.sh’ sur les
machines distantes dans le répertoire /lib/nagios/plugins/ où se trouve tous les plugins.
Le résultat nous montre que le plugin se copie sur les différentes machines Linux.
5.3.3.1.1 Exemples d’utilisation de plugins
Script SHELL - Exécution et résultat
Plugin - Exemple 1
Synthèse de stage première année
Lucas Goudard 27
Je me place dans le répertoire où se trouve tous les plugins pour lancer la commande.
Puis je renseigne quel est le plugin qui m’intéresse afin de choisir les options (mode,
plugin, hostname…), ici `./centreon_mssql.pl, nécessaire à ma commande. Puis je
renseigne ces options afin d’avoir le résultat qui m’intéresse.
Je me place dans le répertoire où se trouve tous les plugins pour lancer la commande.
Puis je renseigne quel est le plugin qui m’intéresse afin de choisir les options (mode,
plugin, hostname…), ici `./centreon_mssql.pl, nécessaire à ma commande. Puis je
renseigne ces options afin d’avoir le résultat qui m’intéresse.
5.3.2.2 – Scripting PowerShell
5.3.2.2.1 Explication et utilisation PowerShell
PowerShell est une suite logicielle développée par Microsoft qui intègre une interface
en ligne de commande, un langage de script ainsi qu’un kit de développement.
L’équipe VISION Opération avec laquelle je travaille, utilise le scripting PowerShell afin
d’automatiser des tests, des sauvegardes, des recherches et bien plus encore. Cela a pour
résultat un gain de temps. Cela apporte aussi une réduction des erreurs par rapport à des
actions manuelles. La méthode DevOps est donc essentielle.
Plugin - Exemple 2
Synthèse de stage première année
Lucas Goudard 28
5.3.2.2.2 Mes scripts PowerShell
J’ai donc commencé à me documenter sur les bases du PowerShell et à créer mes
premiers scripts.
Tout d’abord, je crée une fonction ‘CreateCred’. Grâce à elle, je vais pouvoir me connecter à une
machine directement, permettant de rentrer les logs automatiquement. Mais elle ne fait pas que ça,
elle crypte aussi le mot de passe, permettant une sécurité au top.
Puis grâce à la commande « Invoke-Command », je me connecte au serveur
FR**********.staging.arkadin-infra.com en y paramétrant la fonction ‘credential’ (pour une
connexion automatique). Grâce à l’option ‘Scriptblock’, je peux exécuter plusieurs
commandes sur la machine à distance.
La commande ‘Get-Content’ me permet de récupérer dans une variable l’élément qui m’intéresse. Ici, le contenu du fichier host.
Puis je crée une boucle foreach qui pour chaque ligne dans le fichier host, va afficher dans l’invite de commande.
Script PowerShell - Exercice 1
Synthèse de stage première année
Lucas Goudard 29
Pour exécuter le script, je me place à l’endroit où se situe le script, ici
C:\Users\l.goudard\Desktop. J’utilise la commande ‘cd’. Puis j’exécute le script via la
commande .\Exo.ps1.
Script PowerShell - Exercice 1 - Résultat Nous pouvons constater que la fonction crypte bien les données de connexion. Et nous
pouvons aussi constater que chaque ligne du fichier ‘host’ est bien affiché sur l’invite
commande PowerShell.
Le deuxième exercice consistait à récupérer la configuration NTP (Network Time Protocol) sur
plusieurs serveurs distants et de voir cette configuration écrite sur un fichier texte.
Le Network Time Protocol est un protocole qui permet de synchroniser, via un réseau
informatique, l'horloge locale d'ordinateurs sur une référence d'heure. Ce protocole se trouve
dans le répertoire suivant : w32tm /query /configuration.
Synthèse de stage première année
Lucas Goudard 30
CREDENTIAL
Script Powershell - Exercice 2 – Fonction `CreateCred’
J’ai repris la fonction ‘CreateCred’ de l’exercice 1 pour pouvoir me connecter aux serveurs distants
automatiquement.
RIABLE
Ici, j’ai initialisé trois variables. La première $credential permet de rentrer ces informations pour pouvoir se connecter automatiquement aux machines distantes.
La commande ‘Get-Content’ me permet de récupérer dans une variable l’élément qui m’intéresse. Ici, le contenu du fichier serveurs (dedans y est marqué les serveurs où l’on veut exécuter ce script).
Et enfin, $logfile représente le fichier texte dans lequel le script va écrire le résultat du script.
Script Powershell - Exercice 2 – Variables
Synthèse de stage première année
Lucas Goudard 31
Voici le cœur du script. J’ai commencé par une boucle `foreach’. Dans cette boucle, pour chaque ligne du fichier $a (qui représente les serveurs), on va dans un premier temps tester leur connexion avec la commande `Test-Connection’ que je mets dans une variable $b. Ces options sont ‘-ComputerName’ qui représente le nom de la machine (donc les serveurs), - quiet qui va retourner le test afin de savoir si le test-Connection à pour réponse TRUE or FALSE, et – count qui va déterminer le nombre de fois où la commande `Test-Connection’ va envoyer un ping à la machine avant de retourner le résultat.
Ensuite, j’ai créé une boucle `if’. Dans cette boucle, je prends le résultat de la commande `Test-
Connection’ qui est un booléen :
- TRUE : « serveur joignable »
- FALSE : « serveur injoignable »
Cette ligne de commande permet à la fonction $log
d’être écrite (grâce à `Out-File’) sur le fichier $logFile.
Le fichier $logFile est une variable qui représente le
fichier texte dans lequel le script va écrire le résultat du script.
L’option `filepath’ spécifie où se situe le chemin du fichier où la variable $logfile va déposer le résultat.
L’option `append’ ajoute la sortie à la fin d'un fichier existant, au lieu de remplacer le contenu du
fichier. Cette option est essentielle afin de ne pas écraser un texte se trouvant déjà dans le fichier texte.
Script PowerShell - Exercice 2 – Cœur du script
Script Powershell - Exercice 2 – Commande Out-File
Synthèse de stage première année
Lucas Goudard 32
Cette partie du programme se situe toujours dans le `Else’ de la boucle if, car on veut se connecter aux
machines seulement si elles sont accessibles (dans l’état TRUE).
J’utilise la commande « Invoke-Command » qui me permet de me connecter aux serveurs qui sont
accessibles en y paramétrant la fonction ‘credential’ (pour une connexion automatique). Puis grâce à
l’option ‘Scriptblock’, je peux exécuter plusieurs commandes sur la machine à distance.
Je récupéré les variables misent en `-ArgumentList’ dans une variable $args afin de pouvoir les utiliser
plus tard dans mon script.
Je crée une deuxième boucle if, afin de différencier les machines qui ont le service `W32TIME’ qui
représente le Network Time Protocole, de celles qui ne l’ont pas.
Dans les options de la commande, je retrouve mon `Get-Service’ qui me permet de récupérer l’état du
service w32Time dans une variable que j’ai appelée $Servicew32Time.
L’option `Where-Object {$_. Status -eq « running »} ’ me permet de récupérer les machines dont le
service w32Time est équivalent à `running’.
Puis j’ai créé une variable pour récupérer la configuration w32Time que j’ai appelé $conf. Elle va me
permettre d’appeler la configuration pour pouvoir l’afficher ensuite dans l’invite de commande.
Dans le log, je récupère le `$env :computername’ (nom de la machine) et je précise que le service
w32Time est démarré. Le $conf[35] correspond à la ligne 35 de la configuration. Cette ligne 35
correspond à l’élément qui nous intéresse, le nom du serveur NTP utilisé par la machine.
Le Write-Host me permet d’afficher la configuration appelé par la variable $conf.
Et enfin je return le $log.
Script PowerShell - Exercice 2 – Cœur du script (suite)
Synthèse de stage première année
Lucas Goudard 33
Le `else’ représente l’autre possibilité de notre boucle if. Dans notre cas, on rentre dans le `else’ si le
serveur n’a aucune configuration NTP.
Le Write-Host me permet d’afficher la configuration appelé par la variable $conf.
Et enfin je return le $log.
L’invite de commande renvoit parfaitement les tests du scripts.
Script PowerShell - Exercice 2 – Cœur du script (suite et fin)
PowerShell – Résultat de l’Exercice 2
Synthèse de stage première année
Lucas Goudard 34
On peut voir sur l’image ci-dessus, que le fichier `log.txt’ a bien été créé. Sur ce dossier, nous pouvons
y retrouver bel et bien le résultat des tests du script PowerShell qui est le même que sur l’invite de
commande.
Le script PowerShell marche parfaitement.
PowerShell - Exercice 2 - Fichier LOG
Synthèse de stage première année
Lucas Goudard 35
6. Conclusion
Ce stage a été très enrichissant pour moi car il m’a permis de découvrir dans le
détail, le secteur de l’informatique en entreprise. L’équipe Vision Opération et la
société Arkadin m’ont permis de participer concrètement à ses enjeux au travers de
mes missions variées comme celle du scripting PowerShell ou encore la supervision sur
Centreon, que j’ai particulièrement apprécié. Ce stage m’a aussi permis de
d’expérimenter le travail en entreprise. Il m’a fait me rendre compte de la nécessité
de l’automatisation des systèmes d’information à travers le scripting et plus
globalement à travers la mise en place de la méthodologie DevOPS.
Arkadin est une entreprise faisant face à une forte augmentation de la charge
de travail, et je suis fier d’avoir pu y contribuer et y participer.
Fort de cette expérience et en ayant pu solidifier mes bases grâce à ce stage,
j’aimerai beaucoup par la suite essayer de m’orienter pour un prochain stage vers le
même secteur que l’équipe Vision Opération. Ceci afin de progresser et d’évoluer dans
un milieu DevOPS.