Installer et lancer Open-Webui¶
```batch title:"Ollama" docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
```batch title:"Ollama"
docker run -d --network=host --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
```batch title:"With Image Generation" docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -e AUTOMATIC1111_BASE_URL=http://host.docker.internal:7860/ -e ENABLE_IMAGE_GENERATION=True -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
## Scripts Powershell
```Powershell title:"Écrire du contenu dans un fichier"
#Défini le chemin du répertoire
$folder = "C:\Users\Coockiepickle"
#Supprime le dossier du script précédent
Remove-Item -Recurse "$folder\Test"
Write-Output " "
Write-Output "Un dossier 'Test' existe déjà, il a donc été supprimé"
#Créer le dossier "Test"
New-Item -ItemType directory -Path $folder -Name Test
#Vérifie que le dossier a été crée
if (Test-Path -Path $folder) {
Write-Output " "
Write-Output "Dossier crée avec succès"
Write-Output " "
} else {
Write-Output "Le dossier n'a pas été crée"
}
#Défini le chemin du fichier txt
$filePath = "$folder\Test\coucou.txt"
#Contenu à écrire dans le fichier txt
Write-Output " "
$content = "La vie, c'est comme une boîte de chocolat"
#Ajoute le contenu dans le fichier txt
Add-Content -Path $filePath -Value $content
#Affiche le contenu du fichier txt
Write-Output "Le fichier a été crée"
Write-Output " "
Write-Output "Le fichier contient : "
Write-Output " "
Get-Content -Path $filePath
```Powershell title:"Tester si un nombre est pair ou impair"
Fonction pour tester si le chiffre est pair ou impair¶
function testPairImpair { param ( [int]$nbr ) # Teste le modulo du chiffre par 2 $resultat = ($nbr % 2) # Retourne pair ou impair en fonction du résultat if ($resultat -eq 0) { return "$nbr est pair" } else { return "$nbr est impair" } }
Défini le chemin du fichier txt¶
$fichier = "C:\Users\Coockiepickle\Test\pairimpair.txt"
Boucle for de 1 à 10¶
for ($i = 1; $i -le 10; $i++) { # Appelle la fonction pour chaque valeur de i et stocke le résultat $res = testPairImpair $i
# Écrit le résultat de chaque chiffre à la fin du fichier
Add-Content -Path $fichier -Value $res
}
```Powershell title:"Mineur ou majeur"
#Demande l'âge de l'utilisateur
$age = Read-Host "Quel âge avez-vous ?"
#Compare l'âge avec la majorité
if ($age -lt 18) {
Write-Output "Vous êtes mineur"
} else {
Write-Output "Vous êtes majeur"
}
```Powershell title:"Liste de pays"
Liste des pays¶
$liste_pays = @("France", "Angleterre", "Brésil", "Japon", "États-Unis", "Chine", "Irlande", "Allemagne")
Affiche les pays de la liste¶
foreach ($pays in $liste_pays) { Write-Output $pays }
```Powershell title:"Lister les fichiers"
#Supprime le dossier du script précédent
Remove-Item -Recurse "$folderPath\Rapport_Fichiers"
$folderPath = "C:\Users\$Env:UserName"
# Créer répertoire
New-Item -ItemType directory -Name "Rapport_Fichiers" -Path $folderPath
# Récupère la liste des dossiers
$liste_rep = @(Get-ChildItem "$folderPath\Documents")
# Écrire la liste dans un fichier txt
$rapport = "$folderPath\Rapport_Fichiers\rapport.txt"
foreach ($item in $liste_rep) {
$name = $item.Name
$length = $item.Length
$creationTime = $item.CreationTime
$name, $length, $creationTime | Out-File -FilePath $rapport -Append
}
Write-Output "Les données ont été écrites dans $rapport"
```Powershell title:"Surveillance utilisation RAM"
Obtenir la mémoire totale du système¶
$TotalMemory = (Get-CimInstance -ClassName Win32_ComputerSystem).TotalPhysicalMemory
Convertir la mémoire totale en Mo¶
$TotalMemoryMB = [math]::Round($TotalMemory / 1MB, 2)
Write-Output "Mémoire totale disponible : $TotalMemoryMB MB"
while ($true) { Clear-Host Write-Output "Vérification de l'utilisation de la mémoire en temps réel..."
# Récupérer tous les processus utilisateur et leur utilisation mémoire
$processes = Get-Process | Where-Object { $_.Path -ne $null } | Select-Object Name, @{Name='MemoryMB';Expression={[math]::Round($_.WorkingSet / 1MB, 2)}}
foreach ($process in $processes) {
# Calculer le pourcentage de mémoire utilisée par chaque processus
$memoryUsagePercent = ($process.MemoryMB / $TotalMemoryMB) * 100
# Afficher les informations du processus avec alignement des colonnes
$name = $process.Name.PadRight(30)
$memory = "$($process.MemoryMB) MB".PadLeft(15)
Write-Output "Nom : $name | $memory"
# Alerte si le processus utilise plus de 80% de la mémoire
if ($memoryUsagePercent -gt 80) {
Write-Warning "Alerte: Le processus $($process.Name)) utilise plus de 80% de la mémoire du système!"
}
}
Start-Sleep -Seconds 5 # Pause de 5 secondes avant la prochaine vérification
} ```