diff --git a/powershell/libres-softwares-install.ps1 b/powershell/libres-softwares-install.ps1 index 007f0f5..ba0d8ed 100644 --- a/powershell/libres-softwares-install.ps1 +++ b/powershell/libres-softwares-install.ps1 @@ -1,9 +1,9 @@ # Script d'installation de logiciels avec winget -# Permet de choisir les logiciels à installer +# Permet de choisir les logiciels a installer -# Vérification que winget est installé +# Verification que winget est installe if (-not (Get-Command winget -ErrorAction SilentlyContinue)) { - Write-Host "ERREUR: winget n'est pas installé sur ce système." -ForegroundColor Red + Write-Host "ERREUR: winget n'est pas installe sur ce systeme." -ForegroundColor Red Write-Host "Veuillez installer le 'App Installer' depuis le Microsoft Store." -ForegroundColor Yellow exit 1 } @@ -17,18 +17,18 @@ Write-Host "" $logiciels = @( @{Nom = "Firefox ESR (FR)"; ID = "Mozilla.Firefox.ESR"; Description = "Navigateur web Mozilla Firefox ESR"}, @{Nom = "7-Zip"; ID = "7zip.7zip"; Description = "Gestionnaire d'archives"}, - @{Nom = "VLC Media Player"; ID = "VideoLAN.VLC"; Description = "Lecteur multimédia"}, + @{Nom = "VLC Media Player"; ID = "VideoLAN.VLC"; Description = "Lecteur multimedia"}, @{Nom = "OnlyOffice"; ID = "ONLYOFFICE.DesktopEditors"; Description = "Suite bureautique"}, @{Nom = "LibreOffice"; ID = "TheDocumentFoundation.LibreOffice"; Description = "Suite bureautique libre"}, - @{Nom = "GIMP"; ID = "GIMP.GIMP"; Description = "Éditeur d'images"}, - @{Nom = "Inkscape"; ID = "Inkscape.Inkscape"; Description = "Éditeur de graphiques vectoriels"}, + @{Nom = "GIMP"; ID = "GIMP.GIMP"; Description = "Editeur d'images"}, + @{Nom = "Inkscape"; ID = "Inkscape.Inkscape"; Description = "Editeur de graphiques vectoriels"}, @{Nom = "Chromium"; ID = "Hibbiki.Chromium"; Description = "Navigateur web open source"}, @{Nom = "Bitwarden"; ID = "Bitwarden.Bitwarden"; Description = "Gestionnaire de mots de passe"}, @{Nom = "Thunderbird"; ID = "Mozilla.Thunderbird"; Description = "Client de messagerie"} ) # Affichage de la liste des logiciels -Write-Host "Logiciels disponibles à l'installation :" -ForegroundColor Green +Write-Host "Logiciels disponibles a l'installation :" -ForegroundColor Green Write-Host "" for ($i = 0; $i -lt $logiciels.Count; $i++) { Write-Host ("{0,2}. [{1}] {2}" -f ($i + 1), " ", $logiciels[$i].Nom) -ForegroundColor White @@ -38,18 +38,18 @@ Write-Host "" Write-Host "===========================================================" -ForegroundColor Cyan Write-Host "" -# Sélection des logiciels -Write-Host "Entrez les numéros des logiciels à installer (séparés par des virgules)" -ForegroundColor Yellow +# Selection des logiciels +Write-Host "Entrez les numeros des logiciels a installer (separes par des virgules)" -ForegroundColor Yellow Write-Host "Exemple: 1,3,5 ou tapez 'tous' pour tout installer" -ForegroundColor Yellow Write-Host "" $choix = Read-Host "Votre choix" # Traitement du choix -$logiციelsAInstaller = @() +$logicielsAInstaller = @() if ($choix.ToLower() -eq "tous" -or $choix.ToLower() -eq "all") { $logicielsAInstaller = $logiciels - Write-Host "`nTous les logiciels seront installés." -ForegroundColor Green + Write-Host "`nTous les logiciels seront installes." -ForegroundColor Green } else { $numeros = $choix -split ',' | ForEach-Object { $_.Trim() } @@ -59,20 +59,20 @@ if ($choix.ToLower() -eq "tous" -or $choix.ToLower() -eq "all") { if ($index -ge 0 -and $index -lt $logiciels.Count) { $logicielsAInstaller += $logiciels[$index] } else { - Write-Host "Numéro invalide ignoré: $num" -ForegroundColor Red + Write-Host "Numero invalide ignore: $num" -ForegroundColor Red } } } } if ($logicielsAInstaller.Count -eq 0) { - Write-Host "`nAucun logiciel sélectionné. Fin du script." -ForegroundColor Yellow + Write-Host "`nAucun logiciel selectionne. Fin du script." -ForegroundColor Yellow exit 0 } # Confirmation Write-Host "`n===========================================================" -ForegroundColor Cyan -Write-Host "Logiciels sélectionnés pour l'installation :" -ForegroundColor Green +Write-Host "Logiciels selectionnes pour l'installation :" -ForegroundColor Green foreach ($log in $logicielsAInstaller) { Write-Host " - $($log.Nom)" -ForegroundColor White } @@ -81,13 +81,13 @@ Write-Host "" $confirmation = Read-Host "Confirmer l'installation ? (O/N)" if ($confirmation -notmatch '^[oOyY]') { - Write-Host "`nInstallation annulée." -ForegroundColor Yellow + Write-Host "`nInstallation annulee." -ForegroundColor Yellow exit 0 } # Installation des logiciels Write-Host "`n===========================================================" -ForegroundColor Cyan -Write-Host "Début de l'installation..." -ForegroundColor Green +Write-Host "Debut de l'installation..." -ForegroundColor Green Write-Host "===========================================================" -ForegroundColor Cyan Write-Host "" @@ -104,37 +104,37 @@ foreach ($logiciel in $logicielsAInstaller) { $process = Start-Process -FilePath "winget" -ArgumentList "install", "--id", $logiciel.ID, "--silent", "--accept-source-agreements", "--accept-package-agreements" -NoNewWindow -Wait -PassThru if ($process.ExitCode -eq 0) { - Write-Host "✓ $($logiciel.Nom) installé avec succès" -ForegroundColor Green + Write-Host "OK $($logiciel.Nom) installe avec succes" -ForegroundColor Green $reussites++ - $resultats += @{Logiciel = $logiciel.Nom; Statut = "Succès"} + $resultats += @{Logiciel = $logiciel.Nom; Statut = "Succes"} } else { - Write-Host "✗ Échec de l'installation de $($logiciel.Nom) (Code: $($process.ExitCode))" -ForegroundColor Red + Write-Host "ERREUR Echec de l'installation de $($logiciel.Nom) (Code: $($process.ExitCode))" -ForegroundColor Red $echecs++ - $resultats += @{Logiciel = $logiciel.Nom; Statut = "Échec"} + $resultats += @{Logiciel = $logiciel.Nom; Statut = "Echec"} } } catch { - Write-Host "✗ Erreur lors de l'installation de $($logiciel.Nom): $_" -ForegroundColor Red + Write-Host "ERREUR lors de l'installation de $($logiciel.Nom): $_" -ForegroundColor Red $echecs++ $resultats += @{Logiciel = $logiciel.Nom; Statut = "Erreur"} } } -# Résumé de l'installation +# Resume de l'installation Write-Host "`n===========================================================" -ForegroundColor Cyan -Write-Host "Résumé de l'installation" -ForegroundColor Cyan +Write-Host "Resume de l'installation" -ForegroundColor Cyan Write-Host "===========================================================" -ForegroundColor Cyan Write-Host "" foreach ($resultat in $resultats) { - if ($resultat.Statut -eq "Succès") { - Write-Host "✓ $($resultat.Logiciel): $($resultat.Statut)" -ForegroundColor Green + if ($resultat.Statut -eq "Succes") { + Write-Host "[OK] $($resultat.Logiciel): $($resultat.Statut)" -ForegroundColor Green } else { - Write-Host "✗ $($resultat.Logiciel): $($resultat.Statut)" -ForegroundColor Red + Write-Host "[X] $($resultat.Logiciel): $($resultat.Statut)" -ForegroundColor Red } } Write-Host "" -Write-Host "Total: $reussites réussite(s), $echecs échec(s)" -ForegroundColor $(if ($echecs -eq 0) { "Green" } else { "Yellow" }) +Write-Host "Total: $reussites reussite(s), $echecs echec(s)" -ForegroundColor $(if ($echecs -eq 0) { "Green" } else { "Yellow" }) Write-Host "===========================================================" -ForegroundColor Cyan Write-Host "" Write-Host "Appuyez sur une touche pour quitter..."