Pour retrouver la communauté Thalie 24/24 7/7, une seule adresse: celle qui mène à notre beau serveur Discord.

-> https://discord.gg/PQXxevv <-

Le dojo du code (Et du sysadmin)

Pour parler PC, actualité numérique, smartphones de qualité, réalités virtuelles, memes débiles et overclocking tétrabotique

Modérateur : La Force Poissons

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » ven. oct. 02, 2015 9:02 pm

Jaerdoster a écrit :
人次元 a écrit :@Ramou @Jaerdoster @Audrey Azura ok pour demain 16h ?

@Itsukushimu @DarkSoul @Mr_Kzimir Dimanche 14h
Non je suis malade dsl
Toi aussi t'as la crève ? Essaie de suivre le recap' de la première séance de faire les exos quand tu iras mieux du coup.

Bon par contre je serais tout de même là dimanche, même malade. Un peu groggy je pense, mais présent.
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
Audrey Azura
Trap saphiste
Messages : 1284
Enregistré le : sam. mai 14, 2011 6:26 pm

Re: Le dojo du code (Et du sysadmin)

Message par Audrey Azura » ven. oct. 02, 2015 9:38 pm

人次元 a écrit :@Ramou @Jaerdoster @Audrey Azura ok pour demain 16h ?

@Itsukushimu @DarkSoul @Mr_Kzimir Dimanche 14h
Possible pour moi ^^. Je me marque ça.
Image

The two Alices are not books for children, they are the only books in which we become children.
- Virginia Woolf

Les contes de fées n'apprennent pas aux enfants que les dragons existent, mais qu'ils peuvent être vaincus.

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » dim. oct. 04, 2015 4:12 pm

Exercice pour la semaine prochaine :

Faire une fonction Join-String qui ait la signature suivante :

PS> 'a','b','c' | Join-String -Separator '|'
a|b|c

Elle doit prendre deux paramètres:
-String (String[]) : la liste de chaîne de caractère
-Separator (String) : le séparateur entre chaque élément

Pour ceux qui étaient absents :
@DarkSoul @Mr_Kzimir et @Jaerdoster, voir quand il est possible de faire une scéance de rattrappage
Image

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » mar. oct. 06, 2015 4:36 pm

Séance Powershell 4/10/2015

Sujet du jour: Script, Modules, fonction, paramètre, structuration.

I. Les scripts

Historique des commandes

Code : Tout sélectionner

Get-History 
Deux manière pour permettre l'éxecution des scripts sur un serveur ou un client.
Lancer la console Powershell en administrateur

Code : Tout sélectionner

Set-ExecutionPolicy -ExecutionPolicy Bypass 
Set-ExecutionPolicy -ExecutionPolicy Unrestricted 
Ordre d’exécution des parties requises par Powershell pour fonctionner.

