# Configuration de la tâche planifiée pour mettre à jour le flag a_servir

## Description

Le flag `a_servir` doit être mis à jour quotidiennement car il dépend des dates de contrat qui peuvent changer sans modification d'entité (contrats qui expirent ou commencent).

## Commande

```bash
php bin/console app:update-a-servir-flag-daily
```

## Options

- `--all` ou `-a` : Mettre à jour tous les équipements (par défaut, seulement ceux avec contrat actif ou récemment expiré)
- `--days` ou `-d` : Nombre de jours dans le passé à considérer pour les contrats expirés (défaut: 30)

## Configuration Cron

### Sur Linux/Unix

Éditer le crontab :
```bash
crontab -e
```

Ajouter la ligne suivante pour exécuter la commande tous les jours à 2h du matin :
```
0 2 * * * cd /chemin/vers/votre/projet && php bin/console app:update-a-servir-flag-daily >> /var/log/a-servir-update.log 2>&1
```

**Note** : Remplacer `/chemin/vers/votre/projet` par le chemin absolu vers votre projet Symfony.

### Sur Windows (Task Scheduler)

1. Ouvrir le Planificateur de tâches Windows
2. Créer une tâche de base
3. Déclencheur : Quotidien, à 2h00
4. Action : Démarrer un programme
   - Programme : `php.exe`
   - Arguments : `bin/console app:update-a-servir-flag-daily`
   - Démarrer dans : `C:\wamp64\www\refonte_sav` (ou votre chemin)

### Exécution manuelle

Pour tester la commande manuellement :
```bash
php bin/console app:update-a-servir-flag-daily
```

Pour mettre à jour tous les équipements (plus long) :
```bash
php bin/console app:update-a-servir-flag-daily --all
```

## Optimisation

Par défaut, la commande ne traite que les équipements qui pourraient avoir changé :
- Équipements actifs
- Avec un contrat actif ou récemment expiré (dans les 30 derniers jours par défaut)
- Avec le dernier contrat

Cela permet de réduire significativement le temps d'exécution. Si vous avez besoin de mettre à jour tous les équipements, utilisez l'option `--all`.

## Logs

Il est recommandé de rediriger la sortie vers un fichier de log pour surveiller l'exécution :
```bash
0 2 * * * cd /chemin/vers/votre/projet && php bin/console app:update-a-servir-flag-daily >> /var/log/a-servir-update.log 2>&1
```

