On va faire simple et sans explication. En gros, on va chercher un JSON sur le site vitemadose.gitlab.io en fonction du département, on le parse, et on affiche un truc moche. Comme il y a plein d’informations à récupérer, vous pouvez les visualiser directement dans votre navigateur en accédant à l’URL, avec Firefox par exemple c’est très joli…
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #pas besoin mais ça ne fait pas de mal
$departement="95" #indiquez ici votre département (2A/2B pour la Corse, gaffe à la majuscule sinon 404 pan sur les doigts)
$result=invoke-webrequest("https://vitemadose.gitlab.io/vitemadose/$($departement).json") | ConvertFrom-Json
foreach($centre in $result.centres_disponibles)
{
Write-Host "*** $($centre.nom) ***"
$centre.metadata.address
if($centre.metadata.phone_number)
{
$phone=$centre.metadata.phone_number -replace '^\+33',''
$phone="{0:0# ## ## ## ##}" -f [int]$phone
Write-Host "Tel : $phone"
}
Write-Host "GPS : https://www.google.com/maps/search/?api=1&query=$($centre.location.latitude),$($centre.location.longitude)"
Write-Host "URL prise de rdv : $($centre.url)"
Write-Host "Vaccins disponibles :"
foreach($vaccin in $centre.vaccine_type)
{
Write-Host "- $vaccin"
}
Write-Host "Nb rdv demain : $($centre.appointment_schedules.'1_days')"
$date = [DateTime]::Parse($centre.prochain_rdv).ToString('dddd dd/MM/yyyy à HH:mm')
Write-Host "Prochain rendez-vous dispo : $date"
if($centre.metadata.business_hours)
{
Write-Host "Horaires d'ouverture :"
foreach($jour in $centre.metadata.business_hours.psobject.properties.name)
{
Write-host "$jour : $($centre.metadata.business_hours.$($jour))"
}
}
Write-Host
}