Séparation restauration de Cuisine

This commit is contained in:
2025-11-15 11:37:00 +01:00
parent 6db1a8de28
commit e14309725f
12 changed files with 244 additions and 13 deletions

30
.gitignore vendored
View File

@@ -23,18 +23,26 @@ dist/
# Fichiers temporaires d'Excel (~$fichier.xlsm)
~$*.xls*
~$*.xlsm
# On versionne 1 seul fichier prod "pivot" ; on ignore les exports datés
Excel/prod/Ratio_prod_20*.xlsm
!Excel/prod/Ratio_prod.xlsm
Excel/dev/**
!Excel/dev/.gitkeep
# ----- Dossiers Auth livrables -----
# On nembarque pas les exe ni .env dans le repo (tu livreras ça en zip)
Excel/**/Auth/*.exe
Excel/**/Auth/*.dll
Excel/**/Auth/*.pdb
Excel/**/Auth/.env
# Caches Excel / fichiers locaux non utiles
Excel/**/Desktop/
Excel/**/InventairesCache/
# Archives prod : on les ignore (elles sont recréées par le .bat)
Excel/prod/Ratio_Cuisine_20*.xlsm
Excel/prod/Ratio_Restauration_20*.xlsm
# On versionne uniquement les fichiers prod "pivots"
!Excel/prod/Ratio_Cuisine.xlsm
!Excel/prod/Ratio_Cuisine_VERSION.txt
!Excel/prod/Ratio_Restauration.xlsm
!Excel/prod/Ratio_Restauration_VERSION.txt
# On ignore tout le dev (fichiers de travail)
Excel/dev/
# (Optionnel si tu veux garder le dossier vide dans Git)
# !Excel/dev/.gitkeep
# ----- Systèmes / IDE -----
.DS_Store

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
1.1.1

Binary file not shown.

View File

@@ -161,7 +161,7 @@ et protégé en lecture seule.
Si la version de travail (`dev`) a été corrompue ou modifiée par erreur :
```bash
cp Excel/prod/Ratio_prod.xlsm Excel/dev/Ratio_dev.xlsm
cp Excel/prod/Ratio_Cuisine.xlsm Excel/dev/Ratio_Cuisine_dev.xlsm
```
Ou sous Windows :

View File

