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,36 +1,25 @@
@echo off
setlocal ENABLEDELAYEDEXPANSION
REM --- Se place dans le dossier du .bat ---
cd /d "%~dp0"
REM Chemin du fichier de version pour la CUISINE
set "VERSION_FILE=..\Excel\prod\Ratio_Cuisine_VERSION.txt"
REM === PARAMETRES CUISINE ===
set "ROOT=%~dp0.."
REM On lit l'ANCIENNE version avant de la mettre à jour (pour nommer la sauvegarde)
set "VERSION_FILE=%ROOT%\Excel\dev\Ratio_Cuisine_VERSION.txt"
set "SRC=%ROOT%\Excel\dev\Ratio_Cuisine_dev.xlsm"
set "DST_DIR=%ROOT%\Excel\prod"
set "DST=%DST_DIR%\Ratio_Cuisine.xlsm"
set "BACKUP_DIR=%ROOT%\Excel\backup"
set KEEP_BACKUPS=10
REM === Lire ancienne version pour nom 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_Cuisine_dev.xlsm
set DST_DIR=..\Excel\prod
REM Dossier commun de sauvegardes (Cuisine + Restauration)
set BACKUP_DIR=..\Excel\backup
REM Vérifications
REM === Vérifications ===
if not exist "%SRC%" (
echo ERREUR : fichier source introuvable :
echo %SRC%
@@ -45,33 +34,48 @@ if not exist "%DST_DIR%" (
exit /b 1
)
REM Création auto du dossier de sauvegarde s'il n'existe pas
if not exist "%BACKUP_DIR%" (
mkdir "%BACKUP_DIR%"
)
REM === 3) NOM DU FICHIER DE SAUVEGARDE AVEC ANCIENNE VERSION ===
if "%OLD_VERSION%"=="" (
REM Sécurité : si on n'a pas réussi à lire la version, on met un nom générique
set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_sansVersion.xlsm"
) else (
set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_Vers%OLD_VERSION%.xlsm"
REM === Sauvegarde de l'ancienne prod avant remplacement ===
if exist "%DST%" (
if "%OLD_VERSION%"=="" (
set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_sansVersion.xlsm"
) else (
set "BACKUP=%BACKUP_DIR%\Ratio_Cuisine_Vers%OLD_VERSION%.xlsm"
)
echo Sauvegarde de l'ancienne production...
copy /Y "%DST%" "%BACKUP%"
)
REM === 4) COPIE VERS PROD ===
REM === Copie DEV vers PROD ===
echo Copie vers la version de production...
copy /Y "%SRC%" "%DST_DIR%\Ratio_Cuisine.xlsm"
copy /Y "%SRC%" "%DST%"
REM === 5) SAUVEGARDE ===
echo Création de la sauvegarde datée...
copy /Y "%SRC%" "%BACKUP%"
if errorlevel 1 (
echo ERREUR lors de la copie vers production.
pause
exit /b 1
)
echo Terminé.
exit /b 0
REM === Mise à jour version TXT + cellule C1 du classeur PROD ===
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 Cuisine ===
REM Tri par date décroissante (les plus récentes d'abord). On supprime au-delà de KEEP_BACKUPS.
if errorlevel 1 (
echo ERREUR lors de la mise à jour de version.
pause
exit /b 1
)
REM === Nettoyage sauvegardes anciennes ===
echo Nettoyage des anciennes sauvegardes Cuisine...
for /f "skip=%KEEP_BACKUPS% delims=" %%F in ('dir /b /a-d /o-d "%BACKUP_DIR%\Ratio_Cuisine_Vers*.xlsm" 2^>nul') do (
echo Suppression ancienne sauvegarde : %%F
del /q "%BACKUP_DIR%\%%F"
)
)
echo Terminé.
exit /b 0