1. Cherche les variable relatives au contexte d’exécution (Variable d'env.), liens vers la base wmi. Changements profonds = redémarrage de la machine.
Base de registre changeable en temps réel. Tout changement n'est pas pris en compte par les programmes. Attendre l'émission de signaux.
Existe une dll pour émuler le signal à l'ouverture de session.

2.Execution du fichier profile
$profile pour voir le path du script
Microsoft.Powershell_profile.ps1 chargé au démarrage, c'est le profil par défaut
profile.ps1 chargé par l'ISE -> edition du fichier pour personnaliser son profil personnel.

Code : Tout sélectionner

Function prompt {
	Write-Host ('['+(Get-Date -format 'HH:mm:ss')+']'+ $env:Username + '@'+(Get-Location).Path)-
		NoNewLine #Param de Write-Host pour ne pas revenir à la ligne
	'>'
}

Numéro dans accolade avec -f = liste de chaine de caractère derrière. Il faut avoir le même nombre de paramètre que de nombre entre accolade.

Code : Tout sélectionner

"{0}" -f (Get-Date)
"{0} - {1}" -f (Get-Date),$env:computerName
"{0} {1} {2}" -f (Get-Process | foreach {$_.Name})
Réécrire la fonction prompt avec les {0}

Code : Tout sélectionner

Function prompt {
		"[{0}] {1}@{2}" -f (Get-Date -format 'HH:mm:ss'),$env:Username,(Get-Location).Path
		'>'
}

Code : Tout sélectionner

Set-StrictMode -Version Latest

Créer un profile.ps1 dans Mes Documents\WindowsPowerShell et ajouter cette fonction

Code : Tout sélectionner

Function prompt {
    Write-Host ('[') -NoNewLine
    Write-Host (Get-Date -format 'HH:mm:ss') -Foreground DarkYellow -NoNewLine
    Write-Host (']') -NoNewLine
    Write-Host ($env:Username) -ForeGround DarkRed -NoNewLine 
    Write-Host '@' -NoNewLine
    Write-Host (Get-Location).Path -Foreground DarkGreen -NoNewLine
    '>'
}
II. Les modules

Les Modules doivent êtres installés dans Mes Documents\WindowsPowerShell\Modules
Module PsGet. Outil officiel de MS pour la gestion de paquet.

Code : Tout sélectionner

Install-Module PSReadLine
Permet de jouer avec les chaines de caractère et les gérer comme on le souhaite
Coloration syntaxique dans le shell.

Code : Tout sélectionner

Import-Module
Dans le profile.ps1 pour Import au démarrage

Chargement des modules à la demande depuis PS4.0
Charger un module au démarrage est bien pour une utilisation intensive.

Code : Tout sélectionner

Get-Module -listavailable
A placer à la fin du fichier de module par sécurité si on utilise des modules sur PS2 et 3

Code : Tout sélectionner

Import-ModuleMember -Function Test-Parameter 
III. Les fonctions

Code : Tout sélectionner

Set-StrictMode -Version Latest
#Oblige à définir les variables

Nomenclature d'une fonction:

Code : Tout sélectionner

Function Verb-Nom1Nom2Nom3{

}
Pour avoir les différents verbes existants dans le langage

Code : Tout sélectionner

Get-Verb





IV. Les Paramètres

Cette fonction basique renvoie la chaine parameter

Code : Tout sélectionner

Function Test-Parameter{
	'parameter'

}
Créer un dossier Dojo dans Mes Documents\WindowsPowerShell\Modules et créer Dojo.psm1

Code : Tout sélectionner

Function Test-Parameter{
	[CmdletBinding()]
	#https://technet.microsoft.com/en-us/library/hh847872.aspx Voir la documentation.
	#https://technet.microsoft.com/en-us/library/hh847743.aspx
	#Definition des paramètres via Param(). 
	  Param (
        $InputObject
    )
	$InputObject #Valeur de retour. Possibilité d'utiliser return en cas de doute.
}
Chaque modification de module demande une réimportation.

Code : Tout sélectionner

Import-Module Dojo -Force -Verbose
Option possible à place dans le bloc Param()

Code : Tout sélectionner

[String[]]$InputObject #Le paramètre d'entrée sera forcément un string ou tabString
[Parameter(Mandatory=$true)] #Oblige l'utilisation d'un paramètre. Le script demandera un paramètre à l'exécution de celui ci.
[ValidateSet(' ',"`n",'_',"@")] #Demande forécement l'un des caractères pour valider le paramètre
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]  #Rend prise en compte des params passés par le pipe
Il est important de noter qu'à chaque appel de Parameter, il faut ensuite spécifier un paramètre (Voir la fonction finale comme exemple)
Modification du retour de la fonction

Code : Tout sélectionner

$InputObject | Write-Host -ForeGround DarkYellow -NoNewLine

Pour utiliser un énumérable il doit être dans un bloc process

Code : Tout sélectionner

Bloc Begin {

}
Bloc Process{
	
}
Bloc End{
}
Ce qui nous donne à la fin la fonction suivante:

Code : Tout sélectionner

