quel temps fera t’il?

Un stagiaire me demandait si tout était possible en Powershell. Eh bien peut-être pas tout mais beaucoup de chose le sont. 

Peux tu me prédire la météo? humm, laisse moi un peu de temps, le temps de sa pause et il obtient la météo de sa ville française préférée.

je vous donne donc cette petite fonction, qui utilise à nouveau JSON et invoke-restmethod.

function​​ get-meteo{

 ​​​​ PARAM(

 ​​ ​​ ​​ ​​​​ [parameter()]$ville="Paris"

 

 ​​​​ )

 ​​​​ #liste des villes disponible

 ​​​​ # Invoke-RestMethod -Uri "http://www.prevision-meteo.ch/services/json/list-cities" |​​ Tee-Object c:\temp\info.txt

 

 ​​​​ $meteo=Invoke-RestMethod​​ -Uri​​ "http://www.prevision-meteo.ch/services/json/$ville"

 ​​​​ Write-host​​ "information sur la ville"​​ -f​​ Cyan

 ​​​​ $meteo.city_info

 

 ​​​​ Write-host​​ "météo du moment"​​ -f​​ Yellow

 ​​​​ write-host​​ "analyse le:​​ $(​​ $meteo.current_condition.date)​​ à ​​ $($meteo.current_condition.hour)"​​ -ForegroundColor​​ Blue

 ​​​​ write-host​​ "vitesse du vent en km/h:​​ $(​​ $meteo.current_condition.wnd_spd)"​​ -ForegroundColor​​ Blue

 ​​​​ write-host​​ "condition:​​ $($meteo.current_condition.condition)"​​ -ForegroundColor​​ green

 ​​​​ 

 ​​​​ Write-host​​ "Prévision"​​ -f​​ Yellow

​​ 0..4​​ |​​ %{​​ 

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ write-host​​ "$($meteo."$("fcst_day_"​​ +​​ $_)".day_long​​ +​​ " "​​ +​​ $meteo."$("fcst_day_"​​ +​​ $_)".date)".PadRight(22," ")​​ -f​​ Cyan​​ -NoNewline

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ write-host​​ "Températeur​​ min: "​​ -NoNewline​​ ;​​ write-host​​ "$($meteo."$("fcst_day_"​​ +​​ $_)".tmin)".PadRight(3," ")​​ -f​​ Yellow​​ -NoNewline

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ write-host​​ " Températeur max: "​​ -NoNewline​​ ;​​ write-host​​ "$($meteo."$("fcst_day_"​​ +​​ $_)".tmax)".PadRight(3," ")​​ -f​​ yellow​​ -NoNewline

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ write-host​​ " Condition : "​​ -NoNewline​​ ;​​ write-host ​​​​ $meteo."$("fcst_day_"​​ +​​ $_)".condition​​ -f​​ red​​ -b​​ Yellow​​ 

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ switch($meteo."$("fcst_day_"​​ +​​ $_)".condition)

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ {

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ "Eclaircies"​​ {write-host​​ $([char]9925)​​ -f​​ Black​​ -b​​ White}

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ "Pluie faible"​​ {write-host​​ $([char]9928)​​ -f​​ Black​​ -b​​ white​​ }

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ "Ensoleillé"​​ {write-host​​ $([char]9788)​​ -f​​ yellow}

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ "Pluie modérée"​​ {write-host​​ $([char]9928)​​ -f​​ yellow}

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ }

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 

​​ }

#copy du fichier image

 ​​​​ # Start-BitsTransfer -Source $meteo.current_condition.icon_big ​​ `

​​ #  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ -destination c:\temp\img.png

}

get-meteo​​ -ville​​ vannes

 

​​ 

 

Laisser un commentaire