# Note Backend - Activation du module Gestionnaires (Ticket #92)

## Problème
L'endpoint `GET /api/v1/gestionnaires` renvoie une erreur **404 Not Found**.
Cela est dû au fait que le `GestionnairesModule` n'est pas importé dans l'arbre des modules de l'application (via `UserModule` ou `AppModule`).

## Solution de contournement actuelle (Frontend)
Le frontend utilise actuellement l'endpoint générique `/api/v1/users` et filtre les résultats côté client pour ne garder que les utilisateurs ayant le rôle `gestionnaire`.
*Fichier concerné : `frontend/lib/services/user_service.dart`*

## Correctif Backend à appliquer
Pour activer proprement l'endpoint dédié, il faut effectuer les modifications suivantes dans le backend :

### 1. Importer le module dans `UserModule`
Fichier : `backend/src/routes/user/user.module.ts`

Ajouter `GestionnairesModule` dans les imports.

```typescript
import { GestionnairesModule } from './gestionnaires/gestionnaires.module';

@Module({
  imports: [
    // ... autres imports
    GestionnairesModule, // <--- AJOUTER ICI
  ],
  // ...
})
export class UserModule { }
```

### 2. Ajouter AuthModule dans `GestionnairesModule`
Fichier : `backend/src/routes/user/gestionnaires/gestionnaires.module.ts`

Le contrôleur utilise `AuthGuard`, qui dépend de `JwtService` fourni par `AuthModule`.

```typescript
import { AuthModule } from 'src/routes/auth/auth.module';

@Module({
  imports: [
    TypeOrmModule.forFeature([Users]), 
    AuthModule // <--- AJOUTER ICI
  ],
  controllers: [GestionnairesController],
  providers: [GestionnairesService],
})
export class GestionnairesModule { }
```

## Après application du correctif
Une fois ces modifications backend effectuées :
1. Redémarrer le serveur backend.
2. Modifier le frontend (`frontend/lib/services/user_service.dart`) pour utiliser à nouveau l'endpoint dédié :
   ```dart
   static Future<List<AppUser>> getGestionnaires() async {
     final response = await http.get(
       Uri.parse('${ApiConfig.baseUrl}${ApiConfig.gestionnaires}'),
       headers: await _headers(),
     );
     // ...
   }
   ```