Function Test-Parameter {
    [CmdletBinding()]
    #https://technet.microsoft.com/en-us/library/hh847872.aspx
    Param (
        	[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
        	[String[]]$InputObject
	)
	Param (	
		[Parameter(Mandatory=$false)]
		[ValidateSet(' ',"`n",'_',"@")] #Demande forécement l'un des caractères pour valider le paramètre
		[String]$Separator=' '
    )
    # $InputObject | Write-Host -Foreground DarkYellow -NoNewLine
    begin {

    }
    process {
        $InputObject | ForEach {Write-Host ($_+$Separator) -Foreground DarkYellow -NoNewLine}
	}
    end {
        Write-Host ""
    }
}
Import-ModuleMember -Function Test-Parameter #A utiliser par sécurité si on utilise des modules sur PS2 et 3
@人次元 Je te laisse compléter mon CR.
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » mar. oct. 06, 2015 4:43 pm

Des corrections sur le CR sont à attendre.

Edit: Première salve de corrections appliquées.
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » jeu. oct. 08, 2015 7:44 pm

Messieurs, pour ceux qui ont été assidus, la prochaine séance de cours sera la dernière.
En effet, avec cette séance, vous devriez avoir acquis les bases nécessaire pour vous lancer dans le second module, et passer à la partie intéressante du coding dojo : les projets.

Le principe sera de se mettre en binôme (équilibrés en fonction du temps consacrable aux séances) pour travailler sur les différents sujets.

Pour le moment, j'ai retenu les sujets suivants : (par ordre de facilité à mon sens)

- script de sanity check depuis un scénario sous format xml
- script d'alimentation d'un AD depuis un csv
- script d'arrêt-relance de plateforme
- script de déploiement

Pour ceux qui sont intéressés pour participer à l'élaboration du sujet, je propose de se retrouver après une séance pour établir le cahier des charges.

J'en profite pour établir une règle qui est de documenter toutes les références consultées pendant un exercice ou un projet, afin d'établir une liste de références pour le futur.

Prochaine séance dimanche 14h. Rattrapage pour ceux qui ont manqué la dernière le samedi.
Image

Avatar du membre
Mr_Kzimir
Ce membre a épuisé les rangs du forum
Messages : 1501
Enregistré le : dim. mars 22, 2009 2:49 pm

Re: Le dojo du code (Et du sysadmin)

Message par Mr_Kzimir » mer. oct. 14, 2015 9:04 pm

Séance Powershell du 11/10/15

Sujet du jour, révision des points abordés la semaine précédente à savoir : Script, Paramètre , Structuration

Modification d'un script exemple afin de réaliser différents traitements,

Code : Tout sélectionner

Param(
    [Parameter(ValueFromPipeline=$true,Mandatory=$true)]
    [String[]]$File,
    [Parameter(Mandatory=$false)]
    [ValidateSet("Text","Csv","Xml")]
    [String]$Extension="Csv"
    )
begin {
}
process{
}
end{
}
1. Utilisation du block process afin de afin de tester une fonction simple :

Code : Tout sélectionner

Exemple :

process{
$Objet=Get-ChildItem
$Objet | Where {$_.Name -Like $File}
}
En l'absence de contrainte sur le paramètre définissant le type de fichier utilisable en tant qu'argument pour le script, il est possible de le faire fonctionner avec n'importe quel type de fichier

Les données remontées par le script seront par défaut de type FileInfo (Array)
Il est néanmoins possible d'initier la variable qui stockera les données en tant que string afin d'en obtenir en sortie,

Code : Tout sélectionner

[string]$a = .\script1.ps1 -File *PNG*
2. Exercice , modification du script afin lister l'ensemble des processus possédant un nom respectant des contrainte indiquées dans un fichier

Image

> Il faut initier une variable pour chaque boucle de recherche,

Ici :
$Process , 1ere boucle
$PatternFilecontent, 2ème boucle

Penser à ajouter Sort-object -unique afin de supprimer les eventuels doublons

Voici mes notes un peu en vrac , je pense ne pas avoir omis trop de détails cela dit.
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » sam. oct. 17, 2015 12:41 pm

séance de demain annulée -

Pour ceux qui sont dispos, correction des exercices, puis écriture d'un véritable outil de transcodage

Ce script prend en paramètre une liste de fichiers et un fichier de paramètre (type ancienneValeur;nouvelleValeur) et remplace toutes les valeurs présentes dans le fichier.

On va faire ce script de bout en bout, en partant du cycle de conception jusqu'au cycle de revue de code.
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » mar. oct. 20, 2015 3:38 pm

Double post pour lever une notif

La prochaine séance sera la correction des exos demandés.

Essayez d'assister à la séance même si vous n'avez pas fait les exos ou si vous sentez que vous avez mal compris un point.

En fait, assistez à la séance SURTOUT si vous n'avez pas fait les exos, ou si vous avez mal compris un des points.

Cc @Itsukushimu @Mr_Kzimir @DarkSoul @Audrey Azura @Ramou

Par défaut, ça sera dimanche à 14h.

Il est aussi possible de faire une autre séance samedi après 20h, ou plus tard le dimanche.
Image

Avatar du membre
Ramou
La cavalerie de la bière
Messages : 1898
Enregistré le : mer. févr. 11, 2009 4:49 pm
Localisation : Bois de Vincennes.
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par Ramou » mar. oct. 20, 2015 6:18 pm

Ok pour moi.

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » mar. oct. 20, 2015 6:49 pm

Comme d'hab, présent.
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
Audrey Azura
Trap saphiste
Messages : 1284
Enregistré le : sam. mai 14, 2011 6:26 pm

Re: Le dojo du code (Et du sysadmin)

Message par Audrey Azura » mer. oct. 21, 2015 12:34 am

人次元 a écrit : Par défaut, ça sera dimanche à 14h.

Il est aussi possible de faire une autre séance samedi après 20h, ou plus tard le dimanche.
En fait, mon agenda m'a rappelé que j'avais déjà quelque chose tout dimanche aprem ><. Je passerais samedi en soirée, si tu le veux bien ?
Image

The two Alices are not books for children, they are the only books in which we become children.
- Virginia Woolf

Les contes de fées n'apprennent pas aux enfants que les dragons existent, mais qu'ils peuvent être vaincus.

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » mer. oct. 21, 2015 8:39 pm

Ok, samedi 20h, je serai probablement à la bourre
Image

Avatar du membre
s3phy
Tenace
Messages : 68
Enregistré le : mar. déc. 30, 2014 4:54 pm
Localisation : Shinjuku

Re: Le dojo du code (Et du sysadmin)

Message par s3phy » mar. oct. 27, 2015 5:46 am

Il est cool ce thread. Et cette idée.

Et j'découvre tout ça maintenant vu que j'ai pas mis les pieds ici depuis juin/juillet :saki3:

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » ven. oct. 30, 2015 8:00 pm

Comme d'hab, séance dimanche 14h

Au programme : fin de la correction des exercices
Image

Avatar du membre
Ramou
La cavalerie de la bière
Messages : 1898
Enregistré le : mer. févr. 11, 2009 4:49 pm
Localisation : Bois de Vincennes.
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par Ramou » sam. oct. 31, 2015 11:53 am

Salut,

Demain, mes parents passent à la maison, ce qui est plutôt rare. Du coup, je serai pas dispo demain. Désolé.

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » dim. nov. 01, 2015 2:15 pm

Tiens j'y pense @Ramou, faudrait que tu postes le compte rendu de la séance de la semaine dernière sitouplé. :3
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » dim. nov. 01, 2015 4:48 pm

Il y a sur mon github la correction de la fonction Join-String (finale) : https://github.com/Ninjigen/PowerShellS ... tring.psm1

Pour ceux qui veulent l'exercer : la liste des tests à faire passer :
https://github.com/Ninjigen/PowerShellS ... tring.psm1

Le script pour lancer les tests en question :
https://github.com/Ninjigen/PowerShellS ... Module.ps1

Le compte rendu cette semaine viendra un peu plus tard, étant donné qu'il va s'agir d'un résumé de tout ce qu'on a vu jusqu'à maintenant, et pourra vous servir de référence.
Image

Avatar du membre
Audrey Azura
Trap saphiste
Messages : 1284
Enregistré le : sam. mai 14, 2011 6:26 pm

Re: Le dojo du code (Et du sysadmin)

Message par Audrey Azura » lun. nov. 02, 2015 11:59 am

Désolé, je n'ai pas pu passer sur l'ordi du week end, et j'ai un peu oublié du coup ><. Toutes mes excuses.
Image

The two Alices are not books for children, they are the only books in which we become children.
- Virginia Woolf

Les contes de fées n'apprennent pas aux enfants que les dragons existent, mais qu'ils peuvent être vaincus.

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » sam. nov. 07, 2015 11:07 pm

Je suis malade, le cours est maintenu, mais le CR viendra plus tard

EDIT : séance annulée, je ne suis pas assez en forme pour tenir le cours
Image

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » dim. nov. 08, 2015 10:39 am

C'est noté. Par contre je ne serais pas disponible la semaine prochaine, étant chez mes parents.

En tout cas, repose toi bien Ninji.
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » lun. nov. 09, 2015 12:49 pm

Qui serait dispo pour faire une seance mercredi (qui est férié) ?

Il n'y aura pas de séance les deux w-e suivants (voyage puis nuit de l'animation) donc ça serait pas mal de la caser là.