@@ -0,0 +1,111 @@
@echo off
chcp 1252 >nul
setlocal EnableExtensions
REM ===================== PARAMS GENERAUX =====================
set "ROOT=C:\Users\miche\PycharmProjects\Ratio_Inventaires"
set "PROD_DIR=%ROOT%\Excel\prod"
set "SHEET_NAME=Tableau de bord"
set "CELL_ADDR=U1"
REM ===================== CHOIX APPLI =========================
REM Usage : maj_prod_ratio.bat CUISINE ou maj_prod_ratio.bat RESTAURATION
set "APP=%~1"
if /I "%APP%"=="CUISINE" (
set "BASE_NAME=Ratio_Cuisine"
) else if /I "%APP%"=="RESTAURATION" (
set "BASE_NAME=Ratio_Restauration"
) else (
echo.
echo Usage: %~n0 CUISINE^|RESTAURATION
echo Exemple: %~n0 CUISINE
endlocal & exit /b 1
)
set "DEV_XLSM=%ROOT%\Excel\dev\%BASE_NAME%_dev.xlsm"
set "PROD_XLSM=%PROD_DIR%\%BASE_NAME%.xlsm"
set "VERSION_TXT=%ROOT%\Excel\dev\%BASE_NAME%_VERSION.txt"
echo.
echo === Application : %APP% (%BASE_NAME%) =====================
echo.
echo === [1/4] Prep ============================================
if not exist "%PROD_DIR%" md "%PROD_DIR%"
if not exist "%DEV_XLSM%" goto ERR_NO_DEV
if not exist "%VERSION_TXT%" (
>"%VERSION_TXT%" echo 1.0.0
echo [INFO] %BASE_NAME%_VERSION.txt created with 1.0.0
)
for /f %%i in ('powershell -NoProfile -Command "(Get-Date).ToString('yyyy_MM_dd')"') do set "DATESTAMP=%%i"
set "ARCHIVE_FILE=%PROD_DIR%\%BASE_NAME%_%DATESTAMP%.xlsm"
echo.
echo === [2/4] Lire VERSION.txt et maj cellule ==================
for /f "usebackq delims=" %%v in ("%VERSION_TXT%") do set "NEW_VER=%%v"
set "NEW_VER=%NEW_VER: =%"
if "%NEW_VER%"=="" goto ERR_EMPTY_VER
echo Version: %NEW_VER%
REM Mise a jour de la cellule dans DEV via VBS (macros & evenements OFF)
cscript //nologo "%ROOT%\Scripts\set_cell_silent.vbs" "%DEV_XLSM%" "%SHEET_NAME%" "%CELL_ADDR%" "%NEW_VER%"
if errorlevel 1 goto U1_FAIL
echo [OK] %CELL_ADDR% updated on DEV: %NEW_VER%
goto AFTER_U1
:U1_FAIL
echo [WARN] %CELL_ADDR% update failed on DEV (continuing).
:AFTER_U1
echo.
echo === [3/4] Backup PROD et purge archives ===================
if not exist "%PROD_XLSM%" goto NO_BACKUP
echo Backup -> "%ARCHIVE_FILE%"
copy /Y "%PROD_XLSM%" "%ARCHIVE_FILE%" >nul
goto AFTER_BACKUP
:NO_BACKUP
echo Pas de PROD a sauvegarder.
:AFTER_BACKUP
REM Garder uniquement les 5 dernières archives
powershell -NoProfile -Command "Get-ChildItem -LiteralPath '%PROD_DIR%' -Filter '%BASE_NAME%_20*_??_??.xlsm' | Sort-Object LastWriteTime -Descending | Select-Object -Skip 5 | Remove-Item -Force -ErrorAction SilentlyContinue"
echo.
echo === [4/4] Copier DEV -> PROD ==============================
copy /Y "%DEV_XLSM%" "%PROD_XLSM%"
if errorlevel 1 goto ERR_COPY
>"%PROD_DIR%\%BASE_NAME%_VERSION.txt" echo %NEW_VER%
echo.
echo [OK] Termine pour %APP% :
echo Version : %NEW_VER%
echo PROD : "%PROD_XLSM%"
echo VERSION : "%PROD_DIR%\%BASE_NAME%_VERSION.txt"
echo.
endlocal & exit /b 0
REM ===================== ERRORS ===============================
:ERR_NO_DEV
echo [ERROR] DEV file not found: "%DEV_XLSM%"
endlocal & exit /b 1
:ERR_EMPTY_VER
echo [ERROR] "%VERSION_TXT%" is empty. Put a version like 1.8.3 and rerun.
endlocal & exit /b 1
:ERR_COPY
echo [ERROR] Copy DEV -> PROD failed.
endlocal & exit /b 1

View File

