Modification du versionnage auto

This commit is contained in:
2026-05-10 16:12:23 +02:00
parent 703d2ecda3
commit c2b75076d0
57 changed files with 827 additions and 313 deletions

View File

@@ -1,80 +1,76 @@
@echo off
setlocal ENABLEDELAYEDEXPANSION
REM --- Se place dans le dossier du .bat ---
cd /d "%~dp0"
echo --- Mise en prod Ratio_Restauration ---
REM Chemin du fichier de version pour la RESTAURATION
set "VERSION_FILE=..\Excel\prod\Ratio_Restauration_VERSION.txt"
set "ROOT=%~dp0.."
set "VERSION_FILE=%ROOT%\Excel\dev\Ratio_Restauration_VERSION.txt"
set "SRC=%ROOT%\Excel\dev\Ratio_Restauration_dev.xlsm"
set "DST_DIR=%ROOT%\Excel\prod"
set "DST=%DST_DIR%\Ratio_Restauration.xlsm"
set "BACKUP_DIR=%ROOT%\Excel\backup"
set KEEP_BACKUPS=10
REM On lit l'ANCIENNE version pour la sauvegarde
set "OLD_VERSION="
if exist "%VERSION_FILE%" (
set /p OLD_VERSION=<"%VERSION_FILE%"
)
REM Nombre de sauvegardes Cuisine à conserver
set KEEP_BACKUPS=10
echo Mise à jour de version...
python "maj_version.py" "%VERSION_FILE%"
if errorlevel 1 (
echo ERREUR lors de la mise à jour de version.
pause
exit /b 1
)
REM === 2) CHEMINS DES FICHIERS EXCEL ===
set SRC=..\Excel\dev\Ratio_Restauration_dev.xlsm
set DST_DIR=..\Excel\prod
REM Dossier commun de sauvegardes (Cuisine + Restauration)
set BACKUP_DIR=..\Excel\backup
if not exist "%BACKUP_DIR%" (
mkdir "%BACKUP_DIR%"
)
REM Vérifications
if not exist "%SRC%" (
echo ERREUR : fichier source introuvable :
echo %SRC%
endlocal
exit /b 1
)
if not exist "%DST_DIR%" (
echo ERREUR : dossier de destination introuvable :
echo %DST_DIR%
endlocal
exit /b 1
)
REM === NOM DU FICHIER DE SAUVEGARDE AVEC ANCIENNE VERSION ===
if "%OLD_VERSION%"=="" (
REM Sécurité si la lecture a échoué
set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_sansVersion.xlsm"
) else (
set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_Vers%OLD_VERSION%.xlsm"
if not exist "%BACKUP_DIR%" (
mkdir "%BACKUP_DIR%"
)
if exist "%DST%" (
if "%OLD_VERSION%"=="" (
set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_sansVersion.xlsm"
) else (
set "BACKUP=%BACKUP_DIR%\Ratio_Restauration_Vers%OLD_VERSION%.xlsm"
)
echo Sauvegarde de l'ancienne production...
if exist "%DST_DIR%\~$Ratio_Restauration.xlsm" (
echo ERREUR : Ratio_Restauration.xlsm est ouvert dans Excel.
exit /b 1
)
copy /Y "%DST%" "%BACKUP%"
)
REM === 4) COPIE VERS PROD ===
echo Copie vers la version de production...
copy /Y "%SRC%" "%DST_DIR%\Ratio_Restauration.xlsm"
copy /Y "%SRC%" "%DST%"
REM === 5) SAUVEGARDE DATÉE ===
echo Création de la sauvegarde datée...
copy /Y "%SRC%" "%BACKUP%"
if errorlevel 1 (
echo ERREUR lors de la copie vers production.
exit /b 1
)
echo --- Mise en prod terminee ---
endlocal
exit /b 0
echo Mise à jour de version...
python "%~dp0maj_version.py" "%VERSION_FILE%" "%DST%"
REM === 6) NETTOYAGE : on ne garde que les %KEEP_BACKUPS% dernières sauvegardes Restauration ===
REM Tri par date décroissante (les plus récentes d'abord). On supprime au-delà de KEEP_BACKUPS.
for /f "skip=%KEEP_BACKUPS% delims=" %%F in ('dir /b /a-d /o-d "%BACKUP_DIR%\Ratio_restauration_Vers*.xlsm" 2^>nul') do (
if errorlevel 1 (
echo ERREUR lors de la mise à jour de version.
exit /b 1
)
echo Nettoyage des anciennes sauvegardes Restauration...
for /f "skip=%KEEP_BACKUPS% delims=" %%F in ('dir /b /a-d /o-d "%BACKUP_DIR%\Ratio_Restauration_Vers*.xlsm" 2^>nul') do (
echo Suppression ancienne sauvegarde : %%F
del /q "%BACKUP_DIR%\%%F"
)
)
echo --- Mise en prod terminee ---
exit /b 0