Note : revisez vos regexp https://en.m.wikipedia.org/wiki/Regular_expression
Image

Avatar du membre
Audrey Azura
Trap saphiste
Messages : 1284
Enregistré le : sam. mai 14, 2011 6:26 pm

Re: Le dojo du code (Et du sysadmin)

Message par Audrey Azura » lun. nov. 09, 2015 5:19 pm

Pas dispo mercredi, j'ai un truc prévu avec un pote :/. Par contre, je n'ai jamais appris les regexp /o\.
Image

The two Alices are not books for children, they are the only books in which we become children.
- Virginia Woolf

Les contes de fées n'apprennent pas aux enfants que les dragons existent, mais qu'ils peuvent être vaincus.

Avatar du membre
Mr_Kzimir
Ce membre a épuisé les rangs du forum
Messages : 1501
Enregistré le : dim. mars 22, 2009 2:49 pm

Re: Le dojo du code (Et du sysadmin)

Message par Mr_Kzimir » ven. nov. 13, 2015 4:28 pm

Meh , je n'ai pas vu le message sur discord a temps. Meh :(


Envoyé de mon iPhone en utilisant Tapatalk
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » ven. nov. 13, 2015 5:47 pm

Rappel : pas de séance pendant 2 semaines
Image

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » sam. nov. 14, 2015 10:53 am

