This commit is contained in:
mrKamoo
2026-09-30 16:27:32 +02:00
commit 310724708f
147 changed files with 21327 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
<#
Installe le back-office Laravel sur un poste de dev (Laragon) :
1. crée un projet Laravel neuf dans un dossier temporaire ;
2. y ajoute les fichiers du projet (backend\) sans les écraser ;
3. installe les dépendances et prépare .env.
À lancer une seule fois, depuis C:\laragon\www\AddinOutlook, dans le terminal Laragon.
#>
$ErrorActionPreference = "Stop"
$root = $PSScriptRoot
$backend = Join-Path $root "backend"
$tmp = Join-Path $env:TEMP ("laravel-skeleton-" + [guid]::NewGuid().ToString("N").Substring(0, 8))
if (Test-Path (Join-Path $backend "vendor")) {
Write-Host "backend\vendor existe déjà : installation déjà faite. Lancez plutôt 'composer install'." -ForegroundColor Yellow
exit 0
}
Write-Host "1/5 Création du squelette Laravel..." -ForegroundColor Cyan
composer create-project laravel/laravel $tmp --no-interaction --prefer-dist
if ($LASTEXITCODE -ne 0) { throw "composer create-project a échoué" }
Write-Host "2/5 Fusion avec les fichiers du projet (les fichiers existants sont conservés)..." -ForegroundColor Cyan
# /XC /XN /XO : ne copie que les fichiers absents de backend\
robocopy $tmp $backend /E /XC /XN /XO /NFL /NDL /NJH /NJS | Out-Null
if ($LASTEXITCODE -ge 8) { throw "robocopy a échoué ($LASTEXITCODE)" }
Remove-Item $tmp -Recurse -Force
Set-Location $backend
Write-Host "3/5 Dépendances (JWT Entra, SSO Socialite Azure)..." -ForegroundColor Cyan
composer require firebase/php-jwt laravel/socialite socialiteproviders/microsoft-azure --no-interaction
if ($LASTEXITCODE -ne 0) { throw "composer require a échoué" }
Write-Host "4/5 Fichier .env..." -ForegroundColor Cyan
if (-not (Test-Path ".env")) { Copy-Item ".env.example" ".env" }
$envContent = Get-Content ".env" -Raw
if ($envContent -notmatch "ENTRA_TENANT_ID") {
Add-Content ".env" "`r`n# ===== Signatures CABM =====`r`n"
Get-Content "variables-signature.example" | Where-Object { $_ -match "^(ENTRA_|GRAPH_|ADDIN_|SIGNATURE_)" } | Add-Content ".env"
}
php artisan key:generate --force
Write-Host "5/5 Tests..." -ForegroundColor Cyan
php artisan test
Write-Host ""
Write-Host "Terminé. Étapes suivantes :" -ForegroundColor Green
Write-Host " - compléter backend\.env (identifiants Entra, base de données)"
Write-Host " - php artisan migrate --seed"
Write-Host " - php artisan signature:sync --full"