Public/export-ibCourse.ps1
|
function Export-ibCourse { [CmdletBinding()] param( [Parameter(Mandatory)][string]$CourseCode, [ValidateSet('Lecture', 'Complet')][string]$ExportProfile = 'Lecture') $tools = @{ git = 'Git.Git' pandoc = 'JohnMacFarlane.Pandoc' xelatex = 'MiKTeX.MiKTeX' python = 'Python.Python.3.13'} foreach ($tool in $tools.getEnumerator()) { try { & $tool.Key --version *> $null write-debug "$($tool.Key) Déjà installé."} catch { write-Warning "$($tool.Key) introuvable : Installation" if ($tool.Key -eq 'xelatex') { Write-Warning "Installation de Xelatex : tout accepter (y compris au premier lancement ensuite)..."} winget install --id $tool.Value --accept-package-agreements --accept-source-agreements -e }} python -m pip install --upgrade --quiet pip python -m pip install --quiet -r ( Join-Path $PSScriptRoot '..\requirements.txt' ) $env:Path = [System.Environment]::GetEnvironmentVariable( "Path", "Machine" ) + ";" + [System.Environment]::GetEnvironmentVariable( "Path", "User") $PythonScript = Join-Path $PSScriptRoot "..\Private\export-course.py" $Python = Get-Command python -ErrorAction Stop & $Python.Source $PythonScript $CourseCode $ExportProfile } |