@@ -0,0 +1,111 @@
@echo off
chcp 1252 >nul
setlocal EnableExtensions
REM ===================== PARAMS GENERAUX =====================
set "ROOT=C:\Users\miche\PycharmProjects\Ratio_Inventaires"
set "PROD_DIR=%ROOT%\Excel\prod"
set "SHEET_NAME=Tableau de bord"
set "CELL_ADDR=U1"
REM ===================== CHOIX APPLI =========================
REM Usage : maj_prod_ratio.bat CUISINE ou maj_prod_ratio.bat RESTAURATION
set "APP=%~1"
if /I "%APP%"=="CUISINE" (
set "BASE_NAME=Ratio_Cuisine"
) else if /I "%APP%"=="RESTAURATION" (
set "BASE_NAME=Ratio_Restauration"
) else (
echo.
echo Usage: %~n0 CUISINE^|RESTAURATION
echo Exemple: %~n0 CUISINE
endlocal & exit /b 1
)
set "DEV_XLSM=%ROOT%\Excel\dev\%BASE_NAME%_dev.xlsm"
set "PROD_XLSM=%PROD_DIR%\%BASE_NAME%.xlsm"
set "VERSION_TXT=%ROOT%\Excel\dev\%BASE_NAME%_VERSION.txt"
echo.
echo === Application : %APP% (%BASE_NAME%) =====================
echo.
echo === [1/4] Prep ============================================
if not exist "%PROD_DIR%" md "%PROD_DIR%"
if not exist "%DEV_XLSM%" goto ERR_NO_DEV
if not exist "%VERSION_TXT%" (
>"%VERSION_TXT%" echo 1.0.0
echo [INFO] %BASE_NAME%_VERSION.txt created with 1.0.0
)
for /f %%i in ('powershell -NoProfile -Command "(Get-Date).ToString('yyyy_MM_dd')"') do set "DATESTAMP=%%i"
set "ARCHIVE_FILE=%PROD_DIR%\%BASE_NAME%_%DATESTAMP%.xlsm"
echo.
echo === [2/4] Lire VERSION.txt et maj cellule ==================
for /f "usebackq delims=" %%v in ("%VERSION_TXT%") do set "NEW_VER=%%v"
set "NEW_VER=%NEW_VER: =%"
if "%NEW_VER%"=="" goto ERR_EMPTY_VER
echo Version: %NEW_VER%
REM Mise a jour de la cellule dans DEV via VBS (macros & evenements OFF)
cscript //nologo "%ROOT%\Scripts\set_cell_silent.vbs" "%DEV_XLSM%" "%SHEET_NAME%" "%CELL_ADDR%" "%NEW_VER%"
if errorlevel 1 goto U1_FAIL
echo [OK] %CELL_ADDR% updated on DEV: %NEW_VER%
goto AFTER_U1
:U1_FAIL
echo [WARN] %CELL_ADDR% update failed on DEV (continuing).
:AFTER_U1
echo.
echo === [3/4] Backup PROD et purge archives ===================
if not exist "%PROD_XLSM%" goto NO_BACKUP
echo Backup -> "%ARCHIVE_FILE%"
copy /Y "%PROD_XLSM%" "%ARCHIVE_FILE%" >nul
goto AFTER_BACKUP
:NO_BACKUP
echo Pas de PROD a sauvegarder.
:AFTER_BACKUP
REM Garder uniquement les 5 dernières archives
powershell -NoProfile -Command "Get-ChildItem -LiteralPath '%PROD_DIR%' -Filter '%BASE_NAME%_20*_??_??.xlsm' | Sort-Object LastWriteTime -Descending | Select-Object -Skip 5 | Remove-Item -Force -ErrorAction SilentlyContinue"
echo.
echo === [4/4] Copier DEV -> PROD ==============================
copy /Y "%DEV_XLSM%" "%PROD_XLSM%"
if errorlevel 1 goto ERR_COPY
>"%PROD_DIR%\%BASE_NAME%_VERSION.txt" echo %NEW_VER%
echo.
echo [OK] Termine pour %APP% :
echo Version : %NEW_VER%
echo PROD : "%PROD_XLSM%"
echo VERSION : "%PROD_DIR%\%BASE_NAME%_VERSION.txt"
echo.
endlocal & exit /b 0
REM ===================== ERRORS ===============================
:ERR_NO_DEV
echo [ERROR] DEV file not found: "%DEV_XLSM%"
endlocal & exit /b 1
:ERR_EMPTY_VER
echo [ERROR] "%VERSION_TXT%" is empty. Put a version like 1.8.3 and rerun.
endlocal & exit /b 1
:ERR_COPY
echo [ERROR] Copy DEV -> PROD failed.
endlocal & exit /b 1

View File

@@ -1 +1 @@
=== [4/4] Copier DEV - =================================
=== [4/4] Copier DEV - ==============================

Binary file not shown.