diff --git a/Makefile b/Makefile index 562df3c2..ee557d49 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,23 @@ build: @echo "--> Building application for production..." @npm run build +# Integrates a new Base44 export into the current project. +# It replaces the src directory and the index.html file. +# Prerequisite: The new export must be in a folder named '../krow-workforce-web-export-latest'. +integrate-export: + @echo "--> Integrating new Base44 export..." + @if [ ! -d "../krow-workforce-web-export-latest" ]; then \ + echo "❌ Error: Export directory '../krow-workforce-web-export-latest' not found."; \ + exit 1; \ + fi + @echo " - Removing old src directory..." + @rm -rf src + @echo " - Copying new src directory..." + @cp -R ../krow-workforce-web-export-latest/src ./src + @echo " - Copying new index.html..." + @cp ../krow-workforce-web-export-latest/index.html ./index.html + @echo "--> Integration complete. Next step: 'make prepare-export'." + # Applies all necessary patches to a fresh Base44 export to run it locally. # This is the main command for the hybrid workflow. prepare-export: @@ -39,6 +56,7 @@ help: @echo " make install - Installs project dependencies." @echo " make dev - Starts the local development server." @echo " make build - Builds the application for production." + @echo " make integrate-export - Integrates a new Base44 export from '../krow-workforce-web-export-latest'." @echo " make prepare-export - Prepares a fresh Base44 export for local use." @echo " make help - Shows this help message." @echo "--------------------------------------------------" diff --git a/README.md b/README.md index 6c03bd15..ab67fcae 100644 --- a/README.md +++ b/README.md @@ -29,37 +29,34 @@ Ce projet utilise un `Makefile` comme point d'entrée principal pour toutes les --- -## Makefile - Commandes Disponibles - -Utilisez `make help` pour voir toutes les commandes disponibles. - -- `make install`: Installe les dépendances du projet. -- `make dev`: Lance le serveur de développement en local. -- `make build`: Construit l'application pour la production. -- `make prepare-export`: **(Workflow Hybride)** Applique les patchs nécessaires à un nouvel export de Base44. - ---- - ## 🔄 Workflow d'Intégration des Mises à Jour de Base44 Pour intégrer les nouvelles modifications de l'UI faites par la cliente sur la plateforme Base44, suivez ce processus rigoureux : ### 1. Valider les Changements d'API -Avant de toucher au code, demandez au chat de Base44 la dernière documentation de l'API et des schémas. Comparez-la avec notre fichier `docs/api_specification.md` pour identifier tout changement qui impacterait le backend. +Avant d'intégrer le nouveau code, il est impératif de mettre à jour notre documentation API et notre spécification technique. Suivez rigoureusement la procédure détaillée dans le fichier `docs/MAINTENANCE_GUIDE.md`. ### 2. Intégrer le Nouveau Frontend 1. **Créez une branche dédiée** dans Git : ```bash git checkout -b integration/base44-update-YYYY-MM-DD ``` -2. Dans le nouvel export de Base44, **copiez le contenu du dossier `src`** et remplacez le dossier `src` de ce projet. -3. **Exécutez le script de préparation** pour neutraliser le SDK Base44 et appliquer nos patchs : +2. **Placez l'export** de Base44 dans un dossier nommé `krow-workforce-web-export-latest` à côté du dossier de ce projet. La structure attendue est : + ``` + - /krow-workforce-web/ (ce projet) + - /krow-workforce-web-export-latest/ (le nouvel export) + ``` +3. **Exécutez la commande d'intégration** pour copier automatiquement les fichiers `src` et `index.html` : + ```bash + make integrate-export + ``` +4. **Exécutez le script de préparation** pour neutraliser le SDK Base44 et appliquer nos patchs : ```bash make prepare-export ``` -4. **Analysez les différences** avec `git diff`. Intégrez les nouveaux composants et les modifications de l'UI, mais **rejetez les changements** sur les fichiers que nous avons patchés (`src/api/base44Client.js`, `src/main.jsx`, `src/pages/Layout.jsx`) pour conserver notre environnement local fonctionnel. -5. **Testez l'application** en local avec `make dev` pour vous assurer que tout fonctionne comme prévu. -6. Commitez vos changements. +5. **Analysez les différences** avec `git diff`. Intégrez les nouveaux composants et les modifications de l'UI, mais **rejetez les changements** sur les fichiers que nous avons patchés (`src/api/base44Client.js`, `src/main.jsx`, `src/pages/Layout.jsx`) pour conserver notre environnement local fonctionnel. Vérifiez également `package.json` pour toute nouvelle dépendance à ajouter manuellement. +6. **Testez l'application** en local avec `make dev` pour vous assurer que tout fonctionne comme prévu. +7. Commitez vos changements. ---