# KROW Workforce - Frontend

Ce projet contient le code du frontend pour la plateforme KROW Workforce. Il a été initialement prototypé sur la plateforme low-code Base44 et est en cours de migration vers une infrastructure backend personnalisée sur Google Cloud Platform (GCP).

Ce `README.md` est le guide officiel pour l'équipe de développement. **NE PAS REMPLACER** ce fichier par celui fourni dans les exports de Base44.

---

## 🚀 Démarrage Rapide

Ce projet utilise un `Makefile` comme point d'entrée principal pour toutes les commandes courantes.

### Prérequis
- Node.js (version LTS recommandée)
- npm
- `make` (généralement pré-installé sur Linux et macOS)

### Installation et Lancement
1.  **Installer les dépendances :**
    ```bash
    make install
    ```

2.  **Lancer le serveur de développement :**
    ```bash
    make dev
    ```
    L'application sera disponible sur `http://localhost:5173`.

---

## 🔄 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 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.  **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
    ```
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.

---

## 📂 Structure du Projet

-   `scripts/prepare-export.js`: Script de patching pour le workflow hybride.
-   `docs/`: Contient la documentation du projet (spécification de l'API, guides...).
-   `src/`: Code source de l'application.
    -   `src/api/`: Contient la configuration du client API (actuellement mocké).
    -   `src/components/`: Composants React réutilisables.
    -   `src/pages/`: Vues principales de l'application, correspondant aux routes.
    -   `src/lib/`: Utilitaires et bibliothèques partagées.
-   `Makefile`: Orchestrateur des commandes du projet.