Tu n'es pas disponible la semaine prochaine ?

Edit: @Ramou Ton compte rendu de la semaine d'avant, on l'attend toujours.
BE QUICK! OR BE DEAAAAD!

Image
Image

Avatar du membre
人次元
furiten
Messages : 269
Enregistré le : sam. juin 06, 2009 5:55 pm
Localisation : /usr/dev/null
Contact :

Re: Le dojo du code (Et du sysadmin)

Message par 人次元 » lun. nov. 16, 2015 1:10 pm

Nope, c'est la nuit de l'animation au grand rex (s'il y en a qui y vont), samedi, je sors et dimanche je serai en train de dormir.

Ce que je peux vous proposer, c'est soit de faire le séance en semaine, soit, si quelqu'un se sent chaud, de faire un cours sur les regexp ou sur l'os windows. Sinon, je vous donne un exo que vous faites ensemble dimanche de 14 à 16 comme d'habitude (je vous file les tests, et vous faites l'implémentation)
Image

Avatar du membre
Itsukushimu
Princesse Pampa
Messages : 3871
Enregistré le : ven. oct. 17, 2008 8:17 pm
Localisation : Dans les montagnes Savoyardes

Re: Le dojo du code (Et du sysadmin)

Message par Itsukushimu » lun. nov. 16, 2015 4:58 pm

Je ne serais pas disponible pour taffer ce dimanche. Je reçois du monde, par contre je peux donner un accès à la VM pour les motivés.
BE QUICK! OR BE DEAAAAD!

Image
Image

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités